|
|
last edited 13 years ago by Bill Page |
1 2 | ||
Editor: Bill Page
Time: 2011/02/28 14:55:14 GMT-8 |
||
Note: rank |
changed: - coerce: DP(dim, R) -> GradedTensor(1,0,R,dim) coerce: DirectProduct(dim, R) -> GradedTensor(1,0,R,dim) changed: - coerce: SM(dim, R) -> GradedTensor(0,2,R,dim) coerce: SquareMatrix(dim, R) -> GradedTensor(0,2,R,dim) changed: - rank: % -> [NonNegativeInteger,NonNegativeInteger] rank: % -> DirectProduct(2,NonNegativeInteger) changed: - elt: (%, I, I, I) -> R elt: (%, Integer, Integer, Integer) -> R changed: - elt: (%, I, I, I, I) -> R elt: (%, Integer, Integer, Integer, Integer) -> R changed: - elt: (%, List I) -> R elt: (%, List Integer) -> R changed: - --declarations - x,y: % -- exports rank(t:%):DirectProduct(2,NonNegativeInteger)==directProduct [n,m]
\begin{spad} )abbrev domain GTEN GradedTensor GradedTensor(n:NonNegativeInteger, m:NonNegativeInteger, R:CommutativeRing,dim:NonNegativeInteger): Join(GradedAlgebra(R, NonNegativeInteger), GradedModule(Integer, NonNegativeInteger), Eltable(Integer,R)) with coerce: DirectProduct(dim, R) -> GradedTensor(1,0,R,dim) ++ coerce(v) views a vector as a (1,0)-tensor. coerce: SquareMatrix(dim, R) -> GradedTensor(0,2,R,dim) ++ coerce(m) views a matrix as a (0,2)-tensor. coerce: List R -> GradedTensor(0,1,R,dim) ++ coerce([r_1,...,r_dim]) allows tensors to be constructed ++ using lists. coerce: List % -> GradedTensor(n,m+1,R,dim) ++ coerce([t_1,...,t_dim]) allows tensors to be constructed ++ using lists. rank: % -> DirectProduct(2,NonNegativeInteger) ++ rank(t) returns the tensorial rank of (n,m)-tensor t ++ [n,m] (that is, the number of contravariant and covariant ++ indices). elt: (%) -> R ++ elt(t) gives the component of a rank 0 tensor. elt: (%, Integer, Integer) -> R ++ elt(t,i,j) gives a component of a rank (2,0) (1,1) or (0,2)-tensor. E.g. ++ T(1,1), T(1,-1), T(-1,-1) elt: (%, Integer, Integer, Integer) -> R ++ elt(t,i,j,k) gives a component of a rank (3,0),(2,1),(1,2) or (0,3)-tensor. ++ E.g. T(1,1,1), T(1,1,-1), etc. elt: (%, Integer, Integer, Integer, Integer) -> R ++ elt(t,i,j,k,l) gives a component of a rank (4,0), (3,1),(2,2),(1,3) or (0,4)-tensor. ++ E.g. T(1,1,1,1), T(1,1,1,-1), etc. elt: (%, List Integer) -> R ++ elt(t,[i1,...,iN]) gives a component of a rank (n,m)-tensor when n+m=N. ++ E.g. T[1,1,1,1,1], T[1,1,1,1,-1], etc. -- This specializes the documentation from GradedAlgebra. product: (%,%) -> % ++ product(s,t) is the outer product of the tensors s and t. ++ For example, if \spad{r = product(s,t)} for rank 2 tensors s and t, ++ then \spad{r} is a rank 4 tensor given by ++ \spad{r(i,j,k,l) = s(i,j)t(k,l)}. : (%, %) -> % ++ st is the inner product of the tensors s and t which contracts ++ the last index of s with the first index of t, i.e. ++ \spad{ts = contract(t,rank t, s, 1)} ++ \spad{t*s = sum(k=1..dim, t[i1,..,iN,-k]*s[k,j1,..,jM])} ++ This is compatible with the use of \spad{Mv} to denote ++ the matrix-vector inner product. contract: (%, Integer, %, Integer) -> % ++ contract(t,i,s,j) is the inner product of tenors s and t ++ \spad{r(i1,i2,...,in,j1,j2,...jm) = sum(h=1..dim,s(i1,i2,ii=-h,...,in)t(j1,j2,jj=h,...,jm))}. contract: (%, Integer, Integer) -> % ++ contract(t,i,j) is the contraction of tensor t which ++ \spad{r(i1,i2,...,in) = sum(h=1..dim,s(i1,i2,ii=-h,...,ij=h,...,in))}. transpose: % -> % ++ transpose(t) exchanges the first and last indices of t. ++ \spad{r(i,...,l) = t(l,...,i)}. transpose: (%, Integer, Integer) -> % ++ transpose(t,i,j) exchanges the \spad{i}-th and \spad{j}-th indices of t. ++ \spad{r(...,i,...,j,...) = t(...,j,...,i,...)}. reindex: (%, List Integer) -> % ++ reindex(t,[i1,...,in]) permutes the indices of t. ++ \spad{r(j1,j2,...,jn) = t(ji1,ji2,...,jin)}. kroneckerDelta: () -> GradedTensor(1,1,R,dim) ++ kroneckerDelta() is the rank (1,1)-tensor defined by ++ \spad{kroneckerDelta()(i,j)} ++ \spad{= 1 if i = j} ++ \spad{= 0 if i \~= j} leviCivitaSymbol: () -> GradedTensor(0,dim,R,dim) ++ leviCivitaSymbol() is the rank (0,\spad{dim})-tensor defined by ++ \spad{leviCivitaSymbol()(i1,...idim) = +1/0/-1} ++ if \spad{i1,...,idim} is an even/is nota /is an odd permutation ++ of \spad{minix,...,minix+dim-1}. ravel: % -> List R ++ ravel(t) produces a list of components from a tensor such that ++ \spad{unravel(ravel(t)) = t}. unravel: List R -> % ++ unravel(t) produces a tensor from a list of ++ components such that ++ \spad{unravel(ravel(t)) = t}. sample: () -> % ++ sample() returns an object of type %. == add Rep == CartesianTensor(1,dim,R) -- exports rank(t:%):DirectProduct(2,NonNegativeInteger)==directProduct [n,m] \end{spad}
Some or all expressions may not have rendered properly, because Axiom returned the following error:Error: export FRICAS=/usr/local/lib/open-axiom/x86_64-unknown-linux/1.4.0-2009-10-13; export ALDORROOT=/usr/local/aldor/linux/1.1.0; export PATH=$ALDORROOT/bin:$PATH; export HOME=/var/zope2/var/LatexWiki; ulimit -t 600; export LD_LIBRARY_PATH=/usr/local/lib/open-axiom/x86_64-unknown-linux/1.4.0-2009-10-13/lib; LANG=en_US.UTF-8 $FRICAS/bin/FRICASsys < /var/lib/zope2.10/instance/axiom-wiki/var/LatexWiki/5028389411631105786-25px.axm /bin/sh: /usr/local/lib/open-axiom/x86_64-unknown-linux/1.4.0-2009-10-13/bin/FRICASsys: not found
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) \write18 enabled. %&-line parsing enabled. entering extended mode (./4903831854760167283-16.0px.tex LaTeX2e <2005/12/01> Babel <v3.8h> and hyphenation patterns for english, usenglishmax, dumylang, noh yphenation, arabic, farsi, croatian, ukrainian, russian, bulgarian, czech, slov ak, danish, dutch, finnish, basque, french, german, ngerman, ibycus, greek, mon ogreek, ancientgreek, hungarian, italian, latin, mongolian, norsk, icelandic, i nterlingua, turkish, coptic, romanian, welsh, serbian, slovenian, estonian, esp eranto, uppersorbian, indonesian, polish, portuguese, spanish, catalan, galicia n, swedish, ukenglish, pinyin, loaded. (/usr/share/texmf-texlive/tex/latex/base/article.cls Document Class: article 2005/09/16 v1.4f Standard LaTeX document class (/usr/share/texmf-texlive/tex/latex/base/size12.clo)) (/usr/share/texmf-texlive/tex/latex/ucs/ucs.sty (/usr/share/texmf-texlive/tex/latex/ucs/data/uni-global.def)) (/usr/share/texmf-texlive/tex/latex/base/inputenc.sty (/usr/share/texmf-texlive/tex/latex/ucs/utf8x.def)) (/usr/share/texmf-texlive/tex/latex/bbm/bbm.sty) (/usr/share/texmf-texlive/tex/latex/jknapltx/mathrsfs.sty) (/usr/share/texmf-texlive/tex/latex/base/fontenc.sty (/usr/share/texmf-texlive/tex/latex/base/t1enc.def)) (/usr/share/texmf-texlive/tex/latex/pstricks/pstricks.sty (/usr/share/texmf-texlive/tex/generic/pstricks/pstricks.tex `PSTricks' v1.15 <2006/12/22> (tvz) (/usr/share/texmf-texlive/tex/generic/pstricks/pstricks.con)) (/usr/share/texmf/tex/latex/xcolor/xcolor.sty (/etc/texmf/tex/latex/config/color.cfg) (/usr/share/texmf-texlive/tex/latex/graphics/dvips.def) (/usr/share/texmf-texlive/tex/latex/graphics/dvipsnam.def))) (/usr/share/texmf-texlive/tex/latex/graphics/epsfig.sty (/usr/share/texmf-texlive/tex/latex/graphics/graphicx.sty (/usr/share/texmf-texlive/tex/latex/graphics/keyval.sty) (/usr/share/texmf-texlive/tex/latex/graphics/graphics.sty (/usr/share/texmf-texlive/tex/latex/graphics/trig.sty) (/etc/texmf/tex/latex/config/graphics.cfg)))) (/usr/share/texmf-texlive/tex/latex/pst-grad/pst-grad.sty (/usr/share/texmf-texlive/tex/generic/pst-grad/pst-grad.tex (/usr/share/texmf-texlive/tex/latex/xkeyval/pst-xkey.tex (/usr/share/texmf-texlive/tex/latex/xkeyval/xkeyval.sty (/usr/share/texmf-texlive/tex/latex/xkeyval/xkeyval.tex))) `pst-plot' v1.05, 2006/11/04 (tvz,dg,hv))) (/usr/share/texmf-texlive/tex/latex/pstricks/pst-plot.sty (/usr/share/texmf-texlive/tex/generic/pstricks/pst-plot.tex v97 patch 2, 1999/12/12 (/usr/share/texmf-texlive/tex/generic/multido/multido.tex v1.41, 2004/05/18 <tvz>))) (/usr/share/texmf-texlive/tex/latex/geometry/geometry.sty (/usr/share/texmf-texlive/tex/xelatex/xetexconfig/geometry.cfg)Package geometry Warning: `lmargin' and `rmargin' result in NEGATIVE (-108.405p t). `width' should be shortened in length.
) (/usr/share/texmf-texlive/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?
option. (/usr/share/texmf-texlive/tex/latex/amsmath/amstext.sty (/usr/share/texmf-texlive/tex/latex/amsmath/amsgen.sty)) (/usr/share/texmf-texlive/tex/latex/amsmath/amsbsy.sty) (/usr/share/texmf-texlive/tex/latex/amsmath/amsopn.sty)) (/usr/share/texmf-texlive/tex/latex/amsfonts/amsfonts.sty) (/usr/share/texmf-texlive/tex/latex/amsfonts/amssymb.sty) (/usr/share/texmf-texlive/tex/latex/amscls/amsthm.sty) (/usr/share/texmf-texlive/tex/latex/setspace/setspace.sty Package: `setspace
6.7 <2000/12/01> ) (/usr/share/texmf-texlive/tex/generic/xypic/xy.sty (/usr/share/texmf-texlive/tex/generic/xypic/xy.tex Bootstrap'ing: catcodes, docmode, (/usr/share/texmf-texlive/tex/generic/xypic/xyrecat.tex) (/usr/share/texmf-texlive/tex/generic/xypic/xyidioms.tex)Xy-pic version 3.7 <1999/02/16> Copyright (c) 1991-1998 by Kristoffer H. Rose <krisrose@ens-lyon.fr> Xy-pic is free software: see the User's Guide for details.
Loading kernel: messages; fonts; allocations: state, direction, utility macros; pictures: \xy, positions, objects, decorations; kernel objects: directionals, circles, text; options; algorithms: directions, edges, connections; Xy-pic loaded)) (/usr/share/texmf-texlive/tex/generic/xypic/xyall.tex Xy-pic option: All features v.3.3 (/usr/share/texmf-texlive/tex/generic/xypic/xycurve.tex Xy-pic option: Curve and Spline extension v.3.7 curve, circles, loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyframe.tex Xy-pic option: Frame and Bracket extension v.3.7 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xycmtip.tex Xy-pic option: Computer Modern tip extension v.3.3 (/usr/share/texmf-texlive/tex/generic/xypic/xytips.tex Xy-pic option: More Tips extension v.3.3 loaded) loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyline.tex Xy-pic option: Line styles extension v.3.6 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyrotate.tex Xy-pic option: Rotate and Scale extension v.3.3 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xycolor.tex Xy-pic option: Colour extension v.3.3 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xymatrix.tex Xy-pic option: Matrix feature v.3.4 loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xyarrow.tex Xy-pic option: Arrow and Path feature v.3.5 path, \ar, loaded) (/usr/share/texmf-texlive/tex/generic/xypic/xygraph.tex Xy-pic option: Graph feature v.3.7 loaded) loaded) (/usr/share/texmf-texlive/tex/latex/tools/verbatim.sty) (/usr/share/texmf/tex/latex/graphviz/graphviz.sty (/usr/share/texmf-texlive/tex/latex/psfrag/psfrag.sty)) (/usr/share/texmf/tex/latex/sagetex.sty Writing sage input file 4903831854760167283-16.0px.sage ) (/usr/share/texmf-texlive/tex/latex/gnuplottex/gnuplottex.sty (/usr/share/texmf-texlive/tex/latex/base/latexsym.sty) (/usr/share/texmf-texlive/tex/latex/moreverb/moreverb.sty) (/usr/share/texmf-texlive/tex/latex/base/ifthen.sty)) (./4903831854760167283-16.0px.aux) (/usr/share/texmf-texlive/tex/latex/ucs/ucsencs.def) Missing $ inserted. <inserted text> $ l.129 ++ coerce([r_ 1,...,r_dim]) allows tensors to be constructed (/usr/share/texmf-texlive/tex/latex/jknapltx/ursfs.fd) (/usr/share/texmf-texlive/tex/latex/amsfonts/umsa.fd) (/usr/share/texmf-texlive/tex/latex/amsfonts/umsb.fd) (/usr/share/texmf-texlive/tex/latex/base/ulasy.fd)
LaTeX Warning: Command \~ invalid in math mode on input line 184.
Please use \mathaccent for accents in math mode. \add@accent ...@spacefactor \spacefactor }\accent #1 #2\egroup \spacefactor ... l.184 ++ \spad{= 0 if i \~= j} You can't use `\spacefactor' in math mode. \add@accent ...}\accent #1 #2\egroup \spacefactor \accent@spacefactor l.184 ++ \spad{= 0 if i \~= j} Missing $ inserted. <inserted text> $ l.203 \end{spad} \newpage
Overfull \hbox (46.44412pt too wide) in paragraph at lines 122--203 []\T1/cmr/m/n/12 )abbrev do-main GTEN Grad-edTen-sor Grad-edTen-sor(n:NonNegati veInteger, m:NonNegativeInteger, R:CommutativeRing,dim:NonNegativeInteger):
Overfull \hbox (100.47577pt too wide) in paragraph at lines 122--203 \T1/cmr/m/n/12 sor(0,2,R,dim) ++ co-erce(m) views a ma-trix as a (0,2)-tensor. co-erce: List R -> Grad-edTen-sor(0,1,R,dim) ++ coerce([r$[]\OML/cmm/m/it/12 ; :::; r[]im\OT1/cmr/m/n/12 ])\OML/cmm/m/it/12 allowstensorstobeconstructed \OT1/ cmr/m/n/12 +
Overfull \hbox (27.92737pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +\OML/cmm/m/it/12 usinglists:coerce \OT1/cmr/m/n/12 : \OML/cmm/ m/it/12 List \OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 coerce\OT1/cmr/m/n/12 ([\OML/c mm/m/it/12 t[]; :::; t[]im\OT1/cmr/m/n/12 ])\OML/cmm/m/it/12 allowstensorstobec onstructed \OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 usinglists:rank \OT1/cmr/m/n/12 : + + \OML/cmm/m/it/12 rank\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t\OT1/cmr/m/n/12 ) \OML/cmm/m/it/12 returnsthetensorialrankof\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 n; m\OT1/cmr/m/n/12 ) \OMS/cmsy/m/n/12 ^^@
Overfull \hbox (149.74619pt too wide) in paragraph at lines 122--203 \OML/cmm/m/it/12 elt\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; i; j\OT1/cmr/m/n/12 )\ OML/cmm/m/it/12 givesacomponentofarank\OT1/cmr/m/n/12 (2\OML/cmm/m/it/12 ; \OT1 /cmr/m/n/12 0)(1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 or\OT1/cm r/m/n/12 (0\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 2) \OMS/cmsy/m/n/12 ^^@ \OML/cmm/ m/it/12 tensor:E:g: \OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 T\OT1/cmr/m/n/12 (1\OML /cmm/m/it/12 ; \OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 ; T\OT1/cmr/m/n/12 (1\OML/cmm /m/it/12 ; \OMS/cmsy/m/n/12 ^^@\OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 ; T\OT1/cmr/m /n/12 (\OMS/cmsy/m/n/12 ^^@\OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 ^^@\OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 elt \OT1/cmr/m/n/12 : (+ + \OML/cmm/m/it /12 elt\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; i; j; k\OT1/cmr/m/n/12 )\OML/cmm/m/ it/12 givesacomponentofarank\OT1/cmr/m/n/12 (3\OML/cmm/m/it/12 ; \OT1/cmr/m/n/1 2 0)\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 (2\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1)\ OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 (1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 2)\OML/c mm/m/it/12 or\OT1/cmr/m/n/12 (0\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 3) \OMS/cmsy/ m/n/12 ^^@
Overfull \hbox (145.59494pt too wide) in paragraph at lines 122--203 \OML/cmm/m/it/12 tensor: \OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 E:g:T\OT1/cmr/m/n/ 12 (1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1)\ OML/cmm/m/it/12 ; T\OT1/cmr/m/n/12 (1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/c mm/m/it/12 ; \OMS/cmsy/m/n/12 ^^@\OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 ; etc:elt \ OT1/cmr/m/n/12 : (+ + \OML/cmm/m/it/12 elt\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; i; j; k; l\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 givesacomponentofarank\OT1/cmr/m/n/ 12 (4\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 0)\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 (3 \OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1)\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 (2\OML/ cmm/m/it/12 ; \OT1/cmr/m/n/12 2)\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 (1\OML/cmm/m /it/12 ; \OT1/cmr/m/n/12 3)\OML/cmm/m/it/12 or\OT1/cmr/m/n/12 (0\OML/cmm/m/it/1 2 ; \OT1/cmr/m/n/12 4) \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 tensor: \OT1/cmr/m /n/12 + +\OML/cmm/m/it/12 E:g:T\OT1/cmr/m/n/12 (1\OML/cmm/m/it/12 ; \OT1/cmr/m/ n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1) \OML/cmm/m/it/12 ; T\OT1/cmr/m/n/12 (1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/ cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 ^^@\OT1/cmr/ m/n/12 1)\OML/cmm/m/it/12 ; etc:elt \OT1/cmr/m/n/12 :
Overfull \hbox (236.17693pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 (+ + \OML/cmm/m/it/12 elt\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; \ OT1/cmr/m/n/12 [\OML/cmm/m/it/12 i\OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; :::; iN\O T1/cmr/m/n/12 ])\OML/cmm/m/it/12 givesacomponentofarank\OT1/cmr/m/n/12 (\OML/cm m/m/it/12 n; m\OT1/cmr/m/n/12 ) \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 tensorwhe nn \OT1/cmr/m/n/12 + \OML/cmm/m/it/12 m \OT1/cmr/m/n/12 = \OML/cmm/m/it/12 N: \ OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 E:g:T\OT1/cmr/m/n/12 [1\OML/cmm/m/it/12 ; \O T1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/ m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1]\OML/cmm/m/it/12 ; T\OT1/cmr/m/n/1 2 [1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OM L/cmm/m/it/12 ; \OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; \OMS/cmsy/m/n/12 ^^@\OT1/cm r/m/n/12 1]\OML/cmm/m/it/12 ; etc: \OMS/cmsy/m/n/12 ^^@ ^^@\OML/cmm/m/it/12 Thi sspecializesthedocumentationfromGradedAlgebra:product \OT1/cmr/m/n/12 :
Overfull \hbox (40.319pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 (+ + \OML/cmm/m/it/12 product\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 s; t\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 istheouterproductofthetensorssandt: \OT1/ cmr/m/n/12 + +\OML/cmm/m/it/12 Forexample; if[]forrank\OT1/cmr/m/n/12 2\OML/cmm /m/it/12 tensorssandt; \OT1/cmr/m/n/12 + + \OML/cmm/m/it/12 thenrisarank\OT1/cm r/m/n/12 4\OML/cmm/m/it/12 tensorgivenby \OT1/cmr/m/n/12 +
Overfull \hbox (0.12308pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +[] + +[] + +\OML/cmm/m/it/12 Thisiscompatiblewiththeuseof[]tod enote \OT1/cmr/m/n/12 +
Overfull \hbox (344.44069pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +\OML/cmm/m/it/12 thematrix \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/ 12 vectorinnerproduct:contract \OT1/cmr/m/n/12 : (+ + \OML/cmm/m/it/12 contract \OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; i; s; j\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 i stheinnerproductoftenorssandt \OT1/cmr/m/n/12 + +[]\OML/cmm/m/it/12 :contract \ OT1/cmr/m/n/12 :
Overfull \hbox (30.7633pt too wide) in paragraph at lines 122--203 \OML/cmm/m/it/12 transpose\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t\OT1/cmr/m/n/12 )\ OML/cmm/m/it/12 exchangesthefirstandlastindicesoft: \OT1/cmr/m/n/12 + +[]\OML/c mm/m/it/12 :transpose \OT1/cmr/m/n/12 : (+ + \OML/cmm/m/it/12 transpose\OT1/cmr /m/n/12 (\OML/cmm/m/it/12 t; i; j\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 exchangesthe i \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 thandj \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/ it/12 thindicesoft: \OT1/cmr/m/n/12 +
Overfull \hbox (43.71811pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +[]\OML/cmm/m/it/12 :reindex \OT1/cmr/m/n/12 : (+ + \OML/cmm/m/ it/12 reindex\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t; \OT1/cmr/m/n/12 [\OML/cmm/m/i t/12 i\OT1/cmr/m/n/12 1\OML/cmm/m/it/12 ; :::; in\OT1/cmr/m/n/12 ])\OML/cmm/m/i t/12 permutestheindicesoft: \OT1/cmr/m/n/12 + +[]\OML/cmm/m/it/12 :kroneckerDel ta \OT1/cmr/m/n/12 :
Overfull \hbox (190.21642pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +[]\OML/cmm/m/it/12 leviCivitaSymbol \OT1/cmr/m/n/12 : ()\OMS/c msy/m/n/12 ^^@ \OML/cmm/m/it/12 > GradedTensor\OT1/cmr/m/n/12 (0\OML/cmm/m/it/1 2 ; dim; R; dim\OT1/cmr/m/n/12 ) + +\OML/cmm/m/it/12 leviCivitaSymbol\OT1/cmr/m /n/12 ()\OML/cmm/m/it/12 istherank\OT1/cmr/m/n/12 (0\OML/cmm/m/it/12 ; []\OT1/c mr/m/n/12 ) \OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 tensordefinedby \OT1/cmr/m/n/ 12 + +[] +
Overfull \hbox (85.94875pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +\OML/cmm/m/it/12 if[]isaneven=isnota=isanoddpermutation \OT1/c mr/m/n/12 + +\OML/cmm/m/it/12 of[]:ravel \OT1/cmr/m/n/12 : + + \OML/cmm/m/it/12 ravel\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 prod ucesalistofcomponentsfromatensorsuchthat \OT1/cmr/m/n/12 +
Overfull \hbox (31.33415pt too wide) in paragraph at lines 122--203 \OT1/cmr/m/n/12 +[]\OML/cmm/m/it/12 :unravel \OT1/cmr/m/n/12 : \OML/cmm/m/it/12 ListR\OMS/cmsy/m/n/12 ^^@ \OML/cmm/m/it/12 > \OT1/cmr/m/n/12 + + \OML/cmm/m/it /12 unravel\OT1/cmr/m/n/12 (\OML/cmm/m/it/12 t\OT1/cmr/m/n/12 )\OML/cmm/m/it/12 producesatensorfromalistof \OT1/cmr/m/n/12 + +\OML/cmm/m/it/12 componentssucht hat \OT1/cmr/m/n/12 + +[]\OML/cmm/m/it/12 :sample \OT1/cmr/m/n/12 : [1] [2] (./4903831854760167283-16.0px.aux) ) (see the transcript file for additional information) Output written on 4903831854760167283-16.0px.dvi (2 pages, 5992 bytes). Transcript written on 4903831854760167283-16.0px.log.