} ! s"t"u"v"w"x"my"pz"c{"|"*}"V~"PPpPPlPP@PP|O0P<P(PP0P4PLPTPP PPPPPPHPversion2 dXu du du du dv eHv exv 0ev Hev `ew xe8w ehw ǭ.m <ǭ4ǭ. 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }} {PARA 15 "" 0 "" {TEXT -1 48 "The function cleartensor undefines the t ensor T." }}{PARA 15 "" 0 "" {TEXT -1 41 "The type of the indices are \+ not relevant." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples :" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "definetensor(T[i,j], asym[1, 2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"TG\"\"\")%!G%%i~j~GF&&% %asymG6$F&\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "simptens or(T[i,-i]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "cleartensor(T[i,j]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "simptensor(T[i,-i]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#*(%\"TG\"\"\")%!G%\"iGF%&F'6#F(F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 3 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom, absorbg" "" }{TEXT -1 1 "," }{TEXT -1 1 " " }{HYPERLNK{TEXT -1 3 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} n]" "" } expr - a tensor expression" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 179 "The function changedumind replaces all dummy indices by new ones gene rated by the package. (The generation of new names is controlled by th e internal procedure `Riegeom/genindex`)" }}}{SECT 0 {PARA 0 "" 0 "exa mples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "chang edumind(A[i,-i]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"AG\"\"\")%!G %$_b0GF%&F'6#F(F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "dimension" 2 "Riegeom[dimension]" "" }f" {VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 63 " \+ Riegeom[changedumind] - changes the names of the dummy indices" }} {PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 22 "\n \+ changedumind(expr)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" } {TEXT -1 30 "\n f"Riegeom,changedumindg"Riegeom,absorbgh"Riegeom,cleartensori"Riegeom,codiffj"Riegeom,definetensork"Riegeom,dimensionl" Dimensionm" MetricNamen"CoordinateNameo"Riegeom,metricp"Riegeom,normalformq" Riegeom,onr"Riegeom,printtensors"Riegeom,replacet"Riegeom,simptensoru"Riegeom,symmetryv"Riegeom,symmetrizew" TensorNamesx"Riegeom,TensorNamesy" tensorsz" RiemannName{"Riegeom,WeylName|" LeviCivita}"Riegeom,expandcodiff~" Riegeom a animate_icw"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiffv"w"e also:" }{TEXT -1 3 " " } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptei"#functriegeomcodiffrepresentcovariantderivattensorexpressexpandcodiffexpandtermpartialcallsequencexprparameterindexvalucoordinatenamvariabldescriptwithrespectappldifferentiatruleuntilhavingautomaticalconvertintoanyoccurenctdiffappearancchristoffelsymbolhavenamegammadefaultcanchangassignnewchristoffelnamcoordinatonlycommandmaycreatdummindicdummyindexsetexamplprinttensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffreplacsreplacsimptensorsymmetrizsymmetrswitchj"functriegeomdefinetensordefintensorassignsymmetrcallsequencparameterindexvariablnamedescriptwithallowsymasymsymbvtcyclicriemannoindicspecifiapplallusesquarbracketspecifhaveexamplmeanovernotatinvolvgroupantisymmetricunderinterchangfirstpairsecondreffercannotoverlapotherexceptordermorepossibljoinusingkeywordmustcohercompletsystemmakesomeatemptincompletentrpointoutcancelsymmetricbivectorequivalcaneithpositionlikecovariantdenotunassignnegatcontravariantpositonestotalrankexpresstaskperformcommandreplacsreplacrrfollowalsoabsorbgcleartensorcodiffexpandcodifflptensorltensornormalformoffprinttensorsimptensorsymmetrizswitchtdiffalsoassociatbut changedumindcomput definetensorW dimensionalendexpr0ggindicTlimitmetricnicknamoccurencpackagpositionqueensu representUrule simptensorstorsymbvtwtensorvtypedvectorTensorNames,Riegeomx"WeylName,Riegeom{"absorbg,Riegeomg"changedumind,Riegeomf"cleartensor,Riegeomh"codiff,Riegeomi"definetensor,Riegeomj"dimension,Riegeomk"expandcodiff,Riegeom}"metric,Riegeomo"normalform,Riegeomp" on,Riegeomq"printtensor,Riegeomr"replace,Riegeoms"simptensor,Riegeomt"symmetrize,Riegeomv"symmetry,Riegeomu"j"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "M aple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0"f" changedumindg"absorbgh" cleartensori"codiffj" definetensork"$dimensioncoordinatenamemetricnamel"coordinatenamemetricnamem"coordinatenameo"metriccoordinatep" normalformq"onoffswitchesr"printtensorltensorlptensors"replacesreplacet"simptensorsimplcu" symmetryv" symmetrizew"utensornamestensorschristoffelnameriemannnameweylnamericcinamericciscalarnametracefreericcinamelevicivitanamex" tensornamesy" riemannnamez" weylname{"utensornamestensorschristoffelnameriemannnameweylnamericcinamericciscalarnametracefreericcinamelevicivitaname}"expandcodiff~"riegeomCoordinateNamen" Dimensionl" LeviCivita|" MetricNamem"Riegeom~"Riegeom,TensorNamesx"Riegeom,WeylName{"Riegeom,absorbgg"Riegeom,changedumindf"Riegeom,cleartensorh"Riegeom,codiffi"Riegeom,definetensorj"Riegeom,dimensionk"Riegeom,expandcodiff}"Riegeom,metrico"Riegeom,normalformp" Riegeom,onq"Riegeom,printtensorr"Riegeom,replaces"Riegeom,simptensort"Riegeom,symmetrizev"Riegeom,symmetryu" RiemannNamez" TensorNamesw" animate_ic atensorsy"atcoefficientcalculatautomaticaldodependstandardplototherwisdensityplotvariablassumdefaultvalupossiblmoresomeoptioncanchoseneachallmustcommandusedapplicablheremainnonnegatintegmusanyfreeparametlistsuchfunctionvelocitpotentialgeneraldensitpressurspeciftimeintervalrangcontainverticalg"l{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "2 D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bul let Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 72 " \+ Riegeom[absorbg] - raises and lowers indices contracted with the metri c" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n absorbg(exp)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" } {TEXT -1 28 "\n expr - tensor expression" }}}{SECT 0 {PARA 0 "" 0 "s ynopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 77 "Th e call absorbg(expr) raises and lowers all indices contracted with met ric. " }}{PARA 15 "" 0 "" {TEXT -1 35 "The default name for the metric is " }{XPPEDIT 18 0 "g;" "6#%\"gG" }{TEXT -1 71 ". This can be change d by assigning another name to the global variable " }{HYPERLNK 17 "Me tricName" 2 "Riegeom[TensorNames]" "" }{TEXT -1 1 "." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "absorbg(g[i,j]*A[-j]*A[-i]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#**%\"AG\"\"\"&%!G6#%\"jGF%F$F%)F'F)F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "absorbg(g[i,j]*g[-j,k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"gG\"\"\")%!G%\"iGF%)F'%\"kGF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "absorbg(g[i,j]*g[-i,-j]);" }}{PARA  11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 57 "The following global variables have influence in results." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "MetricName;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"gG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{TEXT -1 1 " " }{HYPERLNK 17 "clear tensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "co diff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "defineten sor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expa ndcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 " normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeo m[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[prin ttensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,repla ce" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize] " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }}}} m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expa ndcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 " normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 %f"g"h"i" j"/k"+l"2m">n"Do"Jp"Xq"^r")s"t"u"v"w"x"|y"z"]{"|"}"~"///////P/P//////////////P//Pݠ@JL/PPpPPlPP@PP|h"Q {VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 42 " \+ Riegeom[cleartensor] - undefines a tensor" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 18 "\n cleartensor(T)" }} {PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 16 "\n T - a ten sor" }}}{SECT 17 "codiff" 2 " Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "R iegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff " 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptenso r" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor " 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalfo rm" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor] " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } nsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff " 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptenso r" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor " 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalfo rm" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor] " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNi"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 77 " \+ Riegeom[codiff] - represents the covariant derivative of a tensor expr ession" }}{PARA 0 "" 0 "" {TEXT -1 89 "  Riegeom[expa ndcodiff] - expands codiff in terms of partial derivative " }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 19 "\n codiff (expr, i)" }}{PARA 0 "" 0 "" {TEXT -1 19 " codiff(expr, -i)" }} {PARA 0 "" 0 "" {TEXT -1 21 " codiff(expr, X[i])" }}{PARA 0 "" 0 "" {TEXT -1 22 " codiff(expr, X[-i])" }}{PARA 0 "" 0 "" {TEXT -1 32 " \+ codiff(expr, X[i], X[j], ...)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Paramet ers:" }{TEXT -1 30 "\n expr - a tensor expression" }}{PARA 0 "" 0 " " {TEXT -1 16 " i - an index" }}{PARA 0 "" 0 "" {TEXT -1 51 " X[i ] - X is the value of CoordinateName variable" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 91 "The function codiff represents the covariant derivative of a tens or with respect to X[i]. " }}{PARA 15 "" 0 "" {TEXT -1 112 "The call c odiff(expr, X[i]) applies differentiation rules to expr until having c ovariant derivative of a tensor." }}{PARA 15 "" 0 "" {TEXT -1 109 "The call codiff(T, i) and codiff(T,-i) are automatically converted into c odiff(T, X[i]) and codiff(T, X[-i])." }}{PARA 15 "" 0 "" {TEXT -1 100 "The function expandcodiff converts any occurence of covariant derivat ives into partial derivatives (" }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdif f]" "" }{TEXT -1 49 ") with the appearance of the Christoffel symbols. " }}{PARA 15 "" 0 "" {TEXT -1 110 "The Christoffel symbols have the na me Gamma by default. It can be changed by assigning a new name to vari able " }{HYPERLNK 17 "ChristoffelName" 2 "Riegeom[TensorNames]" "" } {TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 82 "The coordinates have th e name X by default. It can only be changed by the command " } {HYPERLNK 17 "coordinate" 2 "Riegeom[dimension]" "" }{TEXT -1 2 ". " } }{PARA 15 "" 0 "" {TEXT -1 69 "The function codiff may create new dumm y indices. See DummyIndexSet. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "wit h(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "e1 := printt ensor(codiff(T[i,j]*V[-j],X[k]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %#e1G,&*,%\"TG\"\"\")%!G%%i~j~GF(&F*6#%%;~k~GF(%\"VGF(&F*6#%\"jGF(F(** F'F()F*F+F(F/F(&F*6#%'j~;~k~GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "expandcodiff(e1);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# ,&*(,(*(%\"TG\"\"\")%!G%%i~j~GF(&F*6#%%,~k~GF(F(*,%&GammaGF()F*%\"iGF( &F*6#%'_b0~k~GF(F'F()F*%'_b0~j~GF(F(*,F0F()F*%\"jGF(&F*6#F5F(F'F()F*%' i~_b0~GF(F(F(%\"VGF(&F*6#F:F(F(*(F'F()F*F+F(,&*&F?F(&F*6#%'j~,~k~GF(F( *,F0F()F*%$_c0GF(&F*6#%%j~k~GF(F?F(&F*6#FKF(!\"\"F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "e2 := printtensor(codiff(V[i],-j)); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e2G*&%\"VG\"\"\")%!G%'i~;~j~GF' " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "expandcodiff(e2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"gG\"\"\")%!G%'j~_j0~GF%,&*(%\"VGF %)F'%\"iGF%&F'6#%',~_j0~GF%F%*,%&GammaGF%)F'F-F%&F'6#%)_k0~_j0~GF%F+F% )F'%$_k0GF%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 2 " " } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} ERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{H simultaneouss"sin asinc~"solution asomej"v"~" asometim asourc~"spac k"l"m"n"o"specialk"l"m"n"o"specifj"v" aspecifi j"v"spell~"squar j"v"sreplacg$f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"standard astat~"statu q"~"stay~"step p"~"stor q"~"turn q"~"type h"~"iffg+f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"Pڨnsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lten sor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "norma lform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on ]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printten sor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printtehe use of the Riemann and Wey l cyclic relations (and dimension dependent relations). The call simp tensor(expr,'noddr') inhibits the use of dimension dependent relations (but applies cyclic relations)." }}{PARA 15 "" 0 "" {TEXT -1 14 "The \+ functions " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 73 " and simpLC are employed by simptensor at first place before simpl ifying." }}{PARA 15 "" 0 "" {TEXT -1 41 "The function simpLC replaces \+ products of " }{HYPERLNK 17 "LeviCivita" 2 "Riegeom,TensorNames" "" } {TEXT -1 175 " tensors (contracted or not) by an expression involving \+ only metric tensors. The result depends on the actual value of Dimensi on. For Dimension=2, the substitution formula is:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/*.%$etaG\"\"\")%!G%\"aGF&)F(%\"bGF&F%F&&F(6#%\"iGF&&F( 6#%\"jGF&,$-%$detG6#-%'matrixG6#7$7$*(%\"gGF&)F(F)F&&F(F-F&*(F " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "definetensor(A[i,j], sym);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"AG\"\"\")%!G%%i~j~GF&%$symG" }} }{EXCH%G {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "definetensor(T[i,j,k], sym[ 1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"TG\"\"\")%!G%'i~j~k~G F&&%$symG6$F&\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "defin etensor(B[i,j,k,l], sym[1,2] and asym[3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"BG\"\"\")%!G%)i~j~k~l~GF&3&%$symG6$F&\"\"#&%%asy mG6$\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "defineten sor(RR[i,j,k,l], Riemann);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%#RR G\"\"\")%!G%)i~j~k~l~GF&&%(RiemannG6&F&\"\"#\"\"$\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "The symmetry Riemann is equivalent to:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "definetensor(RR[i,j,k,l], \+ asym[1,2] and asym[3,4] and sym[1,2][3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%#RRG\"\"\")%!G%)i~j~k~l~GF&33&%%asymG6$F&\"\"#&F-6 $\"\"$\"\"%&&%$symGF.F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 96 "The fo llowing tensor is totally symmetric under the interchange of pairs [i, j], [k,l] and [m,n]." }}}{EXCHG {PARA 0 "> " &0 "" {MPLTEXT 1 0 49 "def inetensor(S[i,j,k,l,m,n], sym[1,2][3,4][5,6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"SG\"\"\")%!G%-i~j~k~l~m~n~GF&&&&%$symG6$F&\"\"#6 $\"\"$\"\"%6$\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 3 " \+ " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "p rinttensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Rie'geom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sr eplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "simpten sor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmet rize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symme try" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "switches " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom [tdiff]" "" }{TEXT -1 1 " " }}}} codiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "p rinttensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Rie'p"functriegeomnormalformputstensorexpressnormalformcallsequencexprparameterdescriptimplementalgorithmdescribpapercomputphysiccommunicatdefinitindexcanonicalconfiguratrenamdummindicstepgivennoatemptdonepresoutputorderwithrespectsumproducttermbutposittakeintoaccountpropsimplifgeneralkindcanhaveanysymmetrimplementatonlyenterdefinetensorcommandallowquitdoesincludcyclicautomaticsimplificatobeylinearidentitreturnnamemayunreadablsimptensorinterfacsimptentriesubstitutusedinputexamplasymprinttensorriemanwithininvolvclasssymclasalsoabsorbgcleartensorcodiffexpandcodifflptensorltensoroffreplacsreplacsymmetrizswitchtdiff17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[s""{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "M aple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0e}"#functriegeomcodiffrepresentcovariantderivattensorexpressexpandcodiffexpandtermpartialcallsequencexprparameterindexvalucoordinatenamvariabldescriptwithrespectappldifferentiatruleuntilhavingautomaticalconvertintoanyoccurenctdiffappearancchristoffelsymbolhavenamegammadefaultcanchangassignnewchristoffelnamcoordinatonlycommandmaycreatdummindicdummyindexsetexamplprinttensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffreplacsreplacsimptensorsymmetrizsymmetrswitchl"h{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 64 " ,\+ Riegeom[dimension] - changes the default dimension of the space" }} {PARA 0 "" 0 "" {TEXT -1 77 " Riegeom[coordinate] - changes the name of the coordinates" }}{PARA 0 "" 0 "" {TEXT -1 68 " \+ Riegeom[metric] - changes the name of the metric" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 26 17 "Global Variables:" } {TEXT -1 66 " Dimension - holds the default value of the dimension of \+ the space" }}{PARA 0 "" 0 "" {TEXT -1 94 " \+ CoordinateName - holds the default name for the coordinates" }} {PARA 0 "" 0 "" {TEXT -1 85 " Metric Name - holds the default name for the metric" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n dimension(N)" }} {PARA 0 "" 0 "" {TEXT -1 16 " coordinate(n)" }}{PARA 0 "" 0 "" {TEXT -1 12 " metric(n)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters: " }{TEXT -1 39 "\n N - a natural number greater than 1" }}{PARA 0 " " 0 "" {TEXT -1 13 " n - a name" }-}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 84 "The functio n dimension changes the value of the protected global variable Dimensi on." }}{PARA 15 "" 0 "" {TEXT -1 90 "The function coordinate changes t he value of the protected global variable CoordinateName." }}{PARA 15 "" 0 "" {TEXT -1 82 "The function metric changes the value of the prot ected global variable MetricName." }}{PARA 15 "" 0 "" {TEXT -1 202 "Di mension, CoordinateName and MetricName are special global variables. T heir values must be changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0. " > " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "dimension(3);" } }{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R) , Weyl(C), Ricci(R), LeviCivita(eta), TraceFreeRicci(S) for Dimension \+ = 3, CoordinateName = X, MetricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "changesumind" 2 " Riegeom[changesumind]" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "cleartensor " 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printtek"h{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 64 " 3express/$f"g"i"j"p"r"s"t"v"}"~"factor~"far~"field~"file~"find~"firstj"s"t"v"~"follow g"j"q"~"form p"s"formal~"format q"r"~"formula t"~"fourt"free ~" aftp~"functSQf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"}"~" a function/q"r"t"w"x"y"z"{"|"~" agamma?i"k"l"m"n"o"s"w"x"y"z"{"|"}"~"general p"v"~" ageneratf"~" ageneric~"genindex f"~"geometr~"gg~"thod~"metric;5g"k"l"m"n"o"t"w"x"y"z"{"|"~"j"v"~"limits"Pڨs"functriegeomreplacsubstituttensorexpresssreplacsimplifcallsequencexprparametermayhavedummindicnamechristoffelbymetricriemannbychristoffelweylbyriemandescriptsyntaxsamemaplcommandsubsanyoccurrencequivalsimultaneousfirstargumexpectvariablequatsetequationtheirassociatinitialknownsystemshortformallthesavailablriemantracefrericcireffnumbshortformriemannbytracefreericciargsrecurssimptensormaximumcanitselflimitglobalcountdefaultvaluexamplwithdimensgammaalsoabsorbgcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorsymmetrizsymmetrswitchtdiffm"h{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 64 " 9\+ Riegeom[dimension] - changes the default dimension of the space" }} {PARA 0 "" 0 "" {TEXT -1 77 " Riegeom[coordinate] - changes the name of the coordinates" }}{PARA 0 "" 0 "" {TEXT -1 68 " \+ Riegeom[metric] - changes the name of the metric" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 26 17 "Global Variables:" } {TEXT -1 66 " Dimension - holds the default value of the dimension of \+ the space" }}{PARA 0 "" 0 "" {TEXT -1 94 " \+ CoordinateName - holds the default name for the coordinates" }} {PARA 0 "" 0 "" {TEXT -1 85 " Metric Name - holds the default name for the metric" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n dimension(N)" }} {PARA 0 "" 0 "" {TEXT -1 16 " coordinate(n)" }}{PARA 0 "" 0 "" {TEXT -1 12 " metric(n)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters: " }{TEXT -1 39 "\n N - a natural number greater than 1" }}{PARA 0 " " 0 "" {TEXT -1 13 " n - a name" }4}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 84 "The functio n dimension changes the value of the protected global variable Dimensi on." }}{PARA 15 "" 0 "" {TEXT -1 90 "The function coordinate changes t he value of the protected global variable CoordinateName." }}{PARA 15 "" 0 "" {TEXT -1 82 "The function metric changes the value of the prot ected global variable MetricName." }}{PARA 15 "" 0 "" {TEXT -1 202 "Di mension, CoordinateName and MetricName are special global variables. T heir values must be changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 05 " > " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "dimension(3);" } }{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R) , Weyl(C), Ricci(R), LeviCivita(eta), TraceFreeRicci(S) for Dimension \+ = 3, CoordinateName = X, MetricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "changesumind" 2 " Riegeom[changesumind]" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "cleartensor " 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printte7k"functriegeomdimenschangdefaultspaccoordinatnamemetricglobalvariablholdvalucoordinatenammetricnamcallsequencparameternaturalnumbgreatdescriptprotectspecialtheirmustrespectiveotherobjectsuchriemannnamcanreassignstraightforwardexamplwithdefinchristoffelgammariemanweylriccilevicivitaetatracefreericcialsoabsorbgchangesumindcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizsymmetrswitchtdiffnsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lten sor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "norma lform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on ]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printten sor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printte7l"functriegeomdimenschangdefaultspaccoordinatnamemetricglobalvariablholdvalucoordinatenammetricnamcallsequencparameternaturalnumbgreatdescriptprotectspecialtheirmustrespectiveotherobjectsuchriemannnamcanreassignstraightforwardexamplwithdefinchristoffelgammariemanweylriccilevicivitaetatracefreericcialsoabsorbgchangesumindcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizsymmetrswitchtdiffbe changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 10 \+ Riegeom[dimension] - changes the default dimension of the space" }} {PARA 0 "" 0 "" {TEXT -1 77 " Riegeom[coordinate] - changes the name of the coordinates" }}{PARA 0 "" 0 "" {TEXT -1 68 " \+ Riegeom[metric] - changes the name of the metric" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 26 17 "Global Variables:" } {TEXT -1 66 " Dimension - holds the default value of the dimension of \+ the space" }}{PARA 0 "" 0 "" {TEXT -1 94 " \+ CoordinateName - holds the default name for the coordinates" }} {PARA 0 "" 0 "" {TEXT -1 85 " Metric Name - holds the default name for the metric" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n dimension(N)" }} {PARA 0 "" 0 "" {TEXT -1 16 " coordinate(n)" }}{PARA 0 "" 0 "" {TEXT -1 12 " metric(n)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters: " }{TEXT -1 39 "\n N - a natural number greater than 1" }}{PARA 0 " " 0 "" {TEXT -1 13 " n - a name" }:}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 84 "The functio n dimension changes the value of the protected global variable Dimensi on." }}{PARA 15 "" 0 "" {TEXT -1 90 "The function coordinate changes t he value of the protected global variable CoordinateName." }}{PARA 15 "" 0 "" {TEXT -1 82 "The function metric changes the value of the prot ected global variable MetricName." }}{PARA 15 "" 0 "" {TEXT -1 202 "Di mension, CoordinateName and MetricName are special global variables. T heir values must be changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0; " > " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "dimension(3);" } }{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R) , Weyl(C), Ricci(R), LeviCivita(eta), TraceFreeRicci(S) for Dimension \+ = 3, CoordinateName = X, MetricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "changesumind" 2 " Riegeom[changesumind]" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "cleartensor " 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printte<nsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lten sor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "norma lform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on ]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printten sor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printte<m"functriegeomdimenschangdefaultspaccoordinatnamemetricglobalvariablholdvalucoordinatenammetricnamcallsequencparameternaturalnumbgreatdescriptprotectspecialtheirmustrespectiveotherobjectsuchriemannnamcanreassignstraightforwardexamplwithdefinchristoffelgammariemanweylriccilevicivitaetatracefreericcialsoabsorbgchangesumindcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizsymmetrswitchtdiffn"h{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 64 " ?\+ Riegeom[dimension] - changes the default dimension of the space" }} {PARA 0 "" 0 "" {TEXT -1 77 " Riegeom[coordinate] - changes the name of the coordinates" }}{PARA 0 "" 0 "" {TEXT -1 68 " \+ Riegeom[metric] - changes the name of the metric" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 26 17 "Global Variables:" } {TEXT -1 66 " Dimension - holds the default value of the dimension of \+ the space" }}{PARA 0 "" 0 "" {TEXT -1 94 " \+ CoordinateName - holds the default name for the coordinates" }} {PARA 0 "" 0 "" {TEXT -1 85 " Metric Name - holds the default name for the metric" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n dimension(N)" }} {PARA 0 "" 0 "" {TEXT -1 16 " coordinate(n)" }}{PARA 0 "" 0 "" {TEXT -1 12 " metric(n)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters: " }{TEXT -1 39 "\n N - a natural number greater than 1" }}{PARA 0 " " 0 "" {TEXT -1 13 " n - a name" }@}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 84 "The functio n dimension changes the value of the protected global variable Dimensi on." }}{PARA 15 "" 0 "" {TEXT -1 90 "The function coordinate changes t he value of the protected global variable CoordinateName." }}{PARA 15 "" 0 "" {TEXT -1 82 "The function metric changes the value of the prot ected global variable MetricName." }}{PARA 15 "" 0 "" {TEXT -1 202 "Di mension, CoordinateName and MetricName are special global variables. T heir values must be changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0A " > " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "dimension(3);" } }{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R) , Weyl(C), Ricci(R), LeviCivita(eta), TraceFreeRicci(S) for Dimension \+ = 3, CoordinateName = X, MetricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "changesumind" 2 " Riegeom[changesumind]" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "cleartensor " 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printteBnsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lten sor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "norma lform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on ]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printten sor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printteBn"functriegeomdimenschangdefaultspaccoordinatnamemetricglobalvariablholdvalucoordinatenammetricnamcallsequencparameternaturalnumbgreatdescriptprotectspecialtheirmustrespectiveotherobjectsuchriemannnamcanreassignstraightforwardexamplwithdefinchristoffelgammariemanweylriccilevicivitaetatracefreericcialsoabsorbgchangesumindcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizsymmetrswitchtdiffbe changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0Ȏo"h{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 64 " E\+ Riegeom[dimension] - changes the default dimension of the space" }} {PARA 0 "" 0 "" {TEXT -1 77 " Riegeom[coordinate] - changes the name of the coordinates" }}{PARA 0 "" 0 "" {TEXT -1 68 " \+ Riegeom[metric] - changes the name of the metric" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 26 17 "Global Variables:" } {TEXT -1 66 " Dimension - holds the default value of the dimension of \+ the space" }}{PARA 0 "" 0 "" {TEXT -1 94 " \+ CoordinateName - holds the default name for the coordinates" }} {PARA 0 "" 0 "" {TEXT -1 85 " Metric Name - holds the default name for the metric" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 16 "\n dimension(N)" }} {PARA 0 "" 0 "" {TEXT -1 16 " coordinate(n)" }}{PARA 0 "" 0 "" {TEXT -1 12 " metric(n)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters: " }{TEXT -1 39 "\n N - a natural number greater than 1" }}{PARA 0 " " 0 "" {TEXT -1 13 " n - a name" }F}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 84 "The functio n dimension changes the value of the protected global variable Dimensi on." }}{PARA 15 "" 0 "" {TEXT -1 90 "The function coordinate changes t he value of the protected global variable CoordinateName." }}{PARA 15 "" 0 "" {TEXT -1 82 "The function metric changes the value of the prot ected global variable MetricName." }}{PARA 15 "" 0 "" {TEXT -1 202 "Di mension, CoordinateName and MetricName are special global variables. T heir values must be changed by the function dimension, coordinate and \+ metric respectively. The name of the other objects, such as " } {HYPERLNK 17 "RiemannName" 2 "TensorNames" "" }{TEXT -1 39 ", can be r e-assigned straightforwardly." }}{PARA 15 "" 0 "" {TEXT -1 77 "The def ault value of Dimension is 4, CoordinateName is X and MetricName is g. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0G " > " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "dimension(3);" } }{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R) , Weyl(C), Ricci(R), LeviCivita(eta), TraceFreeRicci(S) for Dimension \+ = 3, CoordinateName = X, MetricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "Dimension;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 1 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "changesumind" 2 " Riegeom[changesumind]" "" }{TEXT -1 3 ", " }{HYPERLNK 17 "cleartensor " 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printteHnsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lten sor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "norma lform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on ]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printten sor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } " }{HYPERLNK 17 "expandcod iff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lpte nsor" 2 "Riegeom[printteHo"functriegeomdimenschangdefaultspaccoordinatnamemetricglobalvariablholdvalucoordinatenammetricnamcallsequencparameternaturalnumbgreatdescriptprotectspecialtheirmustrespectiveotherobjectsuchriemannnamcanreassignstraightforwardexamplwithdefinchristoffelgammariemanweylriccilevicivitaetatracefreericcialsoabsorbgchangesumindcleartensorcodiffdefinetensorexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizsymmetrswitchtdiff "simptens or(T[i,-i]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "cleartensor(T[i,j]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "simptensor(T[i,-i]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#*(%\"TG\"\"\")%!G%\"iGF%&F'6#F(F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 3 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom, absorbg" "" }{TEXT -1 1 "," }{TEXT -1 1 " " }{HYPERLNK 17 "codiff" 2 "Ȏp";%{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "2 D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -K1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 65 " \+ Riegeom[normalform] - puts a tensor expression in a normal form." }} {PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 20 "\n \+ normalform(expr)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" } {TEXT -1 30 "\n expr - a tensor expression" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 72 " The function normalform implements the algorithm described in the pape r " }{TEXT 256 31 "Computer Physics Communications" }{TEXT -1 1 " " } {TEXT 260 3 "115" }{TEXT -1 28 " (1998). The definition of " }{TEXT 257 29 "index canonical configuration" }{TEXT -1 315 " and canonical r enaming of dummy indices (step 9) are given the paper. No atempt is do ne Lto present the output ordered with respect to the sum or the produc t of terms, but the position of the indices and the renaming of the du mmy indices takes into account the proper order of the product as desc ribed in the paper." }}{PARA 15 "" 0 "" {TEXT -1 404 "The algorithm de scribed in the paper simplifies tensor expressions of general kind. Th e tensors can have any symmetries. In the present implementation, only the symmetries entered by the definetensor command is allowed. The al lowed symmetries are quite general but does not include cyclic symmetr ies. No automatic simplification of tensor expression obeying linear t ensor identities has been implemented." }}{PARA 15 "" 0 "" {TEXT -1 102 "Normalform returns the dummy indices with canonical names. The ou tput may be unreadable. The function " }{HYPERLNK 17 "simptensor" 2 "R iegeom,simptensor" "" }{TEXT -1 122 " is the proper interface for norm alform. Simpten tries to substitute the canonical names by the names \+ used in the input. " }}}{SECTM 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Ex amples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" } }}{EXCHG {PARA 256 "" 0 "" {TEXT -1 10 "Example 1:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "definetensor(T[i,j,k,l,m,n], asym[1,2,3][4, 5,6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"TG\"\"\")%!G%-i~j~k~l ~m~n~GF&&&%%asymG6%F&\"\"#\"\"$6%\"\"%\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "expr := printtensor(T[-i,-j,i,k,j,-k]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exprG**%\"TG\"\"\"&%!G6#%%i~j~GF')F )%'i~k~j~GF'&F)6#%\"kGF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "normalform(expr);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 256 "" 0 "" {TEXT -1 27 "Example 2: (Riemann tensor)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "expr1 := printtensor(R[a,b,c ,d]*R[e,f,-a,-c]*R[-b,-d,-e,-f]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %&expr1G*0%\"RG\"\"\")%!G%)a~b~c~d~GF'F&F')F)%%e~f~GF'&F)6#%%a~c~GF'F& F'&F)6#%)b~d~e~f~GF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 N61 "exp r2 := printtensor(R[a,b,c,d]*R[e,f,-a,-b]*R[-c,-e,-d,-f]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&expr2G*0%\"RG\"\"\")%!G%)a~b~c~d~GF'F&F') F)%%e~f~GF'&F)6#%%a~b~GF'F&F'&F)6#%)c~e~d~f~GF'" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 "normalform(expr1 - expr2);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 256 "" 0 "" {TEXT -1 10 "Examp le 3:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "Renaming dummy indices w ithin a tensor." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "normalfo rm(A[i,j,-i,k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#**%\"AG\"\"\")%!G% ,_A_4_1_3~j~GF%&F'6#%)_A_4_1_3GF%)F'%\"kGF%" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 38 "Renaming involving product of tensors." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "normalform(A[i,a,k,b]*B[-k,-c,-i,-d ]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#**%\"AG\"\"\")%!G%?_A_4_1_B_4_3 ~a~_A_4_3_B_4_1~b~GF%%\"BGF%&F'6#%?_A_4_3_B_4_1~c~_A_4_1_B_4_3~d~GF%" }}}{EXCHG {PARA 256 "" 0 "" {TEXT -1 10 "Example 4:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "ExaOmple involving indices of classes " }{TEXT 258 1 "A" }{TEXT -1 5 " and " }{TEXT 259 1 "F" }{TEXT -1 1 "." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "definetensor(S[i,j,k,l,m,n], sym);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"SG\"\"\")%!G%-i~j~k~l ~m~n~GF&%$symG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "expr := p rinttensor(S[-i,d,i,c,-b,-a]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%e xprG**%\"SG\"\"\"&%!G6#%\"iGF')F)%'d~i~c~GF'&F)6#%%b~a~GF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "normalform(expr);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"SG\"\"\")%!G%.c~d~_S_6_3_4~GF%&F'6#%._S_6_3_4~a ~b~GF%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "Example involving indic es of classes " }{XPPEDIT 18 0 "S[I];" "6#&%\"SG6#%\"IG" }{TEXT -1 1 " ." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "expr := printtensor(R[ k,l]*R[j,i]*R[-k,-i,-j,-l]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exp rG*.%\"RG\"\"\")%!G%%k~l~GF'F&F')F)%%j~i~GF'F&F'&F)6#%)k~i~j~l~GF'" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "normalform(expPr);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,$*.%\"RG\"\"\")%!G%;_R_2_1_R_4_1~_R_2_2_R_4 _3~GF&F%F&)F(%;_R_2_1_R_4_2~_R_2_2_R_4_4~GF&F%F&&F(6#%U_R_2_1_R_4_1~_R _2_1_R_4_2~_R_2_2_R_4_3~_R_2_2_R_4_4~GF&!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "Example involving indices of class " }{XPPEDIT 18 0 "S [II];" "6#&%\"SG6#%#IIG" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "expr := printtensor(A[l,k]*Z[j,i]*R[-k,-i,-j,-l]);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exprG*.%\"AG\"\"\")%!G%%l~k~GF'%\" ZGF')F)%%j~i~GF'%\"RGF'&F)6#%)k~i~j~l~GF'" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 17 "normalform(expr);" }}{PARA 12 "" 1 "" {XPPMATH 20 " 6#,$*.%\"RG\"\"\")%!G%U_R_4_1_A_2_1~_R_4_2_Z_2_1~_R_4_3_A_2_2~_R_4_4_Z _2_2~GF&%\"AGF&&F(6#%;_R_4_1_A_2_1~_R_4_3_A_2_2~GF&%\"ZGF&&F(6#%;_R_4_ 2_Z_2_1~_R_4_4_Z_2_2~GF&!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 " Example involving indices of class " }{XPPEDIT 18 0 "B;" "6#%\"BG" } {TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "definetens or(B[i,j,k,l], sQym[1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"BG \"\"\")%!G%)i~j~k~l~GF&&%$symG6$F&\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "normalform(B[j,i,-i,-j]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"BG\"\"\")%!G%3_B_4_1_3~_B_4_2_4~GF%&F'6#F(F%" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "Example involving indices of class " }{XPPEDIT 18 0 "C;" "6#%\"CG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "F ;" "6#%\"FG" }{TEXT -1 1 "." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "definetensor(C[i,j,k,l,m,n], sym[1,2][5,6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"CG\"\"\")%!G%-i~j~k~l~m~n~GF&&&%$symG6$F&\"\"#6$ \"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "expr := print tensor(C[-i,-a,a,b,-b,k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exprG *,%\"CG\"\"\"&%!G6#%%i~a~GF')F)%%a~b~GF'&F)6#%\"bGF')F)%\"kGF'" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "normalform(expr);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"CG\"\"\")%!G%5_C_6_1_4~k~_C_6_3_6~GF%&F '6#%5_C_6_1_4~i~_C_6_3_6~GF%" }}}{EXCHG {PARA 0 "> " 0 "R" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 4 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 1 "," }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "p rinttensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sr eplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "simpten sor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmet rize" 2 "Riegeom[symSmetrize]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symme try" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "switches " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom [tdiff]" "" }{TEXT -1 1 " " }}}} -1 2 " , " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 1 "," }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "p rinttensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sr eplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "simpten sor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmet rize" 2 "Riegeom[symSinfluencg"informat~"inhibit t"~"initial s" a initializat~"inputp" installat~"insteadv"instruct~"integ a interchang j"v"interfac p"~"internalf"q"~"interval aintoi"p"}"introduc~" invariant~"involv j"p"t"v"~"itselfs"iv~"join j"v"keyword j"v"kind p"~"know~"knowns"last~"latex~"let~"lett~"level~" levicivita7k"l"m"n"o"t"w"x"y"z"{"|"~" levicivitanam w"x"y"z"{"|"lhs~"libnam ~" likej"v"~"limits"Pڨrequir ~" arespect i"p"v"}"~" respective3 k"l"m"n"o"w"x"y"z"{"|"~"restart~"result g"t"v"~"returnp"v"~"rhs~"ricci7k"l"m"n"o"s"w"x"y"z"{"|"~"riccinam w"x"y"z"{"|"ricciscalarnam w"x"y"z"{"|"riegeomgUf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"riemanG!j"k"l"m"n"o"p"s"t"v"w"x"y"z"{"|"~" riemannbychristoffel s"~"riemannbytracefreericcis" riemannian~" riemannnam3k"l"m"n"o"w"x"y"z"{"|"~"rrj"rule i"}"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨ~" helpriegeompackagmaplsimplifytensorexpressusinguserdefinbuiltrealmriemanniangeometrtreatformalindexobjectcannothavevalutheycanmanykindsymmetrlikesymmetricantisymmetricanynumbindicundergrouppermutatcohercombinatthoscyclicimplementwithlimitatdescriptfunctiongeneraldefinetensorassignallowtaskmustacomplishreplacsreplacchangedumindchangnamedummnewgeneratinternalfunctgenindexcrucialnoconflictoldsincusedsymmetrizexprreturnsymbolicsymmetrizatallrespectgivencommandresultmathematicalequivaloriginalexceptdisplaytdiffrepresentpartialderivatcoordinatcodiffcovariantexpandcodiffexpandtermchristoffelsymbolabsorbgraislowercontractmetricautomaticalcallsimptensornormalformalgorithmdescribreferencatenddefinitcanonicalconfiguratrenamstepstatexecutmostimportantpartsimplificatprocedurotherneedformatsuchoutputalmostunreadabloptionnocyclicsubstitutleveloccurrenccontravariantonlysamepredefinit p"~"degre~"denotj"densit a densityplot adepend t"~" aderivati"}"~" describ p"~"descriptkf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~" adg~"diff adiffalia~"differ~" differenc~" differentiati"}"~"dimensCff"g"k"l"m"n"o"s"t"w"x"y"z"{"|"~" dimensionalq"r"~"report~"represw"x"y"z"{"|" representi"}"~""o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"Pڨq"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "Dash \+ Item" 0 16 1 {CSTYLE "" -1 -1 "" 0 1 0 0 149 0 0 0 0 0 Y0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 16 3 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 31 " \+ Riegeom[on] - turn on a switch" }}{PARA 0 "" 0 "" {TEXT -1 51 " \+ Riegeom[off] - turn off a switch" }}{PARA 0 "" 0 "" {TEXT -1 70 " Riegeom[switches] - show the status of the s witches" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }} {PARA 0 "" 0 "" {TEXT -1 8 " on(x)" }}{PARA 0 "" 0 "" {TEXT -1 9 " \+ off(x)" }}{PARA 0 "" 0 "" {TEXT -1 14 " switches( )" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 12 "\n x - name" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 " " {TEXT -1 75 "The calling on(x) turns on the switch x and off(x) turn s off the switch x. " }}{PARA 15 "" 0 "" {TEXT -1 91 "The functions on and off do not affect the way the tensor components are stored intern ally." }}{PARA 15 "" 0 "" {TEXT -1 69 "x must be one of the following \+ names: ltensor, lptensor, printtensor." }}{PARA 15Z "" 0 "" {TEXT -1 79 "The call switches( ) shows the status of the switches. The list of switches is:" }}{PARA 16 "" 0 "" {TEXT -1 59 "ltensor: (default off) \+ prints tensors as indexed variables." }}{PARA 16 "" 0 "" {TEXT -1 57 " lptensor: (off) prints tensors in one-dimensional format." }}{PARA 16 "" 0 "" {TEXT -1 98 "printtensor: (on) prints indices in upper or lowe r position (contravariant=up and covariant=down)." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "expr := A[j,-k] + g[j,m]*T[-m,-k];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%exprG,&&%\"AG6$%\"jG,$%\"kG!\"\"\"\"\"*&&%\"gG6$F)% \"mGF-&%\"TG6$,$F2F,F*F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "printtensor(expr);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*(%\"AG\" \"\")%!G%\"jGF&&F(6#%\"kGF&F&*.%\"gGF&)F(F)F&)F(%\"mGF&%\"TGF&&F(6#F1F &&F(F+F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "on(ltensor); " }}}{EXCHG {PARA 0 ["> " 0 "" {MPLTEXT 1 0 18 "printtensor(expr);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,&&%\"AG6$%\"jG,$%\"kG!\"\"\"\"\"*&&% \"gG6$F'%\"mGF+&%\"TG6$,$F0F*F(F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "on(lptensor);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "printtensor(expr);" }}{PARA 6 "" 1 "" {TEXT -1 23 "A[j,-k]+g[j ,m]*T[-m,-k]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "on(printten sor);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "printtensor(expr); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*(%\"AG\"\"\")%!G%\"jGF&&F(6#%\" kGF&F&*.%\"gGF&)F(F)F&)F(%\"mGF&%\"TGF&&F(6#F1F&&F(F+F&F&" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 3 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cl eartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "define tensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "e xpandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 "\, " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} or" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "define tensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "e xpandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 "\{"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylNar"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 77 0 208 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1_ 67 " \+ Riegeom[printtensor] - print the tensors in bi-dimensional format" }} {PARA 0 "" 0 "" {TEXT -1 98 " Riegeom[ltensor] - pr int the tensors as indexed variables (usual Maple format)" }}{PARA 0 " " 0 "" {TEXT -1 83 " Riegeom[lptensor] - print the \+ tensors in one-dimensional format" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 21 "\n printtensor(expr)" }}{PARA 0 " " 0 "" {TEXT -1 16 " ltensor(expr)" }}{PARA 0 "" 0 "" {TEXT -1 17 " \+ lptensor(expr)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 24 "\n expr - an expression" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 152 "The functi on printtensor prints the contravariant indices (positive ones) in upp er position and the covariant indices (negative ones) in lower positio n." }}{PARA 15 "" 0 "" {TEXT -1 108 "The function ltensor prints the o utput in the Maple usual way. The tensors are printed as indexed varia bles." }}{PARA 1`5 "" 0 "" {TEXT -1 77 "The function lptensor prints in the same format of the Maple lprint function." }}{PARA 15 "" 0 "" {TEXT -1 129 "The functions on and off change the format of the output . The names printtensor, ltensor and lptensor can be used as argument \+ of " }{HYPERLNK 17 "on" 2 "on" "" }{TEXT -1 4 " or " }{HYPERLNK 17 "of f" 2 "off" "" }{TEXT -1 1 "." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "wit h(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "printtensor( T[i,j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#**%\"TG\"\"\")%!G%\"iGF %)F'%\"jGF%&F'6#%\"kGF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " printtensor(A[i,-j,-k]+g[i,l]*B[-l,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"AG\"\"\")%!G%\"iGF&&F(6#%\"jGF&&F(6#%\"kGF&F&*0% \"gGF&)F(F)F&)F(%\"lGF&%\"BGF&&F(6#F4F&&F(F+F&&F(F.F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "ltensor(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&&%\"AG6%%\"iG,$%\"jG!\"\",$%\"kGF*\"\"\"*&&a%\"gG6$F'% \"lGF-&%\"BG6%,$F2F*F(F+F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "lptensor(%);" }}{PARA 6 "" 1 "" {TEXT -1 29 "A[i,-j,-k]+g[i,l]*B [-l,-j,-k]" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 3 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sr eplace" 2 "Riegeom,replbace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "simpten sor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmet rize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symme try" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "switches " 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom [tdiff]" "" }{TEXT -1 1 " " }}}} 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sr eplace" 2 "Riegeom,replb{"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiffunassignj"undefin h"~"underj"v"~"underly t"~"unix~" unreadabl p"~"until i"}"upq"t"~"upper q"r"us~"use j"t"v"~"used+ p"r"w"x"y"z"{"|"~" auser~"usest"using j"v"~" usual r"~"valuG2i"k"l"m"n"o"s"t"w"x"y"z"{"|"}"~" avanish~"variablS>g"i"j"k"l"m"n"o"q"r"s"w"x"y"z"{"|"}"~" avector~"binat~"command#i"j"p"s"v"}"~" a communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"x"y"z"{"|"}"~"s"Pڨ 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 54 " \+ Riegeom[replace] - substitute tensors in a expression" }}{PARA 0 "" 0 "" {TEXT -1 86 " Riegeom[sreplace] - substitute tens ors in a expression and simplify" }}{PARA 0 "" 0 "usage" {TEXT 26 17 " Calling Sequence:" }{TEXT -1 27 "\n replace( T=expr1, expr)" }} {PARA 0 "" 0 "" {TEXT -1 45 " replace( \{T1=expr1, T2=expr2, ... \}, expr)" }}{PARA 0 "" 0 "" {TEXT -1 20 " replace( n, expr)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 49 "\n T - a t ensor (may have dummy indices)" }}{PARA 0 "" 0 "" {TEXT -1 85 " n \+ - a name (ChristoffelByMetric, RiemannByChristoffel, WeylByRiema nn, ...)" }}{PARA 0 "" 0 "" {TEXT -1 30 " expr_i - tensor expression s" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }} {PARA 15 "" 0 "" {TEXT -1 64 "The syntax of replafce is the same of the Maple command ``subs''." }}{PARA 15 "" 0 "" {TEXT -1 95 "The call rep lace( T=expr1, expr) replaces any occurrence of T (or equivalent) by e xpr1 in expr." }}{PARA 15 "" 0 "" {TEXT -1 118 "The call replace( \{T1 =expr1, T2=expr2, ... \}, expr) simultaneously replaces T1, T2, ... by expr1, expr2, ... in expr. " }}{PARA 15 "" 0 "" {TEXT -1 231 "If the \+ first argument is the name ``NAME'', the command replace expects that \+ the variable `Riegeom/NAME` is a tensor equation or a set of tensor eq uations. The names and their associated equations initially known by t he system are:" }}{EXCHG {PARA 12 "" 1 "" {XPPMATH 20 "6#/%5DMetricByC hristoffelG<$/*(%\"gG\"\"\")%!G%'_i~_m~GF)&F+6#%&,~_l~GF),&*,%&GammaGF ))F+%#_mGF)&F+6#%'_k~_l~GF)F(F))F+%'_i~_k~GF)!\"\"*,F2F))F+%#_iGF)&F+6 #F7F)F(F))F+%'_m~_k~GF)F:/*&F(F)&F+6#%,_i~_k~,~_j~GF),&*&F2F)&F+6#%*_k ~_i~_j~GF)F)*&F2F)&F+6#%*_i~_k~_j~GF)F)" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/%4ChristoffelByMetricG/*(%&GammaG\"\"\")%!G%#_iGF(&F*6#%'_j~_k~ GgF(,$*(%\"gGF()F*%'_i~_m~GF(,(*&F1F(&F*6#%,_m~_j~,~_k~GF(F(*&F1F(&F*6# %,_m~_k~,~_j~GF(F(*&F1F(&F*6#%,_j~_k~,~_m~GF(!\"\"F(#F(\"\"#" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/%5RiemannByChristoffelG/*(%\"RG\"\"\")%!G%# _iGF(&F*6#%*_j~_k~_l~GF(,**(%&GammaGF()F*F+F(&F*6#%,_j~_l~,~_k~GF(F(*( F1F()F*F+F(&F*6#%,_j~_k~,~_l~GF(!\"\"*.F1F()F*F+F(&F*6#%'_m~_k~GF(F1F( )F*%#_mGF(&F*6#%'_j~_l~GF(F(*.F1F()F*F+F(&F*6#%'_m~_l~GF(F1F()F*FBF(&F *6#%'_j~_k~GF(F;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/%3RicciByChristof felG/*&%\"RG\"\"\"&%!G6#%'_j~_l~GF(,**(%&GammaGF()F*%#_iGF(&F*6#%,_j~_ l~,~_i~GF(F(*(F/F()F*F1F(&F*6#%,_j~_i~,~_l~GF(!\"\"*.F/F()F*F1F(&F*6#% '_m~_i~GF(F/F()F*%#_mGF(&F*6#F,F(F(*.F/F()F*F1F(&F*6#%'_m~_l~GF(F/F()F *FAF(&F*6#%'_j~_i~GF(F:" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/%9RicciSca larByChristoffelG/%\"RG*(%\"gG\"\"\")%!G%'_j~_l~GF),**(%&GammaGF))F+%# _iGF)&F+6#%,_j~_l~,~_i~GF)F)*(F/F))F+F1F)&F+6#%,_j~_i~,~_l~GF)!\"\"*.F /F))F+F1F)&F+6#%'_m~_i~GF)F/F))F+%#_mGF)&F+6#F,F)F)*.F/F))F+F1F)&F+6#% '_m~_l~GF)F/F))F+FAF)&F+6#%h'_j~_i~GF)F:F)" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/%.WeylByRiemannG/*&%\"CG\"\"\")%!G%-_i~_j~_k~_l~GF(,(* &%\"RGF()F*F+F(F(*&,***%\"gGF()F*%'_i~_k~GF(F.F()F*%'_j~_l~GF(F(**F3F( )F*%'_i~_l~GF(F.F()F*%'_j~_k~GF(!\"\"**F3F()F*F7F(F.F()F*F5F(F(**F3F() F*F " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "replace(V[i]=a*W[i]+b*Y[i], V[-j]); " }}{PARA 11 "" 1 j"" {XPPMATH 20 "6#,&*(%\"WG\"\"\"&%!G6#%\"jGF&%\"aGF &F&*(%\"YGF&&F(6#F*F&%\"bGF&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "Dimension:=4;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*DimensionG \"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 76 "replace(\{K[i,-j] \+ = T[i,-j]-1/2*g[i,-j]*T[a,-a]\}, K[i,j]-1/2*g[i,j]*K[a,-a]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,(*&%\"TG\"\"\")%!G%%i~j~GF&F&*,%\"gGF&)F(%% j~i~GF&F%F&)F(%$_h0GF&&F(6#F/F&#!\"\"\"\"#*(F+F&)F(F)F&,&*(F%F&)F(%$_j 0GF&&F(6#F:F&F&*(F%F&)F(%$_k0GF&&F(6#F?F&!\"#F&F2" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 77 "sreplace(\{K[i,-j] = T[i,-j]-1/2*g[i,-j]*T[a ,-a]\}, K[i,j]-1/2*g[i,j]*K[a,-a]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #*&%\"TG\"\"\")%!G%%i~j~GF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "replace(ChristoffelByMetric, Gamma[i,-j,-k]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,(**%\"gG\"\"\")%!G%'i~_s0~GF&F%F&&F(6#%+j~_s0~,~k~GF&# F&\"\"#**F%\"\"\"F'F0F%F&&F(6#%+k~_s0~,~j~GF&F-**F%F0F'F0F%F&&F(6#%+j~ k~,~_s0~GF&#!\"\"F." }}}{EXCHG {PARA 0 "> "k 0 "" {MPLTEXT 1 0 45 "repl ace(RiemannByChristoffel, R[i,-j,-k,-l]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,**(%&GammaG\"\"\")%!G%\"iGF&&F(6#%)j~l~,~k~GF&F&*(F%F& )F(F)F&&F(6#%)j~k~,~l~GF&!\"\"*.F%F&)F(F)F&&F(6#%'k~_u0~GF&F%F&)F(%$_u 0GF&&F(6#%%j~l~GF&F&*.F%F&)F(F)F&&F(6#%'l~_u0~GF&F%F&)F(F9F&&F(6#%%j~k ~GF&F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "sreplace(WeylByRi emann, C[a,b,c,-a]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 3 " " }{HYPERLNK 17 "absorbg" 2 " Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Ri egeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Rieg eom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riege om[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 " Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 " Riegeom[prilnttensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Rie geom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize] " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} " }{HYPERLNK 17 "definetensor" 2 "Riege om[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 " Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 " Riegeom[prily"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiffpositionqueensu representUrule simptensorVsymbvtmtypedvector z8zlyxP}l|`|kdk.> " 0 "" {MPLTEXT 1 0 21 "sym metry(A[i,j,k,l]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#3&%$symG6$\"\"\" \"\"#&F$6$\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See also:" }{TEXT -1 3 " " } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "codiff" 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replacq"functriegeomturnswitchoffshowstatucallsequencparameternamedescriptfunctiondoaffectwaytensorcomponentstorinternalmustfollowltensorlptensorprinttensorlistdefaultprintindexvariabldimensionalformatindicupperlowerpositcontravariantupcovariantdownexamplwithexpralsoabsorbgcleartensorcodiffdefinetensorexpandcodiffnormalformreplacsreplacsimptensorsymmetrizsymmetrtdiffr"functriegeomprinttensorprinttensorbidimensionalformatltensorindexvariablusualmapllptensorcallsequencexprparameterexpressdescriptcontravariantindicpositonesuppercovariantnegatloweroutputwaysamelprintfunctionoffchangnamecanusedargumexamplwithalsoabsorbgcleartensorcodiffdefinetensorexpandcodiffnormalformreplacsreplacsimptensorsymmetrizsymmetrswitchtdiffz"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiffgeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "RieqARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "RieqPARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {Prme" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{s%{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 253 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "Couri er" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 257 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 258 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 259 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 } {CSTYLE "" -1 260 "" 1 12 0 0 64 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "Fixed termi"p"}"~"their7k"l"m"n"o"s"w"x"y"z"{"|"~"thes' s"v"w"x"y"z"{"|"~"theyw"x"y"z"{"|"~"third~"thos~"time# w"x"y"z"{"|"~" atmap~"topic~"totalj"tracefres"tracefreericcik"l"m"n"o"~"tracefreericcinam w"x"y"z"{"|"treat~"trie p"t"trivial~"true~"trunc atry~"turn q"~"type h"~"iffg+f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"PڨsymmetrgTf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u" v"w"x"y"z"{"|"}"~" symmetricj"v"~" symmetrizg*f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v" w"x"y"z"{"|"}"~" symmetrizat v"~"syntax s"~"systemj"s"v"takep"task j"~"tdiffgf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"tensorSf"g"h"i"j" p" q"r"s" t"u"v"w"x"y"z"{"|"}"~"*}"~" communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"l"m"n"o"t"w"y"z"{"|"~"s"geom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "RiexARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "RiexPARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {Pyme" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{zy"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylNa{ changedumind~d dimension dependent relations). The call simp tensor(expr,'noddr') inhibits the use of dimension dependent relations (but applies cyclic relations)." }}{PARA 15 "" 0 "" {TEXT -1 14 "The \+ functions " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 73 " and simpLC are employed by simptensor at first place before simpl ifying." }}{PARA 15 "" 0 "" {TEXT -1 41 "The function simpLC replaces \+ products of " }{HYPERLNK 17 "LeviCivita" 2 "Riegeom,TensorNames" "" } {TEXT -1 175 " tensors (contracted or not) by an expression involving \+ only metric tensors. The result depends on the actual value of Dimensi on. For Dimension=2, the substitution formula is:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/*.%$etaG\"\"\")%!G%\"aGF&)F(%\"bGF&F%F&&F(6#%\"iGF&&F( 6#%\"jGF&,$-%$detG6#-%'matrixG6#7$7$*(%\"gGF&)F(F)F&&F(F-F&*(F " 0 "" {MPLTEXT 1 0 14 "christoffelnamew"{" cleartensorh"codiffi"}" coordinateo"coordinatename k"l"m" definetensorj" dimensionk"expand}"levicivitanamew"{"lptensorr"ltensorr"metrico" metricnamek"l" normalformp"offq"onq" printtensorr"replaces" riccinamew"{"ricciscalarnamew"{"riegeom~" riemannname w"y"{"simplct" simptensort"sreplaces"switchesq" symmetrizev"symmetryu" tensornames w"x"{"tensors w"y"{"tracefreericcinamew"{"weylname w"z"{"geom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "RieCoordinateNamen" Dimensionl" LeviCivita|" MetricNamem"Riegeom~"Riegeom,TensorNamesx"Riegeom,WeylName{"Riegeom,absorbgg"Riegeom,changedumindf"Riegeom,cleartensorh"Riegeom,codiffi"Riegeom,definetensorj"Riegeom,dimensionk"Riegeom,expandcodiff}"Riegeom,metrico"Riegeom,normalformp" Riegeom,onq"Riegeom,printtensorr"Riegeom,replaces"Riegeom,simptensort"Riegeom,symmetrizev"Riegeom,symmetryu" RiemannNamez" TensorNamesw"absorbgg" animate_ic a changedumindf"P֠x"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylName" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{PARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riez"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylNatw"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylName" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{PARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riev"functriegeomsymmetriztensorcallsequencexprparameterexpresssymmetrdescriptreturnsymbolicsymmetrizatallwithrespectgivencommanddefinetensorresultmathematicalequivaloriginalgeneralallowsymasymsymbvtcyclicriemannoindicspecifiapplusesquarbracketspecifhaveexamplmeanovernotatinvolvgroupantisymmetricunderinterchangfirstpairsecondpossibljoinusingkeywordmustcohercompletsystemmakesomeatemptincompletentrpointoutcancelsymmetricbivectorcaneithpositionnamelikethespossibilitindexinsteaddummpredefinalsoabsorbgcleartensorcodiffexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorswitchtdiffxP}l|`|kdk. "Riegeom[ printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[p rinttensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom [normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} 2 "Riegeom[define tensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[e xpandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2&\"\"#**F%F&&F(F+F&)F(F)F&)F(F-F&#!\"\"F/ " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 54 "Symmetrization of tensors wit h pre-defined symmetries." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "definetensor(A[i,j,k,l,m], asym[1,2][3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*.%\"AG\"\"\")%!G%\"iGF%)F'%\"jGF%)F'%\"kGF%)F'%\"lGF%) F'%\"mGF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "symmetrize(A[i ,j,k,-l,m]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*.%\"AG\"\"\")%!G%\" iGF&)F(%\"jGF&)F(%\"kGF&&F(6#%\"lGF&)F(%\"mGF&#F&\"\"#*.F%F&)F(F-F&&F( F/F&)F(F)F&)F(F+F&)F(F2F&#!\"\"F4" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,a bsorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Riegeom[cle artensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riegeom[codif f]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeom[define tensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[e xpandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2*,% \"TG\"\"\")%!G%\"iGF&)F(%\"jGF&&F(6#%\"kGF&)F(%\"lGF&#F&\"\"%*,F%F&)F( F+F&)F(F)F&&F(F-F&)F(F0F&F1*,F%F&)F(F)F&)F(F+F&)F(F0F&&F(F-F&F1*,F%F&) F(F+F&)F(F)F&)F(F0F&&F(F-F&F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 " Symmetrization with index names instead of index positions." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "symmetrize(T[-a,b,c]+S[-a,c, b], sym[a,c]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,***%\"TG\"\"\"&%!G 6#%\"aGF&)F(%\"bGF&)F(%\"cGF&#F&\"\"#**%\"SGF&&F(F)F&)F(F.F&)F(F,F&F/* *F%F&)F(F.F&)F(F,F&&F(F)F&F/**F2F&)F(F.F&&F(F)F&)F(F,F&F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "symmetrize(T[i,j,-k,l], sym[i,j][k, l]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*,%\"TG\"\"\")%!G%\"iGF&)F(% \"jGF&&F(6#%\"kGF&)F(%\"lGF&#F&\"\"#*,F%F&&F(F-F&)F(F0F&)F(F)F&)F(F+F& F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "Symmetrization with dummy i ndices." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "symmetrize(A[i,- i,j],asym[1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"AG\"\"\")%! G%\"iGF&&F(6#F)F&)F(%\"jGF&#F3 "The symmetry " }{TEXT 261 6 "symbvt" } {TEXT -1 46 " (symmetric bivector-tensor) is equivalent to " }{TEXT 260 41 "asym[1,2] and asym[3,4] and sym[1,2][3,4]" }{TEXT -1 2 ". " }} {PARA 15 "" 0 "" {TEXT -1 167 "The symmetry can specify either the pos itions of the indices or the names of the indices, like sym[1,2] or sy m[i,j]. These possibilities are not equivalent in general." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "symmetrize(T[i,j], asym);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*(%\"TG\"\"\")%!G%\"iGF&)F(%\"jGF&#F&\"\"#*(F%F&)F(F+ F&)F(F)F&#!\"\"F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "symmet rize(T[a,b,c], sym[2,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"TG \"\"\")%!G%\"aGF&)F(%\"bGF&)F(%\"cGF&#F&\"\"#**F%F&)F(F)F&)F(F-F&)F(F+ F&F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "symmetrize(T[i,j,-k ,l], sym[1,2] and sym[3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,*to the original expression." }}{PARA 15 "" 0 "" {TEXT -1 262 "The \+ allowed symmetries are sym, asym, symbvt, cyclic, and Riemann. If no i ndices are specified, the symmetry applies to all indices. Use square \+ bracket to specify the indices that have symmetries. For example, sym[ i,j,...] means that the tensor has the symmetry " }{TEXT 258 3 "sym" } {TEXT -1 18 " over the indices " }{TEXT 259 7 "i,j,..." }{TEXT -1 220 ". Use the notation sym[i,j,...][k,l,...] ... for symmetries involvin g group of indices. For example, asym[1,2][3,4] means that the tensor \+ is antisymmetric under interchange of the first pair of indices with t he second. " }}{PARA 15 "" 0 "" {TEXT -1 52 "It is possible to join sy mmetries using the keyword " }{TEXT 256 3 "and" }{TEXT -1 23 ". The sy mmetries using " }{TEXT 257 3 "and" }{TEXT -1 152 " must be coherent a nd complete. The system makes some atempt to complete incomplete symme try entries and to point out symmetries that cancel the tensor." }} {PARA 15 "" 0 "" {TEXT -1 13 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 41 " \+ Riegeom[symmetrize] - symmetrize tensors" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 20 "\n symmetrize(expr)" } }{PARA 0 "" 0 "" {TEXT -1 22 " symmetrize(expr, s)" }}{PARA 0 "" 0 " " {TEXT 26 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 29 " expr - a tensor expression" }}{PARA 0 "" 0 "" {TEXT -1 23 " s - a symm etry" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }} {PARA 15 "" 0 "" {TEXT -1 137 "The call symmetrize(expr) returns the s ymbolic symmetrization of all tensors in expr with respect to the symm etries given by the command " }{HYPERLNK 17 "definetensor" 2 "Riegeom[ definetensor]" "" }{TEXT -1 69 ". The result is mathematically equival ent to the original expression." }}{PARA 15 "" 0 "" {TEXT -1 175 "The \+ call symmetrize(expr, s) returns the symbolic symmetrization of expr w ith respect to the symmetry 's'. In general, the result is not equival ent {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor " 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor " 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalfo rm" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor] " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } HYPERLNK 17 "definetensor" 2 "Ri egeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }"> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "definetensor(T[i,j,k,l], sym[1,2] and asym[3,4]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$*,%\"TG\"\"\")%!G%\"iGF&)F(%\"jGF&)F (%\"kGF&)F(%\"lGF&3&%$symG6$F&\"\"#&%%asymG6$\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "simptensor(T[i,j,k,l]*R[-i,-k,-j,-l ]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "simpLC(eta[i,j,k,l]*eta[-a,-j,-k,-l]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*(%\"gG\"\"\")%!G%\"iGF&&F(6#%\"aGF&!\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "R iegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Ri egeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }v"E{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "M aple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 changesumindk"l"m"n"o"chosen a christoffel;i"k"l"m"n"o"w"x"y"z"{"|"}"~"christoffelbymetric s"~"christoffelnam#i"w"x"y"z"{"|"}"clasp"classp"clear~" cleartensorgf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"codiffgKf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~" coefficient acoherj"v"~"collect~"color acombinat~"command#i"j"p"s"v"}"~" a communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"x"y"z"{"|"}"~"s"Pڨcondit a configurat p"~"conflict~"contain ~" acontractg"t"~" contravariantj"q"r"~"controllf"convert i"}" coordinat;2i"k"l"m"n"o"w"x"y"z"{"|"}"~" coordinatenam;/i"k"l"m"n"o"w"x"y"z"{"|"}"~" coordindic~"copy~"correct~"cos acoud~"counts" covarianti"j"q"r"}"~" creati"t"}"~"crucial~"cyclicj"p"t"v"~" defaultK3g"i"k"l"m"n"o"q"s"w"x"y"z"{"|"}"~" adefin#j"k"l"m"n"o"v"~" definetensorg1f"g"h"i"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨabov~"absorbgg f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"accountp"achiev~" acomplish~"actual t"~"add~"address~"advisabl~"affect q"~"after~"again~" algorithmp"t"~"all#f"g"j"s"t"v"~" aallowj"p"v"~"almost~"alsogf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}" aw"x"y"z"{"|" representi"}"~""j"p"s"v"}"~" a communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"x"y"z"{"|"}"~"s"Pڨenter p"~"entr j"v"environm~"eq~"eqn aequalw"x"y"z"{"|"equat s"~"equations"~" aequival j"s"v"~"error~" establish~"eta7k"l"m"n"o"t"w"x"y"z"{"|"~"evalf aever~"examplk4f"g"h"i"j"k"l"m"n"o"p" q"r"s"t"u"v"w"x"y"z"{"|"}"~" aexcept# j"w"x"y"z"{"|"~"execut~"expg"expandi"}"~" expandcodiffg+f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"Pڨlimitat~"line~"linearp"link~"list' q"w"x"y"z"{"|"~" aload w"x"y"z"{"|"~"lowerg"q"r"~"lprint r"~"lptensorg$f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"ltensorg%f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"machin~"macro~"main amaintaint"makej"v"~"many~"mapl r"s"~" mapleinit~" mathematical v"~"maximums"mayi"p"s"}"mean j"v"messag~"method~"metric;5g"k"l"m"n"o"t"w"x"y"z"{"|"~"j"v"~"limits"Pڨgive~"givenp"u"v"~"global;*g"k"l"m"n"o"s"w"x"y"z"{"|"~"good agreatk"l"m"n"o"groupj"v"~"hand~"hard~"have#g"i"j"p"s"v"}"~" having i"}"hdb~"help w"x"y"z"{"|"~"here ~" ahint~"holdk"l"m"n"o"home~"html~"http~"ic aidentit p"~" implement p"~" implementatp" important~"includp" incomplet j"v"increas aindepend~"index#i"j"p"q"r"v"}"~"indicO>f"g"h"i"j" p" q"r"s"t"v" w"x"y"z"{"|"}"~" "z"{"|"}"~"s"Pڨsamer"s"t"~"save~"scalarw"x"y"z"{"|"secondj"v"~"seen~"sequencOf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"}" asess~"sets"setup~"shorts" shortforms"show q"~"side~"similar~"simplc t"~"simplest~"simplifp"s"t"~" simplificat p"~"simpliflt"simplify t"~"simptenp" simptensorg>f"g"h"i"j"k"l"m"n"o"p"q"r"s"t" u"v"w"x"y"z"{"|"}"~"y"z"{"|"}"~" adefin#j"k"l"m"n"o"v"~" definetensorg1f"g"h"i"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨ" }{TEXT -1 20 "\n simptensor(expr)" }}{PARA 0 "" 0 "" {TEXT -1 24 " simptensor(expr, opt)" }}{PARA 0 "" 0 "" {TEXT -1 15 " simpLC(expr)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 28 "\n expr - tensor expression" }}{PARA 0 "" 0 "" {TEXT -1 30 " \+ opt - 'nocyclic', 'noddr'" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 218 "The functi on simptensor uses the algorithm underlying normalform function to sim plify tensor expressions. It tries to maintain the same names for the \+ dummy indices. If it is not possible, new dummy indices are created." }}{PARA 15 "" 0 "" {TEXT -1 275 "If there are Riemann of Weyl tensors, simptensor automatically employs cyclic and dimension depend relation s. Cyclic relations are applied for all dimensions up to products of f our Riemann (Weyl) tensors. Dimension depend relations are applied onl y in dimensions 2, 3, and 4." }}{PARA 15 "" 0 "" {TEXT -1 249 "The cal l simptensor(expr, 'nocyclic') inhibits tt"\{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 53 " \+ Riegeom[simptensor] - simpliflies tensor expressions" }}{PARA 0 "" 0 " " {TEXT -1 79 " Riegeom[simpLC] - simpliflies produ ct of LeviCivita tensors" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling \+ Sequence:u"t{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "2 D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 171 1 104 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 97 109 101 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 216 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 216 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 26 261 "" 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 264 "" 0 1 0 0 2 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 229 1 160 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 1 12 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 74 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 221 10 168 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 2 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 2 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 2 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 308 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 1 12 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 316 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 1 12 0 0 0 0 1 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 318 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 323 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE " " -1 324 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 325 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 326 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 327 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 329 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 331 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text \+ Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 20 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 4 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 3" 4 5 1 {CSTYLE "" -1 -1 "" 1 12 0 0 29 0 1 0 0 0 0 0 0 0 0 }0 0 0 -1 0 0 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warni ng" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Error" 7 8 1 {CSTYLE "" -1 -1 "" 0 1 255 0 255 1 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "Dash \+ Item" 0 16 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 16 3 }{PSTYLE "" 5 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 5 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Help for:" }{TEXT -1 1 " \+ " }{TEXT 315 19 "The Riegeom package" }{TEXT 316 3 " " }}{PARA 0 "" 0 "" {TEXT -1 471 "Riegeom is a Maple package for simplifying tensor e xpressions using user-defined or built-in tensors in the realm of Riem annian geometry. The tensors are treated as formal indexed objects whi ch cannot have values. They can have many kinds of symmetries, like sy mmetric or antisymmetric in any number of indices, symmetric or antisy mmetric under index group permutator any coherent combination of t hose symmetries. The cyclic symmetry has implemented with limitations. " }}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 30 "Description of user function s:" }}{SECT 1 {PARA 5 "" 0 "" {TEXT 256 17 "General functions" }} {PARA 15 "" 0 "" {HYPERLNK 17 "definetensor" 2 "definetensor" "" } {TEXT -1 162 " assigns a symmetry to a tensor. It is not allowed to a ssign a expression to a tensor. This task must be acomplished by using the functions replace and sreplace." }}{PARA 15 "" 0 "" {HYPERLNK 17 "changedumind" 2 "Riegeom,changedumind" "" }{TEXT -1 257 " changes the names of the dummy indices. The new names are generated by the intern al function `Riegeom/genindex`. It is crucial that the new names have \+ no conflicts with old names, since `Riegeom/genindex` is used internal ly by the functions of the package." }}{PARA 15 "" 0 "" {HYPERLNK 17 " symmetrize" 2 "Riegeom,symmetrize" "" }{TEXT -1 429 ". The call symmet rize(expr) returns the symbolic symmetrization of all tensors in ex+ with respect to the symmetries given by the command definetensor. The \+ result is mathematically equivalent to the original expression (except for the cyclic symmetries). The call symmetrize(expr, s) returns the \+ symbolic symmetrization of expr with respect to the symmetry s. In gen eral, the result is not equivalent to the original expression." }} {PARA 15 "" 0 "" {HYPERLNK 17 "symmetry" 2 "Riegeom,symmetry" "" } {TEXT -1 37 " displays the symmetries of a tensor." }}{PARA 15 "" 0 " " {HYPERLNK 17 "tdiff" 2 "tdiff" "" }{TEXT -1 81 " represents the par tial derivative of a tensor with respect to the coordinates. " }} {PARA 15 "" 0 "" {HYPERLNK 17 "codiff" 2 "codiff" "" }{TEXT -1 176 " r epresents the covariant derivative of tensor with respect to the coord inates. The function expandcodiff expands any covariant derivative in \+ terms of the Christoffel symbols.." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 308 21 "Simplifying functions" }}{PARA 15 "" 0 "" {TEXT 310 0 "" } {HYPERLNK 17 "absorbg" 2 "Riegeomorbg" "" }{TEXT 322 106 " raises \+ and lowers indices contracted with the metric.This function is automat ically called by simptensor." }}{PARA 15 "" 0 "" {HYPERLNK 17 "normalf orm" 2 "Riegeom,normalform" "" }{TEXT 323 85 " implements the algorith m described in the reference at the end. The definition of " }{TEXT 317 29 "index canonical configuration" }{TEXT 318 439 " and canonical \+ renaming of dummy indices (step 9) are stated there. This function exe cutes the most important part of the simplification procedures and it \+ is automatically called by other functions of the package that need te nsor expressions in a canonical format, such as simptensor and replace . Since the output in the canonical format is almost unreadable, simpt ensor with the option 'nocyclic' substitutes normalform at the user le vel." }}{PARA 15 "" 0 "" {HYPERLNK 17 "replace" 2 "Riegeom,normalform " "" }{TEXT 324 659 ". The call replace(T[i,j]=expr1, expr2) replaces \+ any occurrence of T[i,j] (or equivalent) by expr1 inr2. T[i,j] can have contravariant, covariant, or dummy indices. If T[i,j] has dummy \+ indices, only expressions with the same number of dummy indices are re placed. A number of pre-defined substitution equations are provided, s uch as RiemannByChristoffel, which replaces any occurence of the Riema nn tensor by its equivalent in terms of the Christoffel symbols. The c omplete list of pre-defined equations can be seen in the replace help \+ pages. All those equations have nicknames as explained there. The user s can define their own equations in a similar way." }}{PARA 15 "" 0 " " {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT 325 101 " has \+ the same syntax and performs the same task of replace but applies the \+ function simptensor after." }}{PARA 15 "" 0 "" {HYPERLNK 17 "simpLC" 2 "Riegeom,simptensor" "" }{TEXT 326 215 " replaces products of LeviCi vita tensors (contracted or not) by an expression involving only metri c tensors. The result depends on the actual value of Dimension. This \+ction is automatically called by simptensor." }}{PARA 15 "" 0 "" {HYPERLNK 17 "simptensor" 2 "Riegeom,simptensor" "" }{TEXT 327 607 " i s the general tensor simplifying function.It calls many other function s of the package in order to achieve the simplest result. For tensor e xpressions obeying no side relations, the simplest result is well defi ned by the algorithms underlying the function normalform. For the Riem ann and Weyl tensors, the function simptensor can simplify expression \+ involving contractions up to degree 5. It automatically applies the cy clic and the dimension dependent relations. The option 'nocyclic' inh ibits the use of the cyclic relations and the option 'noddr' inhibits \+ the use of the dimension dependent relations." }}}{SECT 1 {PARA 256 " " 0 "" {TEXT -1 72 "Functions for changing the dimension, the metric a nd the coordinate name" }}{PARA 257 "" 0 "" {TEXT 314 201 "The tensor \+ names are stored in global variables, such as RiemannName for the Riem ann tensor. The defaulmes can be changed before loading the packag e by assigning new names to the global variables. " }{HYPERLNK 17 "Dim ension" 2 "Dimension" "" }{TEXT 329 2 ", " }{HYPERLNK 17 "CoordinateNa me" 2 "CoordinateName" "" }{TEXT 331 6 " and " }{HYPERLNK 17 "MetricN ame" 2 "MetricName" "" }{TEXT 333 250 " are exceptions since they desc ribe the environment where the calculation are been performed. Their v alues can be changed at any time after loading the Riegeom package but must be done by the functions dimension, coordinate, and metric respe ctively. " }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 263 19 "Interface function s" }}{PARA 15 "" 0 "" {HYPERLNK 17 "lptensor" 2 "lptensor" "" }{TEXT -1 123 "(T) prints in the same format of the Maple lprint function. Th is function can be used as an argument of the tmap function. " }} {PARA 15 "" 0 "" {HYPERLNK 17 "ltensor" 2 "ltensor" "" }{TEXT -1 153 " (T) prints the output in Maple's usual way. The tensors are printed as indexed variables. This function can be used as an arnt of the tm ap function. " }}{PARA 15 "" 0 "" {HYPERLNK 17 "on" 2 "on" "" }{TEXT -1 30 "(S) turns on the switch S and " }{HYPERLNK 17 "off" 2 "on" "" } {TEXT -1 242 "(S) turns off the switch S. These functions do not affec t the way the tensor components are stored internally. S must be one o f the following names: CoordIndices, iv, DisplayTensor, ZeroIndex, Dif fAlias, ltensor, lptensor, printtensor, latex." }}{PARA 15 "" 0 "" {HYPERLNK 17 "printtensor" 2 "printtensor" "" }{TEXT -1 140 "(T) print s the contravariant indices (positive ones) in the raised position and the covariant indices (negative ones) in the lower position." }} {PARA 15 "" 0 "" {HYPERLNK 17 "switches" 2 "switches" "" }{TEXT -1 224 "( ) shows the status of the switches.\n - ltensor: (off) prints the tensors as indexed variables.\n - lptensor: (off) prints the ten sors in one-dimensional format.\n - printtensor: (on) prints the tens ors in the normal way." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 262 15 "Clear functions" }}{PARA 1 0 "" {HYPERLNK 17 "cleartensor" 2 "cleartens or" "" }{TEXT -1 137 "(T) clears all components and undefines the tens or T. T cannot have numerical or summed indices. The type of the indic es is not relevant." }}}}{SECT 1 {PARA 0 "" 0 "examples" {TEXT 26 9 "E xamples:" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 256 62 "Example 1: Commutation of the covariant \+ derivative of a vector" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 102 "We wan t to verify the following relation using the Riemann tensor in terms o f the Christoffel symbols." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "e1:=printtensor(codiff(V[i],j,k)-codiff(V[i],k,j)=R[i,-c,-k,-j]*V[ c]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G/,&*(%\"VG\"\"\")%!G%\"i GF)&F+6#%';~j~k~GF)F)*(F(F))F+F,F)&F+6#%';~k~j~GF)!\"\"*,%\"RGF))F+F,F )&F+6#%'c~k~j~GF)F(F))F+%\"cGF)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Let's expand the covariant derivative:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 34 "e2:=expandcodiff(lhs(e1)-rhs(e1))}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e2G,8*(%\"VG\"\"\")%!G%\"iGF(&F*6#%',~j~k~GF(F( *,%&GammaGF()F*F+F(&F*6#%+_b0~j~,~k~GF(F'F()F*%$_b0GF(F(*.F0F()F*F+F(& F*6#%'_b0~j~GF(F'F()F*F6F(&F*6#%%,~k~GF(F(**F0F()F*F+F(&F*6#%'_c0~k~GF (,&*(F'F()F*%$_c0GF(&F*6#%%,~j~GF(F(*,F0F()F*FHF(&F*6#F;F(F'\"\"\"F5FP F(F(F(**F0F()F*FHF(&F*6#%%j~k~GF(,&*(F'F()F*F+F(&F*6#%',~_c0~GF(F(*,F0 F()F*F+F(&F*6#%)_b0~_c0~GF(F'FPF5FPF(F(!\"\"*(F'F()F*F+F(&F*6#%',~k~j~ GF(F[o*,F0F()F*F+F(&F*6#%+_d0~k~,~j~GF(F'F()F*%$_d0GF(F[o*.F0F()F*F+F( &F*6#%'_d0~k~GF(F'F()F*FgoF(&F*6#FKF(F[o**F0F()F*F+F(&F*6#%'_e0~j~GF(, &*(F'F()F*%$_e0GF(&F*6#F?F(F(*,F0F()F*FhpF(&F*6#F\\pF(F'FPFfoFPF(F(F[o **F0F()F*FhpF(&F*6#%%k~j~GF(,&*(F'F()F*F+F(&F*6#%',~_e0~GF(F(*,F0F()F* F+F(&F*6#%)_d0~_e0~GF(F'FPFfoFPF(F(F(*,%\"RGF()F*F+F(&F*6#%'c~k~j~GF(F 'F()F*%\"cGF(F[o" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 87 "Let's replace the Riemann tensor by its expression in terms of the Christoffel symb ols:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "e3:=sreplace(Rieman nByChrisel,e2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e3G\"\"!" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 256 72 " Example 2: Commutation of the covariant derivative of a tensor or rank 2" }}{PARA 0 "" 0 "" {TEXT -1 57 "Let's repeat the above calculation \+ using a rank 2 tensor:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "e 1:=printtensor(codiff(T[i,j],k,l)-codiff(T[i,j],l,k)=T[a,j]*R[i,-a,-l, -k] + T[i,a]*R[j,-a,-l,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G /,&*(%\"TG\"\"\")%!G%%i~j~GF)&F+6#%';~k~l~GF)F)*(F(F))F+F,F)&F+6#%';~l ~k~GF)!\"\",&*,F(F))F+%%a~j~GF)%\"RGF))F+%\"iGF)&F+6#%'a~l~k~GF)F)*,F( F))F+%%i~a~GF)F:F))F+%\"jGF)&F+6#F?F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "e2 := expandcodiff(lhs(e1)-rhs(e1));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e2G,F*(%\"TG\"\"\")%!G%%i~j~GF(&F*6#%',~k~l~GF( F(*,%&GammaGF()F*%\"iGF(&F*6#%+_q0~k~,~l~GF(F'F()F*%'_q0~j~GF(F(*.F0F( )F*F2F(&F*6#%'_q0~k~GF(F'F()F*F7F(&F*6#%%,~l~GF(F(*,F0F()F*%\"jGF(&F*6 #F5F(F'F()F*%'i~_q0~GF(F(*.F0F()F*&F*6#F " 0 "" {MPLTEXT 1 0 22 "rad ius_a:=1: vel_c:=1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Phi0 := Dira c(r-radius_a/2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Phiprime0 := 0: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "animate_ic();" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "radial_vel := -diff(evalf(Phi(trunc_n=50) ),r):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "animate_ic(function=radial _vel);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "To animate more than on e function:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "animate_ic(f unc0 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "verticalrange=v[1]..v[2]" "6#/%.verticalrangeG;&%\"vG6# \"\"\"&F'6#\"\"#" }{TEXT -1 122 " - Specifies the vertical range for a nimation. Sometimes it requires \n to increa se the value of " }{XPPEDIT 18 0 "numpoint" "6#%)numpointG" }{TEXT -1 31 " options to obtain a good plot." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "rad ius_a:=1: vel_c:=1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Phi0 := Dira c(r-radius_a/2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Phiprime0 := 0: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "animate_ic();" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "radial_vel := -diff(evalf(Phi(trunc_n=50) ),r):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "animate_ic(function=radial _vel);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "To animate more than on e function:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "animate_ic(f unc "" {XPPEDIT 18 0 "t=t[0]..t[f]" "6#/%\"tG;&F$6#\"\"!&F$6#%\"fG" }{TEXT -1 88 " - This option specifies the time interval for the animatio n. The default value for " }{XPPEDIT 18 0 "t[0]" "6#&%\"tG6#\"\"!" } {TEXT -1 38 " is 0\n and for " }{XPPEDIT 18 0 " t[f]" "6#&%\"tG6#%\"fG" }{TEXT -1 4 " is " }{XPPEDIT 18 0 "2*radius_a/ vel_c" "6#*(\"\"#\"\"\"%)radius_aGF%%&vel_cG!\"\"" }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "r=r[1]..r[2]" "6#/%\"rG;&F$6#\"\"\"&F$6#\"\"#" }{TEXT -1 55 " - This option specifies the range of the variable " } {XPPEDIT 18 0 "r" "6#%\"rG" }{TEXT -1 65 ". It must be contained in th e\n interval " }{XPPEDIT 18 0 "0..radius_a" " 6#;\"\"!%)radius_aG" }{TEXT -1 25 ". The default values for " } {XPPEDIT 18 0 "r[1]..r[2]" "6#;&%\"rG6#\"\"\"&F%6#\"\"#" }{TEXT -1 5 " is " }{XPPEDIT 18 0 "0..radius_a" "6#;\"\"!%)radius_aG" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA XT -1 4 " mus" }{TEXT 258 53 "t be a non-negative integer. The default value is 10." }}{PARA 17 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {XPPEDIT 18 0 "function=F or [ F[1],F[2],`...`]" "6#5/%)functionG%\"FG7%&F&6#\"\"\"&F&6#\"\"#%$...G" }{TEXT 260 8 " - " }{XPPEDIT 18 0 "F" "6#%\"FG" }{TEXT -1 38 " ca n be any function of the variables " }{XPPEDIT 18 0 "r" "6#%\"rG" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "theta" "6#%&thetaG" }{TEXT -1 13 " \+ with no free" }}{PARA 0 "" 0 "" {TEXT -1 121 " \+ parameter or a list of such functions. T he default function is the " }}{PARA 0 "" 0 "" {TEXT -1 85 " \+ velocity potential. In gen eral " }{XPPEDIT 18 0 "F" "6#%\"FG" }{TEXT -1 39 " is the velocity pot ential, density, or" }}{PARA 0 "" 0 "" {TEXT -1 102 " \+ pressure. \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0", " }{HYPERLNK 17 "animate" 2 "plots[animate]" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "densityplot" 2 "plots[densityplot]" "" } {TEXT -1 34 " can be used when applicable (see " }{HYPERLNK 17 "plot[o ptions]" 2 "plot[options]" "" }{TEXT -1 46 "). Here is a description o f the main options: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {XPPEDIT 18 0 "trunc_l=l[0]" "6#/%(trunc_lG&%\"lG6#\"\"!" }{TEXT 23 5 " - " }{XPPEDIT 18 0 "l[0]" "6#&%\"lG6#\"\"!" }{TEXT -1 1 " " } {TEXT 257 81 "must be a non-negative integer. The default value is 0 i f the initial conditions " }}{PARA 0 "" 0 "" {TEXT 261 45 " \+ do not depend on " }{XPPEDIT 18 0 "theta" "6#%&thetaG " }{TEXT -1 12 ", otherwise " }{XPPEDIT 18 0 "l[0]=10" "6#/&%\"lG6#\" \"!\"#5" }{TEXT -1 1 "." }{TEXT 256 82 " \n \+ \n" }{XPPEDIT 18 0 "trunc_n=n[0]" "6#/%(trunc_nG&%\"nG6#\"\"!" }{TEXT 259 5 " - " } {XPPEDIT 18 0 "n[0]" "6#&%\"nG6#\"\"!" }{TE.-%#Y1G6$F?F-F .,&*&-F+6$F?F@F.-%$cosG6#*&-%&omegaG6$F?F@F.F3F.F.F.*&-F16$F?F@F.-%$si nG6#*&-FM6$F?F@F.F3F.F.F.F./F@;\"\"\"F(/F?;F-F'F." }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 17 "The coefficients " }{XPPEDIT 18 0 "A(l,n) " "6#-%\"AG6$%\"lG%\"nG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "B(l,n)" " 6#-%\"BG6$%\"lG%\"nG" }{TEXT -1 74 " are calculated automatically. If \+ the initial conditions do not depend on " }{XPPEDIT 18 0 "theta" "6#%& thetaG" }{TEXT -1 56 ", the standard 2D animation plot is generated, o therwise" }{TEXT -1 61 " the densityplot-plot animation is generated. The variables " }{XPPEDIT 18 0 "trunc_n" "6#%(trunc_nG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "trunc_l" "6#%(trunc_lG" }{TEXT -1 27 " assume t he default values." }}{PARA 15 "" 0 "" {TEXT -1 95 "It is possible to \+ animate more than one function. Some options can be chosen for each fu nction." }}{PARA 15 "" 0 "" {TEXT -1 59 "All options must be equations . The options of the commands " }{HYPERLNK 17 "plot" 2 "plot" "" } {TEXT -1 2 ixed Width" 0 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 19 0 0 0 0 0 0 0 3 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 17 0 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 56 " \+ animate_ic - animates solutions with initial conditions" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 33 "\n animate_i c( eqn1, eqn2, ... )" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" } {TEXT -1 31 "\n eqn1, eqn2, ... - equations" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 10 " The call " }{XPPEDIT 18 0 "animate_ic[``]( )" "6#-&%+animate_icG6 #%!G6\"" }{TEXT -1 59 " with no arguments generates the animation of t he function " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Phi(tru nc_l,trunc_n) = A(0,0)+B(0,0)*t+sum('sum('R(l,n)*Y1(l,0)*(A(l,n)*cos(o mega(l,n)*t)+B(l,n)*sin(omega(l,n)*t))',n = 1 .. trunc_n)',l = 0 .. tr unc_l)" "6#/-%$PhiG6$%(trunc_lG%(trunc_nG,(-%\"AG6$\"\"!F-\"\"\"*&-%\" BG6$F-F-F.%\"tGF.F.-%$sumG6$.-F56$.*(-%\"RG6$%\"lG%\"nGF ao{VERSION 3 0 "SUN SPARC SOLARIS" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 253 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "Couri er" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 257 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 258 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{CSTYLE "" -1 259 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 } {CSTYLE "" -1 260 "" 1 12 0 0 64 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 12 0 0 0 0 0 0 0 0 0 0 3 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "F%3functanimaticsolutionwithinitialconditcallsequenceqnparameterequationdescriptnoargumentgeneratcoefficientcalculatautomaticaldodependstandardplototherwisdensityplotvariablassumdefaultvalupossiblmoresomeoptioncanchoseneachallmustcommandusedapplicablheremainnonnegatintegmusanyfreeparametlistsuchfunctionvelocitpotentialgeneraldensitpressurspeciftimeintervalrangcontainverticalsometimrequirincreasobtaingoodexamplradiuvelphidiracphiprimradialdiffevalftruncsincospicolorredbluealsou" RiemannNamez" TensorNamesw"absorbgg" animate_ic% changedumindf" {TEXT -1 1 " " } {XPPEDIT 18 0 "verticalrange=v[1]..v[2]" "6#/%.verticalrangeG;&%\"vG6# \"\"\"&F'6#\"\"#" }{TEXT -1 122 " - Specifies the vertical range for a nimation. Sometimes it requires \n to increa se the value of " }{XPPEDIT 18 0 "numpoint" "6#%)numpointG" }{TEXT -1 31 " options to obtain a good plot." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "rad ius_a:=1: vel_c:=1:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Phi0 := Dira c(r-radius_a/2):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Phiprime0 := 0: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "animate_ic();" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "radial_vel := -diff(evalf(Phi(trunc_n=50) ),r):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "animate_ic(function=radial _vel);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "To animate more than on e function:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "animate_ic(f unction=EDIT 18 0 "t=t[0]..t[f]" "6#/%\"tG;&F$6#\"\"!&F$6#%\"fG" }{TEXT -1 88 " - This option specifies the time interval for the animatio n. The default value for " }{XPPEDIT 18 0 "t[0]" "6#&%\"tG6#\"\"!" } {TEXT -1 38 " is 0\n and for " }{XPPEDIT 18 0 " t[f]" "6#&%\"tG6#%\"fG" }{TEXT -1 4 " is " }{XPPEDIT 18 0 "2*radius_a/ vel_c" "6#*(\"\"#\"\"\"%)radius_aGF%%&vel_cG!\"\"" }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "r=r[1]..r[2]" "6#/%\"rG;&F$6#\"\"\"&F$6#\"\"#" }{TEXT -1 55 " - This option specifies the range of the variable " } {XPPEDIT 18 0 "r" "6#%\"rG" }{TEXT -1 65 ". It must be contained in th e\n interval " }{XPPEDIT 18 0 "0..radius_a" " 6#;\"\"!%)radius_aG" }{TEXT -1 25 ". The default values for " } {XPPEDIT 18 0 "r[1]..r[2]" "6#;&%\"rG6#\"\"\"&F%6#\"\"#" }{TEXT -1 5 " is " }{XPPEDIT 18 0 "0..radius_a" "6#;\"\"!%)radius_aG" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" mus" }{TEXT 258 53 "t be a non-negative integer. The default value is 10." }}{PARA 17 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {XPPEDIT 18 0 "function=F or [ F[1],F[2],`...`]" "6#5/%)functionG%\"FG7%&F&6#\"\"\"&F&6#\"\"#%$...G" }{TEXT 260 8 " - " }{XPPEDIT 18 0 "F" "6#%\"FG" }{TEXT -1 38 " ca n be any function of the variables " }{XPPEDIT 18 0 "r" "6#%\"rG" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "theta" "6#%&thetaG" }{TEXT -1 13 " \+ with no free" }}{PARA 0 "" 0 "" {TEXT -1 121 " \+ parameter or a list of such functions. T he default function is the " }}{PARA 0 "" 0 "" {TEXT -1 85 " \+ velocity potential. In gen eral " }{XPPEDIT 18 0 "F" "6#%\"FG" }{TEXT -1 39 " is the velocity pot ential, density, or" }}{PARA 0 "" 0 "" {TEXT -1 102 " \+ pressure. \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" PERLNK 17 "animate" 2 "plots[animate]" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "densityplot" 2 "plots[densityplot]" "" } {TEXT -1 34 " can be used when applicable (see " }{HYPERLNK 17 "plot[o ptions]" 2 "plot[options]" "" }{TEXT -1 46 "). Here is a description o f the main options: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {XPPEDIT 18 0 "trunc_l=l[0]" "6#/%(trunc_lG&%\"lG6#\"\"!" }{TEXT 23 5 " - " }{XPPEDIT 18 0 "l[0]" "6#&%\"lG6#\"\"!" }{TEXT -1 1 " " } {TEXT 257 81 "must be a non-negative integer. The default value is 0 i f the initial conditions " }}{PARA 0 "" 0 "" {TEXT 261 45 " \+ do not depend on " }{XPPEDIT 18 0 "theta" "6#%&thetaG " }{TEXT -1 12 ", otherwise " }{XPPEDIT 18 0 "l[0]=10" "6#/&%\"lG6#\" \"!\"#5" }{TEXT -1 1 "." }{TEXT 256 82 " \n \+ \n" }{XPPEDIT 18 0 "trunc_n=n[0]" "6#/%(trunc_nG&%\"nG6#\"\"!" }{TEXT 259 5 " - " } {XPPEDIT 18 0 "n[0]" "6#&%\"nG6#\"\"!" }{TEXT -1F?F-F .,&*&-F+6$F?F@F.-%$cosG6#*&-%&omegaG6$F?F@F.F3F.F.F.*&-F16$F?F@F.-%$si nG6#*&-FM6$F?F@F.F3F.F.F.F./F@;\"\"\"F(/F?;F-F'F." }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 17 "The coefficients " }{XPPEDIT 18 0 "A(l,n) " "6#-%\"AG6$%\"lG%\"nG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "B(l,n)" " 6#-%\"BG6$%\"lG%\"nG" }{TEXT -1 74 " are calculated automatically. If \+ the initial conditions do not depend on " }{XPPEDIT 18 0 "theta" "6#%& thetaG" }{TEXT -1 56 ", the standard 2D animation plot is generated, o therwise" }{TEXT -1 61 " the densityplot-plot animation is generated. The variables " }{XPPEDIT 18 0 "trunc_n" "6#%(trunc_nG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "trunc_l" "6#%(trunc_lG" }{TEXT -1 27 " assume t he default values." }}{PARA 15 "" 0 "" {TEXT -1 95 "It is possible to \+ animate more than one function. Some options can be chosen for each fu nction." }}{PARA 15 "" 0 "" {TEXT -1 59 "All options must be equations . The options of the commands " }{HYPERLNK 17 "plot" 2 "plot" "" } {TEXT -1 2 ", " uth" 0 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 19 0 0 0 0 0 0 0 3 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 17 0 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 56 " \+ animate_ic - animates solutions with initial conditions" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 33 "\n animate_i c( eqn1, eqn2, ... )" }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" } {TEXT -1 31 "\n eqn1, eqn2, ... - equations" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 10 " The call " }{XPPEDIT 18 0 "animate_ic[``]( )" "6#-&%+animate_icG6 #%!G6\"" }{TEXT -1 59 " with no arguments generates the animation of t he function " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Phi(tru nc_l,trunc_n) = A(0,0)+B(0,0)*t+sum('sum('R(l,n)*Y1(l,0)*(A(l,n)*cos(o mega(l,n)*t)+B(l,n)*sin(omega(l,n)*t))',n = 1 .. trunc_n)',l = 0 .. tr unc_l)" "6#/-%$PhiG6$%(trunc_lG%(trunc_nG,(-%\"AG6$\"\"!F-\"\"\"*&-%\" BG6$F-F-F.%\"tGF.F.-%$sumG6$.-F56$.*(-%\"RG6$%\"lG%\"nGF.-%#Ygeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} }  2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riee" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} -1 2 ", " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 " , " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replacu"functriegeomsymmetrdisplaytensorcallsequencparameterdescriptgivendefinetensorexamplwithsymalsoabsorbgcleartensorcodiffexpandcodifflptensorltensornormalformoffprinttensorreplacsreplacsimptensorsymmetrizswitchtdiff possibilit v"~"possiblj"t"v"~" a potential apre v"~"pres p"~"pressur aprintq"r"~" printtensorg>f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"problem~"procedur f"~"productp"t"~"program~"proof~"propp"proper~"protectk"l"m"n"o"prov~"provid~"put~"putsp"putt~"queensu~"eral p"v"~" ageneratf"~" ageneric~"genindex f"~"geometr~"gg~"thod~"metric;5g"k"l"m"n"o"t"w"x"y"z"{"|"~"j"v"~"limits"Pڨquitp"radial aradiu arais g"~"rang arank j"~"rek"l"m"n"o"read~"realm~"receiv~"recurss"red aredo~"referenc~"reffs"refferj"relat~"relation t"~"relevant h"~"renam p"~"repeat~"replacg:f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"report~"represw"x"y"z"{"|" representi"}"~""j"p"s"v"}"~" a communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"x"y"z"{"|"}"~"s"Pڨvel avelocit averif~"vers~"vertical awant~"wayq"r"~"we~"well~"weyl7k"l"m"n"o"t"w"x"y"z"{"|"~" weylbyriemans"weylnam w"x"y"z"{"|"wil~"will~"withkDf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~" awithinp" worksheet~"www~"xxx~"yet~"yield~"you~"your~"zero~" zeroindex~""o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"Pڨ tensor" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Descrip tion:" }}{PARA 15 "" 0 "" {TEXT -1 92 "The function symmetry displays \+ the symmetry of a tensor. The symmetry is given the function " } {HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 1 " ." }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 21 "symmetry(R[i,j,k,l]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#3&%(RiemannG6&\"\"\"\"\"#\"\"$\"\"%&%'cyclicG6%F(F)F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "definetensor(A[i,j], sym) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"AG\"\"\")%!G%\"iGF%)F'%\"jGF %" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "symmetry(A[i,j]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%$symG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "definetensor(A[i,j,k,l], sym[1,2] and sym[1,2][3,4]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*,%\"AG\"\"\")%!G%\"iGF%)F'%\"jGF% )F'%\"kGF%)F'%\"lGF%" }}}{EXCHG {PARA 0 "nu" {VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 54 " \+ Riegeom[symmetry] - displays the symmetry of a tensor" }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 15 "\n symmetry(T) " }}{PARA 0 "" 0 "" {TEXT 26 11 "Parameters:" }{TEXT -1 22 "\n T \+ - at"Ofunctriegeomsimptensorsimplifltensorexpresssimplcproductlevicivitacallsequencexproptparameternocyclicnoddrdescriptusesalgorithmunderlynormalformsimpliftriemaintainsamenamedummindicpossiblnewcreatriemanweylautomaticalemploycyclicdimensdependrelationappliallupfouronlyinhibitusebutapplfunctionabsorbgatfirstplacbeforsimplifyreplaccontractinvolvmetricresultactualvalusubstitutformulaexamplwithdefinetensorsymasymetaalsocleartensorcodiffexpandcodifflptensorltensoroffprinttensorsreplacsymmetrizsymmetrswitchtdiffme" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{PARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Rie occurrenc s"~"offg&f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"old~"omegaw"x"y"z"{"|"onesf"j"r"~"only i"p"t"}"~"optt"option ~" a orderj"p"~"original v"~"otherj"k"l"m"n"o"~"otherwis aout j"v"outputp"r"~"overj"v"~"overlapj"own~"packag#f"w"x"y"z"{"|"~" ~"queensu~"~"efaultK3g"i"k"l"m"n"o"q"s"w"x"y"z"{"|"}"~" adefin#j"k"l"m"n"o"v"~" definetensorg1f"g"h"i"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨpage~"pair j"v"paperp"paramet a parameterOf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"}" apart~"partiali"}"~"path~"paying~"perform j"~"permutat~"phi aphiprim aphysic p"~"pi aplact"pleas~"plot apoint j"v" polynomial~"portugal~"posit j"p"q"r"~"position j"v"cyclicj"p"t"v"~" defaultK3g"i"k"l"m"n"o"q"s"w"x"y"z"{"|"}"~" adefin#j"k"l"m"n"o"v"~" definetensorg1f"g"h"i"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨ|"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 22 "Help for tensor names:" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 " CoordinateName" }} {PARA 0 "" 0 "" {TEXT -1 14 " MetricName" }}{PARA 0 "" 0 "" {TEXT -1 19 " ChristoffelName" }}{PARA 0 "" 0 "" {TEXT -1 28 " Riemann Name\n WeylName" }}{PARA 0 "" 0 "" {TEXT -1 13 " RicciName" }} {PARA 0 "" 0 "" {TEXT -1 19 " RicciScalarName" }}{PARA 0 "" 0 "" {TEXT -1 18 " LeviCivitaName" }}{PARA 0 "" 0 "" {TEXT -1 22 " Tr aceFreeRicciName" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Desc ription:" }}{PARA 15 "" 0 "" {TEXT -1 181 "These variables are global \+ names used by the package to represent coordinates, metric tensor, Chr istoffel symbols, Riemann tensor, Weyl tensor, Ricci tensor, Ricci sca lar and so on." }}{PARA 15 "" 0 "" {TEXT -1 66 "The number of indices \+ of LeviCivita tensor is equal to Dimension. " }}{PARA 15 "" 0 "" {TEXT -1 34 "The list of the default names are:" }}{PARA 0 "" 0 "" {TEXT -1 24 " CoordinateName - X " }}{PARA 0 "" 0 "" {TEXT -1 18 " MetricName - g" }}{PARA 0 "" 0 "" {TEXT -1 27 " ChristoffelName - Gamma" }}{PARA 0 "" 0 "" {TEXT -1 36 " RiemannName - R\n Weyl Name - C" }}{PARA 0 "" 0 "" {TEXT -1 17 " RicciName - R" }}{PARA 0 "" 0 "" {TEXT -1 24 " RicciScalarName - R " }}{PARA 0 "" 0 "" {TEXT -1 51 " LeviCivitaName - eta\n TraceFreeRicciName - S" }} {PARA 15 "" 0 "" {TEXT -1 232 "The default names can be changed before loading the package by assigning new names to the global variable. Co ordinateName and MetricName are exceptions. Their values can be change d at any time but they must be done by the functions " }{HYPERLNK 17 " coordinate" 2 "Riegeom,coordinate" "" }{TEXT -1 5 " and " }{HYPERLNK 17 "metric" 2 "Riegeom,metric" "" }{TEXT -1 14 " respectively." }}} {SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "ChristoffelName := Omega; ### before wi th(Riegeom)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0ChristoffelNameG%&Om egaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "expandcodiff(codiff(V[i],j)) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&**%\"VG\"\"\")%!G%\"iGF&&F(6#% \",GF&&F(6#%\"jGF&F&*.%&OmegaGF&)F(F)F&&F(6#%$_b0GF&&F(F.F&F%F&)F(F5F& F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "simptensor(Omega[i,-k ,-j]-Omega[i,-j,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 0 "" 0 " " {TEXT 26 9 "See Also:" }{TEXT -1 2 " " }{HYPERLNK 17 "absorbg" 2 "R iegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartensor" 2 "Rie geom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff" 2 "Riege om[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor" 2 "Riegeo m[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} } 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "R iegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 " Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "R iegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riege om[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Rie|"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiff}"{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Help Heading" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Norma l" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Function:" }{TEXT -1 77 " \+ Riegeom[codiff] - represents the covariant derivative of a tensor expr ession" }}{PARA 0 "" 0 "" {TEXT -1 89 " Riegeom[expa ndcodiff] - expands codiff in terms of partial derivative " }}{PARA 0 "" 0 "usage" {TEXT 26 17 "Calling Sequence:" }{TEXT -1 19 "\n codiff (expr, i)" }}{PARA 0 "" 0 "" {TEXT -1 19 " codiff(expr, -i)" }} {PARA 0 "" 0 "" {TEXT -1 21 " codiff(expr, X[i])" }}{PARA 0 "" 0 "" {TEXT -1 22 " codiff(expr, X[-i])" }}{PARA 0 "" 0 "" {TEXT -1 32 " \+ codiff(expr, X[i], X[j], ...)" }}{PARA 0 "" 0 "" {TEXT 26 11 "Paramet ers:" }{TEXT -1 30 "\n expr - a tensor expression" }}{PARA 0 "" 0 " " {TEXT -1 16 " i - an index" }}{PARA 0 "" 0 "" {TEXT -1 51 " X[i ] - X is the value of CoordinateName variable" }}}{SECT 0 {PARA 0 "" 0 "synopsis" {TEXT 26 12 "Description:" }}{PARA 15 "" 0 "" {TEXT -1 91 "The function codiff represents the covariant derivative of a tens or with respect to X[i]. " }}{PARA 15 "" 0 "" {TEXT -1 112 "The call c odiff(expr, X[i]) applies differentiation rules to expr until having c ovariant derivative of a tensor." }}{PARA 15 "" 0 "" {TEXT -1 109 "The call codiff(T, i) and codiff(T,-i) are automatically converted into c odiff(T, X[i]) and codiff(T, X[-i])." }}{PARA 15 "" 0 "" {TEXT -1 100 "The function expandcodiff converts any occurence of covariant derivat ives into partial derivatives (" }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdif f]" "" }{TEXT -1 49 ") with the appearance of the Christoffel symbols. " }}{PARA 15 "" 0 "" {TEXT -1 110 "The Christoffel symbols have the na me Gamma by default. It can be changed by assigning a new name to vari able " }{HYPERLNK 17 "ChristoffelName" 2 "Riegeom[TensorNames]" "" } {TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 82 "The coordinates have th e name X by default. It can only be changed by the command " } {HYPERLNK 17 "coordinate" 2 "Riegeom[dimension]" "" }{TEXT -1 2 ". " } }{PARA 15 "" 0 "" {TEXT -1 69 "The function codiff may create new dumm y indices. See DummyIndexSet. " }}}{SECT 0 {PARA 0 "" 0 "examples" {TEXT 26 9 "Examples:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "wit h(Riegeom):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "e1 := printt ensor(codiff(T[i,j]*V[-j],X[k]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %#e1G,&*,%\"TG\"\"\")%!G%%i~j~GF(&F*6#%%;~k~GF(%\"VGF(&F*6#%\"jGF(F(** F'F()F*F+F(F/F(&F*6#%'j~;~k~GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "expandcodiff(e1);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# ,&*(,(*(%\"TG\"\"\")%!G%%i~j~GF(&F*6#%%,~k~GF(F(*,%&GammaGF()F*%\"iGF( &F*6#%'_b0~k~GF(F'F()F*%'_b0~j~GF(F(*,F0F()F*%\"jGF(&F*6#F5F(F'F()F*%' i~_b0~GF(F(F(%\"VGF(&F*6#F:F(F(*(F'F()F*F+F(,&*&F?F(&F*6#%'j~,~k~GF(F( *,F0F()F*%$_c0GF(&F*6#%%j~k~GF(F?F(&F*6#FKF(!\"\"F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "e2 := printtensor(codiff(V[i],-j)); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e2G*&%\"VG\"\"\")%!G%'i~;~j~GF' " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "expandcodiff(e2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*(%\"gG\"\"\")%!G%'j~_j0~GF%,&*(%\"VGF %)F'%\"iGF%&F'6#%',~_j0~GF%F%*,%&GammaGF%)F'F-F%&F'6#%)_k0~_j0~GF%F+F% )F'%$_k0GF%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "See Also:" }{TEXT -1 2 " " } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "cleartensor" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "definetensor" 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{HYPERLNK 17 "symmetry" 2 "Riegeom[symmetry]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}}} ERLNK 17 "expandcodiff" 2 "Riegeom[expandcodiff]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "lptensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "ltensor" 2 "Riegeom[printtensor]" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "normalform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "off" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "replace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " } {HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", \+ " }{Hassum aastro~"asymh"j"p"t"v"~"at# t"w"x"y"z"{"|"~"atemptj"p"v"attent~" automaticp" automaticali"t"}"~" aavailabl s"~"avoid~"befor#t"w"x"y"z"{"|"~"bellow~"bir"bianchi~"bivector j"v"blue abr~"bracket j"v"bug~"bugs~"built~"but' p"t"w"x"y"z"{"|"~"represw"x"y"z"{"|" representi"}"~""j"p"s"v"}"~" a communicat p"~"commutat~"compil~"completj"v"~" component q"~"comput p"~"x"y"z"{"|"}"~"s"Pڨca~"calculat ~" acallSf"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"}"~" acanW+g"i"j"k"l"m"n"o"p"r"s"v"w"x"y"z"{"|"}"~" acancel j"v"cannot j"~" canonical p"~"capital~"case~"cat~"cbpf~"changG:f"g"i"k"l"m"n"o"r"w"x"y"z"{"|"}"~" changedumind f"~"overlapj"own~"packag#f"w"x"y"z"{"|"~" ~"queensu~"~"efaultK3g"i"k"l"m"n"o"q"s"w"x"y"z"{"|"}"~" adefin#j"k"l"m"n"o"v"~" definetensorg1f"g"h"i"j" k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"s"Pڨalternat~"animat aanonymou~"anothg" antisymmetricj"v"~"antisymmetrizat~"any3i"p"s"w"x"y"z"{"|"}"~" aappear~" appearanc i"}"appli"j"t"v"}"~"applit" applicabl aargss"argumr"s"~"argument aassignCg"i"j"k"l"m"n"o"w"x"y"z"{"|"}"~"associats"~"next~"nicknam~"~"knowns"last~"latex~"let~"lett~"level~" levicivita7k"l"m"n"o"t"w"x"y"z"{"|"~" levicivitanam w"x"y"z"{"|"lhs~"libnam ~" likej"v"~"limits"Pڨ~"s{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 18 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 } {CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "2 D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Help Headi ng" -1 26 "" 1 14 0 0 24 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 171 1 104 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 97 109 101 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 216 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 216 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 26 261 "" 1 10 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 264 "" 0 1 0 0 2 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 229 1 160 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 1 12 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 74 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 221 10 168 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 2 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 2 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 2 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 308 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 1 12 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 316 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 1 12 0 0 0 0 1 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 318 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 323 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE " " -1 324 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 325 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 326 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 327 "" 1 12 0 0 0 0 2 2 0 0 0 0 0 0 0 } {CSTYLE "" -1 329 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 331 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text \+ Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 20 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 4 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 3" 4 5 1 {CSTYLE "" -1 -1 "" 1 12 0 0 29 0 1 0 0 0 0 0 0 0 0 }0 0 0 -1 0 0 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warni ng" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Error" 7 8 1 {CSTYLE "" -1 -1 "" 0 1 255 0 255 1 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 248 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Bullet Item" 0 15 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 15 2 }{PSTYLE "Dash \+ Item" 0 16 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 3 3 0 0 0 0 0 0 16 3 }{PSTYLE "" 5 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 5 257 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 2 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {SECT 0 {PARA 0 "" 0 "" {TEXT 26 9 "Help for:" }{TEXT -1 1 " \+ " }{TEXT 315 19 "The Riegeom package" }{TEXT 316 3 " " }}{PARA 0 "" 0 "" {TEXT -1 471 "Riegeom is a Maple package for simplifying tensor e xpressions using user-defined or built-in tensors in the realm of Riem annian geometry. The tensors are treated as formal indexed objects whi ch cannot have values. They can have many kinds of symmetries, like sy mmetric or antisymmetric in any number of indices, symmetric or antisy mmetric under index group permutation or any coherent combination of t hose symmetries. The cyclic symmetry has implemented with limitations. " }}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 30 "Description of user function s:" }}{SECT 1 {PARA 5 "" 0 "" {TEXT 256 17 "General functions" }} {PARA 15 "" 0 "" {HYPERLNK 17 "definetensor" 2 "definetensor" "" } {TEXT -1 162 " assigns a symmetry to a tensor. It is not allowed to a ssign a expression to a tensor. This task must be acomplished by using the functions replace and sreplace." }}{PARA 15 "" 0 "" {HYPERLNK 17 "changedumind" 2 "Riegeom,changedumind" "" }{TEXT -1 257 " changes the names of the dummy indices. The new names are generated by the intern al function `Riegeom/genindex`. It is crucial that the new names have \+ no conflicts with old names, since `Riegeom/genindex` is used internal ly by the functions of the package." }}{PARA 15 "" 0 "" {HYPERLNK 17 " symmetrize" 2 "Riegeom,symmetrize" "" }{TEXT -1 429 ". The call symmet rize(expr) returns the symbolic symmetrization of all tensors in expr \+ with respect to the symmetries given by the command definetensor. The \+ result is mathematically equivalent to the original expression (except for the cyclic symmetries). The call symmetrize(expr, s) returns the \+ symbolic symmetrization of expr with respect to the symmetry s. In gen eral, the result is not equivalent to the original expression." }} {PARA 15 "" 0 "" {HYPERLNK 17 "symmetry" 2 "Riegeom,symmetry" "" } {TEXT -1 37 " displays the symmetries of a tensor." }}{PARA 15 "" 0 " " {HYPERLNK 17 "tdiff" 2 "tdiff" "" }{TEXT -1 81 " represents the par tial derivative of a tensor with respect to the coordinates. " }} {PARA 15 "" 0 "" {HYPERLNK 17 "codiff" 2 "codiff" "" }{TEXT -1 176 " r epresents the covariant derivative of tensor with respect to the coord inates. The function expandcodiff expands any covariant derivative in \+ terms of the Christoffel symbols.." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 308 21 "Simplifying functions" }}{PARA 15 "" 0 "" {TEXT 310 0 "" } {HYPERLNK 17 "absorbg" 2 "Riegeom,absorbg" "" }{TEXT 322 106 " raises \+ and lowers indices contracted with the metric.This function is automat ically called by simptensor." }}{PARA 15 "" 0 "" {HYPERLNK 17 "normalf orm" 2 "Riegeom,normalform" "" }{TEXT 323 85 " implements the algorith m described in the reference at the end. The definition of " }{TEXT 317 29 "index canonical configuration" }{TEXT 318 439 " and canonical \+ renaming of dummy indices (step 9) are stated there. This function exe cutes the most important part of the simplification procedures and it \+ is automatically called by other functions of the package that need te nsor expressions in a canonical format, such as simptensor and replace . Since the output in the canonical format is almost unreadable, simpt ensor with the option 'nocyclic' substitutes normalform at the user le vel." }}{PARA 15 "" 0 "" {HYPERLNK 17 "replace" 2 "Riegeom,normalform " "" }{TEXT 324 659 ". The call replace(T[i,j]=expr1, expr2) replaces \+ any occurrence of T[i,j] (or equivalent) by expr1 in expr2. T[i,j] can have contravariant, covariant, or dummy indices. If T[i,j] has dummy \+ indices, only expressions with the same number of dummy indices are re placed. A number of pre-defined substitution equations are provided, s uch as RiemannByChristoffel, which replaces any occurence of the Riema nn tensor by its equivalent in terms of the Christoffel symbols. The c omplete list of pre-defined equations can be seen in the replace help \+ pages. All those equations have nicknames as explained there. The user s can define their own equations in a similar way." }}{PARA 15 "" 0 " " {HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT 325 101 " has \+ the same syntax and performs the same task of replace but applies the \+ function simptensor after." }}{PARA 15 "" 0 "" {HYPERLNK 17 "simpLC" 2 "Riegeom,simptensor" "" }{TEXT 326 215 " replaces products of LeviCi vita tensors (contracted or not) by an expression involving only metri c tensors. The result depends on the actual value of Dimension. This \+ function is automatically called by simptensor." }}{PARA 15 "" 0 "" {HYPERLNK 17 "simptensor" 2 "Riegeom,simptensor" "" }{TEXT 327 607 " i s the general tensor simplifying function.It calls many other function s of the package in order to achieve the simplest result. For tensor e xpressions obeying no side relations, the simplest result is well defi ned by the algorithms underlying the function normalform. For the Riem ann and Weyl tensors, the function simptensor can simplify expression \+ involving contractions up to degree 5. It automatically applies the cy clic and the dimension dependent relations. The option 'nocyclic' inh ibits the use of the cyclic relations and the option 'noddr' inhibits \+ the use of the dimension dependent relations." }}}{SECT 1 {PARA 256 " " 0 "" {TEXT -1 72 "Functions for changing the dimension, the metric a nd the coordinate name" }}{PARA 257 "" 0 "" {TEXT 314 201 "The tensor \+ names are stored in global variables, such as RiemannName for the Riem ann tensor. The default names can be changed before loading the packag e by assigning new names to the global variables. " }{HYPERLNK 17 "Dim ension" 2 "Dimension" "" }{TEXT 329 2 ", " }{HYPERLNK 17 "CoordinateNa me" 2 "CoordinateName" "" }{TEXT 331 6 " and " }{HYPERLNK 17 "MetricN ame" 2 "MetricName" "" }{TEXT 333 250 " are exceptions since they desc ribe the environment where the calculation are been performed. Their v alues can be changed at any time after loading the Riegeom package but must be done by the functions dimension, coordinate, and metric respe ctively. " }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 263 19 "Interface function s" }}{PARA 15 "" 0 "" {HYPERLNK 17 "lptensor" 2 "lptensor" "" }{TEXT -1 123 "(T) prints in the same format of the Maple lprint function. Th is function can be used as an argument of the tmap function. " }} {PARA 15 "" 0 "" {HYPERLNK 17 "ltensor" 2 "ltensor" "" }{TEXT -1 153 " (T) prints the output in Maple's usual way. The tensors are printed as indexed variables. This function can be used as an argument of the tm ap function. " }}{PARA 15 "" 0 "" {HYPERLNK 17 "on" 2 "on" "" }{TEXT -1 30 "(S) turns on the switch S and " }{HYPERLNK 17 "off" 2 "on" "" } {TEXT -1 242 "(S) turns off the switch S. These functions do not affec t the way the tensor components are stored internally. S must be one o f the following names: CoordIndices, iv, DisplayTensor, ZeroIndex, Dif fAlias, ltensor, lptensor, printtensor, latex." }}{PARA 15 "" 0 "" {HYPERLNK 17 "printtensor" 2 "printtensor" "" }{TEXT -1 140 "(T) print s the contravariant indices (positive ones) in the raised position and the covariant indices (negative ones) in the lower position." }} {PARA 15 "" 0 "" {HYPERLNK 17 "switches" 2 "switches" "" }{TEXT -1 224 "( ) shows the status of the switches.\n - ltensor: (off) prints the tensors as indexed variables.\n - lptensor: (off) prints the ten sors in one-dimensional format.\n - printtensor: (on) prints the tens ors in the normal way." }}}{SECT 1 {PARA 5 "" 0 "" {TEXT 262 15 "Clear functions" }}{PARA 15 "" 0 "" {HYPERLNK 17 "cleartensor" 2 "cleartens or" "" }{TEXT -1 137 "(T) clears all components and undefines the tens or T. T cannot have numerical or summed indices. The type of the indic es is not relevant." }}}}{SECT 1 {PARA 0 "" 0 "examples" {TEXT 26 9 "E xamples:" }{TEXT -1 0 "" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 256 62 "Example 1: Commutation of the covariant \+ derivative of a vector" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 102 "We wan t to verify the following relation using the Riemann tensor in terms o f the Christoffel symbols." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "e1:=printtensor(codiff(V[i],j,k)-codiff(V[i],k,j)=R[i,-c,-k,-j]*V[ c]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G/,&*(%\"VG\"\"\")%!G%\"i GF)&F+6#%';~j~k~GF)F)*(F(F))F+F,F)&F+6#%';~k~j~GF)!\"\"*,%\"RGF))F+F,F )&F+6#%'c~k~j~GF)F(F))F+%\"cGF)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "Let's expand the covariant derivative:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 34 "e2:=expandcodiff(lhs(e1)-rhs(e1));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e2G,8*(%\"VG\"\"\")%!G%\"iGF(&F*6#%',~j~k~GF(F( *,%&GammaGF()F*F+F(&F*6#%+_b0~j~,~k~GF(F'F()F*%$_b0GF(F(*.F0F()F*F+F(& F*6#%'_b0~j~GF(F'F()F*F6F(&F*6#%%,~k~GF(F(**F0F()F*F+F(&F*6#%'_c0~k~GF (,&*(F'F()F*%$_c0GF(&F*6#%%,~j~GF(F(*,F0F()F*FHF(&F*6#F;F(F'\"\"\"F5FP F(F(F(**F0F()F*FHF(&F*6#%%j~k~GF(,&*(F'F()F*F+F(&F*6#%',~_c0~GF(F(*,F0 F()F*F+F(&F*6#%)_b0~_c0~GF(F'FPF5FPF(F(!\"\"*(F'F()F*F+F(&F*6#%',~k~j~ GF(F[o*,F0F()F*F+F(&F*6#%+_d0~k~,~j~GF(F'F()F*%$_d0GF(F[o*.F0F()F*F+F( &F*6#%'_d0~k~GF(F'F()F*FgoF(&F*6#FKF(F[o**F0F()F*F+F(&F*6#%'_e0~j~GF(, &*(F'F()F*%$_e0GF(&F*6#F?F(F(*,F0F()F*FhpF(&F*6#F\\pF(F'FPFfoFPF(F(F[o **F0F()F*FhpF(&F*6#%%k~j~GF(,&*(F'F()F*F+F(&F*6#%',~_e0~GF(F(*,F0F()F* F+F(&F*6#%)_d0~_e0~GF(F'FPFfoFPF(F(F(*,%\"RGF()F*F+F(&F*6#%'c~k~j~GF(F 'F()F*%\"cGF(F[o" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 87 "Let's replace the Riemann tensor by its expression in terms of the Christoffel symb ols:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "e3:=sreplace(Rieman nByChristoffel,e2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e3G\"\"!" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 256 72 " Example 2: Commutation of the covariant derivative of a tensor or rank 2" }}{PARA 0 "" 0 "" {TEXT -1 57 "Let's repeat the above calculation \+ using a rank 2 tensor:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "e 1:=printtensor(codiff(T[i,j],k,l)-codiff(T[i,j],l,k)=T[a,j]*R[i,-a,-l, -k] + T[i,a]*R[j,-a,-l,-k]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G /,&*(%\"TG\"\"\")%!G%%i~j~GF)&F+6#%';~k~l~GF)F)*(F(F))F+F,F)&F+6#%';~l ~k~GF)!\"\",&*,F(F))F+%%a~j~GF)%\"RGF))F+%\"iGF)&F+6#%'a~l~k~GF)F)*,F( F))F+%%i~a~GF)F:F))F+%\"jGF)&F+6#F?F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "e2 := expandcodiff(lhs(e1)-rhs(e1));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e2G,F*(%\"TG\"\"\")%!G%%i~j~GF(&F*6#%',~k~l~GF( F(*,%&GammaGF()F*%\"iGF(&F*6#%+_q0~k~,~l~GF(F'F()F*%'_q0~j~GF(F(*.F0F( )F*F2F(&F*6#%'_q0~k~GF(F'F()F*F7F(&F*6#%%,~l~GF(F(*,F0F()F*%\"jGF(&F*6 #F5F(F'F()F*%'i~_q0~GF(F(*.F0F()F*FCF(&F*6#F " 0 " " {MPLTEXT 1 0 38 "e3:=sreplace(RiemannByChristoffel,e2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e3G\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 258 44 "Example 3: Proof for the Bianc hi identities " }}{PARA 0 "" 0 "" {TEXT -1 103 "Let us define the tens or K with the same symmetries of the Riemann tensor (no cyclic symmetr y for now)." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 93 "definetensor (K[a,b,c,d],asym[a,b] and asym[c,d] and sym[a,b][c,d]); # no cyclic sy mmetry yet." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"KG\"\"\")%!G%)a~ b~c~d~GF&33&%%asymG6$F&\"\"#&F-6$\"\"$\"\"%&&%$symGF.F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 90 "The commutation of the covariant derivati ve of a vector field obeys the following formula:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 70 "e0:=printtensor(K[a,-i,-c,-b]*V[i]=codiff(V[ a],b,c)-codiff(V[a],c,b));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e0G/* ,%\"KG\"\"\")%!G%\"aGF(&F*6#%'i~c~b~GF(%\"VGF()F*%\"iGF(,&*(F/F()F*F+F (&F*6#%';~b~c~GF(F(*(F/F()F*F+F(&F*6#%';~c~b~GF(!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 21 "Let us differentiate " }{TEXT 262 2 "e0" }{TEXT -1 17 " with respect to " }{XPPEDIT 18 0 "x^l;" "6#)%\"xG%\"lG " }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "e1:=pri nttensor(codiff(e0,X[d]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G/, &*,%\"KG\"\"\")%!G%\"aGF)&F+6#%+i~c~b~;~d~GF)%\"VGF))F+%\"iGF)F)*.F(F) )F+F,F)&F+6#%'i~c~b~GF)F0F))F+F2F)&F+6#%%;~d~GF)F),&*(F0F))F+F,F)&F+6# %);~b~c~d~GF)F)*(F0F))F+F,F)&F+6#%);~c~b~d~GF)!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 100 "The commutation of the covariant derivative of a tensor field of rank 2 obeys the following formula:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 103 "f0:=printtensor(T[i,-b]*K[a,-i,-d, -c] + T[a,-i]*K[-b,i,-d,-c]=codiff(T[a,-b],c,d)-codiff(T[a,-b],d,c)); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#f0G/,&*.%\"TG\"\"\")%!G%\"iGF)& F+6#%\"bGF)%\"KGF))F+%\"aGF)&F+6#%'i~d~c~GF)F)*0F(F))F+F2F)&F+6#F,F)F0 F)&F+6#F/F))F+F,F)&F+6#%%d~c~GF)F),&*(F(F))F+F2F)&F+6#%)b~;~c~d~GF)F)* (F(F))F+F2F)&F+6#%)b~;~d~c~GF)!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 23 "Let us ``define'' T as:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "eq1 := printtensor(T[a,-b]=codiff(V[a],b));" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%$eq1G/*(%\"TG\"\"\")%!G%\"aGF(&F*6#%\"bGF(*(%\"VGF( )F*F+F(&F*6#%%;~b~GF(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "and make a substitution on " }{TEXT 265 2 "f0" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "f1 := replace(eq1,f0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#f1G/,&*.%\"VG\"\"\")%!G%\"iGF)&F+6#%%;~b~GF) %\"KGF))F+%\"aGF)&F+6#%'i~c~d~GF)!\"\"*.F(F))F+F2F)&F+6#%%;~i~GF)F0F)) F+F,F)&F+6#%'b~c~d~GF)F),&*(F(F))F+F2F)&F+6#%);~b~c~d~GF)F)*(F(F))F+F2 F)&F+6#%);~b~d~c~GF)F6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "The dif ference of " }{TEXT 263 2 "e1" }{TEXT -1 5 " and " }{TEXT 264 2 "f1" } {TEXT -1 55 " yields zero after the antisymmetrization over [b,c,d]." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "e1_f1 := simptensor(symme trize(e1-f1,asym[b,c,d]));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&e1_f1 G/,.*,%\"KG\"\"\")%!G%%a~i~GF)&F+6#%)b~c~;~d~GF)%\"VGF)&F+6#%\"iGF)#! \"\"\"\"$*.F0F))F+%\"aGF)&F+6#%';~_h1~GF)F(F))F+%$_h1GF)&F+6#%'b~c~d~G F)F4*,F(F))F+F,F)&F+6#%)c~d~;~b~GF)F0\"\"\"F1FGF4*.F0FGF8FGF:FGF(F))F+ F>F)&F+6#%'c~b~d~GF)#F)F6*,F(F))F+F,F)&F+6#%)b~d~;~c~GF)F0FGF1FGFM*.F0 FGF8FGF:FGF(F))F+F>F)&F+6#%'d~b~c~GF)F4\"\"!" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 54 "Next command introduces the interface to the function \+ " }{TEXT 266 7 "collect" }{TEXT -1 1 ":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "macro(collect=printtensor@collect@ltensor);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 87 "We can see that if K obeys the cyc lic symmetry, the Bianchi identities are established:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "collect(e1_f1,[V[-i],codiff(V[a],_h 1)]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/,&*(,(*(%\"KG\"\"\")%!G%%a~i ~GF)&F+6#%)b~c~;~d~GF)#!\"\"\"\"$*(F(F))F+F,F)&F+6#%)c~d~;~b~GF)F0*(F( F))F+F,F)&F+6#%)b~d~;~c~GF)#F)F2F)%\"VGF)&F+6#%\"iGF)F)**,(*(F(F))F+%$ _h1GF)&F+6#%'b~c~d~GF)F0*(F(F))F+FFF)&F+6#%'c~b~d~GF)F=*(F(F))F+FFF)&F +6#%'d~b~c~GF)F0F)F>F))F+%\"aGF)&F+6#%';~_h1~GF)F)\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 49 "Example \+ 4: Divergence of Einstein tensor is zero " }}{PARA 0 "" 0 "" {TEXT -1 40 "From the Bianchi identity, we know that:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "Bianchi := symmetrize(codiff(R[-b,-c,-d,-e],-a), asym[d,e,a])=0;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%(BianchiG/,.*(%\" RG\"\"\"&%!G6#%+b~c~d~e~;~GF))F+%\"aGF)#F)\"\"'**F(F)&F+6#%'b~c~e~GF)) F+F/F)&F+6#%%;~d~GF)F0**F(F)&F+6#%%b~c~GF))F+F/F)&F+6#%'d~;~e~GF)F0**F (F)&F+6#%'b~c~d~GF))F+F/F)&F+6#%%;~e~GF)#!\"\"F1**F(F)&F+6#F=F))F+F/F) &F+6#%'e~;~d~GF)FJ*(F(F)&F+6#%+b~c~e~d~;~GF))F+F/F)FJ\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 16 "Let us contract " }{TEXT 269 1 "b" } {TEXT -1 6 " with " }{TEXT 270 1 "d" }{TEXT -1 5 " and " }{TEXT 268 1 "c" }{TEXT -1 6 " with " }{TEXT 267 2 "e:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 43 "DG:=-3/2*simptensor(g[b,d]*g[c,e]*Bianchi);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#DGG/,&**%\"gG\"\"\")%!G%%a~b~GF)%\" RGF)&F+6#%%,~b~GF)#!\"\"\"\"#*(F-F))F+%%a~d~GF)&F+6#%%;~d~GF)F)\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "and replace the Ricci tensor by its expression in terms of the Einstein tensor:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "sreplace(R[a,b]=G[a,b]-1/2*g[a,b]*G[c,-c],DG) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/*(%\"GG\"\"\")%!G%%a~b~GF&&F(6#% %;~b~GF&\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 256 45 "Example 5: Covariant derivative of the metric" }} {PARA 0 "" 0 "" {TEXT -1 104 "gg is a generic tensor that wil be subst ituted by g (metric tensor) after the covariant differentiation." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "e1 := printtensor(codiff(gg[ i,j],X[n]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e1G*(%#ggG\"\"\")%! G%%i~j~GF'&F)6#%%;~n~GF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "e2 := subs(gg=g,expandcodiff(e1));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%#e2G,(*(%\"gG\"\"\")%!G%%i~j~GF(&F*6#%%,~n~GF(F(*,%&GammaGF()F*%\"i GF(&F*6#%'_r1~n~GF(F'F()F*%'_r1~j~GF(F(*,F0F()F*%\"jGF(&F*6#F5F(F'F()F *%'i~_r1~GF(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 67 "Let substitute \+ partial derivatives of g by the Christoffel symbols." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "e3 := replace(DMetricByChristoffel,e2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e3G,**,%&GammaG\"\"\")%!G%\"jGF(& F*6#%'_t1~n~GF(%\"gGF()F*%'_t1~i~GF(!\"\"*,F'F()F*%\"iGF(&F*6#F.F(F/F( )F*%'_t1~j~GF(F2*,F'F()F*F5F(&F*6#%'_r1~n~GF(F/F()F*%'_r1~j~GF(F(*,F'F ()F*F+F(&F*6#F>F(F/F()F*%'_r1~i~GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "simptensor(e3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\" \"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 23 "An alternate method is:" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "e4 := replace(ChristoffelB yMetric,e2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e4G,(*(%\"gG\"\"\") %!G%%i~j~GF(&F*6#%%,~n~GF(F(*(,(**F'F()F*%'_w1~i~GF(F'F(&F*6#%-_r1~_w1 ~,~n~GF(#F(\"\"#**F'\"\"\"F2F:F'F(&F*6#%-_w1~n~,~_r1~GF(F7**F'F:F2F:F' F(&F*6#%-_r1~n~,~_w1~GF(#!\"\"F8F(F'F()F*%'_r1~j~GF(F(*(,(**F'F()F*%'_ v1~j~GF(F'F(&F*6#%-_r1~_v1~,~n~GF(F7**F'F:FIF:F'F(&F*6#%-_v1~n~,~_r1~G F(F7**F'F:FIF:F'F(&F*6#%-_r1~n~,~_v1~GF(FBF(F'F()F*%'_r1~i~GF(F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "e5 := simptensor(e4);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#e5G,&*(%\"gG\"\"\")%!G%%i~j~GF(&F*6 #%%,~n~GF(F(*.F'F(&F*6#%-_v1~_r1~,~n~GF(F'F()F*%'i~_v1~GF(F'F()F*%'j~_ r1~GF(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 43 "Last equation is zero . One way to prove is:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "e 6 := replace(DMetricByChristoffel,e5);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#e6G,(*,%&GammaG\"\"\")%!G%\"jGF(&F*6#%'_z1~n~GF(%\"gGF()F*%'_ z1~i~GF(!\"\"*,F'F()F*%\"iGF(&F*6#F.F(F/F()F*%'_z1~j~GF(F2*,,&*&F'F(&F *6#%+_v1~_r1~n~GF(F(*&F'F(&F*6#%+_r1~_v1~n~GF(F(F(F/F()F*%'_v1~i~GF(F/ F()F*%'_r1~j~GF(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "simpt ensor(e6);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 257 79 "Example 6: Sim plification of Riemann tensor polynomials using cyclic relations " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 " \+ It is hard to simplify the next expression by hand:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 143 "expr1 := printtensor(2*R[a,b,c,d]*R[e,-a ,-c,-f]*R[f,-b,-d,-e]+R[a,b,e,f]*R[c,d,-a,-b]*R[-c,-e,-d,-f]+2*R[a,b,c ,d]*R[e,-a,-f,-c]*R[f,-d,-b,-e]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#> %&expr1G,(*2%\"RG\"\"\")%!G%)a~b~c~d~GF(F'F()F*%\"eGF(&F*6#%'a~c~f~GF( F'F()F*%\"fGF(&F*6#%'b~d~e~GF(\"\"#*0F'F()F*%)a~b~e~f~GF(F'F()F*%%c~d~ GF(&F*6#%%a~b~GF(F'F(&F*6#%)c~e~d~f~GF(F(*2F'\"\"\"F)FCF'F()F*F-F(&F*6 #%'a~f~c~GF(F'F()F*F2F(&F*6#%'d~b~e~GF(F6" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 93 "Notice that expr is not zero if the cyclic identities of \+ the Riemann tensor are not employed:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "simptensor(expr1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "The next expression is \+ harder:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 236 "expr2 := printt ensor(2*R[a,b,c,d]*R[e,f,-a,-k]*R[h,-c,k,-b]*R[-d,-h,-e,-f]+4*R[a,b,c, d]*R[e,f,k,-a]*R[h,-b,-c,-e]*R[-d,-k,-f,-h]-R[a,b,c,d]*R[e,-f,k,-a]*R[ h,-b,f,-e]*R[-c,-d,-k,-h]+4*R[a,b,c,d]*R[h,k,-d,-f]*R[e,f,-k,-a]*R[-h, -b,-c,-e]);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&expr2G,**:%\"RG\"\" \")%!G%)a~b~c~d~GF(F'F()F*%%e~f~GF(&F*6#%%a~k~GF(F'F()F*%\"hGF(&F*6#% \"cGF()F*%\"kGF(&F*6#%\"bGF(F'F(&F*6#%)d~h~e~f~GF(\"\"#*6F'\"\"\"F)F@F 'F()F*%'e~f~k~GF(&F*6#%\"aGF(F'F()F*F2F(&F*6#%'b~c~e~GF(F'F(&F*6#%)d~k ~f~h~GF(\"\"%*>F'F@F)F@F'F()F*%\"eGF(&F*6#%\"fGF()F*F7F(&F*6#FEF(F'F() F*F2F(&F*6#F:F()F*FSF(&F*6#FPF(F'F(&F*6#%)c~d~k~h~GF(!\"\"*6F'F@F)F@F' F()F*%%h~k~GF(&F*6#%%d~f~GF(F'F()F*F-F(&F*6#%%k~a~GF(F'F(&F*6#%)h~b~c~ e~GF(FM" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "simptensor(expr2 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 68 "Example 7: Non-trivial invariants of the Riema nn tensor that vanish " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 311 " All invariants up to degree 4 of the Ri emann tensor (with no Ricci tensor as factor) are different from zero \+ (supposing a general metric or supposing that all components are posit ive). The first examples only appear at degree 5. There are 5 independ ent invariants of degree 5 of this kind. Here is one example:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 88 "expr1 := printtensor(R[a,b,c ,d]*R[e,f,k,h]*\nR[i,-a,j,-e]*R[-b,-c,-d,-i]*R[-f,-k,-h,-j]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&expr1G*<%\"RG\"\"\")%!G%)a~b~c~d~GF 'F&F')F)%)e~f~k~h~GF'F&F')F)%\"iGF'&F)6#%\"aGF')F)%\"jGF'&F)6#%\"eGF'F &F'&F)6#%)b~c~d~i~GF'F&F'&F)6#%)f~k~h~j~GF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "simptensor(expr1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 261 92 "Example \+ 8: Simplification of Riemann tensor polynomials using dimension depend ent relations " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 94 " So far, all examples are true for all dimensions. T he next expression is zero in dimension 4." }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 12 "dimension();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\" \"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 174 "expr2 := printtenso r(-R[a,b]*R[c,d,e,-a]*R[-b,-c,-d,-e]-R[]*R[a,b]*R[-a,-b]+R[a,b]*R[c,d] *R[-a,-c,-b,-d]+R[a,b]*R[c,-a]*R[-b,-c]+1/8*R[]*R[a,b,c,d]*R[-a,-b,-c, -d]+1/8*R[]^3);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&expr2G,.*0%\"RG \"\"\")%!G%%a~b~GF(F'F()F*%'c~d~e~GF(&F*6#%\"aGF(F'F(&F*6#%)b~c~d~e~GF (!\"\"*,F'F(F'\"\"\"F)F6F'F(&F*6#F+F(F4*.F'F6F)F6F'F()F*%%c~d~GF(F'F(& F*6#%)a~c~b~d~GF(F(*0F'F6F)F6F'F()F*%\"cGF(&F*6#F0F(F'F(&F*6#%%b~c~GF( F(*,F'F6F'F()F*%)a~b~c~d~GF(F'F(&F*6#FIF(#F(\"\")*$)F'\"\"$F6FL" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "simptensor(expr2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 120 "To not use the dimension dependent relations, simptensor requires the option 'noddr' (no dimension dependent relations)." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "simptensor(expr2,'noddr');" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#,.*0%\"RG\"\"\")%!G%'c~_c2~GF&F%F&)F(% -_a2~_i2~_b2~GF&&F(6#%\"cGF&F%F&&F(6#%1_c2~_a2~_i2~_b2~GF&!\"\"*,F%F&F %F&)F(%'_f2~d~GF&F%F&&F(6#F5F&F2*.F%F&)F(%)_m2~_e2~GF&F%F&)F(%'_d2~b~G F&F%F&&F(6#%/_m2~_d2~_e2~b~GF&F&*0F%F&)F(%%e~a~GF&F%F&)F(%$_h2GF&&F(6# %\"eGF&F%F&&F(6#%'a~_h2~GF&F&*,F%\"\"\"F%F&)F(%1_j2~_l2~_k2~_g2~GF&F%F &&F(6#FNF&#F&\"\")*$)F%\"\"$FLFQ" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "Notice that expr2 is not zero in dimension 5:" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 13 "dimension(5);" }}{PARA 6 "" 1 "" {TEXT -1 148 "defining Christoffel(Gamma), Riemann(R), Weyl(C), Ricci(R), LeviC ivita(eta), TraceFreeRicci(S) for Dimension = 5, CoordinateName = X, M etricName = g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "simptensor (expr2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,.*0%\"RG\"\"\")%!G%'c~_r2 ~GF&F%F&)F(%-_o2~_z2~_p2~GF&&F(6#%\"cGF&F%F&&F(6#%1_r2~_o2~_z2~_p2~GF& !\"\"*,F%F&F%F&)F(%'_v2~d~GF&F%F&&F(6#F5F&F2*.F%F&)F(%'e~_t2~GF&F%F&)F (%'_s2~b~GF&F%F&&F(6#%-e~_s2~_t2~b~GF&F&*0F%F&)F(%'_w2~a~GF&F%F&)F(%$_ x2GF&&F(6#%$_w2GF&F%F&&F(6#%'a~_x2~GF&F&*,F%\"\"\"F%F&)F(%1_u2~_n2~_a3 ~_q2~GF&F%F&&F(6#FNF&#F&\"\")*$)F%\"\"$FLFQ" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT 26 24 "Links fo r all functions:" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{HYPERLNK 17 "abso rbg" 2 "Riegeom,absorbg" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "cleartenso r" 2 "Riegeom[cleartensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "codiff " 2 "Riegeom[codiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "definetensor " 2 "Riegeom[definetensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "expandc odiff" 2 "Riegeom[expandcodiff]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lp tensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "lt ensor" 2 "Riegeom[printtensor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "nor malform" 2 "Riegeom[normalform]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "of f" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "on" 2 "Riegeom[o n]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "printtensor" 2 "Riegeom[printte nsor]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "replace" 2 "Riegeom,replace " "" }{TEXT -1 2 ", " }{HYPERLNK 17 "sreplace" 2 "Riegeom,replace" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "simptensor" 2 "Riegeom[simptensor]" " " }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetrize" 2 "Riegeom[symmetrize]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "symmetry" 2 "Riegeom,symmetry" "" } {TEXT -1 2 ", " }{HYPERLNK 17 "switches" 2 "Riegeom[on]" "" }{TEXT -1 2 ", " }{HYPERLNK 17 "tdiff" 2 "Riegeom[tdiff]" "" }{TEXT -1 1 " " }}} {SECT 1 {PARA 3 "" 0 "" {TEXT 26 26 "Installation Instructions " } {TEXT 261 16 "(in three steps)" }{TEXT 26 2 ": " }{TEXT 271 5 "press" }{TEXT 272 2 " +" }}{PARA 0 "" 0 "" {TEXT -1 242 "The Riegeom package \+ is distributed freely. The program source, the help and some example w orksheets are available . After copying the program source, one can cr eate a compiled version as explained. The necessary informations are g iven bellow:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 258 11 "First step:" }{TEXT -1 109 " copy the package using one of the following addresses (using netscape, mosaic, anonymous ftp or equival ent):" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 16 "" 0 "" {TEXT 268 41 "http://www.cbpf.br/~portugal/Riegeom.html" }}{PARA 16 "" 0 "" {TEXT 269 50 "http://www.astro.queensu.ca/~portugal/Riegeom.html" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 50 "Put all f iles in a directory which we are calling " }{TEXT 273 4 "/XXX" }{TEXT -1 7 " here. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 12 "Second step:" }{TEXT -1 48 " Enter in Maple and give the following commands:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "read (`/XXX/Riegeom`); # to read the source file" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "save(`/XXX/Riegeom.m`); # to create a compiled ver sion" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 11 "Third step:" }{TEXT -1 119 " If you have succeded in the second step, from now on it is advisable to load the package using the following c ommands:" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "libname:=libname ,`/XXX`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(libnameG6$%;/soft/maple 5.4/distrib/libG%%/XXXG" }}}{PARA 0 "" 0 "" {TEXT -1 148 "The output o f the last command in your machine will be different from the above ou tput, but it must contain the /XXX directory. The next command is:" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "with(Riegeom);" }}}{PARA 0 " " 0 "" {TEXT -1 22 "Try some help command:" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 13 "?Riegeom " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "?definetensor" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 264 18 "Possible problems:" }{TEXT -1 34 " If yo u have received the message:" }}{EXCHG {PARA 8 "" 1 "" {TEXT -1 45 "Er ror, (in with) undefined package , Riegeom " }}}{PARA 0 "" 0 "" {TEXT -1 67 "after loading the package then there are two possibilities. Eit her " }{TEXT 267 9 "Riegeom.m" }{TEXT -1 32 " file is not in the dire ctory " }{TEXT 283 4 "/XXX" }{TEXT -1 17 " or the variable " }{TEXT 279 7 "libname" }{TEXT -1 180 " has not been setup properly. In the fi rst case you must redo the second step paying attention to the file pa ths. In the second case you should verify if the value of the variable " }{TEXT 280 7 "libname" }{TEXT -1 40 " is the correct one. Verify if the name " }{TEXT 270 7 "Riegeom" }{TEXT -1 83 " has been spelled cor rectly with capital letter. Restart the session and try again." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 34 "If you ha ve received the message: " }{TEXT 275 35 "Coud not find any help on '' topic''" }{TEXT -1 25 " then verify if the file " }{TEXT 277 9 "maple. hdb" }{TEXT -1 21 " is in the directory " }{TEXT 276 4 "/XXX" }{TEXT -1 45 ". If it is there then verify if the variable " }{TEXT 281 7 "li bname" }{TEXT -1 92 " is the correct one. Maple can find the Riegeom h elp worksheets only by way of the variable " }{TEXT 278 7 "libname" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 5 "Hint:" }{TEXT -1 48 " One can avoid to setup every time the variable " }{TEXT 282 7 "libname" } {TEXT -1 68 " by putting this information in the maple initialization \+ file (see ?" }{HYPERLNK 17 "maple" 2 "maple" "" }{TEXT -1 6 " and ?" } {HYPERLNK 17 "libname" 2 "libname" "" }{TEXT -1 53 "). For unix users: the initialization file is called " }{TEXT 274 10 ".mapleinit" } {TEXT -1 71 " and stays in the home directory. One should edit it and \+ add the line: " }{TEXT 266 27 "libname := libname, `/XXX`:" }{TEXT -1 3 ". " }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 12 "Bug Reports:" }}{PARA 0 "" 0 "" {TEXT -1 24 "Please report bugs to: " }{TEXT 286 20 "portug al@cat.cbpf.br" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }{TEXT 26 11 "References:" }}{PARA 0 "" 0 "" {TEXT -1 13 "R. Portugal, " }{TEXT 256 32 "Computer Physics Communications " }{TEXT 305 3 "115" }{TEXT 306 2 " (" }{TEXT -1 14 "1998) 215-230." }{TEXT 304 1 " " }{TEXT -1 0 "" }}}} d \+ add the line: " }{TEXT 266 27 "libname := libname, `/XXX`:" }{TEXT -1 3 ". " }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 12 "Bug Reports:" }}{PARA 0 "" 0 "" {TEXT -1 24 "Please report bugs to: " }{TEXT 286 20 "portug al@cat.cbpf.br" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 0 "" }{TEXT 26 11 "References:" }}{PARA 0 "" 0 "" {TEXT -1 13 "R. Portugal, " }{TEXT 256 32 "Computer Physics Communications " }{TEXT 305 3 "115" }{TEXT 306 2 " (" }{TEXT -1 14 "1998) 215-230." }{TEXT 304 1 " " }{TEXT -1 0 "" }}}}  metricnam7/g"k"l"m"n"o"w"x"y"z"{"|"~"more j" amosaic~"most~"mus amustCj"k"l"m"n"o"q"v"w"x"y"z"{"|"~" aname_cf"g"i"j"k"l"m"n"o"p"q"r"s"t"v"w"x"y"z"{"|"}"~" naturalk"l"m"n"o"necessar~"need~"negatj"r"~" anetscap~"new/f"i"t"w"x"y"z"{"|"}"~"next~"nicknam~"~"knowns"last~"latex~"let~"lett~"level~" levicivita7k"l"m"n"o"t"w"x"y"z"{"|"~" levicivitanam w"x"y"z"{"|"lhs~"libnam ~" likej"v"~"limits"Pڨno j"p"v"~" anocyclic t"~"noddr t"~"non ~" anormal p"~" normalformg*f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"notat j"v"notic~"now~"numb7k"l"m"n"o"s"w"x"y"z"{"|"~" numerical~"obey p"~"objectk"l"m"n"o"~"obtain aoccurenci"}"~" aidentit p"~" implement p"~" implementatp" important~"includp" incomplet j"v"increas aindepend~"index#i"j"p"q"r"v"}"~"indicO>f"g"h"i"j" p" q"r"s"t"v" w"x"y"z"{"|"}"~" "z"{"|"}"~"s"Pڨdirac adirector~"display u"~" displaytensor~" distribut~" divergenc~"dmetricbychristoffel~"doq"~" adoesp"done#p"w"x"y"z"{"|"~"downq"dumm#f"i"p"s"t"v"}"~" dummyindexset i"}"each aedit~"einstein~"eithj"v"~"employ t"~"end~"~"portugal~"posit j"p"q"r"~"position j"v"~"your~"zero~" zeroindex~""o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~"expects"explain~"expr/_f"g"i"p"q"r"s"t"v"}"~"|"}"~" "z"{"|"}"~"s"Pڨstraightforwardk"l"m"n"o"subs s"~" substitut p"s"t"~"succed~"such k"l"m"n"o"~" asump"summ~"suppos~"switchg'f"g"h"i"j"k"l"m"n"o"p"q" r"s"t"u"v"w"x"y"z"{"|"}"~"sym j" p"t"u"v" ~"symbol'i"w"x"y"z"{"|"}"~"symbolic v"~"symbvt j"v"macro~"main amaintaint"makej"v"~"many~"mapl r"s"~" mapleinit~" mathematical v"~"maximums"mayi"p"s"}"mean j"v"messag~"method~"metric;5g"k"l"m"n"o"t"w"x"y"z"{"|"~"j"v"~"limits"Pڨequationprovidriemannbychristoffeloccurencriemancompletlistseenpagenicknamexplaintheirownsimilarwaysyntaxperformbutapplaftersimplcproductlevicivitainvolvdependactualdimensorderachievsimplestobeysiderelationwellunderlyweylsimplifupdegreinhibitusenoddrstorglobalvariablriemannnamdefaultbeforloadcoordinatenammetricnamenvironmcalculattimedonerespectiveinterfaclptensorprintlprintargumtmapltensorusualturnswitchoffthesdoaffectcomponentfollowcoordindicivdisplaytensorzeroindexdiffaliaprinttensorlatexpositonesnegatshowstatudimensionalnormalclearcleartensorundefinnumericalsummtyperelevantexamplcommutatvectorwewantverifrelatletlhsrhsrankrepeatabovproofbianchiidentitusnowasymsymyetfieldformuladifferentiateqmakedifferencyieldzeroantisymmetrizatovernextintroduccollectmacroestablishdivergenceinsteinknowdgriccigggenericwilsubsdmetricbychristoffelalternatmethodchristoffelbymetriclastequatprovpolynomialhardhandnoticemploynontrivialinvariantvanishfactordiffersupposfirstappearindependherefartruerequirgammaetatracefreericcilinkinstallatinstructpresdistributfreeprogramsourcsomeworksheetavailablcopycreatcompilversnecessarinformatbellowaddressnetscapmosaicanonymouftphttpwwwcbpfbrportugalhtmlastroqueensucaputfiledirectorxxxsecondentergivereadsavethirdyousuccedadvisabllibnamyourmachinwillcontaintrypossiblproblemreceivmessagerrorpossibiliteithsetuppropercaseredopayingattentpathcorrectspellcapitallettrestartsessagaincoudfindtopichdbhintavoideverputtinitializatunixmapleinitstayhomeeditaddlinebugreportpleasbugscatcomputphysiccommunicatnowasymsymyetfieldformuladifferentiateqmakedifferencyieldzeroantisymmetrizatovernextintroduccollectmacroestablishdivergenceinsteinknowdgriccigggenericwilsubsdmetricbychristoffelalternatmethodchristoffelbymetriclastx"Hhelptensornamecoordinatenammetricnamchristoffelnamriemannnamweylnamriccinamricciscalarnamlevicivitanamtracefreericcinamdescriptthesvariablglobalusedpackagreprescoordinatmetricchristoffelsymbolriemanweylricciscalarnumbindiclevicivitaequaldimenslistdefaultgammaetacanchangbeforloadassignnewexcepttheirvaluatanytimebuttheymustdonefunctionrespectiveexamplomegawithriegeomexpandcodiffcodiffsimptensoralsoabsorbgcleartensordefinetensorlptensorltensornormalformoffprinttensorreplacsreplacsymmetrizsymmetrswitchtdiff