(THIS PAGE IS A WIP)

Temperament arithmetic is the general name for either the temperament sum or the temperament difference, which are two closely related operations on regular temperaments. Basically, to do temperament arithmetic means to match up the entries of temperament vectors and then add or subtract them individually. The result is a new temperament that has similar properties to the original temperaments.

Introductory examples

For example, the sum of 12-ET and 7-ET is 19-ET because 12 19 28] + 7 11 16] = (12+7) (19+11) (28+16)] = 19 30 44], and the difference of 12-ET and 7-ET is 5-ET because 12 19 28] - 7 11 16] = (12-7) (8-11) (12-16)] = 5 8 12].


[math]\displaystyle{ \left[ \begin{array} {rrr} 12 & 19 & 28 \\ \end{array} \right] + \left[ \begin{array} {rrr} 7 & 11 & 16 \\ \end{array} \right] = \left[ \begin{array} {rrr} (12+7) & (19+11) & (28+16) \\ \end{array} \right] = \left[ \begin{array} {rrr} 19 & 30 & 44 \\ \end{array} \right] }[/math]

[math]\displaystyle{ \left[ \begin{array} {rrr} 12 & 19 & 28 \\ \end{array} \right] - \left[ \begin{array} {rrr} 7 & 11 & 16 \\ \end{array} \right] = \left[ \begin{array} {rrr} (12-7) & (19-11) & (28-16) \\ \end{array} \right] = \left[ \begin{array} {rrr} 5 & 8 & 12 \\ \end{array} \right] }[/math]


We can write these using wart notation as 12p + 7p=19p and 12p - 7p=5p, respectively. The similarity in these temperaments can be seen in how, like both 12-ET and 7-ET, 19-ET (their sum) and 5-ET (their difference) both also support meantone temperament.

Temperament sums and differences can also be found using commas; for example meantone + porcupine=tetracot because [4 -4 1 + [1 -5 3 = [(4+1) (-4+-5) (1+3) = [5 -9 4 and meantone - porcupine = dicot because [4 -4 1 - [1 -5 3 = [(4-1) (-4--5) (1-3) = [3 1 -2.


[math]\displaystyle{ \left[ \begin{array} {rrr} 4 \\ -4 \\ 1 \\ \end{array} \right] + \left[ \begin{array} {rrr} 1 \\ -5 \\ 3 \\ \end{array} \right] = \left[ \begin{array} {rrr} (4+1) \\ (-4+-5) \\ (1+3) \\ \end{array} \right] = \left[ \begin{array} {rrr} 5 \\ -9 \\ 4 \\ \end{array} \right] }[/math]

[math]\displaystyle{ \left[ \begin{array} {rrr} 4 \\ -4 \\ 1 \\ \end{array} \right] - \left[ \begin{array} {rrr} 1 \\ -5 \\ 3 \\ \end{array} \right] = \left[ \begin{array} {rrr} (4-1) \\ (-4--5) \\ (1-3) \\ \end{array} \right] = \left[ \begin{array} {rrr} 3 \\ 1 \\ -2 \\ \end{array} \right] }[/math]


We could write this in ratio form — replacing addition with multiplication and subtraction with division — as 80/81 × 250/243=20000/19683 and 80/81 ÷ 250/243=25/24, respectively. The similarity in these temperaments can be seen in how all of them are supported by 7-ET.

Temperament arithmetic is simplest for temperaments which can be represented by single vectors such as demonstrated in these examples. In other words, it is simplest for temperaments that are either rank-1 (equal temperaments, or ETs for short) or nullity-1 (having only a single comma). Because grade [math]\displaystyle{ g }[/math] is the generic term for rank [math]\displaystyle{ r }[/math] and nullity [math]\displaystyle{ n }[/math], we could define the minimum grade [math]\displaystyle{ g_{\text{min}} }[/math] of a temperament as the minimum of its rank and nullity [math]\displaystyle{ \min(r,n) }[/math], and so for convenience in this article we will refer to [math]\displaystyle{ r=1 }[/math] (read "rank-1") or [math]\displaystyle{ n=1 }[/math] (read "nullity-1") temperaments as [math]\displaystyle{ g_{\text{min}}=1 }[/math] (read "min-grade-1") temperaments. We'll also use [math]\displaystyle{ g_{\text{max}} }[/math] (read "max-grade"), which naturally is equal to [math]\displaystyle{ \max(r,n) }[/math].

For [math]\displaystyle{ g_{\text{min}}\gt 1 }[/math] temperaments, temperament arithmetic gets a little trickier. This is discussed in the beyond [math]\displaystyle{ g_{\text{min}}=1 }[/math] section later.

Applications

 
In the first row, we see the sum of two vectors. In the second row, we see how a pair temperaments each defined by 2 vectors may be added as long as the other vectors match. In the third row we see a continued development of this idea, where a pair of temperaments each defined by 3 vectors is able to be added by virtue of all other vectors being the same.

The temperament that results from summing or diffing two temperaments, as stated above, has similar properties to the original two temperaments.

Take the case of meantone + porcupine = tetracot from the previous section. What this relationship means is that tetracot is the temperament which doesn't temper out the meantone comma itself, nor the porcupine comma itself, but instead tempers out whatever comma relates pitches that are exactly one meantone comma plus one porcupine comma apart. And that's the tetracot comma! And on the other hand, for the temperament difference, dicot, this is the temperament that tempers out neither meantone nor porcupine, but instead the comma that's the size of the difference between them. And that's the dicot comma. So tetracot tempers out 81/80 × 250/243, and dicot tempers out 81/80 × 243/250.

Similar reasoning is possible for the mapping-rows of mappings ₋ the analogs of the commas of comma bases ₋ but are less intuitive to describe.

Ultimately, this effect is the primary application of temperament arithmetic. With temperament arithmetic, you're essentially never really able to do anything meaningful beyond entry-wise adding a pair of (mono)vectors. What changes from situation to situation is how many other vectors there are alongside, in the vector sets representing the temperament, whether there are 0 other vectors or 2 or 5. As we'll learn later, any other vectors beyond the first ones are always required to be the same between all the summed or differenced temperaments.

Fokker groups

According to some sources, these properties are discussed in terms of "Fokker groups" on this page: Fokker block.

A note on variance

For simplicity, this article will use the word "vector" in its general sense, that is, variance-agnostic. This means it includes either contravariant vectors (plain "vectors", such as prime count vectors) or covariant vectors ("covectors", such as maps). However, the reader should assume that only one of the two types is being used at a given time, since the two variances do not mix. For more information, see Linear_dependence#Variance. The same variance-agnosticism holds for multivectors in this article as well.

Visualizing temperament arithmetic

 
A and B are vectors representing temperaments. They could be maps or prime count vectors. A∧B is their wedge product and gives a higher-grade temperament that merges (sometimes called "meets" or "joins") both A and B. A+B and A-B give the sum and difference, respectively.

Versus the wedge product

If the wedge product of two vectors represents the directed area of a parallelogram constructed with the vectors as its sides, then the temperament sum and difference are the vectors that connect the diagonals of this parallelogram.

Tuning and tone space

One way we can visualize temperament arithmetic is on projective tuning space.

 
A visualization of temperament arithmetic on projective tuning space.

This shows both the sum and the difference of porcupine and meantone. All four temperaments — the two input temperaments, porcupine and meantone, as well as the sum, tetracot, and the diff, dicot — can be seen to intersect at 7-ET. This is because all four temperaments' mappings can be expressed with the map for 7-ET as one of their mapping-rows.

These are all [math]\displaystyle{ r=2 }[/math] temperaments, so their mappings each have one other row besides the one reserved for 7-ET. Any line that we draw across these four temperament lines will strike four ETs whose maps have a sum and difference relationship. On this diagram, two such lines have been drawn. The first one runs through 5-ET, 20-ET, 15-ET, and 10-ET. We can see that 5 + 15 = 20, which corresponds to the fact that 20-ET is the ET on the line for tetracot, which is the sum of porcupine and meantone, while 5-ET and 15-ET are the ETs on their lines. Similarly, we can see that 15 - 5 = 10, which corresponds to the fact that 10-ET is the ET on the line for dicot, which is the difference of porcupine and meantone.

The other line runs through the ETs 12, 41, 29, and 17, and we can see again that 12 + 29 = 41 and 29 - 12 = 17.

 
A visualization of temperament arithmetic on projective tone space.

We can also visualize temperament arithmetic on projective tone space. Here relationships are inverted: points are lines, and lines are points. So all four temperaments are found along the line for 7-ET.

Note that when viewed in tuning space, the sum is found between the two input temperaments, and the difference is found on the outside of them, to one side or the other. While in tone space, it's the difference that's found between the two input temperaments, and its the sum that's found outside. In either situation when a temperament is on the outside and may be on one side or the other, the explanation for this can be inferred from behavior of the scale tree on any temperament line, where e.g. if 5-ET and 7-ET support a [math]\displaystyle{ r=2 }[/math] temperament, then so will 5 + 7 = 12-ET, and then so will 5 + 12 and 7 + 12 in turn, and so on and so on recursively; when you navigate like this, what we could call down the scale tree, children are always found between their parents. But when you try to go back up the scale tree, to one or the other parent, you may not immediately know which side of the child to go.

Conditions on temperament arithmetic

Temperament arithmetic is only possible for temperaments with the same dimensions, that is, the same rank and dimensionality (and therefore, by the rank-nullity theorem, also the same nullity). The reason for this is visually obvious: without the same [math]\displaystyle{ d }[/math], [math]\displaystyle{ r }[/math], and [math]\displaystyle{ n }[/math] (dimensionality, rank, and nullity, respectively), the numeric representations of the temperament — such as matrices and multivectors — will not have the same proportions, and therefore their entries will be unable to be matched up one-to-one. From this condition it also follows that the result of temperament arithmetic will be a new temperament with the same [math]\displaystyle{ d }[/math], [math]\displaystyle{ r }[/math], and [math]\displaystyle{ n }[/math] as the input temperaments.

Matching the dimensions is only the first of two conditions on the possibility of temperament arithmetic. The second condition is that the temperaments must all be addable. This condition is trickier, though, and so a detailed discussion of it will be deferred to a later section (here: Temperament arithmetic#Addability). Essentially, it's the same as saying that all the vectors representing the temperaments being summed or differenced must match except for one vector in each. But we can at least say here that any set of [math]\displaystyle{ g_{\text{min}}=1 }[/math] temperaments are addable[1], fortunately, so we don't need to worry about it in that case.

Versus meet and join

Like meet and join, temperament arithmetic takes temperaments as inputs and finds a new temperament sharing properties of the inputs. And they both can be understood as, in some sense, adding these input temperaments together.

But there is a big difference between temperament arithmetic and meet/join. Temperament arithmetic is done using entry-wise addition (or subtraction), whereas meet/join are done using concatenation. So the temperament sum of mappings with two rows each is a new mapping that still has exactly two rows, while the other hand, the join of mappings with two rows each is a new mapping that has a total of four rows[2].

The linear dependence connection

Another connection between temperament arithmetic and meet/join is that they may involve checks for linear dependence.

Temperament arithmetic, as stated earlier, always requires addability, which is a more complex property involving linear dependence.

Meet and join does not necessarily involve linear dependence. Linear dependence only matters for meet and join when you attempt to do it using exterior algebra, that is, by using the wedge product, rather than the linear algebra approach, which is just to concatenate the vectors as a matrix and reduce. For more information on this, see Douglas Blumeyer and Dave Keenan's Intro to exterior algebra for RTT#The linearly dependent exception to the wedge product.

[math]\displaystyle{ g_{\text{min}}=1 }[/math]

As stated above, temperament arithmetic is simplest for temperaments which can be represented by single vectors, or in other words, temperaments that are [math]\displaystyle{ g_{\text{min}}=1 }[/math], and for other temperaments, the computation gets a little trickier. Here we'll look at how to handle the simple case of [math]\displaystyle{ g_{\text{min}}=1 }[/math].

As shown in the introductory examples, [math]\displaystyle{ g_{\text{min}}=1 }[/math] examples are as easy as entry-wise addition or subtraction. But there's just a couple tricks to it.

Getting to the side of duality with [math]\displaystyle{ g_{\text{min}}=1 }[/math]

We may be looking at a temperament representation which itself does not consist of a single vector, but its dual does. For example, the meantone mapping [1 0 -4] 0 1 4] and the porcupine mapping [1 2 3] 0 3 5] each consist of two vectors. So these representations cannot be summed or differenced using simple entry-wise addition or subtraction. But their duals can! If we simply find a comma basis for each of these mappings, we get [4 -4 1] and [1 -5 3]. In this form, the temperaments can be entry-wise added, to [5 -9 4] as we saw earlier. And if in the end we're still after a mapping, since we started with mappings, we can take the dual of this comma basis, to find the mapping [1 1 1] 0 4 9].

Negation

 
Equivalences of temperament arithmetic depending on negativity.

There's just one other trick to it, and that's that we have to be mindful of negation.

The temperament difference can be understood as being the same operation as the temperament sum except with one of the two temperaments negated.

For single vectors (and multivectors), negation is as simple as changing the sign of every entry.

Suppose you have a matrix representing temperament [math]\displaystyle{ T_1 }[/math] and another matrix representing [math]\displaystyle{ T_2 }[/math]. If you want to find both their sum and difference, you can calculate both [math]\displaystyle{ T_1 + T_2 }[/math] and [math]\displaystyle{ T_1 + -T_2 }[/math]. There's no need to also find [math]\displaystyle{ -T_1 + T_2 }[/math]; this will merely give the negation of [math]\displaystyle{ T_1 + -T_2 }[/math]. The same goes for [math]\displaystyle{ -T_1 + -T_2 }[/math], which is the negation of [math]\displaystyle{ T_1 + T_2 }[/math].

But a question remains: which result between [math]\displaystyle{ T_1 + T_2 }[/math] and [math]\displaystyle{ T_1 + -T_2 }[/math] is actually the sum and which is the difference? This seems like an obvious question to answer, except for one key problem: how can we be certain that [math]\displaystyle{ T_1 }[/math] or [math]\displaystyle{ T_2 }[/math] wasn't already in negated form to begin with? We need to establish a way to check for matrix negativity.

The check is that the vectors must be in canonical form. For a contravariant vector, such as the kind that represent commas, canonical form means that the trailing entry (the final non-zero entry) must be positive. For a covariant vector, such as the kind that represent mapping-rows, canonical form means that the leading entry (the first non-zero entry) must be positive.

Sometimes the canonical form of a vector is not the most popular form. For instance, the meantone comma is usually expressed in positive form, that is, with its numerator greater than its denominator, so that its cents value is positive, or in other words, it's the meantone comma upwards in pitch, not downwards. But the prime count vector for that form, 81/80, is [-4 4 -1, and as we can see, its trailing entry -1 is negative. So the canonical form of meantone is actually [4 -4 1.

[math]\displaystyle{ g_{\text{min}}\gt 1 }[/math]

As stated above, temperament arithmetic is simplest for temperaments which can be represented by single vectors, or in other words, temperaments that are [math]\displaystyle{ g_{\text{min}}=1 }[/math], and for other temperaments, the computation gets a little trickier. Here we'll look at how to handle the trickier cases of [math]\displaystyle{ g_{\text{min}}\gt 1 }[/math].

Throughout this section, we will be using a green color on linearly dependent objects and values, and a red color on linearly independent objects and values, to help differentiate between the two.

Addability

In order to understand how to do temperament arithmetic on [math]\displaystyle{ g_{\text{min}}\gt 1 }[/math] temperaments, we must first understand addability.

Verbal explanation

In order to understand addability, we must work up to it, understanding these concepts in this order:

  1. linear dependence
  2. linear dependence between temperaments
  3. linear independence between temperaments
  4. linear independence between temperaments by only one basis vector (that's addability)

1. Linear dependence

This is explained here: linear dependence.

2. Linear dependence between temperaments

Linear dependence has been defined for the matrices and multivectors that represent temperaments, but it can also be defined for temperaments themselves. The conditions of temperament arithmetic motivate a definition of linear dependence for temperaments whereby temperaments are considered linearly dependent if either of their mappings or their comma bases are linearly dependent[3].

For example, 5-limit 5-ET and 5-limit 7-ET, represented by the mappings [5 8 12] and [7 11 16] may at first seem to be linearly independent, because the basis vectors visible in their mappings are clearly linearly independent (when comparing two vectors, the only way they could be linearly dependent is if they are multiples of each other, as discussed here). And indeed their mappings are linearly independent. But these two temperaments are linearly dependent, because if we consider their corresponding comma bases, we will find that they share the basis vector of the meantone comma [4 -4 1.

To make this point visually, we could say that two temperaments are linearly dependent if they intersect in one or the other of tone space and tuning space. So you have to check both views.[4]

3. Linear independence between temperaments

Linear dependence may be considered as a boolean (yes/no, linearly dependent/independent) or it may be considered as an integer count of linearly dependent basis vectors. In other words, it is the dimension of the linear-dependence basis [math]\displaystyle{ \dim(L_{\text{dep}}) }[/math]. To refer to this count, we may hyphenate it as linear-dependence, and use the variable [math]\displaystyle{ l_{\text{dep}} }[/math]. For example, 5-ET and 7-ET, per the example in the previous section, are [math]\displaystyle{ l_{\text{dep}}=1 }[/math] (read "linear-dependence-1") temperaments.

It does not make sense to speak of linear dependence in this integer count sense between temperaments, however. Here's an example that illustrates why. Consider two different [math]\displaystyle{ d=5 }[/math], [math]\displaystyle{ r=2 }[/math] temperaments. Both their mappings and comma bases are linearly dependent, but their mappings have [math]\displaystyle{ l_{\text{dep}}=1 }[/math], while their comma bases have [math]\displaystyle{ l_{\text{dep}}=2 }[/math]. So what could the [math]\displaystyle{ l_{\text{dep}} }[/math] of this temperament possibly be? We could define "min-linear-dependence" and "max-linear-dependence", as we define "min-grade" and "max-grade", but these do not turn out to be helpful.

On the other hand, it does make sense to speak of the linear-independence of the temperament as an integer count. This is because the count of linearly independent basis vectors of two temperaments' mappings and the count of linearly independent basis vectors of their comma bases will always be the same. So the temperament linear-independence is simply this number. In the [math]\displaystyle{ d=5 }[/math], [math]\displaystyle{ r=2 }[/math] example from the previous paragraph, these would be [math]\displaystyle{ l_{\text{ind}}=1 }[/math] (read "linear-independence-1") temperaments.

A proof of this conjecture is given here: Temperament arithmetic#Sintel's proof of the linear-independence conjecture.

4. Linear independence between temperaments by only one basis vector (i.e. addability)

Two temperaments are addable if they are [math]\displaystyle{ l_{\text{ind}}=1 }[/math]. In other words, both their mappings and their comma bases share all but one basis vector.

Diagrammatic explanation

How to read the diagrams

The diagrams used for this explanation were inspired in part by Kite's gencoms, and specifically how in his "twin squares" matrices — which have dimensions [math]\displaystyle{ d×d }[/math] — one can imagine shifting a bar up and down to change the boundary between vectors that form a basis for the commas and those that form a basis for preimage intervals (this basis is typically called "the generators"). The count of the former is the nullity [math]\displaystyle{ n }[/math], and the count of the latter is the rank [math]\displaystyle{ r }[/math], and the shifting of the boundary bar between them with the total [math]\displaystyle{ d }[/math] vectors corresponds to the insight of the rank-nullity theorem, which states that [math]\displaystyle{ r + n=d }[/math]. And so this diagram's square grid has just the right amount of room to portray both the mapping and the comma basis for a given temperament (with the comma basis's vectors rotated 90 degrees to appear as rows, to match up with the rows of the mapping).

So consider this first example of such a diagram:

[math]\displaystyle{ d=4 }[/math] [math]\displaystyle{ g_{\text{min}}=1 }[/math]   ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=3 }[/math]   ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
                           
                           

This represents a [math]\displaystyle{ d=4 }[/math] temperament. These diagrams are grade-agnostic, which is to say that they are agnostic as to which side counts the [math]\displaystyle{ r }[/math] and which side counts the [math]\displaystyle{ n }[/math]. So we are showing them as [math]\displaystyle{ g_{\text{min}} }[/math] and [math]\displaystyle{ g_{\text{max}} }[/math] instead. We could say there's a variation on the rank-nullity theorem whereby [math]\displaystyle{ g_{\text{min}} + g_{\text{max}}=d }[/math], just as [math]\displaystyle{ r + n=d }[/math]. So we can then say that this diagram represents either a [math]\displaystyle{ r=1 }[/math], [math]\displaystyle{ n=3 }[/math] temperament, or perhaps a [math]\displaystyle{ n=1 }[/math], [math]\displaystyle{ r=3 }[/math] temperament.

But actually, this diagram represents more than just a single temperament. It represents a relationship between a pair of temperaments (which have the same dimensions, non-grade-agnostically, i.e. not a pairing of a [math]\displaystyle{ r=1 }[/math], [math]\displaystyle{ n=3 }[/math] temperament with a [math]\displaystyle{ r=3 }[/math], [math]\displaystyle{ n=1 }[/math] temperament). As elsewhere, green coloration indicates the linearly dependent basis vectors [math]\displaystyle{ L_{\text{dep}} }[/math] between this pair of temperaments, and red coloration indicates linearly independent basis vectors [math]\displaystyle{ L_{\text{ind}} }[/math] between the same pair of temperaments.

So, in this case, the two ET maps are linearly independent. This should be unsurprising; because ET maps are constituted by only a single vector (they're [math]\displaystyle{ r=1 }[/math] by definition), if they were linearly dependent, then they'd necessarily be the same exact ET! Temperament arithmetic on two of the same ET is never interesting; [math]\displaystyle{ T_1 }[/math] plus [math]\displaystyle{ T_1 }[/math] simply equals [math]\displaystyle{ T_1 }[/math] again, and [math]\displaystyle{ T_1 }[/math] minus [math]\displaystyle{ T_1 }[/math] is undefined. That said, if we were to represent temperament arithmetic between two of the same temperament on such a diagram as this, then every cell would be green. And this is true regardless whether [math]\displaystyle{ r=1 }[/math] or otherwise.

From this information, we can see that the comma bases of any randomly selected pair of different [math]\displaystyle{ d=4 }[/math] ETs are going to share 2 vectors, or in other words, their [math]\displaystyle{ L_{\text{dep}} }[/math] will have two basis vectors. In terms of the diagram, we're saying that they'll always have two green-colored vectors under the black bar.

These diagrams are a good way to understand which temperament relationships are possible and which aren't, where by a "relationship" here we mean a particular combination of their matching dimensions and their linear-independence integer count. A good way to use these diagrams for this purpose is to imagine the red coloration emanating away from the black bar in both directions simultaneously, one pair of vectors at a time. Doing it like this captures the fact, as previously stated, that the [math]\displaystyle{ l_{\text{ind}} }[/math] on either side of duality is always equal. There's no notion of a max or min here, as there is with [math]\displaystyle{ g }[/math] or [math]\displaystyle{ l_{\text{dep}} }[/math]; the [math]\displaystyle{ l_{\text{ind}} }[/math] on either side is always the same, so we can capture it with a single number, which counts the red vectors on just one half (that is, half of the total count of red vectors, or half of the width of the red band in the middle of the grid).

There's no need to look at diagrams like this where the black bar is below the center. This is because, even though for convenience we're currently treating the top half as [math]\displaystyle{ r }[/math] and the bottom half as [math]\displaystyle{ n }[/math], these diagrams are ultimately grade-agnostic. So we could say that each one essentially represents not just one possibility for the relationship between two temperaments' dimensions and [math]\displaystyle{ l_{\text{ind}} }[/math], but two such possibilities. Again, this diagram equally represents both [math]\displaystyle{ d=4, r=1, n=3, }[/math][math]\displaystyle{ l_{\text{ind}}=1 }[/math] as well as [math]\displaystyle{ d=4, r=3, n=1, }[/math][math]\displaystyle{ l_{\text{ind}}=1 }[/math]. Which is another way of saying we could vertically mirror it without changing it.

With the black bar always either in the top half or exactly in the center, we can see that the emanating red band will always either hit the top edge of the square grid first, or they will hit both the top and bottom edges of it simultaneously. So this is how these diagrams visually convey the fact that the [math]\displaystyle{ l_{\text{ind}} }[/math] between two temperaments will always be less than or equal to their [math]\displaystyle{ g_{\text{min}} }[/math]: because a situation where [math]\displaystyle{ g_{\text{min}}\gt l }[/math] would visually look like the red band spilling past the edges of the square grid.

We could also say that two temperaments are linearly dependent on each other when [math]\displaystyle{ l_{\text{ind}} }[/math][math]\displaystyle{ \lt g_{\text{max}} }[/math], that is, their linear-independence is less than their max-grade.

Perhaps more importantly, we can also see from these diagrams that any pair of [math]\displaystyle{ g_{\text{min}}=1 }[/math] temperaments will be addable. Because if they are [math]\displaystyle{ g_{\text{min}}=1 }[/math], then the furthest the red band can extend from the black bar is 1 vector, and 1 mirrored set of red vectors means [math]\displaystyle{ l_{\text{ind}}=1 }[/math], and that's the definition of addability.

A simple [math]\displaystyle{ d=3 }[/math] example

Let's back-pedal to [math]\displaystyle{ d=3 }[/math] for a simple illustrative example.

[math]\displaystyle{ d=3 }[/math] [math]\displaystyle{ g_{\text{min}}=1 }[/math]   ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=2 }[/math]   ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
                    

This diagram shows us that any two [math]\displaystyle{ d=3 }[/math], [math]\displaystyle{ g_{\text{min}}=1 }[/math] temperaments (like 5-limit ETs) will be linearly dependent, i.e. their comma bases will share one vector. You may already know this intuitively if you are familiar with the 5-limit projective tuning space diagram from the Middle Path paper, which shows how we can draw a line through any two ETs and that line will represent a temperament, and the single comma that temperament tempers out is this shared vector. The diagram also tells us that any two 5-limit temperaments that temper out only a single comma will also be linearly dependent, for the opposite reason: their mappings will always share one vector.

And we can see that there are no other diagrams of interest for [math]\displaystyle{ d=3 }[/math], because there's no sense in looking at diagrams with no red band, but we can't extend the red band any further than 1 vector on each side without going over the edge, and we can't lower the black bar any further without going below the center. So we're done. And our conclusion is that any pair of different [math]\displaystyle{ d=3 }[/math] temperaments that are nontrivial ([math]\displaystyle{ 0 \lt n \lt d=3 }[/math] and [math]\displaystyle{ 0 \lt r \lt d=3 }[/math]) will be addable.

Completing the suite of [math]\displaystyle{ d=4 }[/math] examples

Okay, back to [math]\displaystyle{ d=4 }[/math]. We've already looked at the [math]\displaystyle{ g_{\text{min}}=1 }[/math] possibility (which, for any [math]\displaystyle{ d }[/math], there will only ever be one of). So let's start looking at the possibilities where [math]\displaystyle{ g_{\text{min}}=2 }[/math], which in the case of [math]\displaystyle{ d=4 }[/math] leaves us only one pair of values for [math]\displaystyle{ r }[/math] and [math]\displaystyle{ n }[/math]: both being 2.

[math]\displaystyle{ d=4 }[/math] [math]\displaystyle{ g_{\text{min}}=2 }[/math]                            
  ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=2 }[/math]   ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
                           

But even with [math]\displaystyle{ d }[/math], [math]\displaystyle{ r }[/math], and [math]\displaystyle{ n }[/math] fixed, we still have more than one possibility for [math]\displaystyle{ L_{\text{dep}} }[/math]. The above diagram shows [math]\displaystyle{ l_{\text{ind}}=1 }[/math]. The below diagram shows [math]\displaystyle{ l_{\text{ind}}=2 }[/math].

[math]\displaystyle{ d=4 }[/math] [math]\displaystyle{ g_{\text{min}}=2 }[/math]   ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=2 }[/math]
  ↑     ↑     ↑     ↑  
[math]\displaystyle{ g_{\text{max}}=2 }[/math]   ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=2 }[/math]
  ↓     ↓     ↓     ↓  

In the former possibility, where [math]\displaystyle{ l_{\text{ind}}=1 }[/math] (and therefore the temperaments are addable), we have a pair of different [math]\displaystyle{ d=4 }[/math], [math]\displaystyle{ r=2 }[/math] temperaments where we can find a single comma that both temperaments temper out, and — equivalently — we can find one ET that supports both temperaments.

In the latter possibility, where [math]\displaystyle{ l_{\text{ind}}=2 }[/math], neither side of duality shares any vectors in common. And so we've encountered our first example that is not addable. In other words, if the red band ever extends more than 1 vector away from the black bar, temperament arithmetic is not possible. So [math]\displaystyle{ d=4 }[/math] is the first time we had enough room (half of [math]\displaystyle{ d }[/math]) to support that condition.

We have now exhausted the possibility space for [math]\displaystyle{ d=4 }[/math]. We can't extend either the red band or the black bar any further.

[math]\displaystyle{ d=5 }[/math] diagrams finally reveal important relationships

So how about we go to [math]\displaystyle{ d=5 }[/math] (such as the 11-limit). As usual, starting with [math]\displaystyle{ g_{\text{min}}=1 }[/math]:

[math]\displaystyle{ d=5 }[/math] [math]\displaystyle{ g_{\text{min}}=1 }[/math]   ↑     ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=4 }[/math]   ↓     ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
                                  
                                  
                                  

Just as with the [math]\displaystyle{ l_{\text{ind}}=1 }[/math] diagrams given for [math]\displaystyle{ d=3 }[/math] and [math]\displaystyle{ d=5 }[/math], we can see these are addable temperaments.

Now let's look at [math]\displaystyle{ d=5 }[/math] but with [math]\displaystyle{ g_{\text{min}}=2 }[/math]. This presents two possibilities. First, [math]\displaystyle{ l_{\text{ind}}=1 }[/math]:

[math]\displaystyle{ d=5 }[/math] [math]\displaystyle{ g_{\text{min}}=2 }[/math]                                   
  ↑     ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=3 }[/math]   ↓     ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
                                  
                                  

And second, [math]\displaystyle{ l_{\text{ind}}=2 }[/math]:

[math]\displaystyle{ d=5 }[/math] [math]\displaystyle{ g_{\text{min}}=2 }[/math]   ↑     ↑     ↑     ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=2 }[/math]
  ↑     ↑     ↑     ↑     ↑  
[math]\displaystyle{ g_{\text{max}}=3 }[/math]   ↓     ↓     ↓     ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=2 }[/math]
  ↓     ↓     ↓     ↓     ↓  
                                  

Here's where things really get interesting. Because in both of these cases, the pairs of temperaments represented are linearly dependent on each other (i.e. either their mappings are linearly dependent, their comma bases are linearly dependent, or both). And so far, every possibility where temperaments have been linearly dependent, they have also been [math]\displaystyle{ l_{\text{ind}}=1 }[/math], and therefore addable. But if you look at the second case here, we are [math]\displaystyle{ l_{\text{ind}}=2 }[/math], but since [math]\displaystyle{ d=5 }[/math], the temperaments still manage to be linearly dependent. So this is the first example of a linearly dependent temperament pairing which is not addable.

Back to [math]\displaystyle{ d=2 }[/math], for a surprisingly tricky example

Beyond [math]\displaystyle{ d=5 }[/math], these diagrams get cumbersome to prepare, and cease to reveal further insights. But if we step back down to [math]\displaystyle{ d=2 }[/math], a place simpler than anywhere we've looked so far, we actually find another surprisingly tricky example, which is hopefully still illuminating.

So [math]\displaystyle{ d=2 }[/math] (such as the 3-limit) presents another case — similar to the [math]\displaystyle{ d=5 }[/math], [math]\displaystyle{ g_{\text{min}}=2 }[/math], [math]\displaystyle{ l_{\text{ind}}=2 }[/math] case explored most recently above — where the properties of linearly dependence and addability do not match each other. But while in the other case, we had a temperament pair that was linearly dependent yet not addable, in this [math]\displaystyle{ d=2 }[/math] (and therefore [math]\displaystyle{ g_{\text{min}}=1 }[/math], [math]\displaystyle{ l_{\text{ind}}=1 }[/math]) case, it is the other way around: addable yet linearly independent!

[math]\displaystyle{ d=2 }[/math] [math]\displaystyle{ g_{\text{min}}=1 }[/math]   ↑     ↑   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]
[math]\displaystyle{ g_{\text{max}}=1 }[/math]   ↓     ↓   [math]\displaystyle{ l_{\text{ind}}=1 }[/math]

Basically, in the case of [math]\displaystyle{ d=2 }[/math], [math]\displaystyle{ g_{\text{max}}=1 }[/math] (in non-trivial cases, i.e. not JI or the unison temperament), so any two different ETs or commas you pick are going to be linearly independent (because the only way they could be linearly dependent would be to be the same temperament). And yet we know we can still entry-wise add them to new vectors that are decomposable, because they're already vectors (decomposing means to express a multivector in the form of a list of monovectors, so decomposing a multivector that's already a monovector like this is tantamount to merely putting array braces around it.)

Conclusion

This explanation has hopefully helped get a grip on what addability AKA [math]\displaystyle{ l_{\text{ind}}=1 }[/math] is like. But it still hasn't quite explained why [math]\displaystyle{ l_{\text{ind}}=1 }[/math] is one and the same thing as addability. We will look at this in another section soon.

Geometric explanation

(WIP)

Algebraic explanation

(WIP)

Sintel's proof of the linear-independence conjecture

Sintel's original text

If A and B are mappings from Z^n to Z^m, with n > m, A, B full rank (using A and B as their rowspace equivalently):

dim(A + B) - m = dim(ker(A) + ker(B)) - (n-m)

>> dim(A)+dim(B)=dim(A+B)+dim(A∩B) => dim(A + B) = dim(A) + dim(B) - dim(A∩B)

dim(A) + dim(B) - dim(A∩B) - m = dim(ker(A) + ker(B)) - (n-m)

>> by duality of kernel, dim(ker(A) + ker(B))  = dim(ker(A ∩ B))

dim(A) + dim(B) - dim(A∩B) - m = dim(ker(A ∩ B))  - (n-m)

>> rank nullity: dim(ker(A ∩ B)) + dim(A ∩ B) = n

dim(A) + dim(B) - dim(A∩B) - m = n -  dim(A ∩ B)  - (n-m)

m + m - dim(A∩B) - m = n -  dim(A ∩ B)  - (n-m)

m + m - m = n - n + m

m = m

Douglas Blumeyer's interpretation

We're going to take the strategy of beginning with what we're trying to prove, then reducing it to an obvious equivalence, which will show that our initial statement must be just as true.

So here's the statement we're trying to prove:


[math]\displaystyle{ \text{rank}(\text{union}(M_1, M_2)) - r = \text{nullity}(\text{union}(C_1, C_2)) - n }[/math]


[math]\displaystyle{ M_1 }[/math] and [math]\displaystyle{ M_2 }[/math] are mappings which both have dimensionality [math]\displaystyle{ d }[/math], rank [math]\displaystyle{ r }[/math], nullity [math]\displaystyle{ n }[/math], and are full-rank, and [math]\displaystyle{ C_1 }[/math] and [math]\displaystyle{ C_2 }[/math] are their comma bases, respectively.

So, the left-hand side of this equation is a way to express the count of linearly independent basis vectors [math]\displaystyle{ L_{\text{ind}} }[/math] existing between [math]\displaystyle{ M_1 }[/math] and [math]\displaystyle{ M_2 }[/math]. The right-hand side tells you the same thing, but between [math]\displaystyle{ C_1 }[/math] and [math]\displaystyle{ C_2 }[/math]. The fact that these two things are equal is the thing we're trying to prove. So let's go!

Let's call the following Equation B. This makes sense because basis vectors between [math]\displaystyle{ M_1 }[/math] and [math]\displaystyle{ M_2 }[/math] are either going to be linearly dependent or linearly independent. The union is going to be all of [math]\displaystyle{ M_1 }[/math]'s independent vectors, all of [math]\displaystyle{ M_2 }[/math]'s independent vectors, and all of [math]\displaystyle{ M_1 }[/math] and [math]\displaystyle{ M_2 }[/math]'s dependent vectors but only one copy of them. While the intersection is going be all of [math]\displaystyle{ M_1 }[/math] and [math]\displaystyle{ M_2 }[/math]'s dependent vectors again — essentially the other copy of them. So they sum to the same thing.


[math]\displaystyle{ \text{rank}(M_1) + \text{rank}(M_2) = \text{rank}(\text{union}(M_1, M_2)) + \text{rank}(\text{intersection}(M_1, M_2)) }[/math]


Then this is just Equation B, rearranged.


[math]\displaystyle{ \text{rank}(\text{union}(M_1, M_2)) = \text{rank}(M_1) + \text{rank}(M_2) - \text{rank}(\text{intersection}(M_1, M_2)) }[/math]


This takes Equation B, solves it for [math]\displaystyle{ \text{rank}(\text{union}(M_1, M_2)) }[/math], then substitutes that result into Equation A, which is then flipped left/right, and then [math]\displaystyle{ r }[/math] is subtracted from both sides.


[math]\displaystyle{ \text{rank}(M_1) + \text{rank}(M_2) - \text{rank}(\text{intersection}(M_1, M_2)) - r = \text{nullity}(\text{union}(C_1, C_2)) - n }[/math]


By the "duality of the comma basis", this is Equation C:


[math]\displaystyle{ \text{nullity}(\text{union}(C_1, C_2)) = \text{nullity}(\text{null-space}(\text{intersection}(M_1, M_2))) }[/math]


Now substitute in the right-hand side of Equation C for [math]\displaystyle{ \text{nullity}(\text{union}(C_1, C_2)) }[/math] in Equation B.


[math]\displaystyle{ \text{rank}(M_1) + \text{rank}(M_2) - \text{rank}(\text{intersection}(M_1, M_2)) - r = \text{nullity}(\text{null-space}(\text{intersection}(M_1, M_2))) - n }[/math]


This is the rank nullity theorem where [math]\displaystyle{ \text{intersection}(M_1, M_2) }[/math] is the temperament. Let's call it Equation D:


[math]\displaystyle{ \text{nullity}(\text{null-space}(\text{intersection}(M_1, M_2))) + \text{rank}(\text{intersection}(M_1, M_2)) = d }[/math]


Now solve Equation D for [math]\displaystyle{ \text{nullity}(\text{null-space}(\text{intersection}(M_1, M_2))) }[/math], and substitute that result into Equation B:


[math]\displaystyle{ \text{rank}(M_1) + \text{rank}(M_2) - \text{rank}(\text{intersection}(M_1, M_2)) - r = d - \text{rank}(\text{intersection}(M_1, M_2)) - n }[/math]


Now realize that [math]\displaystyle{ \text{rank}(M_1) }[/math] and [math]\displaystyle{ \text{rank}(M_2) }[/math] are both equal to [math]\displaystyle{ r }[/math].


[math]\displaystyle{ r + r - \text{rank}(\text{intersection}(M_1, M_2)) - r = d - \text{rank}(\text{intersection}(M_1, M_2)) - n }[/math]


Now cancel the [math]\displaystyle{ \text{rank}(\text{intersection}(M_1, M_2)) }[/math] from both sides, and substitute in [math]\displaystyle{ (d - r) }[/math] for [math]\displaystyle{ n }[/math].


[math]\displaystyle{ r + r - r = d - d + r }[/math]


Now cancel the [math]\displaystyle{ r }[/math]'s on the left and the [math]\displaystyle{ d }[/math]'s on the right:


[math]\displaystyle{ r = r }[/math]


So we know this is true.

Multivector approach

The simplest approach to [math]\displaystyle{ g_{\text{min}}\gt 1 }[/math] temperament arithmetic is to use multivectors. This is discussed in more detail here: Douglas Blumeyer and Dave Keenan's Intro to exterior algebra for RTT#Temperament arithmetic.

Matrix approach

Temperament arithmetic for [math]\displaystyle{ g_{\text{min}}\gt 1 }[/math] temperaments (again, that's with both [math]\displaystyle{ r\gt 1 }[/math] and [math]\displaystyle{ n\gt 1 }[/math]) can also be done using matrices, but it's significantly more involved than it is with multivectors. It works in essentially the same way — entry-wise addition or subtraction — but for matrices, it is necessary to make explicit the basis for the linearly dependent vectors shared between the involved matrices before performing the arithmetic. In other words, any vectors that can be found through linear combinations of any of the involved matrices' basis vectors must appear explicitly and in the same position of each matrix before the sum or difference is taken. These vectors are called the linear-dependence basis, or [math]\displaystyle{ L_{\text{dep}} }[/math]. But it is not as simple as determining [math]\displaystyle{ L_{\text{dep}} }[/math] (using the technique described here) and then supplying the remaining vectors necessary to match the grade of the original matrix, because the results may then be enfactored. And defactoring them without compromising the explicit [math]\displaystyle{ L_{\text{dep}} }[/math] cannot be done using existing defactoring algorithms; it's a tricky process, or at least computationally intensive. This is called addabilization defactoring and is worked through by example below.

Negation

For matrices, negation is accomplished by choosing a single vector and changing the sign of every entry in it. In the case of comma bases, a vector is a column, whereas in a mapping a vector (technically a row vector, or covector) is a row.

For matrices, the check for negation is related to canonicalization of multivectors as are used in exterior algebra for RTT. Essentially we take the minors of the matrix, and then look at their leading or trailing entry (leading in the case of a covariant matrix, like a mapping; trailing in the case of a contravariant matrix, like a comma basis): if this entry is positive, so is the temperament, and vice versa.

Example

For example, let’s look at septimal meantone plus flattone. The canonical forms of these temperaments are [1 0 -4 -13] 0 1 4 10] and [1 0 -4 17] 0 1 4 -9]. Simple entry-wise addition of these two mapping matrices gives [2 0 -8 4] 0 2 8 1] which is not the correct answer.


[math]\displaystyle{ \left[ \begin{array} {rrr} 1 & 0 & -4 & -13 \\ 0 & 1 & 4 & 10 \\ \end{array} \right] + \left[ \begin{array} {rrr} 1 & 0 & -4 & 17 \\ 0 & 1 & 4 & -9 \\ \end{array} \right] = \left[ \begin{array} {rrr} 2 & 0 & -8 & 4 \\ 0 & 2 & 8 & 1 \\ \end{array} \right] }[/math]


And not only because it is enfactored. The full explanation why it's the wrong answer is beyond the scope of this example. However, if we put each of these two mappings into a form that includes their [math]\displaystyle{ L_{\text{dep}} }[/math] explicitly, we can say here that it should be able to work out correctly.

In this case, their [math]\displaystyle{ L_{\text{dep}} }[/math] consists of a single vector: [19 30 44 53]. The original matrices had two vectors, so as a next step, we pad out these matrices by drawing from vectors from the original matrices, starting from their first vectors, so now we have [19 30 44 53] 1 0 -4 -13]⟩ and [19 30 44 53] 1 0 -4 17]⟩. We could choose any vectors from the original matrices, as long as they are linearly independent from the ones we already have; if one is not, skip it and move on (otherwise we'll produce a rank-deficient matrix that doesn't still represent the same temperament as we started with). In this case the first vectors are both fine, though.


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ 1 & 0 & -4 & -13 \\ \end{array} \right] + \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ 1 & 0 & -4 & 17 \\ \end{array} \right] }[/math]


All we have to do now before performing the entry-wise addition is verify that both matrices are defactored. The best way to do this is inspired by Pernet-Stein defactoring: we find the value of the enfactoring factor (the "greatest factor") by following this algorithm until the point where we have a square transformation matrix, but instead of inverting it and multiplying by it to remove the defactoring, we simply take this square matrix's determinant, which is the factor we were about to remove. If that determinant is 1, then we're already defactored; if not, then we need to take do some additional steps. In this case, both matrices are enfactored, each by a factor of 30[5].

Our first thought may be to simply defactor these matrices, then. The problem with that is that most established defactoring algorithms will alter the first vector so that it's no longer 19 30 44 53], in which case we won't be able to do temperament arithmetic with the matrices anymore, which is our goal. And we can't defactor and then paste 19 30 44 53] back over the first vector or something, because then we might just be enfactored again! We need to find a defactoring algorithm that manages to work without altering any of the vectors in the [math]\displaystyle{ L_{\text{dep}} }[/math].

It turns out that you can always isolate the enfactoring factor in the single final vector of the matrix — the linearly independent vector — through linear combinations of the vectors in the [math]\displaystyle{ L_{\text{dep}} }[/math]. In this case, since there's only a single vector in the [math]\displaystyle{ L_{\text{dep}} }[/math], therefore all we need to do is repeatedly add that one linearly dependent vector to the linearly independent vector until we find a vector with the target GCD, which we can then simply divide out to defactor the matrix.

In this case, we can accomplish this by adding 11 times the first vector. For the first matrix, 1 0 -4 -13] + 11⋅19 30 44 53] = 210 330 480 570], whose entries have a GCD = 30, so we can defactor the matrix by dividing that vector by 30, leaving us with 7 11 16 19]. Therefore the final matrix here is [19 30 44 53] 7 11 16 19]⟩. The other matrix matrix happens to defactor in the same way: 1 0 -4 17] + 11⋅19 30 44 53] = 210 330 480 600] whose GCD is also 30, reducing to 7 11 16 20], so the final matrix is [19 30 44 53] 7 11 16 20]⟩.

Now the matrices are ready to add:


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}19 \\ \end{array} \right] + \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}20 \\ \end{array} \right] }[/math]


Clearly, though, we can see that with the top vector – the [math]\displaystyle{ L_{\text{dep}} }[/math] — there's no sense in adding its two copies together, as we'll just get the same vector but 2-enfactored. So we may as well set the [math]\displaystyle{ L_{\text{dep}} }[/math] aside, and deal only with the linearly independent vectors:


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}19 \\ \end{array} \right] + \left[ \begin{array} {rrr} \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}20 \\ \end{array} \right] = \left[ \begin{array} {rrr} \color{BrickRed}14 & \color{BrickRed}22 & \color{BrickRed}32 & \color{BrickRed}39 \\ \end{array} \right] }[/math]


Then we can reintroduce the [math]\displaystyle{ L_{\text{dep}} }[/math] afterwards:


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ \color{BrickRed}14 & \color{BrickRed}22 & \color{BrickRed}32 & \color{BrickRed}39 \\ \end{array} \right] }[/math]


And finally canonicalize:


[math]\displaystyle{ \left[ \begin{array} {rrr} 1 & 0 & -4 & 2 \\ 0 & 2 & 8 & 1 \\ \end{array} \right] }[/math]


so we can now see that meantone plus flattone is godzilla.

As long as we've done all this work to set these matrices up for arithmetic, let's check their difference as well. In the case of the difference, it's even more essential that we set the [math]\displaystyle{ L_{\text{dep}} }[/math] aside before entry-wise arithmetic, because if we were to subtract it from itself, we'd end up with all zeros; unlike the case of the sum, where we'd just end up with an enfactored version of the starting vectors, we couldn't even defactor to get back to where we started if we completely wiped out the relevant information by sending it all to zeros. So let's just entry-wise subtract the two linearly independent vectors:


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}19 \\ \end{array} \right] }[/math] - [math]\displaystyle{ \left[ \begin{array} {rrr} \color{BrickRed}7 & \color{BrickRed}11 & \color{BrickRed}16 & \color{BrickRed}20 \\ \end{array} \right] = \left[ \begin{array} {rrr} \color{BrickRed}0 & \color{BrickRed}0 & \color{BrickRed}0 & \color{BrickRed}-1 \\ \end{array} \right] }[/math]


And so, reintroducing the linear dependency basis, we have:


[math]\displaystyle{ \left[ \begin{array} {rrr} \color{OliveGreen}19 & \color{OliveGreen}30 & \color{OliveGreen}44 & \color{OliveGreen}53 \\ \color{BrickRed}0 & \color{BrickRed}0 & \color{BrickRed}0 & \color{BrickRed}-1 \\ \end{array} \right] }[/math]


Which canonicalizes to:


[math]\displaystyle{ \left[ \begin{array} {rrr} 19 & 30 & 44 & 0 \\ 0 & 0 & 0 & 1 \\ \end{array} \right] }[/math]


And so we can see that meantone minus flattone is meanmag. But the last thing we need to do is check the negativity of these two temperaments, so we can figure out which of these two results is truly the sum and which is truly the difference. If one of the matrices we performed arithmetic on was actually negative, then we have our results backwards (if both are negative, then the problem cancels out, and we go back to being right).

We check negativity by using the minors of these matrices. The first matrix's minors are (-1, -4, -10, -4, -13, -12) and the second matrix's minors are (-1, -4, 9, -4, 17, 32). What we're looking for here are their leading entries, because these are minors of a mapping (if we were looking at minors of comma bases, we'd be looking at the trailing entries instead). Specifically, we're looking to see if the leading entries are positive. They're not. Which tells us these matrices, as we performed arithmetic on them, were both negative! But again, since they were both negative, the effect cancels out, and so the sum we computed is indeed the sum, and the difference was indeed the difference.

Addabilization defactoring complications

This case was as simple as it can get: we simply needed to add some number of the single linearly dependent vector to the linearly independent vector. However, if there are multiple vectors in the [math]\displaystyle{ L_{\text{dep}} }[/math], the linear combination which surfaces the greatest factor may involve just one or potentially all of those vectors, and the best approach to finding this combination is simply an automatic solver. An example of this approach is demonstrated in the RTT library in Wolfram Language, here: https://github.com/cmloegcmluin/RTT/blob/main/main.m#L477

Another complication is that the greatest factor may be very large, or be a highly composite number. In this case, searching for the linear combination that isolates the greatest factor in its entirety directly may be intractable; it is better to eliminate it piecemeal, i.e., whenever the solver finds a factor of the greatest factor, eliminate it, and repeat until the greatest factor is fully eliminated. The example linked above also does this.

Proof that addabilization defactoring is always possible

This conjecture has not yet been mathematically proven. Sintel and Tom Price have done some experiments but nothing complete yet. Douglas Blumeyer's test cases in the RTT library in Wolfram Language suggest this is true, though.

References

  1. or they are all the same temperament, in which case they share all the same basis vectors and could perhaps be said to be completely linearly dependent.
  2. At least, this mapping would have a total of four rows before it is reduced. After reduction, it may end up with only three (or two if you joined a temperament with itself for some reason).
  3. or — equivalently, in EA — either their multimaps or their multicommas are linearly dependent
  4. You may be wondering — what about two temperaments which are parallel in tone or tuning space, e.g. compton and blackwood in tuning space? Their comma bases are each [math]\displaystyle{ n=1 }[/math], and they meet to give a [math]\displaystyle{ n=2 }[/math] comma basis, which corresponds to a [math]\displaystyle{ r=1 }[/math] mapping, which means it should appear as an ET point on the PTS diagram. But how could that be? Well, here's their meet: [1 0 0 [0 1 0], and so that corresponding mapping is [0 0 1]. So it's some degenerate ET. I suppose we could say it's the point at infinity away from the center of the diagram.
  5. or you may prefer to think of this as three different (prime) factors: 2, 3, 5 (which multiply to 30)