All Cadabra functionality can be used directly from C++ programs without using the Python frontend.
A sample program can be found in c++lib/simple.cc:
#include "cadabra2++/Parser.hh"
#include "cadabra2++/Storage.hh"
#include "cadabra2++/DisplayTerminal.hh"
#include "cadabra2++/algorithms/substitute.hh"
#include "cadabra2++/algorithms/evaluate.hh"
#include "cadabra2++/TerminalStream.hh"
#include "cadabra2++/properties/PartialDerivative.hh"
#include "cadabra2++/properties/Coordinate.hh"
#include <iostream>
#include <sstream>
{
ev.apply_generic();
ss << ex << std::endl;
}
{
auto rl = kernel.
ex_from_string(
"F_{m n} = \\partial_{m}{A_{n}} - \\partial_{n}{A_{m}}");
ss << ex << std::endl;
ss << rl << std::endl;
subs.apply_generic();
ss << ex << std::endl;
}
int main(
int argc,
char **argv)
{
}