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

Isometry from Grassmann Multivectors

Representation

K is a unital associative and commutative ring represented by polynomials with rational coefficients of a set of symbols.

fricas
K:=SparseMultivariatePolynomial(Fraction Integer,Symbol)

\label{eq1}\hbox{\axiomType{SparseMultivariatePolynomial}\ } (\hbox{\axiomType{Fraction}\ } (\hbox{\axiomType{Integer}\ }) , \hbox{\axiomType{Symbol}\ })(1)
Type: Type

The Grassmann Hopf K-algebra is represented by the Axiom domain Expression consisting of rational functions with coefficients from K over an additional set of symbols and common mathematical operators.

fricas
E:=Expression K

\label{eq2}\hbox{\axiomType{Expression}\ } (\hbox{\axiomType{SparseMultivariatePolynomial}\ } (\hbox{\axiomType{Fraction}\ } (\hbox{\axiomType{Integer}\ }) , \hbox{\axiomType{Symbol}\ }))(2)
Type: Type
fricas
a:=a::Symbol::K; b:=b::Symbol::K; c:=c::Symbol::K;
Type: SparseMultivariatePolynomial?(Fraction(Integer),Symbol)
fricas
P:=P::Symbol::E; Q:=Q::Symbol::E; R:=R::Symbol::E;
Type: Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol))

Grassmann Algebra Operators

Symmetric inner product

fricas
idot:=display(operator('dot,2), (x:List OutputForm):OutputForm +-> if x.1=x.2 then (x.1)^2 else paren hconcat([x.1,_{_\cdot_} ,x.2]));
fricas
Dot(A:E,B:E):E == idot(A,B)
Function declaration Dot : (Expression(SparseMultivariatePolynomial( Fraction(Integer),Symbol)),Expression( SparseMultivariatePolynomial(Fraction(Integer),Symbol))) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol) ) has been added to workspace.
Type: Void
fricas
dot(A:E,B:E):E ==
  smaller?(A,B)=>idot(A,B)
  idot(B,A)
Function declaration dot : (Expression(SparseMultivariatePolynomial( Fraction(Integer),Symbol)),Expression( SparseMultivariatePolynomial(Fraction(Integer),Symbol))) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol) ) has been added to workspace.
Type: Void
fricas
test(dot(P, Q)=dot(Q,P))
fricas
Compiling function dot with type (Expression(
      SparseMultivariatePolynomial(Fraction(Integer),Symbol)),
      Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol)
      )) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),
      Symbol))

\label{eq3} \mbox{\rm true} (3)
Type: Boolean

Exterior product

fricas
ihat:=display(operator('hat,2), (x:List OutputForm):OutputForm +-> paren hconcat([x.1,_{_\wedge_} ,x.2]));
fricas
Hat(A:E,B:E):E == ihat(A,B)
Function declaration Hat : (Expression(SparseMultivariatePolynomial( Fraction(Integer),Symbol)),Expression( SparseMultivariatePolynomial(Fraction(Integer),Symbol))) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol) ) has been added to workspace.
Type: Void
fricas
hat(A:E,B:E):E ==
  A=B=>0
  smaller?(A,B)=>ihat(A,B)
  -ihat(B,A)
Function declaration hat : (Expression(SparseMultivariatePolynomial( Fraction(Integer),Symbol)),Expression( SparseMultivariatePolynomial(Fraction(Integer),Symbol))) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol) ) has been added to workspace.
Type: Void
fricas
test(hat(P, Q)=-hat(Q,P)) and test(hat(P,P)=0)
fricas
Compiling function hat with type (Expression(
      SparseMultivariatePolynomial(Fraction(Integer),Symbol)),
      Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol)
      )) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),
      Symbol))

\label{eq4} \mbox{\rm true} (4)
Type: Boolean
fricas
combine:=rule
  Dot(-A,B) == -dot(A,B)
  Dot(A,-B) == -dot(A,B)
  Dot(A,B)^2-Dot(A,A)*Dot(B,B) == hat(A,B)^2
  -Dot(A,B)^2+Dot(A,A)*Dot(B,B) == -hat(A,B)^2
  Dot(A,B)*Dot(A,C)-Dot(A,A)*Dot(B,C) == dot(hat(A,B),hat(A,C))
  Dot(A,B)*Dot(B,C)-Dot(B,B)*Dot(A,C) == dot(hat(B,A),hat(B,C))
  Dot(B,C)*Dot(A,C)-Dot(C,C)*Dot(A,B) == dot(hat(C,A),hat(C,B))
fricas
Compiling function Dot with type (Expression(
      SparseMultivariatePolynomial(Fraction(Integer),Symbol)),
      Expression(SparseMultivariatePolynomial(Fraction(Integer),Symbol)
      )) -> Expression(SparseMultivariatePolynomial(Fraction(Integer),
      Symbol))

\label{eq5}\begin{array}{@{}l}
\displaystyle
\left\{{{\left(- A{\cdot}B \right)}\mbox{\rm = =}-{{{\tt'}dot}\left({A , \: B}\right)}}, \: \right.
\
\
\displaystyle
\left.{{\left(A{\cdot}- B \right)}\mbox{\rm = =}-{{{\tt'}dot}\left({A , \: B}\right)}}, \: \right.
\
\
\displaystyle
\left.{{-{{{A}^{2}}\ {{B}^{2}}}+{{\left(A{\cdot}B \right)}^{2}}+ \%C}\mbox{\rm = =}{{{{{\tt'}hat}\left({A , \: B}\right)}^{2}}+ \%C}}, \: \right.
\
\
\displaystyle
\left.{{{{{A}^{2}}\ {{B}^{2}}}-{{\left(A{\cdot}B \right)}^{2}}+ \%D}\mbox{\rm = =}{-{{{{\tt'}hat}\left({A , \: B}\right)}^{2}}+ \%D}}, \: \right.
\
\
\displaystyle
\left.{{-{{{A}^{2}}\ {\left(B{\cdot}C \right)}}+{{\left(A{\cdot}B \right)}\ {\left(A{\cdot}C \right)}}+ \%E}\mbox{\rm = =}{{{{\tt'}dot}\left({{{{\tt'}hat}\left({A , \: B}\right)}, \:{{{\tt'}hat}\left({A , \: C}\right)}}\right)}+ \%E}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{{{\left(A{\cdot}B \right)}\ {\left(B{\cdot}C \right)}}-{{\left(A{\cdot}C \right)}\ {{B}^{2}}}+ \%F}\mbox{\rm = =}{{{{\tt'}dot}\left({{{{\tt'}hat}\left({B , \: A}\right)}, \:{{{\tt'}hat}\left({B , \: C}\right)}}\right)}+ \%F}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{-{{\left(A{\cdot}B \right)}\ {{C}^{2}}}+{{\left(A{\cdot}C \right)}\ {\left(B{\cdot}C \right)}}+ \%G}\mbox{\rm = =}{{{{\tt'}dot}\left({{{{\tt'}hat}\left({C , \: A}\right)}, \:{{{\tt'}hat}\left({C , \: B}\right)}}\right)}+ \%G}}\right\} 
(5)
Type: Ruleset(Integer,SparseMultivariatePolynomial?(Fraction(Integer),Symbol),Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))

  1. Isometry from Bivector

    In 1937 Elie Cartan observed that the Lie algebra of the isometry group  O_g = Aut(E,g) , is given by bivectors E^{\wedge 2} \subset \mathcal{Cl}(E,g).

fricas
eq33 := matrix [[-dot(P,P),   dot(Q,P)+c], _
                [-dot(P,Q)+c, dot(Q,Q)  ]]

\label{eq6}\left[ 
\begin{array}{cc}
-{{P}^{2}}&{{\left(P{\cdot}Q \right)}+ c}
\
{-{\left(P{\cdot}Q \right)}+ c}&{{Q}^{2}}
(6)
Type: Matrix(Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))
fricas
eq35 := inverse(eq33)

\label{eq7}\left[ 
\begin{array}{cc}
-{{{Q}^{2}}\over{{{{P}^{2}}\ {{Q}^{2}}}-{{\left(P{\cdot}Q \right)}^{2}}+{{c}^{2}}}}&{{{\left(P{\cdot}Q \right)}+ c}\over{{{{P}^{2}}\ {{Q}^{2}}}-{{\left(P{\cdot}Q \right)}^{2}}+{{c}^{2}}}}
\
{{-{\left(P{\cdot}Q \right)}+ c}\over{{{{P}^{2}}\ {{Q}^{2}}}-{{\left(P{\cdot}Q \right)}^{2}}+{{c}^{2}}}}&{{{P}^{2}}\over{{{{P}^{2}}\ {{Q}^{2}}}-{{\left(P{\cdot}Q \right)}^{2}}+{{c}^{2}}}}
(7)
Type: Union(Matrix(Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol))),...)
fricas
map(x+->combine(x),eq35)

\label{eq8}\left[ 
\begin{array}{cc}
{{{Q}^{2}}\over{{{\left(P{\wedge}Q \right)}^{2}}-{{c}^{2}}}}&{{-{\left(P{\cdot}Q \right)}- c}\over{{{\left(P{\wedge}Q \right)}^{2}}-{{c}^{2}}}}
\
{{{\left(P{\cdot}Q \right)}- c}\over{{{\left(P{\wedge}Q \right)}^{2}}-{{c}^{2}}}}& -{{{P}^{2}}\over{{{\left(P{\wedge}Q \right)}^{2}}-{{c}^{2}}}}
(8)
Type: Matrix(Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))

  1. Isometry from Trivector

    Consider the following endomorphism,


\label{eq9}
L \equiv id_E - P \otimes \alpha - Q \otimes \beta - R \otimes \gamma  \ \ \in End_K E
(9)

\label{eq10}
t \equiv P \wedge Q \wedge R \ne 0, \mbox{and} \alpha \wedge \beta \wedge \gamma \ne 0
(10)

fricas
eq44 := matrix [[dot(P,P),   dot(Q,P)-a, dot(R,P)-b], _
                [dot(P,Q)+a, dot(Q,Q),   dot(R,Q)-c], _
                [dot(P,R)+b, dot(Q,R)+c, dot(R,R)  ]]

\label{eq11}\left[ 
\begin{array}{ccc}
{{P}^{2}}&{{\left(P{\cdot}Q \right)}- a}&{{\left(P{\cdot}R \right)}- b}
\
{{\left(P{\cdot}Q \right)}+ a}&{{Q}^{2}}&{{\left(Q{\cdot}R \right)}- c}
\
{{\left(P{\cdot}R \right)}+ b}&{{\left(Q{\cdot}R \right)}+ c}&{{R}^{2}}
(11)
Type: Matrix(Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))
fricas
eq47a := adjoint(eq44);
>> System error: Control stack exhausted (no more space for function call frames). This is probably due to heavily nested or infinitely recursive function calls, or a tail call that SBCL cannot or has not optimized away.
PROCEED WITH CAUTION.

fricas
--)set output tex off
--)set output algebra on
eq47a.adjMat::List List E
There are no library operations named eq47a Use HyperDoc Browse or issue )what op eq47a to learn if there is any operation containing " eq47a " in its name.
Cannot find a definition or applicable library operation named eq47a with argument type(s) Variable(adjMat)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.

Simplifications

fricas
eq45 := a*R-b*Q+c*P = v

\label{eq12}{{a \  R}-{b \  Q}+{c \  P}}= v(12)
Type: Equation(Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))
fricas
eq45a := rule
  a*Dot(R,R)-b*Dot(Q,R)+c*Dot(P,R) == dot(R,v)
  a*Dot(Q,R)-b*Dot(Q,Q)+c*Dot(P,Q) == dot(Q,v)
  a*Dot(P,R)-b*Dot(P,Q)+c*Dot(P,P) == dot(P,v)
  -a*Dot(R,R)+b*Dot(Q,R)-c*Dot(P,R) == -dot(R,v)
  -a*Dot(Q,R)+b*Dot(Q,Q)-c*Dot(P,Q) == -dot(Q,v)
  -a*Dot(P,R)+b*Dot(P,Q)-c*Dot(P,P) == -dot(P,v)

\label{eq13}\begin{array}{@{}l}
\displaystyle
\left\{{{{a \ {{R}^{2}}}-{b \ {\left(Q{\cdot}R \right)}}+{c \ {\left(P{\cdot}R \right)}}+ \%H}\mbox{\rm = =}{{{{\tt'}dot}\left({R , \: v}\right)}+ \%H}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{{a \ {\left(Q{\cdot}R \right)}}-{b \ {{Q}^{2}}}+{c \ {\left(P{\cdot}Q \right)}}+ \%I}\mbox{\rm = =}{{{{\tt'}dot}\left({Q , \: v}\right)}+ \%I}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{{a \ {\left(P{\cdot}R \right)}}-{b \ {\left(P{\cdot}Q \right)}}+{c \ {{P}^{2}}}+ \%J}\mbox{\rm = =}{{{{\tt'}dot}\left({P , \: v}\right)}+ \%J}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{-{a \ {{R}^{2}}}+{b \ {\left(Q{\cdot}R \right)}}-{c \ {\left(P{\cdot}R \right)}}+ \%K}\mbox{\rm = =}{-{{{\tt'}dot}\left({R , \: v}\right)}+ \%K}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{-{a \ {\left(Q{\cdot}R \right)}}+{b \ {{Q}^{2}}}-{c \ {\left(P{\cdot}Q \right)}}+ \%L}\mbox{\rm = =}{-{{{\tt'}dot}\left({Q , \: v}\right)}+ \%L}}, \right.
\
\
\displaystyle
\left.\: \right.
\
\
\displaystyle
\left.{{-{a \ {\left(P{\cdot}R \right)}}+{b \ {\left(P{\cdot}Q \right)}}-{c \ {{P}^{2}}}+ \%M}\mbox{\rm = =}{-{{{\tt'}dot}\left({P , \: v}\right)}+ \%M}}\right\} 
(13)
Type: Ruleset(Integer,SparseMultivariatePolynomial?(Fraction(Integer),Symbol),Expression(SparseMultivariatePolynomial?(Fraction(Integer),Symbol)))
fricas
for i in 3..3 repeat
  for j in 2..2 repeat
    x:=(eq47a.adjMat)(i,j); outputAsTex ["x",i,j,x]
    y:=combine(x); outputAsTex ["y",i,j,y]
    z:=eq45a(y)
    outputAsTex ["z",i,j,z]
There are no library operations named eq47a Use HyperDoc Browse or issue )what op eq47a to learn if there is any operation containing " eq47a " in its name. Cannot find a definition or applicable library operation named eq47a with argument type(s) Variable(adjMat)
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. There are no library operations named eq47a Use HyperDoc Browse or issue )what op eq47a to learn if there is any operation containing " eq47a " in its name.
Cannot find a definition or applicable library operation named eq47a with argument type(s) Variable(adjMat)
Perhaps you should use "@" to indicate the required return type, or "$" to specify which version of the function you need.




  Subject:   Be Bold !!
  ( 13 subscribers )  
Please rate this page: