up previous next

Generic Minors

The following example computes the relations among the 2x2 minors of a generic 2xN matrix for a range of values of N. Note the use of indeterminates with multiple indices.

example

    
Define Minor2(M, I, J)
  Return M[1,I] M[2,J] - M[2,I] M[1,J];
EndDefine;

Define Det_SubAlgebra(N)
  M := Mat([[x[I,J] | J In 1..N] | I In 1..2]);
  Cols := (1..N) >< (1..N);
  L := [ y[C[1],C[2]] - Minor2(M, C[1], C[2]) | C In Cols And C[1]<C[2] ];
  Return Ideal(L);
EndDefine; 

Define Det_SubAlgebra_Print(N)  -- calculate and print relations
  J := Det_SubAlgebra(N);
  PrintLn NewLine, "N = ", N;
  PrintLn "Sub-algebra equations:";
  PrintLn Gens(Elim(x,J))
EndDefine;

Set Indentation;
For N := 3 To 5 Do
  S ::= Z/(32003)[y[1..(N-1),2..N],x[1..2,1..N]];
  Using S Do
    Det_SubAlgebra_Print(N);
  EndUsing
EndFor;

N = 3
Sub-algebra equations:
[
  0]

N = 4
Sub-algebra equations:
[
  2y[1,4]y[2,3] - 2y[1,3]y[2,4] + 2y[1,2]y[3,4]]

N = 5
Sub-algebra equations:
[
  2y[2,5]y[3,4] - 2y[2,4]y[3,5] + 2y[2,3]y[4,5],
  2y[1,5]y[3,4] - 2y[1,4]y[3,5] + 2y[1,3]y[4,5],
  2y[1,5]y[2,4] - 2y[1,4]y[2,5] + 2y[1,2]y[4,5],
  2y[1,5]y[2,3] - 2y[1,3]y[2,5] + 2y[1,2]y[3,5],
  2y[1,4]y[2,3] - 2y[1,3]y[2,4] + 2y[1,2]y[3,4]]

-------------------------------