Dave Keenan & Douglas Blumeyer's RTT library in Wolfram Language

From Xenharmonic Wiki
Jump to navigation Jump to search

This is a library of functions for working with regular temperament theory, implemented in Wolfram Language. It was developed by Dave Keenan and Douglas Blumeyer mostly from 2021 - 2022.

The code is maintained and shared on GitHub here: https://github.com/cmloegcmluin/RTT

More details can be found on the README there.

Tuning

optimizeGeneratorTuningMap[m, tuningSchemeSpec]
optimizeTuningMap[m, tuningSchemeSpec]

getGeneratorTuningMapMeanDamage[m, generatorTuningMap, tuningSchemeSpec]
getTuningMapMeanDamage[m, tuningMap, tuningSchemeSpec]

getGeneratorTuningMapDamages[m, generatorTuningMap, tuningSchemeSpec]
getTuningMapDamages[m, tuningMap, tuningSchemeSpec]

generatorTuningMapFromTAndTuningMap[m, tuningMap]

Temperament exploration

The functions implemented include:

canonicalForm[t]

Puts the given mapping into canonical form (i.e. defactored Hermite form): it defactors it and puts it into HNF.

mapMerge[t1, t2...]
commaMerge[t1, t2…]

Per Temperament merging.

dual[t]

For a mapping, returns the canonical form of the basis for its nullspace. For a comma basis, vice-versa: returns the canonical form of its mapping.

Temperament addition

sum[t1, t2]
diff[t1, t2]

Per Temperament addition.

Nonstandard domains

changeBasis[t, targetBasis]

Per Doman basis#Changing domain basis.

EA

If you are interested in exterior algebra, this library also includes modules with helpful functions.

eaCeanonicalForm[multivector]

eaDual[multivector]

progressiveProduct[multivector1, multivector2]
regressiveProduct[multivector1, multivector2]
interiorProduct[multivector1, multivector2]

eaSum[multivector1, multivector2]
eaDiff[multivector1, multivector2]

multivectorToMatrix[multivector]
matrixToMultivector[t]