axiom
p:Complex Fraction Polynomial Integer:=complex(Rp,Ip)
Type: Complex(Fraction(Polynomial(Integer)))
axiom
q:Complex Fraction Polynomial Integer:=complex(Rq,Iq)
Type: Complex(Fraction(Polynomial(Integer)))
axiom
r:Complex Fraction Polynomial Integer:=complex(Rr,Ir)
Type: Complex(Fraction(Polynomial(Integer)))
axiom
t:Complex Fraction Polynomial Integer:=complex(Rt,0)
Type: Complex(Fraction(Polynomial(Integer)))
axiom
ρ:=matrix [[t/2+p,q],[r,t/2-p]]
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
axiom
trace ρ
Type: Complex(Fraction(Polynomial(Integer)))
axiom
d:=determinant ρ
Type: Complex(Fraction(Polynomial(Integer)))
axiom
test(p^2+r*q=(1/4)*t^2-d)
Type: Boolean
axiom
h:Matrix Complex Polynomial Integer:=matrix [[a,complex(b,c)],[complex(b,-c),e]]
Type: Matrix(Complex(Polynomial(Integer)))
axiom
htranspose(h)==map(x+->conjugate(x),transpose h)
Type: Void
axiom
test(h = htranspose h)
axiom
Compiling function htranspose with type Matrix(Complex(Polynomial(
Integer))) -> Matrix(Complex(Polynomial(Integer)))
Type: Boolean
axiom
H:=htranspose(ρ)*h-h*ρ
axiom
Compiling function htranspose with type Matrix(Complex(Fraction(
Polynomial(Integer)))) -> Matrix(Complex(Fraction(Polynomial(
Integer))))
Type: Matrix(Complex(Fraction(Polynomial(Integer))))
axiom
Hlist:=concat(H::List List ?)
Type: List(Complex(Fraction(Polynomial(Integer))))
axiom
Hreal:=removeDuplicates(select(x+->(x~=0),concat(map(x+->real x, Hlist),map(x+->imag x, Hlist))))
Type: List(Fraction(Polynomial(Integer)))
axiom
)expose MCALCFN
MultiVariableCalculusFunctions is now explicitly exposed in frame
initial
H1:=jacobian(Hreal,[a,b,c,e]::List Symbol)
Type: Matrix(Fraction(Polynomial(Integer)))
axiom
s1:=solve(determinant subMatrix(H1,2,5,1,4),Rr)
Type: List(Equation(Fraction(Polynomial(Integer))))
axiom
H2:=map(x+->eval(x,s1),H1)
Type: Matrix(Fraction(Polynomial(Integer)))
axiom
N:=nullSpace(H2)
Type: List(Vector(Fraction(Polynomial(Integer))))
axiom
H2*(c*N(1)+e*N(2))
Type: Vector(Fraction(Polynomial(Integer)))
axiom
eq27:=map((x,y)+->x=y,[a,b,c,e],c*N.1+e*N.2)
Type: List(Equation(Fraction(Polynomial(Integer))))
axiom
eq28:=map(x+->eval(x,eq27),matrix [[a,b+%I*c],[b-%I*c,e]])
Type: Matrix(Fraction(Polynomial(Integer)))