Cadabra Computer algebra system for field theory problems
Scalar algebra

## Module Description

Functionality to make Cadabra interface with scalar computer algebra systems such as Sympy or Mathematica.

It converts scalar parts of Cadabra expressions ('things without indices') to one of these systems, runs them through, and then converts back to Cadabra notation. Currently available are SymPy and Mathematica backends.

## Functions

Functionality to act with Mathematica functions on (parts of) Cadabra Ex expressions and read the result back into the same Ex. More...

Functionality to act with Sympy on all scalar parts of an expression, and keep the result in-place. More...

Use Sympy to invert a matrix, given a set of rules determining its sparse components. More...

Use Sympy to compute the determinant of a matrix, given a set of rules determining its sparse components. More...

Outputs a Cadabra 'Ex' as a Sympy expression. More...

## ◆ apply()

 cadabra::Ex::iterator sympy::apply ( const cadabra::Kernel & kernel, cadabra::Ex & ex, cadabra::Ex::iterator & it, const std::vector< std::string > & wrap, std::vector< std::string > args, const std::string & method )

Functionality to act with Sympy on all scalar parts of an expression, and keep the result in-place.

This is a higher-level function than 'apply' below.

Functionality to act with Sympy functions on (parts of) Cadabra Ex expressions and read the result back into the same Ex. This duplicates some of the logic in PythonCdb.hh, in particular make_Ex_from_string, but it is best to keep these two completely separate.

## ◆ apply_mma()

 Ex::iterator MMA::apply_mma ( const cadabra::Kernel & , cadabra::Ex & , cadabra::Ex::iterator & , const std::vector< std::string > & wrap, std::vector< std::string > args, const std::string & method )
static

Functionality to act with Mathematica functions on (parts of) Cadabra Ex expressions and read the result back into the same Ex.

This duplicates some of the logic in PythonCdb.hh, in particular make_Ex_from_string, but it is best to keep these two completely separate.

## ◆ determinant()

Use Sympy to compute the determinant of a matrix, given a set of rules determining its sparse components.

Will add the rules to the list.