login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

Edit detail for SandBoxObserverAsIdempotent revision 8 of 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Editor: Bill Page
Time: 2014/05/21 03:30:36 GMT+0
Note: nilpotent from idempotent

changed:
-\end{axiom}
pq:=p*q-q*p
pqp:=pq*p
ppq:=p*pq
pqq:=pq*q
qpq:=q*pq
pqr:=pq*r
rpq:=r*pq
pqp*pqp
ppq*ppq
pqq*pqq
qpq*qpq
pqr*pqr
rpq*rpq
\end{axiom}

Obs(3) is a 9 dimensional Frobenius Algrebra

fricas
)set output abbreviate on
V := OrderedVariableList [p,q,r]

\label{eq1}\hbox{\axiomType{OVAR}\ } ([ p , q , r ])(1)
Type: TYPE
fricas
M := FreeMonoid V

\label{eq2}\hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ]))(2)
Type: TYPE
fricas
gens:List M := enumerate()$V

\label{eq3}\left[ p , \: q , \: r \right](3)
Type: LIST(FMONOID(OVAR([p,q,r])))
fricas
divisible := Record(lm: M,rm: M)

\label{eq4}\mbox{\rm \hbox{\axiomType{Record}\ } (lm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ])) , rm : \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ])))}(4)
Type: TYPE
fricas
leftDiv(k:Union(divisible,"failed")):M == (k::divisible).lm
Function declaration leftDiv : Union(Record(lm: FMONOID(OVAR([p,q,r] )),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p,q,r]) ) has been added to workspace.
Type: VOID
fricas
rightDiv(k:Union(divisible,"failed")):M == (k::divisible).rm
Function declaration rightDiv : Union(Record(lm: FMONOID(OVAR([p,q,r ])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p,q,r] )) has been added to workspace.
Type: VOID
fricas
K := FRAC POLY INT

\label{eq5}\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{POLY}\ } (\hbox{\axiomType{INT}\ }))(5)
Type: TYPE
fricas
MK := FreeModule(K,M)

\label{eq6}FM (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{POLY}\ } (\hbox{\axiomType{INT}\ })) , \hbox{\axiomType{FMONOID}\ } (\hbox{\axiomType{OVAR}\ } ([ p , q , r ])))(6)
Type: TYPE
fricas
coeff(x:MK):K == leadingCoefficient(x)
Function declaration coeff : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID
fricas
monomial(x:MK):M == leadingMonomial(x)
Function declaration monomial : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q ,r]))) -> FMONOID(OVAR([p,q,r])) has been added to workspace.
Type: VOID
fricas
m(x:M):K == subscript('m,[retract(x)::Symbol])
Function declaration m : FMONOID(OVAR([p,q,r])) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID
fricas
γ(x:M,y:M):K == subscript('γ,[concat(string retract x, string retract y)::Symbol])
Function declaration γ : (FMONOID(OVAR([p,q,r])),FMONOID(OVAR([p,q,r ]))) -> FRAC(POLY(INT)) has been added to workspace.
Type: VOID

Basis

fricas
basis := concat(gens,concat [[j*i for i in gens | i~=j] for j in gens])

\label{eq7}\left[ p , \: q , \: r , \:{p \  q}, \:{p \  r}, \:{q \  p}, \:{q \  r}, \:{r \  p}, \:{r \  q}\right](7)
Type: LIST(FMONOID(OVAR([p,q,r])))

Idempotent

fricas
rule1(ij:MK):MK ==
  for k in gens repeat
    kk := divide(monomial(ij),k*k)
    if kk case divisible then
      ij:=(coeff(ij) * m(k)*γ(k,k)) * (leftDiv(kk) * k * rightDiv(kk))
  return(ij)
Function declaration rule1 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID

Reduction

fricas
rule2(ij:MK):MK ==
  for i in gens repeat
    for j in gens | j ~= i repeat
      for k in gens | k ~= j repeat
        ijk:=divide(leadingMonomial(ij),i*j*k)
        if ijk case divisible then
          if i=k then
            ij := (coeff(ij)*m(i)*m(j)*γ(i,j)*γ(j,i) ) * _
                  (leftDiv(ijk)*i*rightDiv(ijk))
          else
            ij := (coeff(ij)*m(j)*γ(i,j)*γ(j,k) / γ(i,k) ) * _
                  (leftDiv(ijk)*i*k*rightDiv(ijk))
  return(ij)
Function declaration rule2 : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r] ))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID

Modulo fixed point of applied rules

fricas
mod(ij:MK):MK ==
  ijFix:MK := 1
  while ijFix~=ij repeat
    ijFix := ij
    ij := rule1(ij)
    ij := rule2(ij)
  return(ij)
Function declaration mod : FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])) ) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID

Matrix

Multiplication is monoidal concatenation modulo the fixed point

fricas
--MT := [[mod(i*j) for j in basis] for i in basis]
-- idempotent
MT := [[monomial(eval(coeff(mod(i*j)),[γ(gens(1),gens(1))=1,γ(gens(2),gens(2))=1,γ(gens(3),gens(3))=1,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]),monomial(mod(i*j)))$MK for j in basis] for i in basis]
fricas
Compiling function monomial with type FM(FRAC(POLY(INT)),FMONOID(
      OVAR([p,q,r]))) -> FMONOID(OVAR([p,q,r]))
fricas
Compiling function coeff with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FRAC(POLY(INT))
fricas
Compiling function m with type FMONOID(OVAR([p,q,r])) -> FRAC(POLY(
      INT))
fricas
Compiling function γ with type (FMONOID(OVAR([p,q,r])),FMONOID(OVAR(
      [p,q,r]))) -> FRAC(POLY(INT))
fricas
Compiling function leftDiv with type Union(Record(lm: FMONOID(OVAR([
      p,q,r])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([p
      ,q,r]))
fricas
Compiling function rightDiv with type Union(Record(lm: FMONOID(OVAR(
      [p,q,r])),rm: FMONOID(OVAR([p,q,r]))),"failed") -> FMONOID(OVAR([
      p,q,r]))
fricas
Compiling function rule1 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))
fricas
Compiling function rule2 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([
      p,q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))
fricas
Compiling function mod with type FM(FRAC(POLY(INT)),FMONOID(OVAR([p,
      q,r]))) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))

\label{eq8}\begin{array}{@{}l}
\displaystyle
\left[{
\begin{array}{@{}l}
\displaystyle
\left[{{m_{p}}\  p}, \:{p \  q}, \:{p \  r}, \:{{m_{p}}\  p \  q}, \:{{m_{p}}\  p \  r}, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p}, \:{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  p \  r}, \: \right.
\
\
\displaystyle
\left.{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}\  p}, \:{{{{m_{r}}\ {��_{pr}}\ {��_{qr}}}\over{��_{pq}}}\  p \  q}\right] 
(8)
Type: LIST(LIST(FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))))

Structure Constants

fricas
R:=FRAC DMP(concat [[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10],[m(i) for i in gens],concat [[γ(j,i) for i in gens] for j in gens]], INT)

\label{eq9}\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, x 9, x 10, <em> 01 mp , </em> 01 mq , <em> 01 mr , </em> 01 �� pp , * 01 �� pq , * 01 �� pr , * 01 �� qp , * 01 �� qq , * 01 �� qr , * 01 �� rp , * 01 �� rq , * 01 �� rr ] , \hbox{\axiomType{INT}\ }))(9)
Type: TYPE
fricas
mat3(y:M):List List R == map(z+->map(x+->coefficient(x,y)::FRAC POLY INT,z),MT)
Function declaration mat3 : FMONOID(OVAR([p,q,r])) -> LIST(LIST(FRAC (DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp, *01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))) has been added to workspace.
Type: VOID
fricas
ss:=map(mat3, basis)
fricas
Compiling function mat3 with type FMONOID(OVAR([p,q,r])) -> LIST(
      LIST(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,
      *01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],
      INT))))

\label{eq10}\begin{array}{@{}l}
\displaystyle
\left[{
\begin{array}{@{}l}
\displaystyle
\left[{\left[{m_{p}}, \: 0, \: 0, \: 0, \: 0, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: 0, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \:{\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right]}, \: \right.
\
\
\displaystyle
\left.{
\begin{array}{@{}l}
\displaystyle
\left[{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: 0, \: 0, \: 0, \: 0, \:{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}, \: 0, \:{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}, \: 0 \right] 
(10)
Type: LIST(LIST(LIST(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))))

Algebra

fricas
cats(m:M):Symbol==concat(map(x+->string(x.gen::Symbol),factors m))::Symbol
Function declaration cats : FMONOID(OVAR([p,q,r])) -> SYMBOL has been added to workspace.
Type: VOID
fricas
A:=AlgebraGivenByStructuralConstants(R,#(basis)::PI,map(cats,basis),ss::Vector(Matrix R))
fricas
Compiling function cats with type FMONOID(OVAR([p,q,r])) -> SYMBOL

\label{eq11}\hbox{\axiomType{ALGSC}\ } (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, x 9, x 10, <em> 01 mp , </em> 01 mq , <em> 01 mr , </em> 01 �� pp , * 01 �� pq , * 01 �� pr , * 01 �� qp , * 01 �� qq , * 01 �� qr , * 01 �� rp , * 0
1 �� rq , * 01 �� rr ] , \hbox{\axiomType{INT}\ })) , 9, [ p , q , r , pq , pr , qp , qr , rp , rq ]<a class=? , [ \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } ]?)" title=" \label{eq11}\hbox{\axiomType{ALGSC}\ } (\hbox{\axiomType{FRAC}\ } (\hbox{\axiomType{DMP}\ } ([ x 1, x 2, x 3, x 4, x 5, x 6, x 7, x 8, x 9, x 10, 01 mp , 01 mq , 01 mr , 01 �� pp , * 01 �� pq , * 01 �� pr , * 01 �� qp , * 01 �� qq , * 01 �� qr , * 01 �� rp , * 0 1 �� rq , * 01 �� rr ] , \hbox{\axiomType{INT}\ })) , 9, [ p , q , r , pq , pr , qp , qr , rp , rq ]? , [ \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } , \hbox{\axiomType{MATRIX}\ } ]?)" class="equation" src="images/142965793636442936-16.0px.png" align="bottom" Style="vertical-align:text-bottom" width="791" height="18"/>(11)
Type: TYPE
fricas
alternative?()$A
algebra satisfies 2*associator(a,b,b) = 0 = 2*associator(a,a,b) = 0

\label{eq12} \mbox{\rm true} (12)
Type: BOOLEAN
fricas
antiAssociative?()$A
algebra is not anti-associative

\label{eq13} \mbox{\rm false} (13)
Type: BOOLEAN
fricas
antiCommutative?()$A
algebra is not anti-commutative

\label{eq14} \mbox{\rm false} (14)
Type: BOOLEAN
fricas
associative?()$A
algebra is associative

\label{eq15} \mbox{\rm true} (15)
Type: BOOLEAN
fricas
commutative?()$A
algebra is not commutative

\label{eq16} \mbox{\rm false} (16)
Type: BOOLEAN
fricas
flexible?()$A
algebra is flexible

\label{eq17} \mbox{\rm true} (17)
Type: BOOLEAN
fricas
jacobiIdentity?()$A
Jacobi identity does not hold

\label{eq18} \mbox{\rm false} (18)
Type: BOOLEAN
fricas
jordanAdmissible?()$A
algebra is not Jordan admissible

\label{eq19} \mbox{\rm false} (19)
Type: BOOLEAN
fricas
jordanAlgebra?()$A
algebra is not commutative this is not a Jordan algebra

\label{eq20} \mbox{\rm false} (20)
Type: BOOLEAN
fricas
leftAlternative?()$A
algebra is left alternative

\label{eq21} \mbox{\rm true} (21)
Type: BOOLEAN
fricas
rightAlternative?()$A
algebra is right alternative

\label{eq22} \mbox{\rm true} (22)
Type: BOOLEAN
fricas
lieAdmissible?()$A
algebra is Lie admissible

\label{eq23} \mbox{\rm true} (23)
Type: BOOLEAN
fricas
lieAlgebra?()$A
algebra is not anti-commutative this is not a Lie algebra

\label{eq24} \mbox{\rm false} (24)
Type: BOOLEAN
fricas
powerAssociative?()$A
Internal Error The function powerAssociative? with signature hashcode is missing from domain AlgebraGivenByStructuralConstants (Fraction (DistributedMultivariatePolynomial (x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 (*01m p) (*01m q) (*01m r) (*01γ pp) (*01γ pq) (*01γ pr) (*01γ qp) (*01γ qq) (*01γ qr) (*01γ rp) (*01γ rq) (*01γ rr)) (Integer))) 9(p q r pq pr qp qr rp rq)UNPRINTABLE

Check Multiplication

fricas
AB := entries basis()$A

\label{eq25}\left[ p , \: q , \: r , \: pq , \: pr , \: qp , \: qr , \: rp , \: rq \right](25)
Type: LIST(ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
p:=AB(1); q:=AB(2); r:=AB(3);
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
A2MK(z:A):MK==reduce(+,map((x:R,y:M):MK+->(x::K)*y,coordinates(z),basis))
Function declaration A2MK : ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8, x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γ qr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[ MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]) -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r]))) has been added to workspace.
Type: VOID
fricas
test(MT=map(x+->map(A2MK,x),[[i*j for j in AB] for i in AB]))
fricas
Compiling function A2MK with type ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,
      x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq
      ,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[
      MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
       -> FM(FRAC(POLY(INT)),FMONOID(OVAR([p,q,r])))

\label{eq26} \mbox{\rm true} (26)
Type: BOOLEAN
fricas
p*p

\label{eq27}{m_{p}}\  p(27)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
p*q*r

\label{eq28}{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr(28)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pq:=p*q-q*p

\label{eq29}- qp + pq(29)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqp:=pq*p

\label{eq30}-{{m_{p}}\  qp}+{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p}(30)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
ppq:=p*pq

\label{eq31}{{m_{p}}\  pq}-{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  p}(31)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqq:=pq*q

\label{eq32}{{m_{q}}\  pq}-{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  q}(32)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
qpq:=q*pq

\label{eq33}-{{m_{q}}\  qp}+{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\  q}(33)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqr:=pq*r

\label{eq34}-{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  qr}+{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  pr}(34)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
rpq:=r*pq

\label{eq35}{{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}\over{��_{qr}}}\  rq}-{{{{m_{q}}\ {��_{pq}}\ {��_{qr}}}\over{��_{pr}}}\  rp}(35)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqp*pqp

\label{eq36}0(36)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
ppq*ppq

\label{eq37}0(37)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqq*pqq

\label{eq38}0(38)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
qpq*qpq

\label{eq39}0(39)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
pqr*pqr

\label{eq40}0(40)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
rpq*rpq

\label{eq41}0(41)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Trace

fricas
[rightTrace(i)$A for i in AB]

\label{eq42}\begin{array}{@{}l}
\displaystyle
\left[{3 \ {m_{p}}}, \:{3 \ {m_{q}}}, \:{3 \ {m_{r}}}, \:{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] 
(42)
Type: LIST(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
[leftTrace(i)$A for i in AB]

\label{eq43}\begin{array}{@{}l}
\displaystyle
\left[{3 \ {m_{p}}}, \:{3 \ {m_{q}}}, \:{3 \ {m_{r}}}, \:{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{3 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{3 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{3 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] 
(43)
Type: LIST(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
trace(i)==rightTrace(i) / #gens
Type: VOID
fricas
[trace(i) for i in AB]
fricas
Compiling function trace with type ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6
      ,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γ
      qq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq]
      ,[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]
      ) -> FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,
      *01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],
      INT))

\label{eq44}\begin{array}{@{}l}
\displaystyle
\left[{m_{p}}, \:{m_{q}}, \:{m_{r}}, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}, \: \right.
\
\
\displaystyle
\left.{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}, \:{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}, \:{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}\right] (44)
Type: LIST(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))

Scalar Product

fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.1,AB.2,AB.3]]

\label{eq45}\left[ 
\begin{array}{ccc}
{{m_{p}}^{2}}&{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{q}}^{2}}&{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{r}}^{2}}
(45)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.4,AB.5,AB.6]]

\label{eq46}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(46)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.1,AB.2,AB.3]] for i in [AB.7,AB.8,AB.9]]

\label{eq47}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
(47)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.1,AB.2,AB.3]]

\label{eq48}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}&{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {{��_{pq}}^{2}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(48)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.4,AB.5,AB.6]]

\label{eq49}\left[ 
\begin{array}{ccc}
{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{4}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{4}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{q}}^{2}}\ {{��_{pq}}^{4}}}
(49)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.4,AB.5,AB.6]] for i in [AB.7,AB.8,AB.9]]

\label{eq50}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(50)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.1,AB.2,AB.3]]

\label{eq51}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {m_{r}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {m_{r}}\ {{��_{qr}}^{2}}}
\
{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{q}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
(51)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.4,AB.5,AB.6]]

\label{eq52}\left[ 
\begin{array}{ccc}
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
\
{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{p}}^{2}}\ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {{��_{pr}}^{2}}}&{{m_{p}}\ {{m_{q}}^{2}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}
(52)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))
fricas
matrix [[trace(i*j) for j in [AB.7,AB.8,AB.9]] for i in [AB.7,AB.8,AB.9]]

\label{eq53}\left[ 
\begin{array}{ccc}
{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{4}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}
\
{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}&{{{m_{p}}^{2}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{4}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}
\
{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{2}}}&{{m_{p}}\ {m_{q}}\ {{m_{r}}^{2}}\ {{��_{pr}}^{2}}\ {{��_{qr}}^{2}}}&{{{m_{q}}^{2}}\ {{m_{r}}^{2}}\ {{��_{qr}}^{4}}}
(53)
Type: MATRIX(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)))

Center

fricas
C:=basisOfCenter()$AlgebraPackage(R,A); # C

\label{eq54}1(54)
Type: PI
fricas
c:=C(1)

\label{eq55}\begin{array}{@{}l}
\displaystyle
rq +{{{{{m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {��_{pr}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {{��_{pr}}^{2}}}-{{m_{p}}\ {��_{pr}}\ {��_{qr}}}}}\  rp}+ qr + 
\
\
\displaystyle
{{{-{{m_{r}}\ {��_{pq}}\ {��_{qr}}}+{{m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}}\over{{{m_{p}}\ {{��_{pq}}^{2}}\ {��_{pr}}}-{{m_{p}}\ {��_{pq}}\ {��_{qr}}}}}\  qp}+{{{{{m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{{m_{q}}\ {��_{pr}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {{��_{pr}}^{2}}}-{{m_{p}}\ {��_{pr}}\ {��_{qr}}}}}\  pr}+ 
\
\
\displaystyle
{{{-{{m_{r}}\ {��_{pq}}\ {��_{qr}}}+{{m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}}\over{{{m_{p}}\ {{��_{pq}}^{2}}\ {��_{pr}}}-{{m_{p}}\ {��_{pq}}\ {��_{qr}}}}}\  pq}+{{{-{{m_{q}}\ {{��_{pq}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {��_{qr}}}}\over{{{��_{pq}}\ {��_{pr}}}-{��_{qr}}}}\  r}+ 
\
\
\displaystyle
{{{-{{m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{r}}\ {��_{qr}}}}\over{{{��_{pq}}\ {��_{pr}}}-{��_{qr}}}}\  q}+{{{-{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}+{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\over{{{m_{p}}\ {��_{pq}}\ {��_{pr}}}-{{m_{p}}\ {��_{qr}}}}}\  p}
(55)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
[c*i-i*c for i in AB]

\label{eq56}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](56)
Type: LIST(ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
test(c*c=c)

\label{eq57} \mbox{\rm false} (57)
Type: BOOLEAN

Unit

fricas
rightTrace(c)

\label{eq58}{\left(
\begin{array}{@{}l}
\displaystyle
-{9 \ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}+{{18}\ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}- 
\
\
\displaystyle
{9 \ {m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}-{9 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}+{9 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}
(58)
Type: FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
n := #basis / rightTrace(c) * c

\label{eq59}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{{m_{q}}\ {m_{r}}\ {��_{qr}}}
(59)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(n)

\label{eq60}3(60)
Type: FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
test(n*n=n)

\label{eq61} \mbox{\rm true} (61)
Type: BOOLEAN
fricas
[n*i-i for i in AB]

\label{eq62}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](62)
Type: LIST(ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))
fricas
[i*n-i for i in AB]

\label{eq63}\left[ 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0, \: 0 \right](63)
Type: LIST(ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX]))

fricas
test(n=unit()$A)

\label{eq64} \mbox{\rm true} (64)
Type: BOOLEAN
fricas
f:=gcd map(x+->denom x,coordinates(n))

\label{eq65}{{��_{pq}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{��_{pr}}^{2}}+{{��_{qr}}^{2}}- 1(65)
Type: DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)
fricas
--ff:= matrix [[γ(i,j)::R for j in gens] for i in gens]
ff:= matrix [[eval(γ(i,j)::R,[γ(gens(1),gens(1))=1,γ(gens(2),gens(2))=1,γ(gens(3),gens(3))=1,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]) for j in gens] for i in gens]

\label{eq66}\left[ 
\begin{array}{ccc}
1 &{��_{pq}}&{��_{pr}}
\
{��_{pq}}& 1 &{��_{qr}}
\
{��_{pr}}&{��_{qr}}& 1 
(66)
Type: MATRIX(FRAC(POLY(INT)))
fricas
--ff:= matrix [[eval(γ(i,j)::R,[γ(gens(1),gens(1))=0,γ(gens(2),gens(2))=0,γ(gens(3),gens(3))=0,γ(gens(2),gens(1))=γ(gens(1),gens(2)),γ(gens(3),gens(2))=γ(gens(2),gens(3)),γ(gens(3),gens(1))=γ(gens(1),gens(3))]) for j in gens] for i in gens]
-determinant(ff)

\label{eq67}{{��_{qr}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{��_{pr}}^{2}}+{{��_{pq}}^{2}}- 1(67)
Type: FRAC(POLY(INT))
fricas
test(f = %)

\label{eq68} \mbox{\rm true} (68)
Type: BOOLEAN
fricas
(f*n)::OutputForm / f::OutputForm

\label{eq69}{\left(
\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  rq}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  rp}+ 
\
\
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  qr}+{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  qp}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  pr}+ 
\
\
\displaystyle
{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  pq}+{{{{{��_{pq}}^{2}}- 1}\over{m_{r}}}\  r}+{{{{{��_{pr}}^{2}}- 1}\over{m_{q}}}\  q}+{{{{{��_{qr}}^{2}}- 1}\over{m_{p}}}\  p}
(69)
Type: OUTFORM

Orthogonal Observers

fricas
p' := n - (1/trace(p))*p

\label{eq70}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{\left(
\begin{array}{@{}l}
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{{m_{q}}\ {m_{r}}\ {��_{qr}}}
(70)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(p')

\label{eq71}2(71)
Type: FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
p*p'

\label{eq72}0(72)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
test(p'*p=p*p')

\label{eq73} \mbox{\rm true} (73)
Type: BOOLEAN
fricas
p'*p' - p'

\label{eq74}0(74)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
f*p'

\label{eq75}\begin{array}{@{}l}
\displaystyle
{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  rq}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  rp}+{{{-{{��_{pq}}\ {��_{pr}}}+{��_{qr}}}\over{{m_{q}}\ {m_{r}}\ {��_{qr}}}}\  qr}+ 
\
\
\displaystyle
{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  qp}+{{{-{{��_{pq}}\ {��_{qr}}}+{��_{pr}}}\over{{m_{p}}\ {m_{r}}\ {��_{pr}}}}\  pr}+{{{{��_{pq}}-{{��_{pr}}\ {��_{qr}}}}\over{{m_{p}}\ {m_{q}}\ {��_{pq}}}}\  pq}+ 
\
\
\displaystyle
{{{{{��_{pq}}^{2}}- 1}\over{m_{r}}}\  r}+{{{{{��_{pr}}^{2}}- 1}\over{m_{q}}}\  q}+{{{-{{��_{pq}}^{2}}+{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}-{{��_{pr}}^{2}}}\over{m_{p}}}\  p}
(75)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

Momentum

fricas
P:=reduce(+,concat [[(1/ ( i<j=>γ(basis(i),basis(j)); i>j=>γ(basis(j),basis(i));1) )::R*AB(i)*AB(j) for j in 1..size()$V] for i in 1..size()$V])

\label{eq76}\begin{array}{@{}l}
\displaystyle
{{1 \over{��_{qr}}}\  rq}+{{1 \over{��_{pr}}}\  rp}+{{1 \over{��_{qr}}}\  qr}+{{1 \over{��_{pq}}}\  qp}+{{1 \over{��_{pr}}}\  pr}+{{1 \over{��_{pq}}}\  pq}+{{m_{r}}\  r}+ 
\
\
\displaystyle
{{m_{q}}\  q}+{{m_{p}}\  p}
(76)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
M2:=trace(P)

\label{eq77}{{m_{p}}^{2}}+{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}}+{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}}+{{m_{q}}^{2}}+{2 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}+{{m_{r}}^{2}}(77)
Type: FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
P*P-trace(P)*P

\label{eq78}0(78)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])

fricas
P' := n - (1/trace(P))*P;
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
trace(P')

\label{eq79}2(79)
Type: FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
P'*P' - P'

\label{eq80}0(80)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
P*P'

\label{eq81}0(81)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])
fricas
fP':=gcd map(x+->denom x,coordinates(P'))

\label{eq82}\begin{array}{@{}l}
\displaystyle
{{{m_{p}}^{2}}\ {{��_{pq}}^{2}}}-{2 \ {{m_{p}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{p}}^{2}}\ {{��_{pr}}^{2}}}+{{{m_{p}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{p}}^{2}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{3}}}-{4 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\ {��_{pr}}\ {��_{qr}}}+{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {{��_{qr}}^{2}}}-{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}}+{2 \ {m_{p}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{pr}}}- 
\
\
\displaystyle
{4 \ {m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{2 \ {m_{p}}\ {m_{r}}\ {{��_{pr}}^{3}}}+{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}\ {{��_{qr}}^{2}}}- 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}}+{{{m_{q}}^{2}}\ {{��_{pq}}^{2}}}-{2 \ {{m_{q}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{q}}^{2}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{{{m_{q}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{q}}^{2}}+{2 \ {m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}\ {��_{qr}}}-{4 \ {m_{q}}\ {m_{r}}\ {��_{pq}}\ {��_{pr}}\ {{��_{qr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}\ {��_{qr}}}+{2 \ {m_{q}}\ {m_{r}}\ {{��_{qr}}^{3}}}-{2 \ {m_{q}}\ {m_{r}}\ {��_{qr}}}+{{{m_{r}}^{2}}\ {{��_{pq}}^{2}}}- 
\
\
\displaystyle
{2 \ {{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+{{{m_{r}}^{2}}\ {{��_{pr}}^{2}}}+{{{m_{r}}^{2}}\ {{��_{qr}}^{2}}}-{{m_{r}}^{2}}
(82)
Type: DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)
fricas
factor(fP')

\label{eq83}{\left({
\begin{array}{@{}l}
\displaystyle
{{��_{pq}}^{2}}-{2 \ {��_{pq}}\ {��_{pr}}\ {��_{qr}}}+ 
\
\
\displaystyle
{{��_{pr}}^{2}}+{{��_{qr}}^{2}}- 1 
(83)
Type: FR(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT))
fricas
test(fP'=f*M2)

\label{eq84} \mbox{\rm true} (84)
Type: BOOLEAN
fricas
fP' * P'

\label{eq85}\begin{array}{@{}l}
\displaystyle
{{{\left(
\begin{array}{@{}l}
\displaystyle
-{{{m_{p}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{p}}^{2}}\ {��_{qr}}}-{2 \ {m_{p}}\ {m_{q}}\ {{��_{pq}}^{2}}\ {��_{pr}}}+ \
\
\displaystyle
{2 \ {m_{p}}\ {m_{q}}\ {��_{pq}}\ {��_{qr}}}-{2 \ {m_{p}}\ {m_{r}}\ {��_{pq}}\ {{��_{pr}}^{2}}}+ 
\
\
\displaystyle
{2 \ {m_{p}}\ {m_{r}}\ {��_{pr}}\ {��_{qr}}}-{{{m_{q}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{q}}^{2}}\ {��_{qr}}}- 
\
\
\displaystyle
{{m_{q}}\ {m_{r}}\ {{��_{pq}}^{2}}}-{{m_{q}}\ {m_{r}}\ {{��_{pr}}^{2}}}+{{m_{q}}\ {m_{r}}\ {{��_{qr}}^{2}}}+{{m_{q}}\ {m_{r}}}- 
\
\
\displaystyle
{{{m_{r}}^{2}}\ {��_{pq}}\ {��_{pr}}}+{{{m_{r}}^{2}}\ {��_{qr}}}
(85)
Type: ALGSC(FRAC(DMP([x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,*01mp,*01mq,*01mr,*01γpp,*01γpq,*01γpr,*01γqp,*01γqq,*01γqr,*01γrp,*01γrq,*01γrr],INT)),9,[p,q,r,pq,pr,qp,qr,rp,rq],[MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX,MATRIX])