gitextract_noaq8p8m/ ├── .editorconfig ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── appimage-modern.yml │ ├── c++lib.yml │ ├── docker.yml │ ├── fedora-40-package.yml │ ├── fedora-41-package.yml │ ├── fedora-42-package.yml │ ├── freebsd.yml │ ├── homebrew-devel.yml │ ├── homebrew.yml │ ├── linux.yml │ ├── macos.yml │ ├── opensuse-tumbleweed-package.yml │ ├── tarball.yml │ ├── ubuntu-22.04-package.yml │ ├── ubuntu-24.04-package.yml │ ├── windows-installer.yml │ └── windows.yml ├── .gitignore ├── .gitmodules ├── .travis.yml ├── CITATION.cff ├── CMakeLists.txt ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── JUPYTER.rst ├── LICENSE ├── Makefile ├── README.rst ├── c++lib/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── README.txt │ ├── SympyDummy.cc │ ├── adjform.cc │ ├── cpplib.hh.in │ ├── nevaluate.cc │ ├── nevaluate.py │ ├── simple.cc │ └── trivial.cc ├── client_server/ │ ├── Actions.cc │ ├── Actions.hh │ ├── CMakeLists.txt │ ├── ComputeThread.cc │ ├── ComputeThread.hh │ ├── DocumentThread.cc │ ├── DocumentThread.hh │ ├── GUIBase.hh │ ├── ScriptThread.cc │ ├── ScriptThread.hh │ ├── Server.cc │ ├── Server.hh │ ├── Snoop.cc │ ├── Snoop.hh │ ├── TODO │ ├── cadabra-jupyter-kernel.cc │ ├── cadabra-jupyter-kernel.hh │ ├── cadabra-jupyter-main.cc │ ├── cadabra-server.cc │ ├── cadabra2html.cc │ ├── cadabra2latex.cc │ ├── connection.json │ ├── kernel.json │ ├── notebook.html │ ├── notebook.tex │ ├── popen2.cc │ ├── popen2.hh │ ├── regexp_tester.cc │ ├── test_client.cc │ ├── test_talk_to_server.cc │ ├── tree.hh │ ├── websocket_client.cc │ ├── websocket_client.hh │ ├── websocket_server.cc │ └── websocket_server.hh ├── cmake/ │ ├── cmake_uninstall.cmake.in │ ├── functions.cmake │ ├── modules/ │ │ ├── FindGLIBMM3.cmake │ │ ├── FindGLIBMM4.cmake │ │ ├── FindGMPXX.cmake │ │ ├── FindGTKMM3.cmake │ │ ├── FindGTKMM4.cmake │ │ ├── FindJSONCPP.cmake │ │ ├── FindLibPythonOSX.py │ │ ├── FindMathematica.cmake │ │ ├── FindMathematicaDocumentationBuild.cmake.in │ │ ├── FindMathematicaTestDriver.cmd │ │ ├── FindMathematicaTestDriver.sh │ │ ├── FindPythonLibsOSX.cmake │ │ ├── FindSQLITE3.cmake │ │ ├── FindZeroMQ.cmake │ │ └── cotire.cmake │ ├── packaging.cmake │ ├── policies.cmake │ ├── version.cmake │ └── windows.cmake ├── codemeta.json ├── conda/ │ ├── build.sh │ └── meta.yaml ├── config/ │ ├── AppRun │ ├── Doxyfile │ ├── DoxygenLayout.xml │ ├── DoxygenStyle.css │ ├── README.txt │ ├── buildbot.sh │ ├── buildpkg.sh │ ├── doxyrest-config.lua │ ├── generate_keywords.py │ ├── init-cadabra2.scm │ ├── install_python_windows.cmake.in │ ├── install_script.iss.in │ ├── make.bat │ ├── post_install.rtf │ ├── postinst.in │ ├── pre_install.rtf.in │ ├── publish-doxygen │ ├── science.cadabra.cadabra2-gtk.desktop.in │ ├── shortcuts.wxs │ ├── travisci_rsa.enc │ └── travisci_rsa.pub ├── contrib/ │ ├── einstein_equations.cnb │ └── structure_equations_and_bianchi.cnb ├── core/ │ ├── .gitignore │ ├── Adjform.cc │ ├── Adjform.hh │ ├── Algorithm.cc │ ├── Algorithm.hh │ ├── Bridge.cc │ ├── Bridge.hh │ ├── CMakeLists.txt │ ├── CdbPython.cc │ ├── CdbPython.hh │ ├── Cleanup.cc │ ├── Cleanup.hh │ ├── Combinatorics.cc │ ├── Combinatorics.hh │ ├── Compare.cc │ ├── Compare.hh │ ├── Config.hh.in │ ├── DataCell.cc │ ├── DataCell.hh │ ├── Debug.hh │ ├── DisplayBase.cc │ ├── DisplayBase.hh │ ├── DisplayMMA.cc │ ├── DisplayMMA.hh │ ├── DisplaySympy.cc │ ├── DisplaySympy.hh │ ├── DisplayTeX.cc │ ├── DisplayTeX.hh │ ├── DisplayTerminal.cc │ ├── DisplayTerminal.hh │ ├── Dummies.hh │ ├── Equals.cc │ ├── Equals.hh │ ├── ExManip.cc │ ├── ExManip.hh │ ├── ExNode.cc │ ├── ExNode.hh │ ├── Exceptions.cc │ ├── Exceptions.hh │ ├── Exchange.cc │ ├── Exchange.hh │ ├── Functional.cc │ ├── Functional.hh │ ├── Grouping.cc │ ├── Grouping.hh │ ├── Hash.cc │ ├── Hash.hh │ ├── IndexClassifier.cc │ ├── IndexClassifier.hh │ ├── IndexIterator.cc │ ├── IndexIterator.hh │ ├── InstallPrefix.cc │ ├── InstallPrefix.hh │ ├── Kernel.cc │ ├── Kernel.hh │ ├── Linear.cc │ ├── Linear.hh │ ├── MMACdb.cc │ ├── MMACdb.hh │ ├── Media.cc │ ├── Media.hh │ ├── MultiIndex.hh │ ├── Multiplier.cc │ ├── Multiplier.hh │ ├── NDSolver.cc │ ├── NDSolver.hh │ ├── NEvaluator.cc │ ├── NEvaluator.hh │ ├── NIntegrator.cc │ ├── NIntegrator.hh │ ├── NInterpolatingFunction.cc │ ├── NInterpolatingFunction.hh │ ├── NTensor.cc │ ├── NTensor.hh │ ├── Parser.cc │ ├── Parser.hh │ ├── Permutations.hh │ ├── PreClean.cc │ ├── PreClean.hh │ ├── PreProcessor.cc │ ├── PreProcessor.hh │ ├── ProgressMonitor.cc │ ├── ProgressMonitor.hh │ ├── Props.cc │ ├── Props.hh │ ├── PythonException.cc │ ├── PythonException.hh │ ├── ReservedNode.cc │ ├── ReservedNode.hh │ ├── Stopwatch.cc │ ├── Stopwatch.hh │ ├── Storage.cc │ ├── Storage.hh │ ├── Sum.cc │ ├── Sum.hh │ ├── Symbols.cc │ ├── Symbols.hh │ ├── SympyCdb.cc │ ├── SympyCdb.hh │ ├── TerminalStream.cc │ ├── TerminalStream.hh │ ├── YoungTab.cc │ ├── YoungTab.hh │ ├── algorithms/ │ │ ├── all_contractions.tex │ │ ├── asym.cnb │ │ ├── canonicalise.cc │ │ ├── canonicalise.cnb │ │ ├── canonicalise.hh │ │ ├── canonicalorder.tex │ │ ├── coefficients.tex │ │ ├── collect_components.cc │ │ ├── collect_components.hh │ │ ├── collect_factors.cc │ │ ├── collect_factors.cnb │ │ ├── collect_factors.hh │ │ ├── collect_terms.cc │ │ ├── collect_terms.cnb │ │ ├── collect_terms.hh │ │ ├── combine.cc │ │ ├── combine.cnb │ │ ├── combine.hh │ │ ├── complete.cc │ │ ├── complete.cnb │ │ ├── complete.hh │ │ ├── component.hh │ │ ├── decompose.cc │ │ ├── decompose.cnb │ │ ├── decompose.hh │ │ ├── decompose_product.cc │ │ ├── decompose_product.cnb │ │ ├── decompose_product.hh │ │ ├── depprint.tex │ │ ├── distribute.cc │ │ ├── distribute.cnb │ │ ├── distribute.hh │ │ ├── drop_weight.cc │ │ ├── drop_weight.cnb │ │ ├── drop_weight.hh │ │ ├── dualise_tensor.tex │ │ ├── einsteinify.cc │ │ ├── einsteinify.cnb │ │ ├── einsteinify.hh │ │ ├── eliminate_kronecker.cc │ │ ├── eliminate_kronecker.cnb │ │ ├── eliminate_kronecker.hh │ │ ├── eliminate_metric.cc │ │ ├── eliminate_metric.cnb │ │ ├── eliminate_metric.hh │ │ ├── eliminate_vielbein.cc │ │ ├── eliminate_vielbein.cnb │ │ ├── eliminate_vielbein.hh │ │ ├── eliminate_vielbein.tex │ │ ├── eliminateeps.tex │ │ ├── epsilon_to_delta.cc │ │ ├── epsilon_to_delta.cnb │ │ ├── epsilon_to_delta.hh │ │ ├── evaluate.cc │ │ ├── evaluate.cnb │ │ ├── evaluate.hh │ │ ├── expand.cc │ │ ├── expand.cnb │ │ ├── expand.hh │ │ ├── expand_delta.cc │ │ ├── expand_delta.cnb │ │ ├── expand_delta.hh │ │ ├── expand_diracbar.cc │ │ ├── expand_diracbar.cnb │ │ ├── expand_diracbar.hh │ │ ├── expand_dummies.cc │ │ ├── expand_dummies.cnb │ │ ├── expand_dummies.hh │ │ ├── expand_power.cc │ │ ├── expand_power.cnb │ │ ├── expand_power.hh │ │ ├── expand_product_shorthand.tex │ │ ├── explicit_indices.cc │ │ ├── explicit_indices.cnb │ │ ├── explicit_indices.hh │ │ ├── factor_in.cc │ │ ├── factor_in.cnb │ │ ├── factor_in.hh │ │ ├── factor_out.cc │ │ ├── factor_out.cnb │ │ ├── factor_out.hh │ │ ├── fierz.cc │ │ ├── fierz.cnb │ │ ├── fierz.hh │ │ ├── first_order_form.cc │ │ ├── first_order_form.hh │ │ ├── flatten_product.cc │ │ ├── flatten_product.hh │ │ ├── flatten_sum.cc │ │ ├── flatten_sum.hh │ │ ├── impose_asym.tex │ │ ├── impose_bianchi.tex │ │ ├── index_rename.tex │ │ ├── indexlist.tex │ │ ├── indexsort.cc │ │ ├── indexsort.hh │ │ ├── indexsort.tex │ │ ├── inner.tex │ │ ├── integrate_by_parts.cc │ │ ├── integrate_by_parts.cnb │ │ ├── integrate_by_parts.hh │ │ ├── join_gamma.cc │ │ ├── join_gamma.cnb │ │ ├── join_gamma.hh │ │ ├── keep_terms.cc │ │ ├── keep_terms.hh │ │ ├── keep_terms.tex │ │ ├── keep_weight.cnb │ │ ├── list_sum.tex │ │ ├── listflatten.tex │ │ ├── lower_free_indices.cc │ │ ├── lower_free_indices.cnb │ │ ├── lower_free_indices.hh │ │ ├── lr_tensor.cc │ │ ├── lr_tensor.cnb │ │ ├── lr_tensor.hh │ │ ├── lsolve.tex │ │ ├── map_mma.cc │ │ ├── map_mma.hh │ │ ├── map_sympy.cc │ │ ├── map_sympy.cnb │ │ ├── map_sympy.hh │ │ ├── meld.cc │ │ ├── meld.cnb │ │ ├── meld.hh │ │ ├── ndsolve.cnb │ │ ├── nevaluate.cc │ │ ├── nevaluate.cnb │ │ ├── nevaluate.hh │ │ ├── nval.cc │ │ ├── nval.cnb │ │ ├── nval.hh │ │ ├── order.cc │ │ ├── order.hh │ │ ├── order.tex │ │ ├── permute.tex │ │ ├── product_rule.cc │ │ ├── product_rule.cnb │ │ ├── product_rule.hh │ │ ├── product_shorthand.tex │ │ ├── projweyl.tex │ │ ├── properties.tex │ │ ├── proplist.tex │ │ ├── raise_free_indices.cnb │ │ ├── range.tex │ │ ├── reduce.tex │ │ ├── reduce_delta.cc │ │ ├── reduce_delta.cnb │ │ ├── reduce_delta.hh │ │ ├── remove_indexbracket.tex │ │ ├── remove_weyl_traces.tex │ │ ├── rename_dummies.cc │ │ ├── rename_dummies.cnb │ │ ├── rename_dummies.hh │ │ ├── replace_match.cc │ │ ├── replace_match.cnb │ │ ├── replace_match.hh │ │ ├── rewrite_indices.cc │ │ ├── rewrite_indices.cnb │ │ ├── rewrite_indices.hh │ │ ├── simplify.cc │ │ ├── simplify.cnb │ │ ├── simplify.hh │ │ ├── slot_asym.cnb │ │ ├── sort_product.cc │ │ ├── sort_product.cnb │ │ ├── sort_product.hh │ │ ├── sort_spinors.cc │ │ ├── sort_spinors.cnb │ │ ├── sort_spinors.hh │ │ ├── sort_sum.cc │ │ ├── sort_sum.cnb │ │ ├── sort_sum.hh │ │ ├── split.cc │ │ ├── split.hh │ │ ├── split_gamma.cc │ │ ├── split_gamma.cnb │ │ ├── split_gamma.hh │ │ ├── split_index.cc │ │ ├── split_index.cnb │ │ ├── split_index.hh │ │ ├── substitute.cc │ │ ├── substitute.cnb │ │ ├── substitute.hh │ │ ├── sumflatten.tex │ │ ├── sym.cc │ │ ├── sym.hh │ │ ├── sym.tex │ │ ├── tab_basics.cc │ │ ├── tab_basics.hh │ │ ├── tab_dimension.cc │ │ ├── tab_dimension.hh │ │ ├── tabcanonicalise.tex │ │ ├── tabdimension.tex │ │ ├── tabstandardform.tex │ │ ├── take_match.cc │ │ ├── take_match.cnb │ │ ├── take_match.hh │ │ ├── tree.tex │ │ ├── unique_indices.tex │ │ ├── untrace.cc │ │ ├── untrace.cnb │ │ ├── untrace.hh │ │ ├── unwrap.cc │ │ ├── unwrap.cnb │ │ ├── unwrap.hh │ │ ├── unzoom.cc │ │ ├── unzoom.hh │ │ ├── vary.cc │ │ ├── vary.cnb │ │ ├── vary.hh │ │ ├── weyl_index_order.tex │ │ ├── young_project.cc │ │ ├── young_project.hh │ │ ├── young_project.tex │ │ ├── young_project_product.cc │ │ ├── young_project_product.cnb │ │ ├── young_project_product.hh │ │ ├── young_project_tensor.cc │ │ ├── young_project_tensor.cnb │ │ ├── young_project_tensor.hh │ │ ├── zoom.cc │ │ ├── zoom.cnb │ │ └── zoom.hh │ ├── cadabra2-cli.cc │ ├── cadabra2-cli.hh │ ├── cadabra2.in │ ├── cadabra2_defaults.py.in │ ├── cadabra2cadabra.cc │ ├── cadabra2ipynb.cc │ ├── cadabra2python.cc │ ├── cdb-nbtool.cc │ ├── echokernel.py │ ├── lru_cache.hh │ ├── modules/ │ │ ├── Lie.cc │ │ ├── xperm_new.cc │ │ └── xperm_new.h │ ├── packages/ │ │ ├── CMakeLists.txt │ │ └── cdb/ │ │ ├── core/ │ │ │ ├── _component.cc │ │ │ ├── component.cnb │ │ │ ├── manip.cnb │ │ │ ├── solve.cnb │ │ │ └── trace.cnb │ │ ├── gauge_theory/ │ │ │ └── instantons.cnb │ │ ├── graphics/ │ │ │ └── plot.cnb │ │ ├── interact/ │ │ │ └── slider.cnb │ │ ├── main.py │ │ ├── numeric/ │ │ │ ├── evaluate.cnb │ │ │ └── integrate.cnb │ │ ├── relativity/ │ │ │ ├── __init__.cdb │ │ │ ├── abstract.cnb │ │ │ └── schwarzschild.cnb │ │ ├── remote/ │ │ │ ├── __init__.py │ │ │ ├── highlight.py │ │ │ ├── record.py │ │ │ └── speech.py │ │ ├── sympy/ │ │ │ ├── calculus.cnb │ │ │ └── solvers.cnb │ │ └── utils/ │ │ ├── _algorithm.cc │ │ ├── develop.cnb │ │ ├── indices.cnb │ │ ├── node.cnb │ │ ├── tableau.cnb │ │ └── types.cnb │ ├── passing.cc │ ├── properties/ │ │ ├── Accent.cc │ │ ├── Accent.cnb │ │ ├── Accent.hh │ │ ├── Accent.tex │ │ ├── AntiCommuting.cc │ │ ├── AntiCommuting.cnb │ │ ├── AntiCommuting.hh │ │ ├── AntiCommuting.tex │ │ ├── AntiSelfDual.tex │ │ ├── AntiSymmetric.cc │ │ ├── AntiSymmetric.cnb │ │ ├── AntiSymmetric.hh │ │ ├── AntiSymmetric.tex │ │ ├── Commuting.cc │ │ ├── Commuting.cnb │ │ ├── Commuting.hh │ │ ├── Commuting.tex │ │ ├── CommutingAsProduct.cc │ │ ├── CommutingAsProduct.cnb │ │ ├── CommutingAsProduct.hh │ │ ├── CommutingAsProduct.tex │ │ ├── CommutingAsSum.cc │ │ ├── CommutingAsSum.cnb │ │ ├── CommutingAsSum.hh │ │ ├── CommutingAsSum.tex │ │ ├── CommutingBehaviour.cc │ │ ├── CommutingBehaviour.hh │ │ ├── Coordinate.cc │ │ ├── Coordinate.cnb │ │ ├── Coordinate.hh │ │ ├── Coordinate.tex │ │ ├── DAntiSymmetric.cc │ │ ├── DAntiSymmetric.cnb │ │ ├── DAntiSymmetric.hh │ │ ├── DAntiSymmetric.tex │ │ ├── Depends.cc │ │ ├── Depends.cnb │ │ ├── Depends.hh │ │ ├── Depends.tex │ │ ├── DependsBase.hh │ │ ├── DependsInherit.cc │ │ ├── DependsInherit.hh │ │ ├── DependsInherit.tex │ │ ├── Derivative.cc │ │ ├── Derivative.cnb │ │ ├── Derivative.hh │ │ ├── Derivative.tex │ │ ├── DerivativeOp.cc │ │ ├── DerivativeOp.hh │ │ ├── Determinant.cc │ │ ├── Determinant.cnb │ │ ├── Determinant.hh │ │ ├── Diagonal.cc │ │ ├── Diagonal.cnb │ │ ├── Diagonal.hh │ │ ├── Diagonal.tex │ │ ├── DifferentialForm.cc │ │ ├── DifferentialForm.hh │ │ ├── DifferentialFormBase.hh │ │ ├── DiracBar.cc │ │ ├── DiracBar.cnb │ │ ├── DiracBar.hh │ │ ├── DiracBar.tex │ │ ├── Distributable.cc │ │ ├── Distributable.cnb │ │ ├── Distributable.hh │ │ ├── Distributable.tex │ │ ├── EpsilonTensor.cc │ │ ├── EpsilonTensor.cnb │ │ ├── EpsilonTensor.hh │ │ ├── EpsilonTensor.tex │ │ ├── ExteriorDerivative.cc │ │ ├── ExteriorDerivative.hh │ │ ├── FilledTableau.cc │ │ ├── FilledTableau.cnb │ │ ├── FilledTableau.hh │ │ ├── FilledTableau.tex │ │ ├── GammaMatrix.cc │ │ ├── GammaMatrix.cnb │ │ ├── GammaMatrix.hh │ │ ├── GammaMatrix.tex │ │ ├── GammaTraceless.cc │ │ ├── GammaTraceless.hh │ │ ├── GammaTraceless.tex │ │ ├── ImaginaryI.cc │ │ ├── ImaginaryI.hh │ │ ├── ImplicitIndex.cc │ │ ├── ImplicitIndex.cnb │ │ ├── ImplicitIndex.hh │ │ ├── ImplicitIndex.tex │ │ ├── IndexInherit.cc │ │ ├── IndexInherit.cnb │ │ ├── IndexInherit.hh │ │ ├── IndexInherit.tex │ │ ├── Indices.cc │ │ ├── Indices.cnb │ │ ├── Indices.hh │ │ ├── Indices.tex │ │ ├── Integer.cc │ │ ├── Integer.cnb │ │ ├── Integer.hh │ │ ├── Integer.tex │ │ ├── Integral.hh │ │ ├── InverseMetric.cc │ │ ├── InverseMetric.cnb │ │ ├── InverseMetric.hh │ │ ├── InverseMetric.tex │ │ ├── InverseVielbein.cnb │ │ ├── InverseVielbein.tex │ │ ├── KeepHistory.tex │ │ ├── KroneckerDelta.cc │ │ ├── KroneckerDelta.cnb │ │ ├── KroneckerDelta.hh │ │ ├── KroneckerDelta.tex │ │ ├── LaTeXForm.cc │ │ ├── LaTeXForm.cnb │ │ ├── LaTeXForm.hh │ │ ├── LaTeXForm.tex │ │ ├── Matrix.cc │ │ ├── Matrix.hh │ │ ├── Matrix.tex │ │ ├── Metric.cc │ │ ├── Metric.cnb │ │ ├── Metric.hh │ │ ├── Metric.tex │ │ ├── NonCommuting.cc │ │ ├── NonCommuting.cnb │ │ ├── NonCommuting.hh │ │ ├── NonCommuting.tex │ │ ├── NumericalFlat.cc │ │ ├── NumericalFlat.hh │ │ ├── NumericalFlat.tex │ │ ├── PartialDerivative.cc │ │ ├── PartialDerivative.cnb │ │ ├── PartialDerivative.hh │ │ ├── PartialDerivative.tex │ │ ├── PostDefaultRules.tex │ │ ├── PreDefaultRules.tex │ │ ├── PropertyInherit.tex │ │ ├── RiemannTensor.cc │ │ ├── RiemannTensor.cnb │ │ ├── RiemannTensor.hh │ │ ├── RiemannTensor.tex │ │ ├── SatisfiesBianchi.cc │ │ ├── SatisfiesBianchi.cnb │ │ ├── SatisfiesBianchi.hh │ │ ├── SatisfiesBianchi.tex │ │ ├── SelfAntiCommuting.cc │ │ ├── SelfAntiCommuting.cnb │ │ ├── SelfAntiCommuting.hh │ │ ├── SelfAntiCommuting.tex │ │ ├── SelfCommuting.cc │ │ ├── SelfCommuting.cnb │ │ ├── SelfCommuting.hh │ │ ├── SelfCommuting.tex │ │ ├── SelfCommutingBehaviour.hh │ │ ├── SelfDual.tex │ │ ├── SelfNonCommuting.cc │ │ ├── SelfNonCommuting.cnb │ │ ├── SelfNonCommuting.hh │ │ ├── SelfNonCommuting.tex │ │ ├── SigmaBarMatrix.tex │ │ ├── SigmaMatrix.hh │ │ ├── SigmaMatrix.tex │ │ ├── SortOrder.cc │ │ ├── SortOrder.cnb │ │ ├── SortOrder.hh │ │ ├── SortOrder.tex │ │ ├── Spinor.cc │ │ ├── Spinor.cnb │ │ ├── Spinor.hh │ │ ├── Spinor.tex │ │ ├── Symbol.cc │ │ ├── Symbol.cnb │ │ ├── Symbol.hh │ │ ├── Symmetric.cc │ │ ├── Symmetric.cnb │ │ ├── Symmetric.hh │ │ ├── Symmetric.tex │ │ ├── Tableau.cc │ │ ├── Tableau.cnb │ │ ├── Tableau.hh │ │ ├── TableauBase.cc │ │ ├── TableauBase.hh │ │ ├── TableauInherit.cc │ │ ├── TableauInherit.hh │ │ ├── TableauSymmetry.cc │ │ ├── TableauSymmetry.cnb │ │ ├── TableauSymmetry.hh │ │ ├── TableauSymmetry.tex │ │ ├── Trace.cc │ │ ├── Trace.cnb │ │ ├── Trace.hh │ │ ├── Traceless.cc │ │ ├── Traceless.hh │ │ ├── Traceless.tex │ │ ├── Vielbein.cc │ │ ├── Vielbein.cnb │ │ ├── Vielbein.hh │ │ ├── Vielbein.tex │ │ ├── Weight.cc │ │ ├── Weight.cnb │ │ ├── Weight.hh │ │ ├── WeightBase.hh │ │ ├── WeightInherit.cc │ │ ├── WeightInherit.cnb │ │ ├── WeightInherit.hh │ │ ├── WeylTensor.cc │ │ ├── WeylTensor.hh │ │ └── WeylTensor.tex │ ├── pythoncdb/ │ │ ├── py_algorithms.cc │ │ ├── py_algorithms.hh │ │ ├── py_ex.cc │ │ ├── py_ex.hh │ │ ├── py_globals.cc │ │ ├── py_globals.hh │ │ ├── py_helpers.cc │ │ ├── py_helpers.hh │ │ ├── py_kernel.cc │ │ ├── py_kernel.hh │ │ ├── py_media.cc │ │ ├── py_media.hh │ │ ├── py_module.cc │ │ ├── py_ntensor.cc │ │ ├── py_ntensor.hh │ │ ├── py_packages.cc │ │ ├── py_packages.hh │ │ ├── py_progress.cc │ │ ├── py_progress.hh │ │ ├── py_properties.cc │ │ ├── py_properties.hh │ │ ├── py_stopwatch.cc │ │ ├── py_stopwatch.hh │ │ ├── py_tableau.cc │ │ └── py_tableau.hh │ ├── test_benchmark.cc │ ├── test_compile_command.py │ ├── test_internals.cc │ ├── test_multiindex.cc │ ├── test_multiplier.cc │ ├── test_permutations.cc │ ├── test_preprocessor.cc │ ├── test_wstp.cc │ └── tree.hh ├── doc/ │ ├── .gitignore │ ├── adjacency_form.md │ ├── autogobble.sty │ ├── cadabra2.tex │ ├── cadabra2_hep.tex │ ├── description │ ├── license.txt │ ├── main.md │ ├── modules.dox │ ├── random.md │ ├── reserved/ │ │ ├── anticommutator.tex │ │ ├── arrow.tex │ │ ├── cdot.tex │ │ ├── comma.tex │ │ ├── commutator.tex │ │ ├── conditional.tex │ │ ├── equals.tex │ │ ├── expression.tex │ │ ├── factorial.tex │ │ ├── frac.tex │ │ ├── indexbracket.tex │ │ ├── infty.tex │ │ ├── label.tex │ │ ├── matrix.tex │ │ ├── pow.tex │ │ ├── prod.tex │ │ ├── regex.tex │ │ ├── sequence.tex │ │ ├── sum.tex │ │ └── unequals.tex │ ├── tableaux.sty │ ├── the_cadabra_book.bib │ ├── the_cadabra_book.tex │ ├── users/ │ │ ├── command_line.tex │ │ ├── comparison.tex │ │ ├── components.tex │ │ ├── input.tex │ │ └── notebook_comparisons.tex │ └── writing_algorithms.tex ├── docker/ │ ├── Dockerfile │ └── entrypoint.sh ├── examples/ │ ├── .gitignore │ ├── auto_meld.cnb │ ├── automatic_multiterm.cnb │ ├── beginners.cnb │ ├── bianchi_identities.cnb │ ├── canonicalise.cnb │ ├── cell_ids.cnb │ ├── component_evaluation.cnb │ ├── components2.cnb │ ├── converge.cnb │ ├── covariant_derivative.cdb │ ├── equations_of_motion.cnb │ ├── exterior.cnb │ ├── fermionic_oscillator_algebra.cnb │ ├── fierz.cnb │ ├── for_previous_users.cnb │ ├── frw.cnb │ ├── gamma_matrix_algebra.cnb │ ├── gamma_traces.cnb │ ├── graphical_user_interface.cnb │ ├── ho.cnb │ ├── indexing_expressions.cnb │ ├── input_format.cnb │ ├── kaluza_klein.cnb │ ├── kerr.cnb │ ├── library.cnb │ ├── lovelock.cnb │ ├── nintegrate.cnb │ ├── numerics.cnb │ ├── packages.cnb │ ├── packages2.cnb │ ├── plotting.cnb │ ├── poincare_algebra.cnb │ ├── post_processing.cnb │ ├── quickstart.cnb │ ├── ref_accents.cnb │ ├── ref_c++_library.cnb │ ├── ref_core_package.cnb │ ├── ref_default_simplification.cnb │ ├── ref_derivatives.cnb │ ├── ref_dynamical_updates.cnb │ ├── ref_exponents.cnb │ ├── ref_flags_variables.cnb │ ├── ref_implicit_versus_explicit.cnb │ ├── ref_import.cnb │ ├── ref_indexbrackets.cnb │ ├── ref_indices.cnb │ ├── ref_kernel.cnb │ ├── ref_ndsolve.cnb │ ├── ref_numerical.cnb │ ├── ref_ordering.cnb │ ├── ref_patterns.cnb │ ├── ref_plotting.cnb │ ├── ref_printing.cnb │ ├── ref_programming.cnb │ ├── ref_properties.cnb │ ├── ref_selecting.cnb │ ├── ref_spacing.cnb │ ├── ref_sympy.cnb │ ├── reset.cnb │ ├── sample_dyn.cnb │ ├── scalar_manipulations.cnb │ ├── scalar_manipulations2.cnb │ ├── schwarzschild.cnb │ ├── schwarzschild.ipynb │ ├── simple_evaluate.cnb │ ├── slider.cnb │ ├── sphere.cnb │ ├── spinors.cnb │ ├── string_states.cnb │ ├── super_maxwell.cnb │ ├── supergravity.cnb │ ├── sympy_bridge.cnb │ ├── sympy_examples.cnb │ ├── tensor_monomials.cnb │ ├── tensors_in_denominators.cnb │ ├── typesetting.cnb │ ├── utf8.cnb │ ├── vacuum_einstein_first_order.cnb │ ├── variational_derivatives.cnb │ ├── working_with_ex.cnb │ └── world-sheet_susy.cnb ├── frontend/ │ ├── CMakeLists.txt │ ├── common/ │ │ ├── CMakeLists.txt │ │ ├── TeXEngine.cc │ │ ├── TeXEngine.hh │ │ ├── lodepng.cc │ │ ├── lodepng.h │ │ ├── preamble.tex │ │ ├── test_tex.cc │ │ └── testpre.tex │ ├── gtkmm/ │ │ ├── CMakeLists.txt │ │ ├── Cadabra.cc │ │ ├── Cadabra.hh │ │ ├── ChooseColoursDialog.cc │ │ ├── ChooseColoursDialog.hh │ │ ├── CodeInput.cc │ │ ├── CodeInput.hh │ │ ├── Console.cc │ │ ├── Console.hh │ │ ├── DiffViewer.cc │ │ ├── DiffViewer.hh │ │ ├── ImageView.cc │ │ ├── ImageView.hh │ │ ├── Keywords.cc │ │ ├── Keywords.hh │ │ ├── NotebookCanvas.cc │ │ ├── NotebookCanvas.hh │ │ ├── NotebookWindow.cc │ │ ├── NotebookWindow.hh │ │ ├── Preferences.hh │ │ ├── SelectFileDialog.cc │ │ ├── SelectFileDialog.hh │ │ ├── SliderView.cc │ │ ├── SliderView.hh │ │ ├── TeXView.cc │ │ ├── TeXView.hh │ │ ├── VisualCell.hh │ │ ├── cadabra2-gtk.appdata.xml.in │ │ ├── cdb-icons/ │ │ │ └── README.md │ │ ├── config/ │ │ │ ├── gschemas.compiled │ │ │ └── settings.ini │ │ ├── icons/ │ │ │ ├── Adwaita/ │ │ │ │ ├── cursors/ │ │ │ │ │ ├── 00008160000006810000408080010102.cur │ │ │ │ │ ├── 028006030e0e7ebffc7f7070c0600140.cur │ │ │ │ │ ├── 03b6e0fcb3499374a867c041f52298f0.cur │ │ │ │ │ ├── 08e8e1c95fe2fc01f976f1e063a24ccd.ani │ │ │ │ │ ├── 1081e37283d90000800003c07f3ef6bf.cur │ │ │ │ │ ├── 14fef782d02440884392942c11205230.cur │ │ │ │ │ ├── 2870a09082c103050810ffdffffe0204.cur │ │ │ │ │ ├── 3085a0e285430894940527032f8b26df.cur │ │ │ │ │ ├── 3ecb610c1bf2410f44200f48c40d3599.ani │ │ │ │ │ ├── 4498f0e0c1937ffe01fd06f973665830.cur │ │ │ │ │ ├── 5c6cd98b3f3ebcb1f9c7f1c204630408.cur │ │ │ │ │ ├── 6407b0e94181790501fd1e167b474872.cur │ │ │ │ │ ├── 640fb0e74195791501fd1ed57b41487f.cur │ │ │ │ │ ├── 9081237383d90e509aa00f00170e968f.cur │ │ │ │ │ ├── 9d800788f1b08800ae810202380a0822.cur │ │ │ │ │ ├── X_cursor.cur │ │ │ │ │ ├── alias.cur │ │ │ │ │ ├── all-scroll.cur │ │ │ │ │ ├── arrow.cur │ │ │ │ │ ├── bd_double_arrow.cur │ │ │ │ │ ├── bottom_left_corner.cur │ │ │ │ │ ├── bottom_right_corner.cur │ │ │ │ │ ├── bottom_side.cur │ │ │ │ │ ├── bottom_tee.cur │ │ │ │ │ ├── c7088f0f3e6c8088236ef8e1e3e70000.cur │ │ │ │ │ ├── cell.cur │ │ │ │ │ ├── circle.cur │ │ │ │ │ ├── col-resize.cur │ │ │ │ │ ├── context-menu.cur │ │ │ │ │ ├── copy.cur │ │ │ │ │ ├── cross.cur │ │ │ │ │ ├── cross_reverse.cur │ │ │ │ │ ├── crossed_circle.cur │ │ │ │ │ ├── crosshair.cur │ │ │ │ │ ├── d9ce0ab605698f320427677b458ad60b.cur │ │ │ │ │ ├── default.cur │ │ │ │ │ ├── diamond_cross.cur │ │ │ │ │ ├── dnd-ask.cur │ │ │ │ │ ├── dnd-copy.cur │ │ │ │ │ ├── dnd-link.cur │ │ │ │ │ ├── dnd-move.cur │ │ │ │ │ ├── dnd-no-drop.cur │ │ │ │ │ ├── dnd-none.cur │ │ │ │ │ ├── dot_box_mask.cur │ │ │ │ │ ├── dotbox.cur │ │ │ │ │ ├── double_arrow.cur │ │ │ │ │ ├── draft_large.cur │ │ │ │ │ ├── draft_small.cur │ │ │ │ │ ├── draped_box.cur │ │ │ │ │ ├── e-resize.cur │ │ │ │ │ ├── e29285e634086352946a0e7090d73106.cur │ │ │ │ │ ├── ew-resize.cur │ │ │ │ │ ├── fcf1c3c7cd4491d801f1e1c78f100000.cur │ │ │ │ │ ├── fd_double_arrow.cur │ │ │ │ │ ├── fleur.cur │ │ │ │ │ ├── grab.cur │ │ │ │ │ ├── grabbing.cur │ │ │ │ │ ├── h_double_arrow.cur │ │ │ │ │ ├── hand.cur │ │ │ │ │ ├── hand1.cur │ │ │ │ │ ├── hand2.cur │ │ │ │ │ ├── help.cur │ │ │ │ │ ├── icon.cur │ │ │ │ │ ├── left_ptr.cur │ │ │ │ │ ├── left_ptr_help.cur │ │ │ │ │ ├── left_ptr_watch.ani │ │ │ │ │ ├── left_side.cur │ │ │ │ │ ├── left_tee.cur │ │ │ │ │ ├── link.cur │ │ │ │ │ ├── ll_angle.cur │ │ │ │ │ ├── lr_angle.cur │ │ │ │ │ ├── move.cur │ │ │ │ │ ├── n-resize.cur │ │ │ │ │ ├── ne-resize.cur │ │ │ │ │ ├── nesw-resize.cur │ │ │ │ │ ├── no-drop.cur │ │ │ │ │ ├── not-allowed.cur │ │ │ │ │ ├── ns-resize.cur │ │ │ │ │ ├── nw-resize.cur │ │ │ │ │ ├── nwse-resize.cur │ │ │ │ │ ├── pencil.cur │ │ │ │ │ ├── pirate.cur │ │ │ │ │ ├── plus.cur │ │ │ │ │ ├── pointer-move.cur │ │ │ │ │ ├── pointer.cur │ │ │ │ │ ├── progress.ani │ │ │ │ │ ├── question_arrow.cur │ │ │ │ │ ├── right_ptr.cur │ │ │ │ │ ├── right_side.cur │ │ │ │ │ ├── right_tee.cur │ │ │ │ │ ├── row-resize.cur │ │ │ │ │ ├── s-resize.cur │ │ │ │ │ ├── sb_down_arrow.cur │ │ │ │ │ ├── sb_h_double_arrow.cur │ │ │ │ │ ├── sb_left_arrow.cur │ │ │ │ │ ├── sb_right_arrow.cur │ │ │ │ │ ├── sb_up_arrow.cur │ │ │ │ │ ├── sb_v_double_arrow.cur │ │ │ │ │ ├── se-resize.cur │ │ │ │ │ ├── size_all.cur │ │ │ │ │ ├── size_bdiag.cur │ │ │ │ │ ├── size_fdiag.cur │ │ │ │ │ ├── size_hor.cur │ │ │ │ │ ├── size_ver.cur │ │ │ │ │ ├── sw-resize.cur │ │ │ │ │ ├── target.cur │ │ │ │ │ ├── tcross.cur │ │ │ │ │ ├── text.cur │ │ │ │ │ ├── top_left_arrow.cur │ │ │ │ │ ├── top_left_corner.cur │ │ │ │ │ ├── top_right_corner.cur │ │ │ │ │ ├── top_side.cur │ │ │ │ │ ├── top_tee.cur │ │ │ │ │ ├── ul_angle.cur │ │ │ │ │ ├── ur_angle.cur │ │ │ │ │ ├── v_double_arrow.cur │ │ │ │ │ ├── vertical-text.cur │ │ │ │ │ ├── w-resize.cur │ │ │ │ │ ├── wait.ani │ │ │ │ │ ├── watch.ani │ │ │ │ │ ├── xterm.cur │ │ │ │ │ ├── zoom-in.cur │ │ │ │ │ └── zoom-out.cur │ │ │ │ ├── icon-theme.cache │ │ │ │ └── index.theme │ │ │ ├── README.txt │ │ │ └── hicolor/ │ │ │ └── icon-theme.cache │ │ ├── main.cc │ │ ├── science.cadabra.cadabra2-gtk.appdata.xml.in │ │ ├── theme/ │ │ │ ├── README.txt │ │ │ └── Windows10/ │ │ │ └── gtk-3.20/ │ │ │ ├── apps/ │ │ │ │ └── gnome-terminal.css │ │ │ ├── gtk-cadabra.css │ │ │ ├── gtk-contained-dark.css │ │ │ ├── gtk-contained.css │ │ │ ├── gtk-dark.css │ │ │ ├── gtk.css │ │ │ └── settings.ini │ │ └── win_res.rc.in │ ├── latex/ │ │ ├── install.cmake │ │ ├── tableaux.sty │ │ └── young.html │ ├── osx/ │ │ ├── CMakeLists.txt │ │ ├── Cadabra/ │ │ │ ├── Cadabra/ │ │ │ │ ├── AppDelegate.h │ │ │ │ ├── AppDelegate.mm │ │ │ │ ├── Base.lproj/ │ │ │ │ │ └── Cadabra.xib │ │ │ │ ├── Images.xcassets/ │ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ │ └── Contents.json │ │ │ │ ├── Info.plist │ │ │ │ ├── Notebook.xib │ │ │ │ ├── NotebookCanvas.hh │ │ │ │ ├── NotebookCanvas.mm │ │ │ │ ├── NotebookWindow.hh │ │ │ │ ├── NotebookWindow.mm │ │ │ │ ├── Test.xib │ │ │ │ └── main.m │ │ │ ├── Cadabra.xcodeproj/ │ │ │ │ ├── project.pbxproj │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ ├── xcshareddata/ │ │ │ │ │ │ └── Cadabra.xccheckout │ │ │ │ │ └── xcuserdata/ │ │ │ │ │ └── kasper.xcuserdatad/ │ │ │ │ │ └── UserInterfaceState.xcuserstate │ │ │ │ └── xcuserdata/ │ │ │ │ └── kasper.xcuserdatad/ │ │ │ │ ├── .gitignore │ │ │ │ └── xcschemes/ │ │ │ │ ├── Cadabra.xcscheme │ │ │ │ └── xcschememanagement.plist │ │ │ ├── CadabraTests/ │ │ │ │ ├── CadabraTests.m │ │ │ │ └── Info.plist │ │ │ ├── NotebookController.h │ │ │ └── NotebookController.mm │ │ └── fake.cc │ ├── qt5/ │ │ └── README.txt │ └── web/ │ ├── CMakeLists.txt │ ├── Makefile │ ├── README.md │ ├── css/ │ │ └── cadabra.css │ ├── docker/ │ │ ├── .gitignore │ │ └── Dockerfile │ ├── html/ │ │ └── index.html │ ├── js/ │ │ └── cadabra.js │ └── src/ │ ├── NotebookWindow.cc │ ├── NotebookWindow.hh │ └── server.py ├── jupyterkernel/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── cadabra2_jupyter/ │ │ ├── __init__.py.in │ │ ├── __main__.py │ │ ├── completer.py │ │ ├── context.py │ │ ├── kernel.py │ │ └── server.py │ ├── kernelspec/ │ │ └── kernel.json.in │ ├── lexer/ │ │ ├── cadabra.js │ │ └── cadabra.py │ └── readme.txt ├── libs/ │ ├── appdirs/ │ │ └── cdb_appdirs.py │ ├── base64/ │ │ ├── base64.cc │ │ └── base64.hh │ ├── cm/ │ │ ├── cmunbbx.clm1 │ │ ├── cmunbbx.otf │ │ ├── cmunbi.clm1 │ │ ├── cmunbi.otf │ │ ├── cmunbl.clm1 │ │ ├── cmunbl.otf │ │ ├── cmunbmo.clm1 │ │ ├── cmunbmo.otf │ │ ├── cmunbmr.clm1 │ │ ├── cmunbmr.otf │ │ ├── cmunbso.clm1 │ │ ├── cmunbso.otf │ │ ├── cmunbsr.clm1 │ │ ├── cmunbsr.otf │ │ ├── cmunbtl.clm1 │ │ ├── cmunbtl.otf │ │ ├── cmunbto.clm1 │ │ ├── cmunbto.otf │ │ ├── cmunbx.clm1 │ │ ├── cmunbx.otf │ │ ├── cmunbxo.clm1 │ │ ├── cmunbxo.otf │ │ ├── cmunci.clm1 │ │ ├── cmunci.otf │ │ ├── cmunit.clm1 │ │ ├── cmunit.otf │ │ ├── cmunobi.clm1 │ │ ├── cmunobi.otf │ │ ├── cmunobx.clm1 │ │ ├── cmunobx.otf │ │ ├── cmunorm.clm1 │ │ ├── cmunorm.otf │ │ ├── cmunoti.clm1 │ │ ├── cmunoti.otf │ │ ├── cmunrb.clm1 │ │ ├── cmunrb.otf │ │ ├── cmunrm.clm1 │ │ ├── cmunrm.otf │ │ ├── cmunsi.clm1 │ │ ├── cmunsi.otf │ │ ├── cmunsl.clm1 │ │ ├── cmunsl.otf │ │ ├── cmunso.clm1 │ │ ├── cmunso.otf │ │ ├── cmunss.clm1 │ │ ├── cmunss.otf │ │ ├── cmunssdc.clm1 │ │ ├── cmunssdc.otf │ │ ├── cmunst.clm1 │ │ ├── cmunst.otf │ │ ├── cmunsx.clm1 │ │ ├── cmunsx.otf │ │ ├── cmuntb.clm1 │ │ ├── cmuntb.otf │ │ ├── cmunti.clm1 │ │ ├── cmunti.otf │ │ ├── cmuntt.clm1 │ │ ├── cmuntt.otf │ │ ├── cmuntx.clm1 │ │ ├── cmuntx.otf │ │ ├── cmunui.clm1 │ │ ├── cmunui.otf │ │ ├── cmunvi.clm1 │ │ ├── cmunvi.otf │ │ ├── cmunvt.clm1 │ │ └── cmunvt.otf │ ├── dbg/ │ │ └── dbg.h │ ├── internal/ │ │ └── include/ │ │ └── internal/ │ │ ├── difflib.h │ │ ├── string_tools.h │ │ ├── uniconv.h │ │ ├── unistd.h │ │ └── uuid.h │ ├── linenoise/ │ │ ├── LICENSE │ │ └── linenoise.hpp │ ├── nlohmann/ │ │ └── nlohmann/ │ │ └── json.hpp │ ├── pybind11/ │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── include/ │ │ │ └── pybind11/ │ │ │ ├── attr.h │ │ │ ├── buffer_info.h │ │ │ ├── cast.h │ │ │ ├── chrono.h │ │ │ ├── common.h │ │ │ ├── complex.h │ │ │ ├── detail/ │ │ │ │ ├── class.h │ │ │ │ ├── common.h │ │ │ │ ├── cpp_conduit.h │ │ │ │ ├── descr.h │ │ │ │ ├── exception_translation.h │ │ │ │ ├── init.h │ │ │ │ ├── internals.h │ │ │ │ ├── type_caster_base.h │ │ │ │ ├── typeid.h │ │ │ │ └── value_and_holder.h │ │ │ ├── eigen/ │ │ │ │ ├── common.h │ │ │ │ ├── matrix.h │ │ │ │ └── tensor.h │ │ │ ├── eigen.h │ │ │ ├── embed.h │ │ │ ├── eval.h │ │ │ ├── functional.h │ │ │ ├── gil.h │ │ │ ├── gil_safe_call_once.h │ │ │ ├── iostream.h │ │ │ ├── numpy.h │ │ │ ├── operators.h │ │ │ ├── options.h │ │ │ ├── pybind11.h │ │ │ ├── pytypes.h │ │ │ ├── stl/ │ │ │ │ └── filesystem.h │ │ │ ├── stl.h │ │ │ ├── stl_bind.h │ │ │ ├── type_caster_pyobject_ptr.h │ │ │ └── typing.h │ │ ├── pybind11/ │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ ├── _version.py │ │ │ ├── commands.py │ │ │ ├── py.typed │ │ │ └── setup_helpers.py │ │ └── tools/ │ │ ├── FindCatch.cmake │ │ ├── FindEigen3.cmake │ │ ├── FindPythonLibsNew.cmake │ │ ├── JoinPaths.cmake │ │ ├── check-style.sh │ │ ├── cmake_uninstall.cmake.in │ │ ├── codespell_ignore_lines_from_errors.py │ │ ├── libsize.py │ │ ├── make_changelog.py │ │ ├── pybind11.pc.in │ │ ├── pybind11Common.cmake │ │ ├── pybind11Config.cmake.in │ │ ├── pybind11GuessPythonExtSuffix.cmake │ │ ├── pybind11NewTools.cmake │ │ ├── pybind11Tools.cmake │ │ ├── pyproject.toml │ │ ├── setup_global.py.in │ │ ├── setup_main.py.in │ │ └── test-pybind11GuessPythonExtSuffix.cmake │ ├── sqlite3/ │ │ ├── include/ │ │ │ └── sqlite3.h │ │ └── sqlite3.c │ ├── tiny-process-library/ │ │ ├── LICENSE │ │ ├── process.cpp │ │ ├── process.hpp │ │ ├── process_unix.cpp │ │ └── process_win.cpp │ ├── tinyxml2/ │ │ ├── CMakeLists.txt │ │ ├── cmake/ │ │ │ ├── tinyxml2-config.cmake │ │ │ └── tinyxml2.pc.in │ │ ├── tinyxml2.cpp │ │ └── tinyxml2.h │ └── whereami/ │ ├── LICENSE.WTFPLv2 │ ├── whereami.c │ └── whereami.h ├── man/ │ └── man1/ │ ├── cadabra-server.1 │ ├── cadabra2-cli.1 │ ├── cadabra2-gtk.1 │ ├── cadabra2.1 │ ├── cadabra2cadabra.1 │ ├── cadabra2html.1 │ ├── cadabra2ipynb.1 │ ├── cadabra2latex.1 │ └── cadabra2python.1 ├── paper/ │ ├── paper.bib │ └── paper.md ├── tests/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── algebra.cdb │ ├── basic.cdb │ ├── callbacks.cdb │ ├── canonicalise.cdb │ ├── components.cdb │ ├── decompose.cdb │ ├── decompose.cnb │ ├── delta.cdb │ ├── derivative.cdb │ ├── display.cdb │ ├── display.cnb │ ├── dummies.cdb │ ├── explicit_implicit.cdb │ ├── factor.cdb │ ├── field_theory.cdb │ ├── fierz.cdb │ ├── fixed_point.cdb │ ├── forms.cdb │ ├── gamma.cdb │ ├── gamma_paper.cdb │ ├── implicit.cdb │ ├── index_positions.cdb │ ├── integrals.cdb │ ├── ipynb_module.ipynb │ ├── kaluza_klein.cdb │ ├── kerr.cnb │ ├── latexform.cnb │ ├── manip.cdb │ ├── meld.cdb │ ├── mma.cdb │ ├── mma.cnb │ ├── module01.cnb │ ├── module02.cnb │ ├── module03.cdb │ ├── modules.cdb │ ├── multiterm.cdb │ ├── nevaluate.cdb │ ├── new_paper.cdb │ ├── noncovariant.cdb │ ├── numerical.cdb │ ├── output.cdb │ ├── packages.cdb │ ├── packages.cnb │ ├── paper.cdb │ ├── programming.cdb │ ├── properties.cdb │ ├── reduce.cdb │ ├── relativity.cdb │ ├── scope.cdb │ ├── selecting.cdb │ ├── semicolon-is-display.cnb │ ├── serialize.cdb │ ├── simplify.cdb │ ├── spinors.cdb │ ├── substitute.cdb │ ├── symmetry.cdb │ ├── sympy_bridge.cnb │ ├── sympy_cdb.cdb │ ├── test_comparison.cc │ ├── tests.cdb │ ├── trigonometric.cdb │ ├── unicode.cdb │ ├── vary.cdb │ ├── working.cdb │ ├── young.cdb │ └── yrtrace.cdb ├── tutorials/ │ └── 01_basics.py ├── vcpkg.json └── web2/ ├── CMakeLists.txt ├── README.txt ├── cadabra2/ │ ├── .gitignore │ ├── robots.txt │ └── source/ │ ├── blog.html │ ├── changelog.html │ ├── changes12.html │ ├── clay.yaml │ ├── comparison.html │ ├── developers.html │ ├── download.html │ ├── faq.html │ ├── features.html │ ├── help.html │ ├── index.html │ ├── jupyter.html │ ├── layout.html │ ├── license.html │ ├── man.html │ ├── manual/ │ │ ├── .gitignore │ │ └── README.txt │ ├── notebook_layout.html │ ├── notebooks/ │ │ ├── .gitignore │ │ └── README.txt │ ├── papers.html │ ├── people.html │ ├── quickstart.html │ ├── static/ │ │ ├── cadabra_in_ipython.nb │ │ ├── cadabra_in_ipython.nb.html │ │ ├── fonts/ │ │ │ ├── Bright/ │ │ │ │ ├── OFL-FAQ.txt │ │ │ │ ├── OFL.txt │ │ │ │ ├── README.txt │ │ │ │ └── cmun-bright.css │ │ │ ├── cmunbx.otf │ │ │ └── cmunrm.otf │ │ ├── humans.txt │ │ ├── images/ │ │ │ └── logo.tex │ │ ├── js/ │ │ │ └── cadabra.js │ │ ├── robots.txt │ │ └── styles/ │ │ ├── cadabra-web.css │ │ └── normalize.css │ ├── tutorials.html │ ├── user_notebooks.html │ └── v1x.html └── scan.py