# RTT library in Wolfram Language

This is a library of functions for working with regular temperament theory, implemented in Wolfram Language.

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

More details can be found on the README there.

## Functions

The functions implemented include:

canonicalForm[t]

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

dual[t]

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

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

Per Temperament merging.

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

Per Temperament addition.

changeB[t1, b]

Per Interval basis#Changing interval basis.

## Tuning

Tuning-related functions, such as diamond tuning ranges, generators in cents per popular tuning methods, etc. are forthcoming.

## EA

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

eaCeanonicalForm[w] eaDual[w] progressiveProduct[w1, w2] regressiveProduct[w1, w2] interiorProduct[w1, w2] eaSum[w1, w2] eaDiff[w1, w2] multivectorToMatrix[w] matrixToMultivector[t]