Dave Keenan & Douglas Blumeyer's RTT library in Wolfram Language
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]