A complex vector ℂ-space $V$ possesses many different hermitian isomorphisms
$h^\dagger=h \in iso(V,V^\dagger)$. In quantum mechanics a given operator
$\rho \in End(V)$ may be said to be $h$-hermitian if
$$
\rho^\dagger \circ h = h \circ \rho
$$
\begin{axiom}
)set output tex off
)set output algebra on
\end{axiom}
\begin{axiom}
ℂ:=Complex Fraction Polynomial Integer
-- dagger
htranspose(h)==map(x+->conjugate(x),transpose h)
)expose MCALCFN
\end{axiom}
Theorem
The necessary conditions for an operator $ρ$ to possess hermitean isomorphism
$h$ is that $trace ρ \in ℝ$ and $det ρ \in ℝ$.
Two-Dimensions
\begin{axiom}
p1:ℂ:=complex(ℜp1,𝔍p1)
q1:ℂ:=complex(ℜq1,𝔍q1)
p2:ℂ:=complex(ℜp2,𝔍p2)
q2:ℂ:=complex(ℜq2,𝔍q2)
ρ:Matrix ℂ := matrix [[p1,q1],[p2,q2]]
\end{axiom}
\begin{axiom}
s1:=solve(imag determinant ρ,ℜp2)
s2:=solve(eval(imag trace ρ,s1),𝔍p1)
s3:=solve(eval(eval(imag trace(ρ*ρ),s1), s2),ℜp1)
eval(eval(imag trace (ρ*ρ),s1),s2)
\end{axiom}
\begin{axiom}
C:=eval(eval(characteristicPolynomial ρ,s1),s2)
C0:=zerosOf(C)
#C0
imag(C0.1)
imag(C0.2)
\end{axiom}
\begin{axiom}
ρ0:=map(x+->eval(eval(x,s1),s2),ρ)
E:=eigenvalues(ρ0)
E0:=eigenvector(E.1,ρ0)
E1:=map(x+->eval(x,%D=C0.1),E0.1)
E2:=map(x+->eval(x,%D=C0.2),E0.1)
test(ρ0E1=C0(1)E1)
test(ρ0E2=C0(2)E2)
\end{axiom}
Given an operator $ρ \in End V$, one must find the tensor $H=0$
for unknown manifold of hermitian isomorphisms $h$.
\begin{axiom}
h:Matrix ℂ:=matrix [[ℜa,complex(ℜb,𝔍b)],[complex(ℜb,-𝔍b),ℜe]]
test(h = htranspose h)
H:=htranspose(ρ)h-hρ
\end{axiom}
We wish to find expressions for $h$ in terms of the components of
$ρ$. To do this we will determine how the components of $H$ depend
on the components of $h$.
\begin{axiom}
J:=jacobian(concat( map(x+->[real x, imag x], concat(H::List List ?)) ),
[ℜa,ℜb,𝔍b,ℜe]::List Symbol)
\end{axiom}
The null space (kernel) of the Jacobian
\begin{axiom}
N:=nullSpace(map(x+->eval(eval(x,s1),s2),J))
\end{axiom}
gives the general solution to the problem.
\begin{axiom}
s4:=map((x,y)+->x=y,[ℜa,ℜb,𝔍b,ℜe],𝔍b*N.1+ℜe*N.2)
map(x+->eval(eval(eval(x,s1),s2),s4),H)
\end{axiom}
Three-Dimensions
\begin{axiom}
p1:ℂ:=complex(ℜp1,𝔍p1)
q1:ℂ:=complex(ℜq1,𝔍q1)
r1:ℂ:=complex(ℜr1,𝔍r1)
p2:ℂ:=complex(ℜp2,𝔍p2)
q2:ℂ:=complex(ℜq2,𝔍q2)
r2:ℂ:=complex(ℜr2,𝔍r2)
p3:ℂ:=complex(ℜp3,𝔍p3)
q3:ℂ:=complex(ℜq3,𝔍q3)
r3:ℂ:=complex(ℜr3,𝔍r3)
ρ:Matrix ℂ := matrix [[p1,q1,r1],[p2,q2,r2],[p3,q3,r3]]
\end{axiom}
\begin{axiom}
s1:=solve(imag determinant ρ,ℜp3)
s2:=solve(eval(imag trace(ρ),s1),𝔍p1)
s3:=solve(eval(eval(imag trace(ρ*ρ),s1),s2),ℜp1)
eval(eval(eval(imag trace(ρ*ρ*ρ),s1),s2),s3)
--s4:=radicalSolve(eval(eval(eval(imag trace(ρ*ρ*ρ),s1),s2),s3),𝔍q3)
--#s4
--s4.1+s4.2
\end{axiom}
\begin{axiom}
C:=eval(eval(eval(characteristicPolynomial ρ,s1),s2),s3);
C0:=zerosOf(C);
#C0
imag(C0.1)
imag(C0.2)
imag(C0.3)
\end{axiom}
Given an operator $ρ \in End V$, one must find the tensor $H=0$
for unknown manifold of hermitian isomorphisms $h$.
\begin{axiom}
h:Matrix ℂ:=matrix [[ℜa, complex(ℜb,𝔍b), complex(ℜc,𝔍c)], _
[complex(ℜb,-𝔍b),ℜe, complex(ℜd,𝔍d)], _
[complex(ℜc,-𝔍c),complex(ℜd,-𝔍d),ℜf ]]
test(h = htranspose h)
H:=htranspose(ρ)h-hρ
\end{axiom}
We wish to find expressions for $h$ in terms of the components of
$ρ$. To do this we will determine how the components of $H$ depend
on the components of $h$.
\begin{axiom}
K:=concat( map(x+->[real x, imag x], concat(H::List List ?)))::List Polynomial Integer
--K2:=groebner(K)
J:=jacobian(select(x+->x~=0,K), [ℜa,ℜb,𝔍b,ℜc,𝔍c,ℜd,𝔍d,ℜe,ℜf]::List Symbol)
\end{axiom}
The null space (kernel) of the Jacobian
\begin{axiom}
J2:=map(x+->eval(eval(eval(x,s1),s2),s3),J);
nrows(J2),ncols(J2)
binomial(nrows(J2),ncols(J2))
[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]
--N:=nullSpace J2
\end{axiom}
SandBoxHermitianIsomorphisms4
[SandBoxHermitianIsomorphism3x]
Some or all expressions may not have rendered properly,
because Axiom returned the following error:
Error: export HOME=/var/zope2/var/LatexWiki; ulimit -t 600; export LD_LIBRARY_PATH=/usr/local/lib/fricas/target/x86_64-linux-gnu/lib; LANG=en_US.UTF-8 /usr/local/lib/fricas/target/x86_64-linux-gnu/bin/fricas -nosman < /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/6375190464244529648-25px.axm
Heap exhausted during garbage collection: 0 bytes available, 16 requested.
Immobile Object Counts
Gen layout fdefn symbol code Boxed Cons Raw Code SmMix Mixed LgRaw LgCode LgMix Waste% Alloc Trig Dirty GCs Mem-age
4 0 0 0 330 89 17708 61 0 19 15 0 0 0 0.8 581304144 2000000 17892 0 0.8547
5 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0 2000000 0 0 0.0000
fatal error encountered in SBCL pid 647875 tid 647875:
GC invariant lost, file "gencgc.c", line 523
Error opening /dev/tty: No such device or address
Checking for foreign routines
FRICAS="/usr/local/lib/fricas/target/x86_64-linux-gnu"
spad-lib="/usr/local/lib/fricas/target/x86_64-linux-gnu/lib/libspad.so"
foreign routines found
openServer result -2
FriCAS Computer Algebra System
Version: FriCAS 1.3.10 built with sbcl 2.2.9.debian
Timestamp: Wed 10 Jan 02:19:45 CET 2024
-----------------------------------------------------------------------------
Issue )copyright to view copyright notices.
Issue )summary for a summary of useful system commands.
Issue )quit to leave FriCAS and return to shell.
-----------------------------------------------------------------------------
(1) -> (1) -> (1) -> (1) -> (1) -> (1) -> )set output tex off
)set output algebra on
(1) -> ℂ:=Complex Fraction Polynomial Integer
(1) Complex(Fraction(Polynomial(Integer)))
Type: Type
-- dagger
htranspose(h)==map(x+->conjugate(x),transpose h)
Type: Void
)expose MCALCFN
MultiVariableCalculusFunctions is now explicitly exposed in frame
initial
(3) -> p1:ℂ:=complex(ℜp1,𝔍p1)
(3) ℜp1 + 𝔍p1 %i
Type: Complex(Fraction(Polynomial(Integer)))
q1:ℂ:=complex(ℜq1,𝔍q1)
(4) ℜq1 + 𝔍q1 %i
Type: Complex(Fraction(Polynomial(Integer)))
p2:ℂ:=complex(ℜp2,𝔍p2)
(5) ℜp2 + 𝔍p2 %i
Type: Complex(Fraction(Polynomial(Integer)))
q2:ℂ:=complex(ℜq2,𝔍q2)
(6) ℜq2 + 𝔍q2 %i
Type: Complex(Fraction(Polynomial(Integer)))
ρ:Matrix ℂ := matrix [[p1,q1],[p2,q2]]
+ℜp1 + 𝔍p1 %i ℜq1 + 𝔍q1 %i+
(7) | |
+ℜp2 + 𝔍p2 %i ℜq2 + 𝔍q2 %i+
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
(8) -> s1:=solve(imag determinant ρ,ℜp2)
ℜp1 𝔍q2 - ℜq1 𝔍p2 + ℜq2 𝔍p1
(8) [ℜp2 = ---------------------------]
𝔍q1
Type: List(Equation(Fraction(Polynomial(Integer))))
s2:=solve(eval(imag trace ρ,s1),𝔍p1)
(9) [𝔍p1 = - 𝔍q2]
Type: List(Equation(Fraction(Polynomial(Integer))))
s3:=solve(eval(eval(imag trace(ρ*ρ),s1), s2),ℜp1)
(10) [0 = 0]
Type: List(Equation(Fraction(Polynomial(Integer))))
eval(eval(imag trace (ρ*ρ),s1),s2)
(11) 0
Type: Fraction(Polynomial(Integer))
(12) -> C:=eval(eval(characteristicPolynomial ρ,s1),s2)
(12)
2 2
𝔍q1 𝔍q2 + (ℜq1 ℜq2 - ℜp1 ℜq1)𝔍q2 + 𝔍p2 𝔍q1
+
2 2
((ℜp1 - %B)ℜq2 - %B ℜp1 + %B )𝔍q1 + ℜq1 𝔍p2
/
𝔍q1
Type: Fraction(Polynomial(Complex(Integer)))
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
]
Type: List(Expression(Complex(Integer)))
#C0
(14) 2
Type: PositiveInteger
imag(C0.1)
(15) 0
Type: Expression(Integer)
imag(C0.2)
(16) 0
Type: Expression(Integer)
(17) -> ρ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 +
Type: Matrix(Fraction(Polynomial(Complex(Integer))))
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
]
Type: List(Union(Fraction(Polynomial(Complex(Integer))),SuchThat(Symbol,Polynomial(Complex(Integer)))))
E0:=eigenvector(E.1,ρ0)
+ %i 𝔍q1 𝔍q2 + (ℜq2 - %D)𝔍q1 +
|-------------------------------------|
(19) [|(ℜq2 - ℜp1)𝔍q2 - %i 𝔍p2 𝔍q1 + ℜq1 𝔍p2|]
| |
+ 1 +
Type: List(Matrix(Fraction(Polynomial(Complex(Integer)))))
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]]
Type: Matrix(Expression(Complex(Integer)))
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]]
Type: Matrix(Expression(Complex(Integer)))
test(ρ0E1=C0(1)E1)
(22) true
Type: Boolean
test(ρ0E2=C0(2)E2)
(23) true
Type: Boolean
(24) -> h:Matrix ℂ:=matrix [[ℜa,complex(ℜb,𝔍b)],[complex(ℜb,-𝔍b),ℜe]]
+ ℜa ℜb + 𝔍b %i+
(24) | |
+ℜb - 𝔍b %i ℜe +
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
test(h = htranspose h)
Compiling function htranspose with type Matrix(Complex(Fraction(
Polynomial(Integer)))) -> Matrix(Complex(Fraction(Polynomial(
Integer))))
(25) true
Type: Boolean
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]
]
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
(27) -> 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+
Type: Matrix(Fraction(Polynomial(Integer)))
(28) -> N:=nullSpace(map(x+->eval(eval(x,s1),s2),J))
- ℜq2 + ℜp1 ℜq1 𝔍p2 𝔍q2
(28) [[-----------, ---, 1, 0], [- ---, - ---, 0, 1]]
𝔍q1 𝔍q1 𝔍q1 𝔍q1
Type: List(Vector(Fraction(Polynomial(Integer))))
(29) -> s4:=map((x,y)+->x=y,[ℜa,ℜb,𝔍b,ℜe],𝔍b*N.1+ℜe*N.2)
(29)
- ℜe 𝔍p2 + (- ℜq2 + ℜp1)𝔍b - ℜe 𝔍q2 + ℜq1 𝔍b
[ℜa = --------------------------, ℜb = -----------------, 𝔍b = 𝔍b, ℜe = ℜe]
𝔍q1 𝔍q1
Type: List(Equation(Fraction(Polynomial(Integer))))
map(x+->eval(eval(eval(x,s1),s2),s4),H)
+0 0+
(30) | |
+0 0+
Type: Matrix(Fraction(Polynomial(Complex(Integer))))
(31) -> p1:ℂ:=complex(ℜp1,𝔍p1)
(31) ℜp1 + 𝔍p1 %i
Type: Complex(Fraction(Polynomial(Integer)))
q1:ℂ:=complex(ℜq1,𝔍q1)
(32) ℜq1 + 𝔍q1 %i
Type: Complex(Fraction(Polynomial(Integer)))
r1:ℂ:=complex(ℜr1,𝔍r1)
(33) ℜr1 + 𝔍r1 %i
Type: Complex(Fraction(Polynomial(Integer)))
p2:ℂ:=complex(ℜp2,𝔍p2)
(34) ℜp2 + 𝔍p2 %i
Type: Complex(Fraction(Polynomial(Integer)))
q2:ℂ:=complex(ℜq2,𝔍q2)
(35) ℜq2 + 𝔍q2 %i
Type: Complex(Fraction(Polynomial(Integer)))
r2:ℂ:=complex(ℜr2,𝔍r2)
(36) ℜr2 + 𝔍r2 %i
Type: Complex(Fraction(Polynomial(Integer)))
p3:ℂ:=complex(ℜp3,𝔍p3)
(37) ℜp3 + 𝔍p3 %i
Type: Complex(Fraction(Polynomial(Integer)))
q3:ℂ:=complex(ℜq3,𝔍q3)
(38) ℜq3 + 𝔍q3 %i
Type: Complex(Fraction(Polynomial(Integer)))
r3:ℂ:=complex(ℜr3,𝔍r3)
(39) ℜr3 + 𝔍r3 %i
Type: Complex(Fraction(Polynomial(Integer)))
ρ: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+
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
(41) -> 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
]
Type: List(Equation(Fraction(Polynomial(Integer))))
s2:=solve(eval(imag trace(ρ),s1),𝔍p1)
(42) [𝔍p1 = - 𝔍r3 - 𝔍q2]
Type: List(Equation(Fraction(Polynomial(Integer))))
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
]
Type: List(Equation(Fraction(Polynomial(Integer))))
eval(eval(eval(imag trace(ρ*ρ*ρ),s1),s2),s3)
(44) 0
Type: Fraction(Polynomial(Integer))
(45) -> C:=eval(eval(eval(characteristicPolynomial ρ,s1),s2),s3);
Type: Fraction(Polynomial(Complex(Integer)))
C0:=zerosOf(C);
Type: List(Expression(Complex(Integer)))
#C0
(47) 3
Type: PositiveInteger
imag(C0.1)
(48) 0
Type: Expression(Integer)
imag(C0.2)
(49) 0
Type: Expression(Integer)
imag(C0.3)
(50) 0
Type: Expression(Integer)
(51) -> 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 +
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
test(h = htranspose h)
(52) true
Type: Boolean
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]
]
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
(54) -> 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]
Type: List(Polynomial(Integer))
--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]]
Type: Matrix(Polynomial(Integer))
(56) -> J2:=map(x+->eval(eval(eval(x,s1),s2),s3),J);
Type: Matrix(Fraction(Polynomial(Integer)))
nrows(J2),ncols(J2)
(57) [15, 9]
Type: Tuple(PositiveInteger)
binomial(nrows(J2),ncols(J2))
(58) 5005
Type: PositiveInteger
[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]
Welcome to LDB, a low-level debugger for the Lisp runtime environment.
(GC in progress, oldspace=4, newspace=7)
ldb>
Some or all expressions may not have rendered properly,
because Latex returned the following error:
! Missing $ inserted.
<inserted text>
$
l.148 ρ:Matrix ℂ := matrix [[p1,q1],[p2,q2]] Missing $ inserted.
<inserted text>
$
l.148 ρ:Matrix ℂ := matrix [[p1,q1],[p2,q2]]
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 149.
Missing $ inserted.
<inserted text>
$
l.151 s1:=solve(imag determinant ρ,ℜp2)
Missing $ inserted.
<inserted text>
$
l.152 s2:=solve(eval(imag trace ρ,s1),𝔍p1)
Missing $ inserted.
<inserted text>
$
l.153 ...al(eval(imag trace(ρ*ρ),s1), s2),ℜp1)
Missing $ inserted.
<inserted text>
$
l.154 eval(eval(imag trace (ρ*ρ),s1),s2)
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 155.
Missing $ inserted.
<inserted text>
$
l.157 ...(eval(characteristicPolynomial ρ,s1),s2)
Missing $ inserted.
<inserted text>
$
l.158 C0:=zerosOf(C)
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 162.
Missing $ inserted.
<inserted text>
$
l.164 ρ0:=map(x+->eval(eval(x,s1),s2),ρ)
Missing $ inserted.
<inserted text>
$
l.165 E:=eigenvalues(ρ0)
Missing $ inserted.
<inserted text>
$
l.166 E0:=eigenvector(E.1,ρ0)
Missing $ inserted.
<inserted text>
$
l.167 E1:=map(x+->eval(x,%D=C0.1),E0.1)
Missing $ inserted.
<inserted text>
$
l.169 test(ρ0E1=C0(1)E1)
Missing $ inserted.
<inserted text>
$
l.169 test(ρ0E1=C0(1)E1)
Missing $ inserted.
<inserted text>
$
l.170 test(ρ0E2=C0(2)E2)
Missing $ inserted.
<inserted text>
$
l.170 test(ρ0E2=C0(2)E2)
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 171.
[10] [11] [12]
Missing $ inserted.
<inserted text>
$
l.178 H:=htranspose(ρ)h-hρ
Missing $ inserted.
<inserted text>
$
l.178 H:=htranspose(ρ)h-hρ
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 179.
[13] [14] [15] [16]
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 187.
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 190.
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 194.
Missing $ inserted.
<inserted text>
$
l.205 ...matrix [[p1,q1,r1],[p2,q2,r2],[p3,q3,r3]]
Missing $ inserted.
<inserted text>
$
l.205 ...matrix [[p1,q1,r1],[p2,q2,r2],[p3,q3,r3]]
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 206.
Missing $ inserted.
<inserted text>
$
l.208 s1:=solve(imag determinant ρ,ℜp3)
Missing $ inserted.
<inserted text>
$
l.209 s2:=solve(eval(imag trace(ρ),s1),𝔍p1)
Missing $ inserted.
<inserted text>
$
l.210 ...val(eval(imag trace(ρ*ρ),s1),s2),ℜp1)
Missing $ inserted.
<inserted text>
$
l.211 ...val(eval(imag trace(ρ*ρ*ρ),s1),s2),s3)
Missing $ inserted.
<inserted text>
$
l.212 ...(imag trace(ρ*ρ*ρ),s1),s2),s3),𝔍q3)
Missing $ inserted.
<inserted text>
$
l.213 --#s4
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 215.
Missing $ inserted.
<inserted text>
$
l.217 ...(characteristicPolynomial ρ,s1),s2),s3);
Missing $ inserted.
<inserted text>
$
l.218 C0:=zerosOf(C);
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 223.
[17] [18] [19]
Missing $ inserted.
<inserted text>
$
l.232 H:=htranspose(ρ)h-hρ
Missing $ inserted.
<inserted text>
$
l.232 H:=htranspose(ρ)h-hρ
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 233.
[20] [21] [22] [23]
LaTeX Warning: Characters dropped after `\end{axiom}' on input line 242.
Overfull \hbox (86.02751pt too wide) in paragraph at lines 247--247
[]\T1/cmtt/m/n/12 [determinant(matrix map(x+->row(J2,x+1)::List ?