|  |  | last edited 12 years ago by Bill Page | 
| 1 | ||
| Editor: Bill Page Time: 2013/03/27 13:58:27 GMT+0 | ||
| Note: from axiom-wiki2 | ||
changed: - Obs(4) is a 16 dimensional Frobenius Algrebra \begin{axiom} )set output abbreviate on V := OrderedVariableList [p,q,r,s] M := FreeMonoid V gens:List M := enumerate()$V divisible := Record(lm: M,rm: M) leftDiv(k:Union(divisible,"failed")):M == (k::divisible).lm rightDiv(k:Union(divisible,"failed")):M == (k::divisible).rm K := FRAC POLY INT MK := FreeModule(K,M) coeff(x:MK):K == leadingCoefficient(x) monomial(x:MK):M == leadingMonomial(x) m(x:M):K == subscript('m,[retract(x)::Symbol]) γ(x:M,y:M):K == subscript('γ,[concat(string retract x, string retract y)::Symbol]) \end{axiom} Basis \begin{axiom} basis := concat(gens,concat [[j*i for i in gens | i~=j] for j in gens]) \end{axiom} Idempotent \begin{axiom} 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) \end{axiom} Reduction \begin{axiom} 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) \end{axiom} Modulo fixed point of applied rules \begin{axiom} mod(ij:MK):MK == ijFix:MK := 1 while ijFix~=ij repeat ijFix := ij ij := rule1(ij) ij := rule2(ij) return(ij) \end{axiom} Matrix Multiplication is monoidal concatenation modulo the fixed point \begin{axiom} MT := [[mod(i*j) for j in basis] for i in basis] \end{axiom} Structure Constants \begin{axiom} R:=FRAC DMP(concat [[m(i) for i in gens],concat [[γ(j,i) for i in gens] for j in gens]], INT) mat3(y:M):List List R == map(z+->map(x+->coefficient(x,y)::FRAC POLY INT,z),MT) ss:=map(mat3, basis) \end{axiom} Algebra \begin{axiom} cats(m:M):Symbol==concat(map(x+->string(x.gen::Symbol),factors m))::Symbol A:=AlgebraGivenByStructuralConstants(R,#(basis)::PI,map(cats,basis),ss::Vector(Matrix R)) alternative?()$A antiAssociative?()$A antiCommutative?()$A associative?()$A commutative?()$A flexible?()$A jacobiIdentity?()$A jordanAdmissible?()$A jordanAlgebra?()$A leftAlternative?()$A lieAdmissible?()$A lieAlgebra?()$A powerAssociative?()$A rightAlternative?()$A \end{axiom} Check Multiplication \begin{axiom} AB := entries basis()$A A2MK(z:A):MK==reduce(+,map((x:R,y:M):MK+->(x::K)*y,coordinates(z),basis)) test(MT=map(x+->map(A2MK,x),[[i*j for j in AB] for i in AB])) \end{axiom} Trace \begin{axiom} [rightTrace(i)$A for i in AB] [leftTrace(i)$A for i in AB] trace(i)==rightTrace(i) / #gens [trace(i) for i in AB] \end{axiom} Center \begin{axiom} C:=basisOfCenter()$AlgebraPackage(R,A); # C c:=C(1) [c*i-i*c for i in AB] test(c*c=c) \end{axiom} Unit \begin{axiom} rightTrace(c) n := #basis / rightTrace(c) * c trace(n) test(n*n=n) \end{axiom} \begin{axiom} test(n=unit()$A) f:=gcd map(x+->denom x,coordinates(n)) ff:= matrix [[γ(i,j)::R for j in gens] for i in gens] test(f = determinant(ff)) (f*n)::OutputForm / f::OutputForm \end{axiom} Antisymmetric γ \begin{axiom} eqAnti:List Equation EXPR INT := concat [[(i>j => γ(i,j)=γ(i,j);i=j =>γ(i,j)=0;γ(i,j)=-γ(j,i)) for j in gens] for i in gens] anti(x:R):R == subst(x::EXPR INT, eqAnti)::FRAC POLY INT (anti(f)*map(anti ,coordinates(n))::A)::OutputForm / anti(f)::OutputForm \end{axiom} Scalar Product \begin{axiom} S := matrix [[trace(x*y) for y in AB] for x in AB] --determinant(S)/f^(2*#gens) --C:=map(x+->factor(numer(x))/factor(denom(x)),inverse(S/f^2)) \end{axiom}
Obs(4) is a 16 dimensional Frobenius Algrebra
(1) -> )set output abbreviate on
V := OrderedVariableList [p,q, r, s] 
| ![\label{eq1}\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right) 
\label{eq1}\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)](images/8701708666210876473-16.0px.png) | (1) | 
M := FreeMonoid V
| ![\label{eq2}\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right) 
\label{eq2}\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)](images/486155561228291693-16.0px.png) | (2) | 
gens:List M := enumerate()$V
| ![\label{eq3}\left[ p , \: q , \: r , \: s \right] 
\label{eq3}\left[ p , \: q , \: r , \: s \right]](images/7542307316019865003-16.0px.png) | (3) | 
divisible := Record(lm: M,rm: M) 
| ![\label{eq4}\hbox{\axiomType{Record}\ } \left({{lm :{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}, \:{rm :{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}}\right) 
\label{eq4}\hbox{\axiomType{Record}\ } \left({{lm :{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}, \:{rm :{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}}\right)](images/4690402666036581115-16.0px.png) | (4) | 
leftDiv(k:Union(divisible,"failed")):M == (k::divisible).lm 
Function declaration leftDiv : Union(Record(lm: FMONOID(OVAR([p,q, r, s])), rm: FMONOID(OVAR([p, q, r, s]))), "failed") -> FMONOID(OVAR([p, q , r, s])) has been added to workspace. 
rightDiv(k:Union(divisible,"failed")):M == (k::divisible).rm 
Function declaration rightDiv : Union(Record(lm: FMONOID(OVAR([p,q, r , s])), rm: FMONOID(OVAR([p, q, r, s]))), "failed") -> FMONOID(OVAR([p, q, r, s])) has been added to workspace. 
K := FRAC POLY INT
|  | (5) | 
MK := FreeModule(K,M) 
| ![\label{eq6}FM \left({{\hbox{\axiomType{FRAC}\ } \left({\hbox{\axiomType{POLY}\ } \left({\hbox{\axiomType{INT}\ }}\right)}\right)}, \:{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}\right) 
\label{eq6}FM \left({{\hbox{\axiomType{FRAC}\ } \left({\hbox{\axiomType{POLY}\ } \left({\hbox{\axiomType{INT}\ }}\right)}\right)}, \:{\hbox{\axiomType{FMONOID}\ } \left({\hbox{\axiomType{OVAR}\ } \left({\left[ p , \: q , \: r , \: s \right]}\right)}\right)}}\right)](images/7941630355592663330-16.0px.png) | (6) | 
coeff(x:MK):K == leadingCoefficient(x)
Function declaration coeff : FM(FRAC(POLY(INT)),FMONOID(OVAR([p, q, r, s]))) -> FRAC(POLY(INT)) has been added to workspace. 
monomial(x:MK):M == leadingMonomial(x)
Function declaration monomial : FM(FRAC(POLY(INT)),FMONOID(OVAR([p, q , r, s]))) -> FMONOID(OVAR([p, q, r, s])) has been added to workspace. 
m(x:M):K == subscript('m,
   Function declaration m : FMONOID(OVAR([p,
γ(x:M,y:M):K == subscript('γ, [concat(string retract x, string retract y)::Symbol]) 
Function declaration γ : (FMONOID(OVAR([p,q, r, s])), FMONOID(OVAR([p, q, r, s]))) -> FRAC(POLY(INT)) has been added to workspace. 
Basis
basis := concat(gens,concat [[j*i for i in gens | i~=j] for j in gens]) 
| ![\label{eq7}\left[ p , \: q , \: r , \: s , \:{p \  q}, \:{p \  r}, \:{p \  s}, \:{q \  p}, \:{q \  r}, \:{q \  s}, \:{r \  p}, \:{r \  q}, \:{r \  s}, \:{s \  p}, \:{s \  q}, \:{s \  r}\right] 
\label{eq7}\left[ p , \: q , \: r , \: s , \:{p \  q}, \:{p \  r}, \:{p \  s}, \:{q \  p}, \:{q \  r}, \:{q \  s}, \:{r \  p}, \:{r \  q}, \:{r \  s}, \:{s \  p}, \:{s \  q}, \:{s \  r}\right]](images/8974250515754119953-16.0px.png) | (7) | 
Idempotent
rule1(ij:MK):MK ==
  for k in gens repeat
    kk := divide(monomial(ij),
   Function declaration rule1 : FM(FRAC(POLY(INT)),
Reduction
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),
   Function declaration rule2 : FM(FRAC(POLY(INT)),
Modulo fixed point of applied rules
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)),
Matrix
Multiplication is monoidal concatenation modulo the fixed point
MT := [[mod(i*j) for j in basis] for i in basis]
There are 1 exposed and 3 unexposed library operations named leadingMonomial having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse,or issue )display op leadingMonomial to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. Cannot find a definition or applicable library operation named leadingMonomial with argument type(s) FM(FRAC(POLY(INT)), FMONOID(OVAR([p, q, r, s]))) 
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code. 
Compiling function monomial with type FM(FRAC(POLY(INT)),FMONOID( OVAR([p, q, r, s]))) -> FMONOID(OVAR([p, q, r, s])) 
Compiling function coeff with type FM(FRAC(POLY(INT)),FMONOID(OVAR([ p, q, r, s]))) -> FRAC(POLY(INT)) 
Compiling function m with type FMONOID(OVAR([p,q, r, s])) -> FRAC(POLY (INT)) 
Compiling function γ with type (FMONOID(OVAR([p,q, r, s])), FMONOID( OVAR([p, q, r, s]))) -> FRAC(POLY(INT)) 
Compiling function leftDiv with type Union(Record(lm: FMONOID(OVAR([
      p,Compiling function rightDiv with type Union(Record(lm: FMONOID(OVAR(
      [p,Compiling function rule1 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([ p, q, r, s]))) -> FM(FRAC(POLY(INT)), FMONOID(OVAR([p, q, r, s]))) There are 2 exposed and 2 unexposed library operations named divide having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op divide to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. Cannot find a definition or applicable library operation named divide with argument type(s) FM(FRAC(POLY(INT)), FMONOID(OVAR([p, q, r, s]))) FMONOID(OVAR([p, q, r, s])) 
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code. 
Compiling function rule2 with type FM(FRAC(POLY(INT)),FMONOID(OVAR([ p, q, r, s]))) -> FM(FRAC(POLY(INT)), FMONOID(OVAR([p, q, r, s]))) 
Compiling function mod with type FM(FRAC(POLY(INT)),FMONOID(OVAR([p, q, r, s]))) -> FM(FRAC(POLY(INT)), FMONOID(OVAR([p, q, r, s]))) There are 1 exposed and 3 unexposed library operations named leadingMonomial having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op leadingMonomial to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. 
Cannot find a definition or applicable library operation named leadingMonomial with argument type(s) FM(FRAC(POLY(INT)),FMONOID(OVAR([p, q, r, s]))) 
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. 
Structure Constants
R:=FRAC DMP(concat [[m(i) for i in gens],concat [[γ(j, i) for i in gens] for j in gens]], INT) 
| ![\label{eq8}\hbox{\axiomType{FRAC}\ } \left({\hbox{\axiomType{DMP}\ } \left({{\left[{m_{p}}, \:{m_{q}}, \:{m_{r}}, \:{m_{s}}, \:{��_{pp}}, \:{��_{pq}}, \:{��_{pr}}, \:{��_{ps}}, \:{��_{qp}}, \:{��_{qq}}, \:{��_{qr}}, \:{��_{qs}}, \:{��_{rp}}, \:{��_{rq}}, \:{��_{rr}}, \:{��_{rs}}, \:{��_{sp}}, \:{��_{sq}}, \:{��_{sr}}, \:{��_{ss}}\right]}, \: \hbox{\axiomType{INT}\ }}\right)}\right) 
\label{eq8}\hbox{\axiomType{FRAC}\ } \left({\hbox{\axiomType{DMP}\ } \left({{\left[{m_{p}}, \:{m_{q}}, \:{m_{r}}, \:{m_{s}}, \:{��_{pp}}, \:{��_{pq}}, \:{��_{pr}}, \:{��_{ps}}, \:{��_{qp}}, \:{��_{qq}}, \:{��_{qr}}, \:{��_{qs}}, \:{��_{rp}}, \:{��_{rq}}, \:{��_{rr}}, \:{��_{rs}}, \:{��_{sp}}, \:{��_{sq}}, \:{��_{sr}}, \:{��_{ss}}\right]}, \: \hbox{\axiomType{INT}\ }}\right)}\right)](images/4322342323616285519-16.0px.png) | (8) | 
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, s])) -> LIST(LIST( FRAC(DMP([m[p], m[q], m[r], m[s], γ[pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq] , γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ[rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT )))) has been added to workspace. 
ss:=map(mat3,basis) 
There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse,or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 66 exposed and 13 unexposed library operations named map having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op map to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are no library operations named *01000m Use HyperDoc Browse or issue )what op *01000m to learn if there is any operation containing " *01000m " in its name. There are no library operations named *01000m Use HyperDoc Browse or issue )what op *01000m to learn if there is any operation containing " *01000m " in its name. There are no library operations named *01000m Use HyperDoc Browse or issue )what op *01000m to learn if there is any operation containing " *01000m " in its name. There are 66 exposed and 13 unexposed library operations named map having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op map to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. Cannot find a definition or applicable library operation named map with argument type(s) ANON VARIABLE(MT) 
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. FriCAS will attempt to step through and interpret the code. 
Compiling function mat3 with type FMONOID(OVAR([p,q, r, s])) -> LIST( LIST(FRAC(DMP([m[p], m[q], m[r], m[s], γ[pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ[rs], γ[sp], γ[sq], γ[sr], γ[ss] ], INT)))) There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 66 exposed and 13 unexposed library operations named map having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op map to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are 4 exposed and 6 unexposed library operations named coefficient having 2 argument(s) but none was determined to be applicable. Use HyperDoc Browse, or issue )display op coefficient to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. There are no library operations named *01000m Use HyperDoc Browse or issue )what op *01000m to learn if there is any operation containing " *01000m " in its name. 
Cannot find a definition or applicable library operation named *01000m with argument type(s) VARIABLE(p)
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. 
Algebra
cats(m:M):Symbol==concat(map(x+->string(x.gen::Symbol),factors m))::Symbol 
Function declaration cats : FMONOID(OVAR([p,q, r, s])) -> SYMBOL has been added to workspace. 
A:=AlgebraGivenByStructuralConstants(R,#(basis)::PI, map(cats, basis), ss::Vector(Matrix R)) 
Compiling function cats with type FMONOID(OVAR([p,q, r, s])) -> SYMBOL 
Cannot convert the value from type VARIABLE(ss) to VECTOR(MATRIX( FRAC(DMP([m[p],m[q], m[r], m[s], γ[pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq] , γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ[rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT )))) . 
Check Multiplication
AB := entries basis()$A
A is not a valid type.
Trace
[rightTrace(i)$A for i in AB]
FriCAS cannot iterate with i over your form now. Perhaps you should try using a conversion to make sure your form is a list or stream,for example. 
Center
C:=basisOfCenter()$AlgebraPackage(R,A); # C 
A is not a valid type.
Unit
rightTrace(c)
There are 1 exposed and 0 unexposed library operations named rightTrace having 1 argument(s) but none was determined to be applicable. Use HyperDoc Browse,or issue )display op rightTrace to learn more about the available operations. Perhaps package-calling the operation or using coercions on the arguments will allow you to apply the operation. 
Cannot find a definition or applicable library operation named rightTrace with argument type(s) VARIABLE(c)
Perhaps you should use "@" to indicate the required return type,or "$" to specify which version of the function you need. 
test(n=unit()$A)
A is not a valid type.
Antisymmetric γ
eqAnti:List Equation EXPR INT := concat [[(i>j => γ(i,j)=γ(i, j);i=j =>γ(i, j)=0;γ(i, j)=-γ(j, i)) for j in gens] for i in gens] 
| ![\label{eq9}\begin{array}{@{}l}
\displaystyle
\left[{{��_{pp}}= 0}, \:{{��_{pq}}={��_{pq}}}, \:{{��_{pr}}={��_{pr}}}, \:{{��_{ps}}={��_{ps}}}, \:{{��_{qp}}= -{��_{pq}}}, \:{{��_{qq}}= 0}, \: \right.
\
\
\displaystyle
\left.{{��_{qr}}={��_{qr}}}, \:{{��_{qs}}={��_{qs}}}, \:{{��_{rp}}= -{��_{pr}}}, \:{{��_{rq}}= -{��_{qr}}}, \:{{��_{rr}}= 0}, \:{{��_{rs}}={��_{rs}}}, \: \right.
\
\
\displaystyle
\left.{{��_{sp}}= -{��_{ps}}}, \:{{��_{sq}}= -{��_{qs}}}, \:{{��_{sr}}= -{��_{rs}}}, \:{{��_{ss}}= 0}\right] 
 
\label{eq9}\begin{array}{@{}l}
\displaystyle
\left[{{��_{pp}}= 0}, \:{{��_{pq}}={��_{pq}}}, \:{{��_{pr}}={��_{pr}}}, \:{{��_{ps}}={��_{ps}}}, \:{{��_{qp}}= -{��_{pq}}}, \:{{��_{qq}}= 0}, \: \right.
\
\
\displaystyle
\left.{{��_{qr}}={��_{qr}}}, \:{{��_{qs}}={��_{qs}}}, \:{{��_{rp}}= -{��_{pr}}}, \:{{��_{rq}}= -{��_{qr}}}, \:{{��_{rr}}= 0}, \:{{��_{rs}}={��_{rs}}}, \: \right.
\
\
\displaystyle
\left.{{��_{sp}}= -{��_{ps}}}, \:{{��_{sq}}= -{��_{qs}}}, \:{{��_{sr}}= -{��_{rs}}}, \:{{��_{ss}}= 0}\right]](images/103830868047962990-16.0px.png) | (9) | 
anti(x:R):R == subst(x::EXPR INT,eqAnti)::FRAC POLY INT 
Function declaration anti : FRAC(DMP([m[p],m[q], m[r], m[s], γ[pp], γ[pq ], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ[rs], γ[ sp], γ[sq], γ[sr], γ[ss]], INT)) -> FRAC(DMP([m[p], m[q], m[r], m[s], γ[ pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ [rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT)) has been added to workspace. 
(anti(f)*map(anti ,coordinates(n))::A)::OutputForm / anti(f)::OutputForm 
Compiling function anti with type FRAC(DMP([m[p],m[q], m[r], m[s], γ[pp ], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq], γ[rr], γ[ rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT)) -> FRAC(DMP([m[p], m[q], m[r], m[ s], γ[pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq], γ[ rr], γ[rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT)) Conversion failed in the compiled user function anti . 
Cannot convert the value from type SYMBOL to FRAC(DMP([m[p],m[q], m[r ], m[s], γ[pp], γ[pq], γ[pr], γ[ps], γ[qp], γ[qq], γ[qr], γ[qs], γ[rp], γ[rq ], γ[rr], γ[rs], γ[sp], γ[sq], γ[sr], γ[ss]], INT)) . 
Scalar Product
S := matrix [[trace(x*y) for y in AB] for x in AB]
FriCAS cannot iterate with x over your form now. Perhaps you should try using a conversion to make sure your form is a list or stream,for example.