Temperament addition: Difference between revisions
Cmloegcmluin (talk | contribs) |
Cmloegcmluin (talk | contribs) |
||
| Line 273: | Line 273: | ||
===Diagrammatic explanation=== | ===Diagrammatic explanation=== | ||
==== | ====Introduction==== | ||
The diagrams used for this explanation were inspired in part by [[Kite Giedraitis|Kite]]'s [[gencom]]s, and specifically how in his "twin squares" matrices — which have dimensions <math>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 [[generator]]s"). The count of the former is the nullity <math>n</math>, and the count of the latter is the rank <math>r</math>, and the shifting of the boundary bar between them with the total <math>d</math> vectors corresponds to the insight of the rank-nullity theorem, which states that <math>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). | The diagrams used for this explanation were inspired in part by [[Kite Giedraitis|Kite]]'s [[gencom]]s, and specifically how in his "twin squares" matrices — which have dimensions <math>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 [[generator]]s"). The count of the former is the nullity <math>n</math>, and the count of the latter is the rank <math>r</math>, and the shifting of the boundary bar between them with the total <math>d</math> vectors corresponds to the insight of the rank-nullity theorem, which states that <math>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). | ||
| Line 582: | Line 582: | ||
===Geometric explanation=== | ===Geometric explanation=== | ||
( | We've presented a diagrammatic illustration of the behavior of <span style="color: #B6321C;">linear-independence <math>l_{\text{ind}}</math></span> with respect to temperament dimensions. But some of the results might have seemed surprising. For instance, when looking at the diagram for <math>d=4, g_{\text{min}}=1, g_{\text{max}}=3</math>, it might have seemed intuitive enough that the the <span style="color: #3C8031;">red band</span> could not extend beyond the square grid, but then again, why shouldn't it be possible to have, say, two 7-limit ETs which temper out only a single comma in common? Perhaps it doesn't seem clear that this is impossible, and that they must temper out two commas in common (and of course the infinitude of combinations of these two commas). If this is as unclear to you as it was to the author when exploring this topic, then this explanatory section is for you! Here, we will use geometrical representations of temperaments to hone our intuitions about the possible combinations of dimensions and <span style="color: #B6321C;">linear-independence <math>l_{\text{ind}}</math></span> of temperaments. | ||
In this approach, we’re actually not going to focus directly on the <span style="color: #B6321C;">linear-independence <math>l_{\text{ind}}</math></span> of temperaments. Instead, we're going to look at the <span style="color: #3C8031;">linear-''de''pendence <math>l_{\text{dep}}</math></span> of matrices representing temperaments such as mappings and comma bases, and then compute the <span style="color: #B6321C;">linear-independence <math>l_{\text{ind}}</math></span> from it and the grade <math>g</math>. As we’ve established, the <span style="color: #3C8031;">linear-dependence <math>l_{\text{dep}}</math></span> differs from one side of duality to the other, so we’ll only be looking at one side of duality at a time. | |||
====Introduction==== | |||
In this geometric approach, we'll be imagining individual vectors as points (0D), sets of two vectors as lines (1D), sets of three as planes (2D), four as volumes (3D), and so forth, as according to this table: | |||
{| class="wikitable center-all" | |||
|+ | |||
!vector | |||
count | |||
!geometric | |||
dimension | |||
!form | |||
|- | |||
|0 | |||
|undefined | |||
|(emptiness) | |||
|- | |||
|1 | |||
|0 | |||
|point | |||
|- | |||
|2 | |||
|1 | |||
|line | |||
|- | |||
|3 | |||
|2 | |||
|plane | |||
|- | |||
|4 | |||
|3 | |||
|volume | |||
|- | |||
|5 | |||
|4 | |||
|hypervolume | |||
|- | |||
| ⋮ | |||
|⋮ | |||
|⋮ | |||
|} | |||
This is a "vector space", and these geometric dimensions are consistent with how temperaments represented by these counts of vectors appear in ''projective'' vector space, which reduces geometric dimensions by 1. For example, a vector has a geometric interpretation as a directed line segment, which is 1D, but a point is 0D, which is one dimension lower. Essentially what we're doing is ''assuming the origin''. | |||
Think of it this way: geometric points are zero-dimensional, simply representing a position in space, whereas linear algebra vectors are one-dimensional, representing both a magnitude and direction; the way vectors manage to encode this extra dimension without providing any additional information is by being understood to describe this position in space ''relative to an origin''. Well, so we'll now switch our interpretation of these objects to the geometric one, where the vector's entries are nothing more than a coordinate for a point in space. And the "projection" involved in projective vector space essentially positions us at this discarded origin, looking out from it upon every individual point, which accomplishes the same feat, in a visual way. | |||
Perhaps an example may help clarify this setup. Suppose we've got an (x,y,z) space, and two coordinates (5,8,12) and (7,11,16). You should recognize these as the simple maps for 5-ET and 7-ET, usually written as {{map|5 8 12}} and {{map|7 11 16}}, respectively. Ask for the equation of the plane defined by the three points (5,8,12), (7,11,16), and the origin (0,0,0) and you'll get -4x + 4y -1z = 0, which clearly shows us the entries of the meantone comma. That's because meantone temperament can be defined by these two maps. 5-limit JI is a 3D space, and meantone temperament, as a rank-2 temperament, would be a 2D plane. But we don't normally need to think of the map corresponding to the origin, where everything is tempered out, including meantone. So we can just assume it, and think of a 2D plane as being defined by only 2 points, which in a view projected (from the origin) will look like just the line connecting (5,8,12) and (7,11,16). | |||
So, we've set the stage for our projective vector spaces. We will now be looking at representations of temperaments as counts of vector sets, and then using this scheme to convert them to primitive geometric forms. We'll place two of each form into the space, representing the two temperaments having the possibility of arithmetic performed on them checked. Then we will observe their possible <span style="color: #3C8031;">''intersections''</span> depending on how they're oriented in space, and it's these <span style="color: #3C8031;">intersections that represent their linear-dependence</span>. When the dimension of the <span style="color: #3C8031;">intersection</span> is then converted back to a vector set count, then we have their <span style="color: #3C8031;">linear-dependence <math>l_{\text{dep}}</math></span>, for this side of duality, anyway (remember, unlike the <span style="color: #B6321C;">linear-independence <math>l_{\text{ind}}</math></span>, this value isn't necessarily the same on both sides of duality). We can finally subtract the <span style="color: #3C8031;">linear-dependence</span> from the grade (vector count) to get the <span style="color: #B6321C;">linear-indepedence</span>, in order to determine if the two temperaments are addable. | |||
In these examples, we'll be assuming that no two temperaments being compared are the same, because performing temperament arithmetic on copies of the same temperament is not interesting. The other things we'll be assuming is that no lines, planes, etc. are parallel to each other; this is due to a strange effect touched upon in footnote 4 whereby temperament geometry that appears parallel in projective space actually still intersects; the present author asks that if anyone is able to demystify this situation, that they please do! | |||
====At <math>d=3</math>==== | |||
First, let's establish the geometric dimension of the space. With <math>d=3</math>, we've got a 2D space (one less than 3), so the entire space can be visualized on a plane. | |||
Our only possible values for <math>g_{\text{min}}</math> and <math>g_{\text{max}}</math> here are 1 and 2, respectively. So these are the two possible counts of vectors <math>g</math> possessed by matrices representing temperaments here. | |||
So let's look at temperaments represented by matrices with 1 vector first (<math>g=1</math>). In this case, each of the two temperaments is a point in the plane. Unless these two temperaments are the same temperament, the <span style="color: #3C8031;">intersection</span> of these two points is empty. Emptiness isn't even 0D! So that tells us that these temperaments have 0 vectors worth of <span style="color: #3C8031;">linear dependence</span>. With <math>g=1</math>, that gives us a <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g</math> <math> - </math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 1 -</math> <span style="color: #3C8031;"><math>0</math></span> <math>= 1</math>: | |||
[[File:D3 g1 dep0.png|200px|none]] | |||
Next, let's look at temperaments represented by matrices with 2 vectors (<math>g=2</math>). In this case, each of the two temperaments is a line in the plane. Again, assuming the two lines are not the same line or parallel, their <span style="color: #3C8031;">intersection</span> is a point. Being 0D, that tells us that the <span style="color: #3C8031;">linear-dependence</span> of these matrices is 1. So that gives us an <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span> <math>= g</math> <math>-</math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 2 -</math> <span style="color: #3C8031;"><math>1</math></span> <math>= 1</math>. This matches the value we found via the <math>g=1</math>, so we've effectively checked our work: | |||
[[File:D3 g2 dep1.png|200px|none]] | |||
====At <math>d=2</math>==== | |||
Let's step back to <math>d=2</math>. Here we've got a 2 minus 1 equals 1D space, so the entire space can be visualized on a single line (one direction corresponds to an increasing ratio between the two coordinates, and the other to a decreasing ratio). | |||
We know our only possible value for <math>g_{\text{min}}</math> and <math>g_{\text{max}}</math> here is 1. So in either case, each of the two temperaments is a point on the line. As with two points in a plane — when <math>d=3</math> — unless these two temperaments are the same temperament, the intersection of these two points is empty. So again the <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g = 1</math>: | |||
[[File:D2 g1 dep0.png|200px|none]] | |||
====At <math>d=4</math>==== | |||
First, let's establish the geometric dimension of the space. With <math>d=4</math>, we've got a 3D space (one less than 4), so the entire space can be visualized in a volume. | |||
At <math>d=4</math>, we have a couple options for the grade: either <math>g_{\text{min}}=1</math> and <math>g_{\text{max}}=3</math>, or both <math>g_{\text{min}}</math> and <math>g_{\text{max}}</math> equal 2. | |||
Let's look at temperaments represented by matrices with 1 vector first (<math>g=1</math>). Yet again, we find ourselves with two separate points, but now we find them in a space that's not a line, not a plane, but a volume. This doesn't change <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g = 1</math>, so we're not even going to show it, or any further cases of <math>g=1</math>. These are all addable. | |||
And when <math>g=3</math>, because this is paired with <math>g=1</math> from the min and max values, we should expect to get the same answer as with <math>g=1</math>. And indeed, it will check out that way. Because two <math>g=3</math> temperaments will be planes in this volume, and the intersection of two planes is a line. Which means that <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span><math> = 2</math>. And so <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g</math> <math> - </math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 3 -</math> <span style="color: #3C8031;"><math>2</math></span> <math>= 1</math>. And here's where our geometric approach begins to pay off! This was the example given at the beginning that might seem unintuitive when relying only on the diagrammatic approach. But here we can see clearly that there would be no way for two planes in a volume to intersect only at a point, which proves the fact that two 7-limit ETs could never only temper out a single comma in common. | |||
[[File:D4 g3 dep2.png|200px]] | |||
Next let's look at temperaments represented by matrices with 2 vectors, that is, when both <math>g_{\text{min}}</math> and <math>g_{\text{max}}</math> are equal to 2. What are the possible ways lines can occupy a volume together? In a plane, as it was with <math>d=3</math> (and again assuming no parallel objects in these examples), they must intersect. But in a volume, here in <math>d=4</math>, this is possible. So, with <math>g=2</math>, it is possible to have a <span style="color: #B6321C;"><math>l_{\text{dep}}</math></span> <math>= 0</math>, which leads to <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g</math> <math> - </math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 2 -</math> <span style="color: #3C8031;"><math>0</math></span> <math>= 2</math>. Not addable in this case. | |||
[[File:D4 g2 dep0.png|200px]] | |||
But we can also imagine two lines in a volume that do intersect at a point. This is the case where <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g</math> <math> - </math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 2 -</math> <span style="color: #3C8031;"><math>1</math></span> <math>= 1</math>: addable! | |||
[[File:D4 g2 dep1.png|200px]] | |||
=== | ==== At <math>d=5</math>==== | ||
( | First, let's establish the geometric dimension of the space. With <math>d=5</math>, we've got a 4D space (one less than 5), so the entire space can be visualized in a hypervolume. We've now gone beyond the dimensionality of physical reality, so things get a little harder to conceptualize unfortunately. But <math>d=5</math> is the first <math>d</math> where we can make an important point about addability, so please bear with! | ||
= | At <math>d=5</math>, we also have a couple options for the grade: either <math>g_{\text{min}}=1</math> and <math>g_{\text{max}}=4</math>, or <math>g_{\text{min}}=2</math> and <math>g_{\text{max}}=3</math>. | ||
==== | First we'll look at <math>g_{\text{min}}=1</math> and <math>g_{\text{max}}=4</math>. Temperament matrices with <math>g=1</math> are still addable. And temperament matrices with <math>g=4</math> should be too. We can see this visually as how two volumes in a hypervolume together will have an intersection the shape of a plane. We can now see that there's a generalizable principal that any two <math>(d-1)</math>-dimensional objects will necessarily have a <math>(d-2)</math>-dimensional intersection, and thus have <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span> <math>= 1</math> and be addable. So we won't need to show this one or any further like it, either. | ||
So let's look at temperament matrices with <math>g_{\text{min}}=2</math> and <math>g_{\text{max}}=3</math>. For <math>g=2</math>, we have two possible values for <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span>: 0 or 1. Meaning that either the two lines through this hypervolume do not intersect (0), or they intersect at a point (1). These diagrams would look very much like the corresponding diagrams for <math>d=4</math>, so we will not be showing them. But what about when <math>g=3</math>? We can certainly imagine two planes in a hypervolume intersecting at a line, just as they do in an ordinary volume — they're just not taking advantage of the additional geometric dimension. So we won't show that example either. But where it gets really interesting is imagining then taking one of these two planes and rotating it in the fifth dimension; this causes the intersection between the two planes to be reduced down to a single point. And this corresponds with the case of <span style="color: #3C8031;"><math>l_{\text{dep}}=1</math></span> here, which means <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span><math> = g</math> <math> - </math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> <math>= 3 -</math> <span style="color: #3C8031;"><math>1</math></span> <math>= 2</math>, so therefore not addable: | |||
[[File:D5 g3 dep1.png|300px]] | |||
>> | So for <math>g_{\text{min}}=2</math> and <math>g_{\text{max}}=3</math> we got two different possibilities for <span style="color: #B6321C;"><math>l_{\text{ind}}</math></span>: 1 and 2, and for each of these two possibilities, we found it twice. We can see then that these match up, that is, that the <math>g_{\text{min}}=2</math> case with <span style="color: #B6321C;"><math>l_{\text{ind}}=1</math></span> matches with the <math>g_{\text{max}}=3</math> case with <span style="color: #B6321C;"><math>l_{\text{ind}}=1</math></span>, and the <span style="color: #B6321C;"><math>l_{\text{ind}}=2</math></span> cases match in the same way. | ||
==== Conclusion==== | |||
>> | Here's a summary table of our geometric findings so far: | ||
{| class="wikitable center-all" | |||
|+ | |||
! rowspan="2" |<math>d</math> ( <math>= g_{\text{min}} + g_{\text{max}}</math>) | |||
! colspan="2" |<math>g_{\text{min}}</math> | |||
! colspan="2" |<math>g_{\text{max}}</math> | |||
! rowspan="2" |<span style="color: #B6321C;"><math>l_{\text{ind}}</math></span> ( <math>= g -</math> <span style="color: #3C8031;"><math>l_{\text{dep}}</math></span>) | |||
|- | |||
!<math>g</math> | |||
!<span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> | |||
!<math>g</math> | |||
!<span style="color: #3C8031;"><math>l_{\text{dep}}</math></span> | |||
|- | |||
|2 | |||
|1 | |||
|0 | |||
|1 | |||
|0 | |||
|1 | |||
|- | |||
|3 | |||
|1 | |||
|0 | |||
|2 | |||
|1 | |||
|1 | |||
|- | |||
| rowspan="3" |4 | |||
| 1 | |||
|0 | |||
|3 | |||
|2 | |||
|1 | |||
|- | |||
|2 | |||
|0 | |||
|2 | |||
|0 | |||
|2 | |||
|- | |||
|2 | |||
|1 | |||
|2 | |||
|1 | |||
|1 | |||
|- | |||
| rowspan="3" | 5 | |||
|1 | |||
|0 | |||
|4 | |||
|3 | |||
|1 | |||
|- | |||
|2 | |||
|0 | |||
|3 | |||
|1 | |||
|2 | |||
|- | |||
|2 | |||
|1 | |||
|3 | |||
|2 | |||
|1 | |||
|} | |||
The geometric explanation still hasn't answered the question as to why <span style="color: #B6321C;"><math>l_{\text{ind}}=1</math></span> is the condition on addability. It just increased our intuitions about its relationship with temperament dimensions. We'll still look to a later section for an answer on this. | |||
=== Algebraic explanation=== | |||
(WIP) | |||
===Sintel's proof of the <span style="color: #B6321C;">linear-independence</span> conjecture=== | |||
====Sintel's original text==== | |||
m = m</nowiki> | <nowiki>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</nowiki> | |||
====Douglas Blumeyer's interpretation==== | ====Douglas Blumeyer's interpretation==== | ||
| Line 701: | Line 879: | ||
# Find the linear-dependence basis <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> | # Find the linear-dependence basis <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> | ||
# Put the matrices in a form with the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> | #Put the matrices in a form with the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> | ||
# Check for enfactoring, and perform an addabilization defactor (if necessary) | #Check for enfactoring, and perform an addabilization defactor (if necessary) | ||
# Check for negation, and change negation (if necessary) | #Check for negation, and change negation (if necessary) | ||
# Entry-wise add, and canonicalize | #Entry-wise add, and canonicalize | ||
=== The steps === | ===The steps=== | ||
==== 1. Find the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> ==== | ==== 1. Find the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>==== | ||
For matrices, it is necessary to make explicit <span style="color: #3C8031;">the basis for the linearly dependent vectors shared</span> 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 <span style="color: #3C8031;">linear-dependence basis, or <math>L_{\text{dep}}</math></span>. | For matrices, it is necessary to make explicit <span style="color: #3C8031;">the basis for the linearly dependent vectors shared</span> 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 <span style="color: #3C8031;">linear-dependence basis, or <math>L_{\text{dep}}</math></span>. | ||
| Line 714: | Line 892: | ||
Before this can be done, of course, we need to actually find the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>. This can be done using the technique described here: [[Linear dependence#For a given set of basis matrices, how to compute a basis for their linearly dependent vectors]] | Before this can be done, of course, we need to actually find the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>. This can be done using the technique described here: [[Linear dependence#For a given set of basis matrices, how to compute a basis for their linearly dependent vectors]] | ||
==== 2. Put the matrices in a form with the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> ==== | ====2. Put the matrices in a form with the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>==== | ||
The <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> will always have one less vector than the original matrix, by the definition of addability as <span style="color: #B6321C;"><math>L_{\text{ind}}=1</math></span>. And the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> is not a full recreation of the original temperament; it needs that one extra vector to get back to representing it. | The <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> will always have one less vector than the original matrix, by the definition of addability as <span style="color: #B6321C;"><math>L_{\text{ind}}=1</math></span>. And the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> is not a full recreation of the original temperament; it needs that one extra vector to get back to representing it. | ||
| Line 720: | Line 898: | ||
So a next step, we need pad out the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> by drawing from vectors from the original matrices. We can start from their first vectors. But if that vector happens to be linearly dependent on the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>, then it won't result in a representation of the original matrix. Otherwise we'll produce a [[rank-deficient]] matrix that doesn't still represent the same temperament as we started with. So we just have to keep going until we get it. | So a next step, we need pad out the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> by drawing from vectors from the original matrices. We can start from their first vectors. But if that vector happens to be linearly dependent on the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span>, then it won't result in a representation of the original matrix. Otherwise we'll produce a [[rank-deficient]] matrix that doesn't still represent the same temperament as we started with. So we just have to keep going until we get it. | ||
==== 3. Addabiliziation defactoring ==== | ====3. Addabiliziation defactoring==== | ||
But it is not quite as simple as determining the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> 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 <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> cannot be done using existing [[defactoring algorithms]]; it's a tricky process, or at least computationally intensive. This is called '''addabilization defactoring'''. | But it is not quite as simple as determining the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> 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 <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> cannot be done using existing [[defactoring algorithms]]; it's a tricky process, or at least computationally intensive. This is called '''addabilization defactoring'''. | ||
| Line 734: | Line 912: | ||
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 RTT library code linked to above works in this way. | 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 RTT library code linked to above works in this way. | ||
==== 4. Negation ==== | ====4. Negation==== | ||
Temperament negation is more complex with matrices, both in terms of checking for it, as well as changing it. | Temperament negation is more complex with matrices, both in terms of checking for it, as well as changing it. | ||
| Line 742: | Line 920: | ||
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. | 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. | ||
==== 5. Entry-wise add ==== | ====5. Entry-wise add==== | ||
The entry-wise addition of elements works mostly the same as for vectors. But there's one catch: we only do it for the pair of <span style="color: #B6321C;">linearly independent vectors</span>. We set the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> aside, and reintroduce it at the end. | The entry-wise addition of elements works mostly the same as for vectors. But there's one catch: we only do it for the pair of <span style="color: #B6321C;">linearly independent vectors</span>. We set the <span style="color: #3C8031;"><math>L_{\text{dep}}</math></span> aside, and reintroduce it at the end. | ||
| Line 917: | Line 1,095: | ||
And so we can see that meantone minus flattone is [[meanmag]]. | And so we can see that meantone minus flattone is [[meanmag]]. | ||
= References = | =References= | ||
<references /> | <references /> | ||