|
|
last edited 13 years ago by page |
1 2 3 4 5 6 7 8 9 10 11 | ||
Editor: Bill Page
Time: 2011/07/03 17:35:35 GMT-7 |
||
Note: Eigenvectors and Diagonalization |
added:
From BillPage Sun Jul 3 17:35:35 -0700 2011
From: Bill Page
Date: Sun, 03 Jul 2011 17:35:35 -0700
Subject: Eigenvectors and Diagonalization
Message-ID: <20110703173535-0700@axiom-wiki.newsynthesis.org>
SandBoxHermitianIsomorphisms4
A complex vector ℂ-space possesses many different hermitian isomorphisms . In quantum mechanics a given operator may be said to be -hermitian if
)set output tex off
)set output algebra on
ℂ:=Complex Fraction Polynomial Integer
(1) Complex(Fraction(Polynomial(Integer)))
-- dagger htranspose(h)==map(x+->conjugate(x),transpose h)
)expose MCALCFN
MultiVariableCalculusFunctions is now explicitly exposed in frame initial
The necessary conditions for an operator to possess hermitean isomorphism is that and .
Two-Dimensions
p1:ℂ:=complex(ℜp1,𝔍p1)
(3) ℜp1 + 𝔍p1 %i
q1:ℂ:=complex(ℜq1,𝔍q1)
(4) ℜq1 + 𝔍q1 %i
p2:ℂ:=complex(ℜp2,𝔍p2)
(5) ℜp2 + 𝔍p2 %i
q2:ℂ:=complex(ℜq2,𝔍q2)
(6) ℜq2 + 𝔍q2 %i
ρ:Matrix ℂ := matrix [[p1,q1], [p2, q2]]
+ℜp1 + 𝔍p1 %i ℜq1 + 𝔍q1 %i+ (7) | | +ℜp2 + 𝔍p2 %i ℜq2 + 𝔍q2 %i+
s1:=solve(imag determinant ρ,ℜp2)
ℜp1 𝔍q2 - ℜq1 𝔍p2 + ℜq2 𝔍p1 (8) [ℜp2= ---------------------------] 𝔍q1
s2:=solve(eval(imag trace ρ,s1), 𝔍p1)
(9) [𝔍p1= - 𝔍q2]
s3:=solve(eval(eval(imag trace(ρ*ρ),s1), s2), ℜp1)
(10) [0= 0]
eval(eval(imag trace (ρ*ρ),s1), s2)
(11) 0
C:=eval(eval(characteristicPolynomial ρ,s1), s2)
(12) 2 2 𝔍q1 𝔍q2 + (ℜq1 ℜq2 - ℜp1 ℜq1)𝔍q2 + 𝔍p2 𝔍q1 + 2 2 ((ℜp1 - %A)ℜq2 - %A ℜp1 + %A )𝔍q1 + ℜq1 𝔍p2 / 𝔍q1
C0:=zerosOf(C)
(13) [ ROOT 2 2 - 4𝔍q1 𝔍q2 + (- 4ℜq1 ℜq2 + 4ℜp1 ℜq1)𝔍q2 - 4𝔍p2 𝔍q1 + 2 2 2 (ℜq2 - 2ℜp1 ℜq2 + ℜp1 )𝔍q1 - 4ℜq1 𝔍p2 / 𝔍q1 + ℜq2 + ℜp1 / 2 ,
- ROOT 2 2 - 4𝔍q1 𝔍q2 + (- 4ℜq1 ℜq2 + 4ℜp1 ℜq1)𝔍q2 - 4𝔍p2 𝔍q1 + 2 2 2 (ℜq2 - 2ℜp1 ℜq2 + ℜp1 )𝔍q1 - 4ℜq1 𝔍p2 / 𝔍q1 + ℜq2 + ℜp1 / 2 ]
#C0
(14) 2
imag(C0.1)
(15) 0
imag(C0.2)
(16) 0
ρ0:=map(x+->eval(eval(x,s1), s2), ρ)
+ - %i 𝔍q2 + ℜp1 %i 𝔍q1 + ℜq1+ | | (17) |(- ℜq2 + ℜp1)𝔍q2 + %i 𝔍p2 𝔍q1 - ℜq1 𝔍p2 | |--------------------------------------- %i 𝔍q2 + ℜq2| + 𝔍q1 +
E:=eigenvalues(ρ0)
(18) [ %D | 2 2 𝔍q1 𝔍q2 + (ℜq1 ℜq2 - ℜp1 ℜq1)𝔍q2 + 𝔍p2 𝔍q1 + 2 2 ((ℜp1 - %D)ℜq2 - %D ℜp1 + %D )𝔍q1 + ℜq1 𝔍p2 ]
E0:=eigenvector(E.1,ρ0)
+ %i 𝔍q1 𝔍q2 + (ℜq2 - %D)𝔍q1 + |-------------------------------------| (19) [|(ℜq2 - ℜp1)𝔍q2 - %i 𝔍p2 𝔍q1 + ℜq1 𝔍p2|] | | + 1 +
E1:=map(x+->eval(x,%D=C0.1), E0.1)
(20) [ [ - 𝔍q1 * ROOT 2 2 - 4𝔍q1 𝔍q2 + (- 4ℜq1 ℜq2 + 4ℜp1 ℜq1)𝔍q2 - 4𝔍p2 𝔍q1 + 2 2 2 (ℜq2 - 2ℜp1 ℜq2 + ℜp1 )𝔍q1 - 4ℜq1 𝔍p2 / 𝔍q1 + 2%i 𝔍q1 𝔍q2 + (ℜq2 - ℜp1)𝔍q1 / (2ℜq2 - 2ℜp1)𝔍q2 - 2%i 𝔍p2 𝔍q1 + 2ℜq1 𝔍p2 ] ,[1]]
E2:=map(x+->eval(x,%D=C0.2), E0.1)
(21) [ [ 𝔍q1 * ROOT 2 2 - 4𝔍q1 𝔍q2 + (- 4ℜq1 ℜq2 + 4ℜp1 ℜq1)𝔍q2 - 4𝔍p2 𝔍q1 + 2 2 2 (ℜq2 - 2ℜp1 ℜq2 + ℜp1 )𝔍q1 - 4ℜq1 𝔍p2 / 𝔍q1 + 2%i 𝔍q1 𝔍q2 + (ℜq2 - ℜp1)𝔍q1 / (2ℜq2 - 2ℜp1)𝔍q2 - 2%i 𝔍p2 𝔍q1 + 2ℜq1 𝔍p2 ] ,[1]]
test(ρ0*E1=C0(1)*E1)
(22) true
test(ρ0*E2=C0(2)*E2)
(23) true
Given an operator , one must find the tensor for unknown manifold of hermitian isomorphisms .
h:Matrix ℂ:=matrix [[ℜa,complex(ℜb, 𝔍b)], [complex(ℜb, -𝔍b), ℜe]]
+ ℜa ℜb + 𝔍b %i+ (24) | | +ℜb - 𝔍b %i ℜe +
test(h = htranspose h)
Compiling function htranspose with type Matrix(Complex(Fraction( Polynomial(Integer)))) -> Matrix(Complex(Fraction(Polynomial( Integer))))
(25) true
H:=htranspose(ρ)*h-h*ρ
(26) [ [(- 2ℜb 𝔍p2 - 2ℜa 𝔍p1 - 2ℜp2 𝔍b)%i,
𝔍b 𝔍q2 + 𝔍b 𝔍p1 - ℜb ℜq2 - ℜa ℜq1 + ℜe ℜp2 + ℜb ℜp1 + (- ℜb 𝔍q2 - ℜa 𝔍q1 - ℜe 𝔍p2 - ℜb 𝔍p1 + (- ℜq2 + ℜp1)𝔍b)%i ] ,
[ - 𝔍b 𝔍q2 - 𝔍b 𝔍p1 + ℜb ℜq2 + ℜa ℜq1 - ℜe ℜp2 - ℜb ℜp1 + (- ℜb 𝔍q2 - ℜa 𝔍q1 - ℜe 𝔍p2 - ℜb 𝔍p1 + (- ℜq2 + ℜp1)𝔍b)%i ,(- 2ℜe 𝔍q2 - 2ℜb 𝔍q1 + 2ℜq1 𝔍b)%i] ]
We wish to find expressions for in terms of the components of . To do this we will determine how the components of depend on the components of .
J:=jacobian(concat( map(x+->[real x,imag x], concat(H::List List ?)) ), [ℜa, ℜb, 𝔍b, ℜe]::List Symbol)
+ 0 0 0 0 + | | |- 2𝔍p1 - 2𝔍p2 - 2ℜp2 0 | | | |- ℜq1 - ℜq2 + ℜp1 𝔍q2 + 𝔍p1 ℜp2 | | | |- 𝔍q1 - 𝔍q2 - 𝔍p1 - ℜq2 + ℜp1 - 𝔍p2 | (27) | | | ℜq1 ℜq2 - ℜp1 - 𝔍q2 - 𝔍p1 - ℜp2 | | | |- 𝔍q1 - 𝔍q2 - 𝔍p1 - ℜq2 + ℜp1 - 𝔍p2 | | | | 0 0 0 0 | | | + 0 - 2𝔍q1 2ℜq1 - 2𝔍q2+
The null space (kernel) of the Jacobian
N:=nullSpace(map(x+->eval(eval(x,s1), s2), J))
- ℜq2 + ℜp1 ℜq1 𝔍p2 𝔍q2 (28) [[-----------,---, 1, 0], [- ---, - ---, 0, 1]] 𝔍q1 𝔍q1 𝔍q1 𝔍q1
gives the general solution to the problem.
s4:=map((x,y)+->x=y, [ℜa, ℜb, 𝔍b, ℜe], 𝔍b*N.1+ℜe*N.2)
- ℜe 𝔍p2 + (- ℜq2 + ℜp1)𝔍b - ℜe 𝔍q2 + ℜq1 𝔍b (29) [ℜa= --------------------------,ℜb= -----------------, 𝔍b= 𝔍b, ℜe= ℜe] 𝔍q1 𝔍q1
map(x+->eval(eval(eval(x,s1), s2), s4), H)
+0 0+ (30) | | +0 0+
Three-Dimensions
p1:ℂ:=complex(ℜp1,𝔍p1)
(31) ℜp1 + 𝔍p1 %i
q1:ℂ:=complex(ℜq1,𝔍q1)
(32) ℜq1 + 𝔍q1 %i
r1:ℂ:=complex(ℜr1,𝔍r1)
(33) ℜr1 + 𝔍r1 %i
p2:ℂ:=complex(ℜp2,𝔍p2)
(34) ℜp2 + 𝔍p2 %i
q2:ℂ:=complex(ℜq2,𝔍q2)
(35) ℜq2 + 𝔍q2 %i
r2:ℂ:=complex(ℜr2,𝔍r2)
(36) ℜr2 + 𝔍r2 %i
p3:ℂ:=complex(ℜp3,𝔍p3)
(37) ℜp3 + 𝔍p3 %i
q3:ℂ:=complex(ℜq3,𝔍q3)
(38) ℜq3 + 𝔍q3 %i
r3:ℂ:=complex(ℜr3,𝔍r3)
(39) ℜr3 + 𝔍r3 %i
ρ:Matrix ℂ := matrix [[p1,q1, r1], [p2, q2, r2], [p3, q3, r3]]
+ℜp1 + 𝔍p1 %i ℜq1 + 𝔍q1 %i ℜr1 + 𝔍r1 %i+ | | (40) |ℜp2 + 𝔍p2 %i ℜq2 + 𝔍q2 %i ℜr2 + 𝔍r2 %i| | | +ℜp3 + 𝔍p3 %i ℜq3 + 𝔍q3 %i ℜr3 + 𝔍r3 %i+
s1:=solve(imag determinant ρ,ℜp3)
(41) [ ℜp3 = (𝔍p1 𝔍q2 - 𝔍p2 𝔍q1 - ℜp1 ℜq2 + ℜp2 ℜq1)𝔍r3 + (- 𝔍p1 𝔍q3 + 𝔍p3 𝔍q1 + ℜp1 ℜq3)𝔍r2 + (𝔍p2 𝔍q3 - 𝔍p3 𝔍q2 - ℜp2 ℜq3)𝔍r1 + (ℜp1 ℜr2 - ℜp2 ℜr1)𝔍q3 - ℜp1 ℜr3 𝔍q2 + ℜp2 ℜr3 𝔍q1 + (- ℜq1 ℜr2 + ℜq2 ℜr1)𝔍p3 + (ℜq1 ℜr3 - ℜq3 ℜr1)𝔍p2 + (- ℜq2 ℜr3 + ℜq3 ℜr2)𝔍p1 / ℜq1 𝔍r2 - ℜq2 𝔍r1 - ℜr1 𝔍q2 + ℜr2 𝔍q1 ]
s2:=solve(eval(imag trace(ρ),s1), 𝔍p1)
(42) [𝔍p1= - 𝔍r3 - 𝔍q2]
s3:=solve(eval(eval(imag trace(ρ*ρ),s1), s2), ℜp1)
(43) [ ℜp1 = 2 - 𝔍q2 𝔍r1 𝔍r3 + (𝔍q3 𝔍r1 + ℜq1 ℜr3)𝔍r2 + 2 (- 𝔍q2 - 𝔍p2 𝔍q1 - ℜq3 ℜr2 + ℜp2 ℜq1)𝔍r1 - ℜr1 ℜr3 𝔍q2 + ℜr2 ℜr3 𝔍q1 * 𝔍r3 + 2 ℜq1 ℜq3 𝔍r2 + (𝔍q2 𝔍q3 + 𝔍p3 𝔍q1 - ℜq2 ℜq3)𝔍r1 + ℜq1 ℜr2 𝔍q3 + (- ℜq3 ℜr1 + ℜq1 ℜq2)𝔍q2 + (ℜq3 ℜr2 + ℜp2 ℜq1)𝔍q1 + ℜq1 ℜr1 𝔍p3 + 2 ℜq1 𝔍p2 * 𝔍r2 + 2 (𝔍p2 𝔍q3 - 𝔍p3 𝔍q2 - ℜp2 ℜq3)𝔍r1 + 2 (- ℜq2 ℜr2 - ℜp2 ℜr1)𝔍q3 + (ℜq2 ℜr3 - ℜq3 ℜr2 - ℜq2 )𝔍q2 + (ℜp2 ℜr3 - ℜp2 ℜq2)𝔍q1 - ℜq1 ℜr2 𝔍p3 + (ℜq1 ℜr3 - ℜq3 ℜr1 - ℜq1 ℜq2)𝔍p2 * 𝔍r1 + 2 2 (- ℜr1 ℜr2 𝔍q2 + ℜr2 𝔍q1)𝔍q3 - ℜq2 ℜr1 𝔍q2 + 2 2 ((ℜq2 ℜr2 - ℜp2 ℜr1)𝔍q1 - ℜr1 𝔍p3 - ℜq1 ℜr1 𝔍p2)𝔍q2 + ℜp2 ℜr2 𝔍q1 + (ℜr1 ℜr2 𝔍p3 + ℜq1 ℜr2 𝔍p2)𝔍q1 / (ℜq1 𝔍r2 - ℜr1 𝔍q2 + ℜr2 𝔍q1)𝔍r3 + (- ℜq3 𝔍r1 + ℜq1 𝔍q2)𝔍r2 + 2 (- ℜr2 𝔍q3 + (ℜr3 - ℜq2)𝔍q2)𝔍r1 - ℜr1 𝔍q2 + ℜr2 𝔍q1 𝔍q2 ]
eval(eval(eval(imag trace(ρ*ρ*ρ),s1), s2), s3)
(44) 0
C:=eval(eval(eval(characteristicPolynomial ρ,s1), s2), s3);
C0:=zerosOf(C);
#C0
(47) 3
imag(C0.1)
(48) 0
imag(C0.2)
(49) 0
imag(C0.3)
(50) 0
Given an operator , one must find the tensor for unknown manifold of hermitian isomorphisms .
h:Matrix ℂ:=matrix [[ℜa,complex(ℜb, 𝔍b), complex(ℜc, 𝔍c)], _ [complex(ℜb, -𝔍b), ℜe, complex(ℜd, 𝔍d)], _ [complex(ℜc, -𝔍c), complex(ℜd, -𝔍d), ℜf ]]
+ ℜa ℜb + 𝔍b %i ℜc + 𝔍c %i+ | | (51) |ℜb - 𝔍b %i ℜe ℜd + 𝔍d %i| | | +ℜc - 𝔍c %i ℜd - 𝔍d %i ℜf +
test(h = htranspose h)
(52) true
H:=htranspose(ρ)*h-h*ρ
(53) [ [(- 2ℜc 𝔍p3 - 2ℜb 𝔍p2 - 2ℜa 𝔍p1 - 2ℜp3 𝔍c - 2ℜp2 𝔍b)%i,
𝔍c 𝔍q3 + 𝔍b 𝔍q2 - 𝔍d 𝔍p3 + 𝔍b 𝔍p1 - ℜc ℜq3 - ℜb ℜq2 - ℜa ℜq1 + ℜd ℜp3 + ℜe ℜp2 + ℜb ℜp1 + - ℜc 𝔍q3 - ℜb 𝔍q2 - ℜa 𝔍q1 - ℜd 𝔍p3 - ℜe 𝔍p2 - ℜb 𝔍p1 - ℜp3 𝔍d + - ℜq3 𝔍c + (- ℜq2 + ℜp1)𝔍b * %i ,
𝔍c 𝔍r3 + 𝔍b 𝔍r2 + 𝔍d 𝔍p2 + 𝔍c 𝔍p1 - ℜc ℜr3 - ℜb ℜr2 - ℜa ℜr1 + ℜf ℜp3 + ℜd ℜp2 + ℜc ℜp1 + - ℜc 𝔍r3 - ℜb 𝔍r2 - ℜa 𝔍r1 - ℜf 𝔍p3 - ℜd 𝔍p2 - ℜc 𝔍p1 + ℜp2 𝔍d + (- ℜr3 + ℜp1)𝔍c - ℜr2 𝔍b * %i ] ,
[ - 𝔍c 𝔍q3 - 𝔍b 𝔍q2 + 𝔍d 𝔍p3 - 𝔍b 𝔍p1 + ℜc ℜq3 + ℜb ℜq2 + ℜa ℜq1 - ℜd ℜp3 + - ℜe ℜp2 - ℜb ℜp1 + - ℜc 𝔍q3 - ℜb 𝔍q2 - ℜa 𝔍q1 - ℜd 𝔍p3 - ℜe 𝔍p2 - ℜb 𝔍p1 - ℜp3 𝔍d + - ℜq3 𝔍c + (- ℜq2 + ℜp1)𝔍b * %i ,(- 2ℜd 𝔍q3 - 2ℜe 𝔍q2 - 2ℜb 𝔍q1 - 2ℜq3 𝔍d + 2ℜq1 𝔍b)%i,
𝔍d 𝔍r3 - 𝔍b 𝔍r1 + 𝔍d 𝔍q2 + 𝔍c 𝔍q1 - ℜd ℜr3 - ℜe ℜr2 - ℜb ℜr1 + ℜf ℜq3 + ℜd ℜq2 + ℜc ℜq1 + - ℜd 𝔍r3 - ℜe 𝔍r2 - ℜb 𝔍r1 - ℜf 𝔍q3 - ℜd 𝔍q2 - ℜc 𝔍q1 + (- ℜr3 + ℜq2)𝔍d + ℜq1 𝔍c + ℜr1 𝔍b * %i ] ,
[ - 𝔍c 𝔍r3 - 𝔍b 𝔍r2 - 𝔍d 𝔍p2 - 𝔍c 𝔍p1 + ℜc ℜr3 + ℜb ℜr2 + ℜa ℜr1 - ℜf ℜp3 + - ℜd ℜp2 - ℜc ℜp1 + - ℜc 𝔍r3 - ℜb 𝔍r2 - ℜa 𝔍r1 - ℜf 𝔍p3 - ℜd 𝔍p2 - ℜc 𝔍p1 + ℜp2 𝔍d + (- ℜr3 + ℜp1)𝔍c - ℜr2 𝔍b * %i ,
- 𝔍d 𝔍r3 + 𝔍b 𝔍r1 - 𝔍d 𝔍q2 - 𝔍c 𝔍q1 + ℜd ℜr3 + ℜe ℜr2 + ℜb ℜr1 - ℜf ℜq3 + - ℜd ℜq2 - ℜc ℜq1 + - ℜd 𝔍r3 - ℜe 𝔍r2 - ℜb 𝔍r1 - ℜf 𝔍q3 - ℜd 𝔍q2 - ℜc 𝔍q1 + (- ℜr3 + ℜq2)𝔍d + ℜq1 𝔍c + ℜr1 𝔍b * %i ,(- 2ℜf 𝔍r3 - 2ℜd 𝔍r2 - 2ℜc 𝔍r1 + 2ℜr2 𝔍d + 2ℜr1 𝔍c)%i] ]
We wish to find expressions for in terms of the components of . To do this we will determine how the components of depend on the components of .
K:=concat( map(x+->[real x,imag x], concat(H::List List ?)))::List Polynomial Integer
(54) [0,- 2ℜc 𝔍p3 - 2ℜb 𝔍p2 - 2ℜa 𝔍p1 - 2ℜp3 𝔍c - 2ℜp2 𝔍b,
𝔍c 𝔍q3 + 𝔍b 𝔍q2 - 𝔍d 𝔍p3 + 𝔍b 𝔍p1 - ℜc ℜq3 - ℜb ℜq2 - ℜa ℜq1 + ℜd ℜp3 + ℜe ℜp2 + ℜb ℜp1 ,
- ℜc 𝔍q3 - ℜb 𝔍q2 - ℜa 𝔍q1 - ℜd 𝔍p3 - ℜe 𝔍p2 - ℜb 𝔍p1 - ℜp3 𝔍d - ℜq3 𝔍c + (- ℜq2 + ℜp1)𝔍b ,
𝔍c 𝔍r3 + 𝔍b 𝔍r2 + 𝔍d 𝔍p2 + 𝔍c 𝔍p1 - ℜc ℜr3 - ℜb ℜr2 - ℜa ℜr1 + ℜf ℜp3 + ℜd ℜp2 + ℜc ℜp1 ,
- ℜc 𝔍r3 - ℜb 𝔍r2 - ℜa 𝔍r1 - ℜf 𝔍p3 - ℜd 𝔍p2 - ℜc 𝔍p1 + ℜp2 𝔍d + (- ℜr3 + ℜp1)𝔍c - ℜr2 𝔍b ,
- 𝔍c 𝔍q3 - 𝔍b 𝔍q2 + 𝔍d 𝔍p3 - 𝔍b 𝔍p1 + ℜc ℜq3 + ℜb ℜq2 + ℜa ℜq1 - ℜd ℜp3 + - ℜe ℜp2 - ℜb ℜp1 ,
- ℜc 𝔍q3 - ℜb 𝔍q2 - ℜa 𝔍q1 - ℜd 𝔍p3 - ℜe 𝔍p2 - ℜb 𝔍p1 - ℜp3 𝔍d - ℜq3 𝔍c + (- ℜq2 + ℜp1)𝔍b ,0, - 2ℜd 𝔍q3 - 2ℜe 𝔍q2 - 2ℜb 𝔍q1 - 2ℜq3 𝔍d + 2ℜq1 𝔍b,
𝔍d 𝔍r3 - 𝔍b 𝔍r1 + 𝔍d 𝔍q2 + 𝔍c 𝔍q1 - ℜd ℜr3 - ℜe ℜr2 - ℜb ℜr1 + ℜf ℜq3 + ℜd ℜq2 + ℜc ℜq1 ,
- ℜd 𝔍r3 - ℜe 𝔍r2 - ℜb 𝔍r1 - ℜf 𝔍q3 - ℜd 𝔍q2 - ℜc 𝔍q1 + (- ℜr3 + ℜq2)𝔍d + ℜq1 𝔍c + ℜr1 𝔍b ,
- 𝔍c 𝔍r3 - 𝔍b 𝔍r2 - 𝔍d 𝔍p2 - 𝔍c 𝔍p1 + ℜc ℜr3 + ℜb ℜr2 + ℜa ℜr1 - ℜf ℜp3 + - ℜd ℜp2 - ℜc ℜp1 ,
- ℜc 𝔍r3 - ℜb 𝔍r2 - ℜa 𝔍r1 - ℜf 𝔍p3 - ℜd 𝔍p2 - ℜc 𝔍p1 + ℜp2 𝔍d + (- ℜr3 + ℜp1)𝔍c - ℜr2 𝔍b ,
- 𝔍d 𝔍r3 + 𝔍b 𝔍r1 - 𝔍d 𝔍q2 - 𝔍c 𝔍q1 + ℜd ℜr3 + ℜe ℜr2 + ℜb ℜr1 - ℜf ℜq3 + - ℜd ℜq2 - ℜc ℜq1 ,
- ℜd 𝔍r3 - ℜe 𝔍r2 - ℜb 𝔍r1 - ℜf 𝔍q3 - ℜd 𝔍q2 - ℜc 𝔍q1 + (- ℜr3 + ℜq2)𝔍d + ℜq1 𝔍c + ℜr1 𝔍b ,0, - 2ℜf 𝔍r3 - 2ℜd 𝔍r2 - 2ℜc 𝔍r1 + 2ℜr2 𝔍d + 2ℜr1 𝔍c]
--K2:=groebner(K) J:=jacobian(select(x+->x~=0,K), [ℜa, ℜb, 𝔍b, ℜc, 𝔍c, ℜd, 𝔍d, ℜe, ℜf]::List Symbol)
(55) [[- 2𝔍p1,- 2𝔍p2, - 2ℜp2, - 2𝔍p3, - 2ℜp3, 0, 0, 0, 0], [- ℜq1, - ℜq2 + ℜp1, 𝔍q2 + 𝔍p1, - ℜq3, 𝔍q3, ℜp3, - 𝔍p3, ℜp2, 0], [- 𝔍q1, - 𝔍q2 - 𝔍p1, - ℜq2 + ℜp1, - 𝔍q3, - ℜq3, - 𝔍p3, - ℜp3, - 𝔍p2, 0], [- ℜr1, - ℜr2, 𝔍r2, - ℜr3 + ℜp1, 𝔍r3 + 𝔍p1, ℜp2, 𝔍p2, 0, ℜp3], [- 𝔍r1, - 𝔍r2, - ℜr2, - 𝔍r3 - 𝔍p1, - ℜr3 + ℜp1, - 𝔍p2, ℜp2, 0, - 𝔍p3], [ℜq1, ℜq2 - ℜp1, - 𝔍q2 - 𝔍p1, ℜq3, - 𝔍q3, - ℜp3, 𝔍p3, - ℜp2, 0], [- 𝔍q1, - 𝔍q2 - 𝔍p1, - ℜq2 + ℜp1, - 𝔍q3, - ℜq3, - 𝔍p3, - ℜp3, - 𝔍p2, 0], [0, - 2𝔍q1, 2ℜq1, 0, 0, - 2𝔍q3, - 2ℜq3, - 2𝔍q2, 0], [0, - ℜr1, - 𝔍r1, ℜq1, 𝔍q1, - ℜr3 + ℜq2, 𝔍r3 + 𝔍q2, - ℜr2, ℜq3], [0, - 𝔍r1, ℜr1, - 𝔍q1, ℜq1, - 𝔍r3 - 𝔍q2, - ℜr3 + ℜq2, - 𝔍r2, - 𝔍q3], [ℜr1, ℜr2, - 𝔍r2, ℜr3 - ℜp1, - 𝔍r3 - 𝔍p1, - ℜp2, - 𝔍p2, 0, - ℜp3], [- 𝔍r1, - 𝔍r2, - ℜr2, - 𝔍r3 - 𝔍p1, - ℜr3 + ℜp1, - 𝔍p2, ℜp2, 0, - 𝔍p3], [0, ℜr1, 𝔍r1, - ℜq1, - 𝔍q1, ℜr3 - ℜq2, - 𝔍r3 - 𝔍q2, ℜr2, - ℜq3], [0, - 𝔍r1, ℜr1, - 𝔍q1, ℜq1, - 𝔍r3 - 𝔍q2, - ℜr3 + ℜq2, - 𝔍r2, - 𝔍q3], [0, 0, 0, - 2𝔍r1, 2ℜr1, - 2𝔍r2, 2ℜr2, 0, - 2𝔍r3]]
The null space (kernel) of the Jacobian
J2:=map(x+->eval(eval(eval(x,s1), s2), s3), J);
nrows(J2),ncols(J2)
(57) [15,9]
binomial(nrows(J2),ncols(J2))
(58) 5005
[determinant(matrix map(x+->row(J2,x+1)::List ?, subSet(nrows(J2), ncols(J2), random(binomial(nrows(J2), ncols(J2)))) )) for i in 0..1]
(59) [0,0]