SymbolicC++ | |
Developer: | Yorick Hardy, Willi-Hans Steeb and Tan Kiat Shi |
Latest Release Version: | 3.35 |
Programming Language: | C++ |
Operating System: | Cross-platform |
Genre: | Mathematical software |
License: | GPL |
Website: | http://issc.uj.ac.za/symbolic/symbolic.html |
SymbolicC++ is a general purpose computer algebra system written in the programming language C++. It is free software released under the terms of the GNU General Public License. SymbolicC++ is used by including a C++ header file or by linking against a library.
using namespace std;
int main(void)
The following program fragment inverts the matrix
\begin{pmatrix} \cos\theta&\sin\theta\\ -\sin\theta&\cos\theta \end{pmatrix}
The output is
[ cos(theta) −sin(theta) ] [ sin(theta) cos(theta) ]
|0\rangle
~
operator toggles the commutativity of a variable, i.e. if b
is commutative that ~b
is non-commutative and if b
is non-commutative ~b
is commutative.using namespace std;
int main(void)
Further examples can be found in the books listed below.[1] [2] [3]
SymbolicC++ is described in a series of books on computer algebra. The first book[4] described the first version of SymbolicC++. In this version the main data type for symbolic computation was the Sum
class. The list of available classes included
Verylong
: An unbounded integer implementationRational
: A template class for rational numbersQuaternion
: A template class for quaternionsDerive
: A template class for automatic differentiationVector
: A template class for vectors (see vector space)Matrix
: A template class for matrices (see matrix (mathematics))Sum
: A template class for symbolic expressionsExample:
using namespace std;
int main(void)
The second version[5] of SymbolicC++ featured new classes such as the Polynomial
class and initial support for simple integration. Support for the algebraic computation of Clifford algebras was described in using SymbolicC++ in 2002.[6] Subsequently, support for Gröbner bases was added.[7] The third version[8] features a complete rewrite of SymbolicC++ and was released in 2008. This version encapsulates all symbolic expressions in the Symbolic
class.
Newer versions are available from the SymbolicC++ website.