Section 6.1 Discovery guide
Clearly the origin vertex must always end up in the same location, so all we can do is permute the three arms of the shape. A matrix that permutes the standard basis vectors is called a permutation matrix.xxxxxxxxxx
e1 = vector((1, 0, 0))
e2 = vector((0, 1, 0))
e3 = vector((0, 0, 1))
print("e1 =", e1)
print()
print("e2 =", e2)
print()
print("e3 =", e3)
Subsection Permutation matrices
Discovery 6.1. Cycles.
Here is a permutation matrix for you to load into Sage:
xxxxxxxxxx
P = matrix( [ [0, 0, 1], [1, 0, 0], [0, 1, 0] ] )
print("P =")
print(P)
(a)
Use the Sage cell below to multiply print
commands.)
Do you agree that
xxxxxxxxxx
(b)
Study your results of Task a even closer. What is the pattern between how the standard basis vectors were permuted and the
(c)
The permutation represented by matrix
(More precisely, this permutation is called a
(d)
Use the Sage cell below to evaluate
xxxxxxxxxx
(e)
Modify your input in the Sage cell above to calculate
(f)
If we are to consider
(g)
Geometrically, do you think any other cycles of our shape in Figure 6.1.1 are possible?
Discovery 6.2. Transpositions.
Here is another permutation matrix for you to load into Sage and analyze:
xxxxxxxxxx
T = matrix( [ [0, 1, 0], [1, 0, 0], [0, 0, 1] ] )
print("T =")
print(T)
(a)
Either using the pattern you identified in Task 6.1.b or by inserting some matrix-times-vector calculations into the Sage cell above, determine how
(b)
The permutation represented by
(c)
What do you think the order of
(d)
What other transpositions of our shape are possible, and what are their corresponding matrices?
(e)
Permutation
xxxxxxxxxx
Discovery 6.3.
(a)
Create a
For convenience,
xxxxxxxxxx
Q = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("Q =")
print(Q)
(b)
Is
Discovery 6.4.
(a)
Create a
xxxxxxxxxx
R = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("R =")
print(R)
(b)
Is a group of
xxxxxxxxxx
Discovery 6.5.
(a)
Create a
xxxxxxxxxx
S = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("S =")
print(S)
(b)
What is the action of your permutation on the four standard basis vectors? (Express your action in
(c)
I'm going to guess that your non-cycle
xxxxxxxxxx
S1 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
S2 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("S =")
print(S)
print("S2 * S1 =")
print(S2 * S1)
Note: Remember that transformations are applied in right-to-left order, which is why they are multiplied in the order
(d)
Wait, check this out:
xxxxxxxxxx
print("S2 * S1 =")
print(S2 * S1)
print("S1 * S2 =")
print(S1 * S2)
You should have found in Task 6.4.b that this group of
(e)
What kind of permutations are
xxxxxxxxxx
print("S^2")
Discovery 6.6.
What is the order of the group of
Don't try to create them all. If at least one person in your group has taken AUMAT 250, that person should know how to answer this question.
Subsection Decompositions
Discovery 6.7.
(a)
Create a
on the standard basis vectors. (Note: Since this is a cycle, we assume
xxxxxxxxxx
U = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("U =")
print(U)
(b)
Attempt to decompose
Compositions of transformations are applied in right-to-left order.
Permutation matrices further to the left don't “know” that matrices to the right have already mixed things up.
As usual,
to be true, which is what the formula in the final print command is checking — if
then
should be equal to the identity matrix.
xxxxxxxxxx
U1 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
U2 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
U3 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print(U.inverse() * (U3 * U2 * U1))
Discovery 6.8.
Figure out the pattern of what you did for
on the standard basis vectors.
xxxxxxxxxx
W = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
W1 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
W2 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
W3 = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("W =")
print(W)
print("W.inverse * (W3 * W2 * W1) =")
print(W.inverse() * (W3 * W2 * W1))
Conjecture 6.1.2.
Every cycle can be decomposed into a product of transpositions.
Discovery 6.9.
What do you think: is Conjecture 6.1.2 true or false?
Subsection Sign of a permutation matrix
Hopefully by now you've figured out that a permutation matrix is really just a permutation of the columns of the identity matrix. (Or maybe you've been thinking of it as a permutation of the rows of the identity matrix, which is fine.)Discovery 6.10.
(a)
What is the determinant of the identity matrix?
(b)
What does linear algebra say about the effect on the determinant if two columns (or two rows) are swapped?
Conjecture 6.1.3.
Every permutation matrix has determinant .
Discovery 6.11.
(a)
Complete the statement of Conjecture 6.1.3.
(b)
Test your version of Conjecture 6.1.3 below. (First, evaluate the Sage cell as-is, then modify it to swap
xxxxxxxxxx
print(P.determinant())
Definition 6.1.4. Sign of a permutation.
The determinant of the corresponding permutation matrix is called the sign of the permutation.
Discovery 6.12.
(a)
What is the sign of a transposition? Is it always the same?
(b)
Test out your guess from Task a on some transpositions below:
Make
a transposition by adding ones in the appropriate places, then evaluate to compute its determinant.Edit
to a different transposition, evaluate again.Repeat until you're satsified that you've guessed correctly in Task a.
xxxxxxxxxx
V = matrix( [ [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0] ] )
print("V =")
print(V)
print("det V =", V.determinant())
Discovery 6.13.
Consider the collection of all permutation matrices of a particular size that have even sign (i.e. sign
Subsection Disjoint cycles
Definition 6.1.5. Disjoint cycles.
A collection of cycles is called disjoint in the following situation: whenever one of the cycles in the collection “acts” non-trivially on one of the standard basis vectors, then each of the other cycles must act trivially on that vector.
Discovery 6.14.
Here is an 8×8 permutation matrix.
By now you should be pretty good at reading the columns (or rows, if you prefer) of permutation matrices to figure out their action, without actually multiplying them against standard basis vectors.
Since
xxxxxxxxxx
X = matrix([ [ 0, 0, 0, 0, 0, 0, 0, 1 ], [ 0, 0, 0, 0, 0, 0, 1, 0 ], [ 1, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 1, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 1, 0, 0, 0, 0 ] ])
print("X =")
print(X)
See if you can decompose print(X.inverse() * (X2 * X1))
statement to return the identity matrix.)
xxxxxxxxxx
X1 = matrix([ [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ] ])
X2 = matrix([ [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0 ] ])
print("X1 =")
print(X1)
print("X2 =")
print(X2)
print("X.inverse * (X2 * X1) =")
print(X.inverse() * (X2 * X1))
Conjecture 6.1.6.
Every permutation can be decomposed into a product of disjoint cycles.
Discovery 6.15.
What do you think: is Conjecture 6.1.6 true or false?
Discovery 6.16.
Wait, the decomposition of
xxxxxxxxxx
print(X.inverse() * (X1 * X2))
Why do you think this happened? Will this happen in general for products of disjoint cycles?
Subsection Signs of decompositions
Let's put a few things together now.We think a transposition always has odd sign, i.e. a sign of
(Discovery 6.12).We think every cycle can be decomposed into transpositions (Conjecture 6.1.2).
We think every permutation can be decomposed into a product of (disjoint) cycles (Conjecture 6.1.6).
Discovery 6.17.
Combining Statement b and Statement c, every permutation should decompose into a product of transpositions. Combine this with Statement a to make a conjecture about the nature of a permutation's decomposition into transpositions based on the sign of the permutation.