The following program fragment inverts the matrix ( cos θ sin θ − sin θ cos θ ) {\displaystyle {\begin{pmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{pmatrix}}} symbolically.
The output is
The next program illustrates non-commutative symbols in SymbolicC++. Here b is a Bose annihilation operator and bd is a Bose creation operator. The variable vs denotes the vacuum state | 0 ⟩ {\displaystyle |0\rangle } . The ~ 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.
Further examples can be found in the books listed below.1234
SymbolicC++ is described in a series of books on computer algebra. The first book5 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
Example:
The second version6 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.7 Subsequently, support for Gröbner bases was added.8 The third version9 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.
Steeb, W.-H. (2010). Quantum Mechanics Using Computer Algebra, second edition, World Scientific Publishing, Singapore. ↩
Steeb, W.-H. (2008). The Nonlinear Workbook: Chaos, Fractals, Cellular Automata, Neural Networks, Genetic Algorithm, Gene Expression Programming, Wavelets, Fuzzy Logic with C++, Java and SymbolicC++ Programs, fourth edition, World Scientific Publishing, Singapore. ↩
Steeb, W.-H. (2007). Continuous Symmetries, Lie Algebras, Differential Equations and Computer Algebra, second edition, World Scientific Publishing, Singapore. ↩
Hardy, Y, Tan Kiat Shi and Steeb, W.-H. (2008). Computer Algebra with SymbolicC++, World Scientific Publishing, Singapore. ↩
Tan Kiat Shi and Steeb, W.-H. (1997). SymbolicC++: An introduction to Computer Algebra Using Object-Oriented Programming Springer-Verlag, Singapore. ↩
Tan Kiat Shi, Steeb, W.-H. and Hardy, Y (2000). SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming, 2nd extended and revised edition, Springer-Verlag, London. ↩
Fletcher, J.P. (2002). Symbolic Processing of Clifford Numbers in C++ in Doran C., Dorst L. and Lasenby J. (eds.) Applied Geometrical Algebras in computer Science and Engineering AGACSE 2001, Birkhauser, Basel. http://www.ceac.aston.ac.uk/research/staff/jpf/papers/paper25/index.php /wiki/Joan_Lasenby ↩
Kruger, P.J.M (2003). Gröbner bases with Symbolic C++, M. Sc. Dissertation, Rand Afrikaans University. ↩