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. 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]