Recent Releases of Cadabra2

Cadabra2 - 2.5.14

  • TeXmacs is supported again, including plotting (put the config/init-cadabra2.scm file in the appropriate location).
  • Plotting is now supported again by the Jupyter kernel.
  • Support for plotting in Kitty and iTerm2 terminals.
  • Group equal components when displaying component values of tensors.
  • Internal: some operations now use multiple threads (work in progress).
  • Internal: use a pool allocator for tree nodes.
  • Internal: speedup in handling of Multiplier (test suite speedup by 1.5x).
  • Docs: add SympyBridge docs.
  • Fix bug when subtracting two component expressions.
  • Fix bug with NTensor broadcasting from scalar.
  • Fix cadabra2-cli argument handling.
  • Fix handling of code blocks in cadabra2-cli, making it consistent with the notebook.
  • Stability improvement to the SymPy bridge by walking the SymPy AST directly instead of parsing printed output.
  • Make Homebrew package provide a working Jupyter kernel too.
  • Made \iu the imaginary unit, by default displaying as $i$.
  • AppImages are back, on both x86_64 and arm64.
  • Fix loading cadabra2_defaults.py in the Jupyter kernel.
  • Fix scrolling bug in notebook which would make the document jump around for no good reason.
  • Fix homebrew package (by avoiding svg icons on macOS, as homebrew does not package librsvg correctly).
  • Internal: refactor to enable cleaner insertion of related properties on property declaration.
  • Fix handling substitute with regex (#230, David).

Scientific Software - Peer-reviewed - C++
Published by kpeeters 10 months ago

Cadabra2 - 2.5.14-rc1

  • TeXmacs is supported again, including plotting (put the config/init-cadabra2.scm file in the appropriate location).
  • Plotting is now supported again by the Jupyter kernel.
  • Support for plotting in Kitty and iTerm2 terminals.
  • Group equal components when displaying component values of tensors.
  • Internal: some operations now use multiple threads (work in progress).
  • Internal: use a pool allocator for tree nodes.
  • Internal: speedup in handling of Multiplier (test suite speedup by 1.5x).
  • Docs: add SympyBridge docs.
  • Fix bug when subtracting two component expressions.
  • Fix bug with NTensor broadcasting from scalar.
  • Fix cadabra2-cli argument handling.
  • Fix handling of code blocks in cadabra2-cli, making it consistent with the notebook.
  • Stability improvement to the SymPy bridge by walking the SymPy AST directly instead of parsing printed output.
  • Make Homebrew package provide a working Jupyter kernel too.
  • Made \iu the imaginary unit, by default displaying as $i$.
  • AppImages are back, on both x86_64 and arm64.
  • Fix loading cadabra2_defaults.py in the Jupyter kernel.
  • Fix scrolling bug in notebook which would make the document jump around for no good reason.
  • Fix homebrew package (by avoiding svg icons on macOS, as homebrew does not package librsvg correctly).
  • Internal: refactor to enable cleaner insertion of related properties on property declaration.
  • Fix handling substitute with regex (#230, David).

Scientific Software - Peer-reviewed - C++
Published by kpeeters 10 months ago

Cadabra2 - 2.5.12

  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one index fixed to a number).
  • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
  • Initial support for numerical solving of ODEs.
  • Bug fixes for nevaluate.
  • Enable evaluate to figure out index ranges from Integer properties.
  • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
  • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
  • Scrolling notebook to cell is now smooth.
  • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
  • Add option to hide all input cells (for presentation purposes).
  • Add context menu for graphics/plot output to save as SVG.
  • Make semicolons more reliably print the expression they terminate.
  • Add nintegrate for numerical integration.
  • Make nevaluate handle complex-valued expressions.
  • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
  • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
  • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
  • Add functionality to drive the notebook via an external script.
  • New, more modern Windows installer, which also adds a desktop icon.
  • Removed terminal window on Windows.
  • Fix export of notebooks to HTML.
  • Ubuntu and Fedora packages now available for arm64 in addition to x86_64 architecture.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 1 year ago

Cadabra2 - 2.5.12-rc1

  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one index fixed to a number).
    • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
    • Initial support for numerical solving of ODEs.
    • Bug fixes for nevaluate.
    • Enable evaluate to figure out index ranges from Integer properties.
    • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
    • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
    • Scrolling notebook to cell is now smooth.
    • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
    • Add option to hide all input cells (for presentation purposes).
    • Add context menu for graphics/plot output to save as SVG.
    • Make semicolons more reliably print the expression they terminate.
    • Add nintegrate for numerical integration.
    • Make nevaluate handle complex-valued expressions.
    • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
    • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
    • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
    • Add functionality to drive the notebook via an external script.
    • New, more modern Windows installer, which also adds a desktop icon.
    • Removed terminal window on Windows.
    • Fix export of notebooks to HTML.
    • Ubuntu and Fedora packages now available for arm64 in addition to x86_64 architecture.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 1 year ago

Cadabra2 - 2.5.12-rc1

  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one index fixed to a number).
    • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
    • Initial support for numerical solving of ODEs.
    • Bug fixes for nevaluate.
    • Enable evaluate to figure out index ranges from Integer properties.
    • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
    • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
    • Scrolling notebook to cell is now smooth.
    • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
    • Add option to hide all input cells (for presentation purposes).
    • Add context menu for graphics/plot output to save as SVG.
    • Make semicolons more reliably print the expression they terminate.
    • Add nintegrate for numerical integration.
    • Make nevaluate handle complex-valued expressions.
    • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
    • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
    • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
    • Add functionality to drive the notebook via an external script.
    • New, more modern Windows installer, which also adds a desktop icon.
    • Removed terminal window on Windows.
    • Fix export of notebooks to HTML.
    • Ubuntu and Fedora packages now available for arm64 in addition to x86_64 architecture.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 1 year ago

Cadabra2 - 2.5.12-rc1

  • Make evaluate handle expressions in which indices have been fixed to integers explicitly (e.g. an epsilon tensor with one index fixed to a number).
  • New functionality to update and re-run cells based on the value of a slider, to enable e.g. interactive plots.
  • Initial support for numerical solving of ODEs.
  • Bug fixes for nevaluate.
  • Enable evaluate to figure out index ranges from Integer properties.
  • Avoid multiple identically-named notebook files used in import mapping to the same converted .py file.
  • Various fixes for hDPI displays to make plots and icons sharp and decorations render at the correct size.
  • Scrolling notebook to cell is now smooth.
  • (Internal) Remove all dependence on deprecated gtkmm-3.0 features, in preparation of making the notebook build with gtkmm-4.0.
  • Add option to hide all input cells (for presentation purposes).
  • Add context menu for graphics/plot output to save as SVG.
  • Make semicolons more reliably print the expression they terminate.
  • Add nintegrate for numerical integration.
  • Make nevaluate handle complex-valued expressions.
  • Better handling of floating point numbers. All multipliers are now either rationals or doubles.
  • New nval function to act as a generic frontend for numerical evaluation of (sub-)expressions (work-in-progress).
  • Add safeguards against passing expressions through the SymPy bridge which SymPy cannot (yet) handle.
  • Add functionality to drive the notebook via an external script.
  • New, more modern Windows installer, which also adds a desktop icon.
  • Removed terminal window on Windows.
  • Fix export of notebooks to HTML.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 1 year ago

Cadabra2 - 2.5.10

  • Bugfix for eliminate_kronecker.
  • Fix for building Cadabra as a C++ library.
  • Various UI and typesetting bug fixes.
  • Get rid of websocketpp in favour of boost::beast so we can build with boost >= 1.87.0.
  • Fix for the homebrew package, and option to install the development branch using homebrew.
  • Add caching to the processing of substitution rules (Daniel).
  • Fixes for inline execution of Python functions in maths expressions.
  • Do not gobble normal output when an error occurs notebook execution.
  • Fix inconsistent behaviour and crashes with split-view mode.
  • Fix display of LaTeXForm properties.
  • Documentation updates.
  • Close LaTeX input cells on running them (configurable).
  • Cleanup and document kernel options.
  • Various additions to the plotting package cdb.graphics.plot including docs.
  • Add preliminary support for Plotly as plotting backend.
  • Word wrap LaTeX input cells to keep notebooks readable for any window width.
  • Internal changes for python path handling.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.10-rc3

As 2.5.10-rc2, but getting rid of websocketpp dependence in favour of boost::beast so we can build with boost 1.87.0 and higher, and fixing some issues with python finding (again) on macos.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.10-rc2

As 2.5.10-rc1, and additionally: * Bugfix for eliminate_kronecker. * Fix for building Cadabra as a C++ library. * Various UI and typesetting bug fixes. * Fix for the homebrew package, and option to install the development branch using homebrew.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.10-rc1

  • Add caching to the processing of substitution rules (Daniel).
  • Fixes for inline execution of Python functions in maths expressions.
  • Do not gobble normal output when an error occurs notebook execution.
  • Fix inconsistent behaviour and crashes with split-view mode.
  • Fix display of LaTeXForm properties.
  • Documentation updates.
  • Close LaTeX input cells on running them (configurable).
  • Cleanup and document kernel options.
  • Various additions to the plotting package cdb.graphics.plot including docs.
  • Add preliminary support for Plotly as plotting backend.
  • Word wrap LaTeX input cells to keep notebooks readable for any window width.
  • Internal changes for python path handling.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.8

This is mostly a bugfix release, mainly for the sympy bridge and to fix various issues with the notebook interface.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.6

This release finally builds again on Windows. Binary packages for major Linux distributions, an AppImage version, a Windows installer, a Homebrew package and a Docker image are all built automatically on github actions from now on, and will be available as release assets shortly after each release. There are no new features in this version, but the code to locate the Python installation has been cleaned up substantially, which may help other package builders (no more reference to hard-coded paths in the cadabra2 binaries).

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.5-rc1

  • No longer use absolute paths in code (do everything relative to the python module or to the cadabra binaries).
  • Build process fixed for building on Windows using MSYS2.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 1 year ago

Cadabra2 - 2.5.4

Test release to check automatic building of Ubuntu, Fedora and openSUSE packages, and automated building of AppImages. These are largely untested; please test and let us know of any issues (or successes).

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 2 years ago

Cadabra2 - 2.5.2

  • Using builtin MicroTeX for typesetting (much faster than external LaTeX).
  • Dynamical notebook cell updates.
  • Many bug fixes.

See https://cadabra.science/changelog.html for full details.

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 2 years ago

Cadabra2 - 2.4.5.7

Fix const-correctness to make recent Apple compilers happy.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 2 years ago

Cadabra2 - 2.4.5.6

Enable setting PYTHON_SITE_PATH manually.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 2 years ago

Cadabra2 - 2.4.5.5

Interim release to solve issues with homebrew on macOS.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 2 years ago

Cadabra2 - 2.4.5.4

Improvements to the zoom algorithm and various bug fixes.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 2 years ago

Cadabra2 - 2.4.4.1

Force version update for homebrew, no changes.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 2 years ago

Cadabra2 - 2.4.4

Update to fix issues with pybind11 and to avoid cmake warnings.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 2 years ago

Cadabra2 - 2.4.2.4

Minor update to fix issues with Python 3.11 and building on macOS.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 3 years ago

Cadabra2 - 2.4.2

  • Added package cdb.graphics.plot for easy plotting.
  • Added package cdb.sympy.calculus for use of SymPy calculus functions on Cadabra expressions.
  • Expanded nevaluate to numerically evaluate more expressions.
  • Various small bug fixes and enhancements.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 3 years ago

Cadabra2 - 2.4.0.2

Release to accompany the "meld" paper.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 3 years ago

Cadabra2 - 2.3.9.3

Interim bugfix release, see ChangeLog for details.

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 4 years ago

Cadabra2 - 2.3.8

Interim release with some fixes for Apple silicon.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 4 years ago

Cadabra2 - 2.3.6.6

Remove old-style packages in favour of notebook-as-packages.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.6.4

Enable conda binary relocation on Linux.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.6.2

Fix a linker error for the xeus jupyter kernel.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.6.1

Mainly bug fixes.

  • Once further change to the installation path of cadabra2.so module, to conform to Debian policies.
  • Fix display of lists containing Ex objects.
  • Fix import of Jupyter notebooks.
  • Fix bug related to automatic dummy index relabelling.
  • Fix tab-completion.
  • Fix build issues on recent versions of HomeBrew/macOS.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.5

Once further change to the installation path of the cadabra2.so module, so that it conforms with standard conventions, in particular Debian packaging rules. On Debian-based systems, you should now be able to use the Cadabra python module without path settings, and the Jupyter kernel will work nicely with the Jupyter package in Debian.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.4

  • Fix a display bug which turned all products into tensor products.
  • Enable attaching properties queried with Property.get to new symbols.
  • Fix bug pulling with @(...) operator.
  • Add option redundant to eliminate_metric to only eliminate metrics which have two dummy indices (David).
  • Added option to export notebooks to Jupyter, and a command-line utility to do the same.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.2

Various improvements and fixes, and a new default Jupyter kernel:

  • Fixed bug in pattern matching logic used in integrate_by_parts; see this Q&A post.
  • Fixed bug which would prevent assignment to node multiplier from Python.
  • Tab-completion on command line and in the notebook.
  • Install the cadabra2 python module in a standard location (Atri). You may still need to set PYTHONPATH if you are on Debian/Ubuntu.
  • Fixes for the Mathematica scalar backend.
  • Make expand_delta much faster when the Kronecker delta is contracted with objects which have anti-symmetry.
  • Make meld work correctly with non/anti-commuting objects (Dominic).
  • Make numbered indices like a1 display with a subscript automatically a<sub>1</sub>.
  • Provide pickle functionality for expressions (Dominic).
  • Fixes for compatibility with newer SymPy versions.
  • Added a 'find' function in the notebook, to search input cells.
  • New Jupyter kernel (enabled by default) which does not require Xeus; you can now get access to Cadabra on Jupyter on all supported systems, not just Conda (Fergus).
  • Various improvements and fixed for handling and display of Young tableaux.
  • Added ExNode::ex() to obtain an Ex object from an ExNode iterator.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 5 years ago

Cadabra2 - 2.3.0

Interim release to act as stable source for conda-forge packages. See the web site for the changelog.

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 6 years ago

Cadabra2 - 2.2.8

  • More versatile handling of Trace, including sorting using cyclic symmetry (Connor).
  • Fixes for combine (Connor).
  • Save command-line history (Connor).
  • Make imported notebooks use the default post_process function.
  • Make unwrap move scalars out of exterior (wedge) products, see this Q&A post.
  • Fix bug with indices with accents (github/166).
  • Added a cadabra2latex command to convert notebooks to LaTeX.
  • Fixed issue building with latest Homebrew on macOS.
  • Fixed Windows build issues and add python path settings at runtime.
  • Fixed bug with multipliers not reducing to canonical form.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 6 years ago

Cadabra2 - 2.2.7

Interim release to get all platforms in sync again.

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 7 years ago

Cadabra2 - 2.2.6

Interim release to bring the macOS version up-to-date with the Linux packages.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 7 years ago

Cadabra2 - 2.2.5

Interim bug fix release with fixes for upcoming Debian as well as the new explicit_indices algorithm.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 7 years ago

Cadabra2 - 2.2.4

Release to match the Cadabra paper in JOSS.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 7 years ago

Cadabra2 - 2.2.2

Interim release to fix bugs and prepare for new binaries.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 7 years ago

Cadabra2 - 2.2.0

The "Easter Bunny" release. Many improvements throughout, in particular to the component engine. First official version to build on Windows.

Scientific Software - Peer-reviewed - C++
Published by kpeeters about 8 years ago

Cadabra2 -

Another interim release to fix bugs and sort out the build process on new distros.

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 8 years ago

Cadabra2 -

Interim release to get a number of bug fixes out to everyone, and to use as basis for binary packages for several new distributions (see http://cadabra.science/downloads.html).

Scientific Software - Peer-reviewed - C++
Published by kpeeters over 8 years ago

Cadabra2 - 2.1.5

Interim release with as its main feature the map_sympy command which makes it much easier to apply sympy algorithms to component expressions.

Scientific Software - Peer-reviewed - C++
Published by kpeeters almost 9 years ago