aboutsummaryrefslogtreecommitdiff
path: root/Tools/CodeGen/TensorTools.m
Commit message (Collapse)AuthorAge
* TensorTools.m: Correct error message for mismatched indicesIan Hinder2011-11-29
|
* TensorTools.m: Check consistency of tensor indicesIan Hinder2011-11-20
| | | Abort with an error if tensor indices are used inconsistently.
* TensorTools.m: Improve tensor expansionHal Finkel2011-08-02
| | | | | | | | | | | | Add rules for expanding PDs of Sqrt, <expr>^Integer and Integer. Group similar rules together Apply PDReduce rule again This enables automatic differentiation of inverse tensors: dgInv[ua,ub,lc] -> PD[MatrixInverse[g[ua,ub],lc]]
* TensorTools.m: Correct redefinitions of connectionsIan Hinder2011-06-11
|
* TensorTools.m: No longer include l<n> and u<n> as possible indices, where ↵Ian Hinder2011-06-11
| | | | | | <n> is a numeric digit This was causing display issues with expansions of tensors called l and u into components. It is very unlikely anyone was using these indices anyway.
* TensorTools.m: Simplify and tidy up makeSumIan Hinder2011-06-11
| | | | Add description of index summation algorithm. Should be no change in behaviour.
* TensorTools.m: Fix handling of summations inside functionsIan Hinder2011-06-11
|
* TensorTools.m: Improve output formatting of tensor expressionsIan Hinder2011-06-11
|
* TensorTools.m: Correct OutputForm of tensors to include brackets and commasIan Hinder2010-12-19
|
* TensorTools.m: Correct check for repeated tensor indicesIan Hinder2010-11-29
| | | | Previously, repeated numeric indices were not allowed by this check, when in fact they are perfectly OK. This commit changes the test for repeated indices to exclude numeric indices from the check.
* TensorTools.m: Remove tensor index formatting in OutputFormIan Hinder2010-11-29
| | | | This was useful when TensorTools was used mainly in the notebook interface. Nowadays it is mostly used on the command line, and the formatting of subscripts and superscripts made things very difficult to read.
* Set default tensor weight to zeroErik Schnetter2010-11-23
|
* add checkpoint tag to tensor attributesRoland Haas2010-08-23
| | | | | | Conflicts: Tools/CodeGen/KrancThorn.m
* add TensorParity attributeRoland Haas2010-05-06
|
* fix error messages in GetTensorAttribute and HasTensorAttributeRoland Haas2010-05-06
|
* Revert "Revert "Merge branch 'master' of github.com:ianhinder/Kranc""Roland Haas2010-05-06
| | | | | | | | | | | Merge was correct after all. This reverts commit 04dfdcd32eec91978ba050a472aae2a6e7091c05. Conflicts: Tools/CodeGen/CalculationFunction.m Tools/CodeGen/Thorn.m
* Revert "Merge branch 'master' of github.com:ianhinder/Kranc"Erik Schnetter2010-05-02
| | | | | This reverts commit 815307e624fdb8c0ee2eefc644c9bbd8244ad7f2, reversing changes made to 8e006230f24be02831d390eaad9b90b7a7c77d2c.
* Replace sym context with Kranc context in Kranc.m. Also move interface ↵Ian Hinder2010-04-03
| | | | functions into Interface.m.
* TensorTools.m: Make toggleIndex externally visibleIan Hinder2010-03-02
|
* Correct errors in handling FD and PD Jacobians: Save and restore the current ↵Erik Schnetter2009-04-27
| | | | Jacobians in the corresponding global variables.
* Use cctk_lssh instead of cctk_lsh when calculating grid function extents. ↵Erik Schnetter2009-04-27
| | | | | | | | | | | | This will allow future optimisations with cache-aligned memory allocations. Correct an error in declaring local variables for partial derivatives. Don't register constrained variables, which is in general not necessary but which can use much memory. Register symmetries in the schedule group SymmetryRegister instad of at basegrid.
* Add new tensor Zero3.Erik Schnetter2009-04-27
| | | | | | Add new FD operators. PD operators are translated into FD operators by applying Jacobians. Add a set of rules to simplify FD expressions, similar to the rules for PD expressions.
* Erik's additional documentation for DefineConnectionIan Hinder2008-01-30
|
* Added some debugging code, but commented it outianhin2007-01-23
|
* Allow tensors to be added to non-tensor functionsianhin2006-06-19
| | | | Modify symmetry handling slightly
* Added Eps to sym contextianhin2006-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added functions for symmetrizing and antisymmetrizing expressions in pairs of indices. Added function to query whether an index is a lower or an upper index. Invented the concept of a 'tensor attribute'. This is a piece of information about a particular tensor. Set and get with SetTensorAttribute[kernel,attr,value] and GetTensorAttribute[kernel,attr]. Intention is to have things like Symmetries, TensorWeight, TensorSpecial etc. This allows these things to be stored along with the tensor, and they can then be queried by the parts of Kranc that understand tensors. Symmetries are stored as permutation weight lists as in MathTensor, though we still only have a very rudimentary index symmetry system. Changed MakeExplicit on a list of rules to allow duplicate entries. This has the effect of allowing a shorthand or a grid function to be set more than once in a calculation, which some people like to do (i.e. x = f[], x=g[x]). Not sure why the duplicates were removed in the first place, but was probably to get rid of extra equations caused by the symmetry system. We are now more clever about recognizing tensors when this is called, so I hope it is no longer an issue. Define symmetry tensor attribute when "AssertSymmetric*" are called. Allow Eps to contain tensorial indices during validation check. New function to determine the reflection symmetries of a tensor.
* Relaxed strictness of tensor verificationianhin2006-02-01
|
* Added Errors packageianhin2005-08-26
| | | | | | Removed definition of OD Added Tensor syntax checking
* Have removed the default partial derivative "PD"; the user must nowianhin2004-11-16
| | | | | | | | specify which partial derivative to use when they define a connection (this will break existing code). This is not a final solution, and will probably be reworked, so unless you desparately need TensorTools to work with an existing thorn urgently, don't worry about this until later.
* Updated for new differencingianhin2004-07-07
|
* Using custom difference operators. This code is in a state of flux;ianhin2004-07-07
| | | | use the stable version if you want it to work!
* Initial revisionshusa2004-05-09
SKIPPED: Examples/ADM/ADMEqs.m Examples/ADM/ADMTT.m Examples/ADM/BuildADMTT Examples/ADM/KrancADMRicciMetric100.par Examples/ADM/KrancADMRicciStandard100.par Examples/ADM/KrancADMTT.m Examples/ADM/Makefile Examples/ADM/README Examples/ADM/ThornGenADM_front.nb Examples/ADM/ThornGen_ADM.m Examples/ADM/ThornGen_ADM2.m Examples/ADM/arrangement_KrancADM.tar.gz Examples/ADM/data_adm.tar.gz Examples/BSSN/BSSNTT.m Examples/BSSN/BuildBSSNTT Examples/BSSN/Makefile Examples/BSSN/freeBSSN/freeBSSN.th Examples/BSSN/freeBSSN/BSSNMoL/interface.ccl Examples/BSSN/freeBSSN/BSSNMoL/param.ccl Examples/BSSN/freeBSSN/BSSNMoL/schedule.ccl Examples/BSSN/freeBSSN/BSSNMoL/src/BSSNMoL_ApplyExcision.F90 Examples/BSSN/freeBSSN/BSSNMoL/src/BSSNMoL_Boundaries.c Examples/BSSN/freeBSSN/BSSNMoL/src/BSSNMoL_CalcRHS.c Examples/BSSN/freeBSSN/BSSNMoL/src/BSSNMoL_RegisterVars.c Examples/BSSN/freeBSSN/BSSNMoL/src/Startup.c Examples/BSSN/freeBSSN/BSSNMoL/src/make.code.defn Examples/BSSN/freeBSSN/BSSNMoL/src/precomputations.h Examples/BSSN/freeBSSN/BSSNTranslator/interface.ccl Examples/BSSN/freeBSSN/BSSNTranslator/param.ccl Examples/BSSN/freeBSSN/BSSNTranslator/schedule.ccl Examples/BSSN/freeBSSN/BSSNTranslator/src/BSSNTranslator_Setter.c Examples/BSSN/freeBSSN/BSSNTranslator/src/Startup.c Examples/BSSN/freeBSSN/BSSNTranslator/src/make.code.defn Examples/BSSN/freeBSSN/BSSNTranslator/src/precomputations.h Examples/BSSN/freeBSSN/OLDpar/BSSN2GaugeWaveR0.par Examples/BSSN/freeBSSN/OLDpar/BSSN2GaugeWaveR1.par Examples/BSSN/freeBSSN/OLDpar/BSSN2GaugeWaveR2.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyCollapseR0.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyCollapseR1.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyCollapseR2.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyExpandR0.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyExpandR1.par Examples/BSSN/freeBSSN/OLDpar/BSSN2PolarizedGowdyExpandR2.par Examples/BSSN/freeBSSN/OLDpar/BSSN2RobustR0.par Examples/BSSN/freeBSSN/OLDpar/BSSN2RobustR1.par Examples/BSSN/freeBSSN/OLDpar/BSSN2RobustR2.par Examples/BSSN/freeBSSN/evalBSSNConstraints/interface.ccl Examples/BSSN/freeBSSN/evalBSSNConstraints/param.ccl Examples/BSSN/freeBSSN/evalBSSNConstraints/schedule.ccl Examples/BSSN/freeBSSN/evalBSSNConstraints/src/Startup.c Examples/BSSN/freeBSSN/evalBSSNConstraints/src/evalBSSNConstraints_Eval.c Examples/BSSN/freeBSSN/evalBSSNConstraints/src/make.code.defn Examples/BSSN/freeBSSN/evalBSSNConstraints/src/precomputations.h Examples/BSSN/freeBSSN/freeBSSNBase/interface.ccl Examples/BSSN/freeBSSN/freeBSSNBase/param.ccl Examples/BSSN/freeBSSN/freeBSSNBase/schedule.ccl Examples/BSSN/freeBSSN/freeBSSNBase/src/RegisterSymmetries.c Examples/BSSN/freeBSSN/freeBSSNBase/src/Startup.c Examples/BSSN/freeBSSN/freeBSSNBase/src/make.code.defn Examples/BSSN/freeBSSN/harmonicLapseMoL/interface.ccl Examples/BSSN/freeBSSN/harmonicLapseMoL/param.ccl Examples/BSSN/freeBSSN/harmonicLapseMoL/schedule.ccl Examples/BSSN/freeBSSN/harmonicLapseMoL/src/Startup.c Examples/BSSN/freeBSSN/harmonicLapseMoL/src/harmonicLapseMoL_ApplyExcision.F90 Examples/BSSN/freeBSSN/harmonicLapseMoL/src/harmonicLapseMoL_Boundaries.c Examples/BSSN/freeBSSN/harmonicLapseMoL/src/harmonicLapseMoL_CalcRHS.c Examples/BSSN/freeBSSN/harmonicLapseMoL/src/harmonicLapseMoL_RegisterVars.c Examples/BSSN/freeBSSN/harmonicLapseMoL/src/make.code.defn Examples/BSSN/freeBSSN/harmonicLapseMoL/src/precomputations.h Examples/BSSN/freeBSSN/par/BSSN2GaugeWaveR0.par Examples/BSSN/freeBSSN/par/BSSN2GaugeWaveR1.par Examples/BSSN/freeBSSN/par/BSSN2GaugeWaveR2.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyCollapseR0.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyCollapseR1.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyCollapseR2.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyExpandR0.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyExpandR1.par Examples/BSSN/freeBSSN/par/BSSN2PolarizedGowdyExpandR2.par Examples/BSSN/freeBSSN/par/BSSN2RobustR0.par Examples/BSSN/freeBSSN/par/BSSN2RobustR1.par Examples/BSSN/freeBSSN/par/BSSN2RobustR2.par Examples/BSSN/freeBSSN/projectAlgebraicConstraints/interface.ccl Examples/BSSN/freeBSSN/projectAlgebraicConstraints/param.ccl Examples/BSSN/freeBSSN/projectAlgebraicConstraints/schedule.ccl Examples/BSSN/freeBSSN/projectAlgebraicConstraints/src/Startup.c Examples/BSSN/freeBSSN/projectAlgebraicConstraints/src/make.code.defn Examples/BSSN/freeBSSN/projectAlgebraicConstraints/src/precomputations.h Examples/BSSN/freeBSSN/projectAlgebraicConstraints/src/projectAlgebraicConstraints_Set.c Examples/BSSN/freeBSSN/setHarmonicLapse/interface.ccl Examples/BSSN/freeBSSN/setHarmonicLapse/param.ccl Examples/BSSN/freeBSSN/setHarmonicLapse/schedule.ccl Examples/BSSN/freeBSSN/setHarmonicLapse/src/Startup.c Examples/BSSN/freeBSSN/setHarmonicLapse/src/make.code.defn Examples/BSSN/freeBSSN/setHarmonicLapse/src/precomputations.h Examples/BSSN/freeBSSN/setHarmonicLapse/src/setHarmonicLapse_Set.c Examples/BSSN/freeBSSN/setUnitLapse/interface.ccl Examples/BSSN/freeBSSN/setUnitLapse/param.ccl Examples/BSSN/freeBSSN/setUnitLapse/schedule.ccl Examples/BSSN/freeBSSN/setUnitLapse/src/Startup.c Examples/BSSN/freeBSSN/setUnitLapse/src/make.code.defn Examples/BSSN/freeBSSN/setUnitLapse/src/precomputations.h Examples/BSSN/freeBSSN/setUnitLapse/src/setUnitLapse_Set.c Examples/BSSN/freeBSSN/setZeroShift/interface.ccl Examples/BSSN/freeBSSN/setZeroShift/param.ccl Examples/BSSN/freeBSSN/setZeroShift/schedule.ccl Examples/BSSN/freeBSSN/setZeroShift/src/Startup.c Examples/BSSN/freeBSSN/setZeroShift/src/make.code.defn Examples/BSSN/freeBSSN/setZeroShift/src/precomputations.h Examples/BSSN/freeBSSN/setZeroShift/src/setZeroShift_Set.c Examples/KleinGordon/Components.nb Examples/KleinGordon/KGTT.m Examples/KleinGordon/ListOfEqsLhsRhsComp.m Examples/KleinGordon/MKG100.par Examples/KleinGordon/MKGTT.m Examples/KleinGordon/README Examples/KleinGordon/ThornGen_front.nb Examples/KleinGordon/arrangement_MKG.tar.gz Examples/KleinGordon/data_mkg.tar.gz Examples/Maxwell/3+1_Decomp_Maxwell.nb Examples/Maxwell/EM100.par Examples/Maxwell/EMTT.m Examples/Maxwell/Initializations_Maxwell.nb Examples/Maxwell/ListOfConstrComp.m Examples/Maxwell/ListOfEqsLhsRhsComp.m Examples/Maxwell/Maxwell_Demo.nb Examples/Maxwell/README Examples/Maxwell/README_internal Examples/Maxwell/ThornGen_front.nb Examples/Maxwell/Using_Tools_Constr.nb Examples/Maxwell/arrangement_EM.tar.gz Examples/Maxwell/data_em.tar.gz Tools/TensorFactory/ComponentsTools.nb Tools/TensorFactory/DecomposeTools.nb Tools/TensorFactory/FrameDecomposeTools.nb Tools/TensorFactory/GaussCodazzi.nb Tools/TensorFactory/Ricci.tex Tools/TensorFactory/StartMathTensor.m Tools/TensorFactory/TeXTools.nb Tools/TensorFactory/Doc/Characteristics.nb Tools/TensorFactory/Doc/DocGaussCodazzi.nb Tools/TensorFactory/Doc/Om1EvolEqs.m Tools/TensorFactory/Doc/exampleTeX.nb Tools/TensorFactory/Doc/Papers/ERE2003.pdf Tools/TensorFactory/Doc/Talks/compalg.pdf