Jacques Gélinas on Fri, 08 Sep 2017 23:57:02 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Symbolic verification of determinant identities

Compound determinants such as D3 in
 D1  = matdet([ a, b; b, c ]); D2  = matdet([ a, c; b, d ]);
 D3  = matdet([ a, 2*b; D1, D2 ]);
are manipulated to prove that D3>0. 

How can PARI/GP be used to verify the formal equivalence of such expressions ?
Of course, I would prefer not to have to write the determinants twice
in original and in final form, if possible.

Now I run into problems in verifying, for example, the simple identity
 D1 == matdet([ a,  b + L*a; b + L*a, c + 2*L*b + L^2*a ]) 
by using substitutions 

  D1 == subst(subst(D1,b,b+L*a),c,c+2*L*b+L^2*a)          \\ seems to work ?
  D1 == subst(subst(D1,c,c+2*L*b+L^2*a),b,b+L*a)          \\ oups !!! Nope!

Obviously, there is a problem with the order of substitutions...
Maybe the variable names need quoting somewhere in the subst() ?
Or is eval() needed ?

Similarly, this seems to verify another valid identity ?

  D3 == subst(subst(subst(D3,b,b+L*a),c,c+2*L*b+L^2*a),d,d+3*L*c+3*L^2*b+L^3*a)

Thanks for explanations, or (better) a safer method of symbolic comparaison.

Jacques Gélinas, Ottawa