<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.formulasearchengine.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=50.169.3.181</id>
	<title>formulasearchengine - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.formulasearchengine.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=50.169.3.181"/>
	<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/wiki/Special:Contributions/50.169.3.181"/>
	<updated>2026-05-02T02:24:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0-wmf.28</generator>
	<entry>
		<id>https://en.formulasearchengine.com/index.php?title=Asymptotic_theory_(statistics)&amp;diff=25207</id>
		<title>Asymptotic theory (statistics)</title>
		<link rel="alternate" type="text/html" href="https://en.formulasearchengine.com/index.php?title=Asymptotic_theory_(statistics)&amp;diff=25207"/>
		<updated>2013-11-12T16:59:25Z</updated>

		<summary type="html">&lt;p&gt;50.169.3.181: /* Asymptotic theorems */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Software&lt;br /&gt;
| name = SymbolicC++&lt;br /&gt;
| logo =&lt;br /&gt;
| screenshot =&lt;br /&gt;
| caption =&lt;br /&gt;
| developer = Yorick Hardy, Willi-Hans Steeb and Tan Kiat Shi&lt;br /&gt;
| latest_release_version = 3.35&lt;br /&gt;
| latest_release_date = {{release date and age|2010|09|15}}&lt;br /&gt;
| programming language = [[C++]]&lt;br /&gt;
| operating_system = [[Cross-platform]]&lt;br /&gt;
| genre = [[Mathematical software]]&lt;br /&gt;
| license = [[GNU General Public License|GPL]]&lt;br /&gt;
| website = http://issc.uj.ac.za/symbolic/symbolic.html&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;SymbolicC++&#039;&#039;&#039; is a general purpose [[computer algebra system]] embedded 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.&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;symbolicc++.h&amp;quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
 Symbolic x(&amp;quot;x&amp;quot;);&lt;br /&gt;
 cout &amp;lt;&amp;lt; integrate(x+1, x);     // =&amp;gt; 1/2*x^(2)+x&lt;br /&gt;
 Symbolic y(&amp;quot;y&amp;quot;);&lt;br /&gt;
 cout &amp;lt;&amp;lt; df(y, x);              // =&amp;gt; 0&lt;br /&gt;
 cout &amp;lt;&amp;lt; df(y[x], x);           // =&amp;gt; df(y[x],x)&lt;br /&gt;
 cout &amp;lt;&amp;lt; df(exp(cos(y[x])), x); // =&amp;gt; -sin(y[x])*df(y[x],x)*e^cos(y[x])&lt;br /&gt;
 return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following program fragment inverts the matrix&lt;br /&gt;
&amp;lt;math&amp;gt;&lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
 \cos\theta &amp;amp; \sin\theta\\&lt;br /&gt;
-\sin\theta &amp;amp; \cos\theta&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&amp;lt;/math&amp;gt;&lt;br /&gt;
symbolically.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
Symbolic theta(&amp;quot;theta&amp;quot;);&lt;br /&gt;
Symbolic R = ( (  cos(theta), sin(theta) ),&lt;br /&gt;
               ( -sin(theta), cos(theta) ) );&lt;br /&gt;
cout &amp;lt;&amp;lt; R(0,1); // sin(theta)&lt;br /&gt;
Symbolic RI = R.inverse();&lt;br /&gt;
cout &amp;lt;&amp;lt; RI[ (cos(theta)^2) == 1 - (sin(theta)^2) ];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The output is&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ cos(theta) −sin(theta) ]&lt;br /&gt;
[ sin(theta) cos(theta)  ]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The next program illustrates non-commutative symbols in SymbolicC++.  Here &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; is a Bose [[annihilation operator]] and &amp;lt;code&amp;gt;bd&amp;lt;/code&amp;gt; is a Bose [[creation operator]].  The variable &amp;lt;code&amp;gt;vs&amp;lt;/code&amp;gt; denotes the [[vacuum state]] &amp;lt;math&amp;gt;|0\rangle&amp;lt;/math&amp;gt;. The &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; operator toggles the commutativity of a variable, i.e. if &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; is commutative that &amp;lt;code&amp;gt;~b&amp;lt;/code&amp;gt; is non-commutative and if &amp;lt;code&amp;gt;b&amp;lt;/code&amp;gt; is non-commutative &amp;lt;code&amp;gt;~b&amp;lt;/code&amp;gt; is commutative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;symbolicc++.h&amp;quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
 // The operator b is the annihilation operator and bd is the creation operator&lt;br /&gt;
 Symbolic b(&amp;quot;b&amp;quot;), bd(&amp;quot;bd&amp;quot;), vs(&amp;quot;vs&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
 b = ~b; bd = ~bd; vs = ~vs;&lt;br /&gt;
&lt;br /&gt;
 Equations rules = (b*bd == bd*b + 1, b*vs == 0);&lt;br /&gt;
&lt;br /&gt;
 // Example 1&lt;br /&gt;
 Symbolic result1 = b*bd*b*bd;&lt;br /&gt;
 cout &amp;lt;&amp;lt; &amp;quot;result1 = &amp;quot; &amp;lt;&amp;lt; result1.subst_all(rules) &amp;lt;&amp;lt; endl;&lt;br /&gt;
 cout &amp;lt;&amp;lt; &amp;quot;result1*vs = &amp;quot; &amp;lt;&amp;lt; (result1*vs).subst_all(rules) &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
 // Example 2&lt;br /&gt;
 Symbolic result2 = (b+bd)^4;&lt;br /&gt;
 cout &amp;lt;&amp;lt; &amp;quot;result2 = &amp;quot; &amp;lt;&amp;lt; result2.subst_all(rules) &amp;lt;&amp;lt; endl;&lt;br /&gt;
 cout &amp;lt;&amp;lt; &amp;quot;result2*vs = &amp;quot; &amp;lt;&amp;lt; (result2*vs).subst_all(rules) &amp;lt;&amp;lt; endl;&lt;br /&gt;
&lt;br /&gt;
 return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Further examples can be found in the books listed below.&amp;lt;ref&amp;gt;&lt;br /&gt;
Steeb, W.-H. (2010).&lt;br /&gt;
&#039;&#039;Quantum Mechanics Using Computer Algebra, second edition,&#039;&#039;&lt;br /&gt;
World Scientific Publishing, Singapore.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
Steeb, W.-H. (2008).&lt;br /&gt;
&#039;&#039;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,&#039;&#039;&lt;br /&gt;
World Scientific Publishing, Singapore.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;&lt;br /&gt;
Steeb, W.-H. (2007).&lt;br /&gt;
&#039;&#039;Continuous Symmetries, Lie Algebras, Differential Equations and Computer Algebra, second edition,&#039;&#039;&lt;br /&gt;
World Scientific Publishing, Singapore.&lt;br /&gt;
&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;symcpp3&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
SymbolicC++ is described in a series of books on [[computer algebra]].  The first book&amp;lt;ref&amp;gt;Tan Kiat Shi and Steeb, W.-H. (1997). &#039;&#039;SymbolicC++: An introduction to Computer Algebra Using Object-Oriented Programming&#039;&#039; Springer-Verlag, Singapore.&amp;lt;/ref&amp;gt; described the first version of SymbolicC++. In this version the main data type for symbolic computation was the &amp;lt;code&amp;gt;Sum&amp;lt;/code&amp;gt; class. The list of available classes included&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Verylong&amp;lt;/code&amp;gt;   : An unbounded [[integer]] implementation&lt;br /&gt;
* &amp;lt;code&amp;gt;Rational&amp;lt;/code&amp;gt;   : A template class for [[rational number]]s&lt;br /&gt;
* &amp;lt;code&amp;gt;Quaternion&amp;lt;/code&amp;gt; : A template class for [[quaternion]]s&lt;br /&gt;
* &amp;lt;code&amp;gt;Derive&amp;lt;/code&amp;gt;     : A template class for [[automatic differentiation]]&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector&amp;lt;/code&amp;gt;     : A template class for vectors (see [[vector space]])&lt;br /&gt;
* &amp;lt;code&amp;gt;Matrix&amp;lt;/code&amp;gt;     : A template class for matrices (see [[matrix (mathematics)]])&lt;br /&gt;
* &amp;lt;code&amp;gt;Sum&amp;lt;/code&amp;gt;        : A template class for symbolic expressions&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;iostream&amp;gt;&lt;br /&gt;
#include &amp;quot;rational.h&amp;quot;&lt;br /&gt;
#include &amp;quot;msymbol.h&amp;quot;&lt;br /&gt;
using namespace std;&lt;br /&gt;
&lt;br /&gt;
int main(void)&lt;br /&gt;
{&lt;br /&gt;
 Sum&amp;lt;int&amp;gt; x(&amp;quot;x&amp;quot;,1);&lt;br /&gt;
 Sum&amp;lt;Rational&amp;lt;int&amp;gt; &amp;gt; y(&amp;quot;y&amp;quot;,1);&lt;br /&gt;
 cout &amp;lt;&amp;lt; Int(y, y);       // =&amp;gt; 1/2 yˆ2&lt;br /&gt;
 y.depend(x);&lt;br /&gt;
 cout &amp;lt;&amp;lt; df(y, x);        // =&amp;gt; df(y,x)&lt;br /&gt;
 return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The second version&amp;lt;ref&amp;gt;Tan Kiat Shi, Steeb, W.-H. and Hardy, Y (2000). &#039;&#039;SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming, 2nd extended and revised edition,&#039;&#039; Springer-Verlag, London.&amp;lt;/ref&amp;gt; of SymbolicC++ featured new classes such as the &amp;lt;code&amp;gt;Polynomial&amp;lt;/code&amp;gt; class and initial support for simple integration. Support for the algebraic computation of [[Clifford algebras]] was described in using SymbolicC++ in 2002.&amp;lt;ref&amp;gt;Fletcher, J.P. (2002). Symbolic Processing of Clifford Numbers in C++ &amp;lt;br&amp;gt;in Doran C., Dorst L. and Lasenby J. (eds.) &#039;&#039;Applied Geometrical Algebras in computer Science and Engineering AGACSE 2001&#039;&#039;, Birkhauser, Basel.&lt;br /&gt;
&amp;lt;br&amp;gt;http://www.ceac.aston.ac.uk/research/staff/jpf/papers/paper25/index.php&amp;lt;/ref&amp;gt; Subsequently support for Gröbner bases was added.&amp;lt;ref&amp;gt;Kruger, P.J.M (2003). &#039;&#039;Gröbner bases with Symbolic C++&#039;&#039;, M. Sc. Dissertation, Rand Afrikaans University.&amp;lt;/ref&amp;gt;&lt;br /&gt;
The third version&amp;lt;ref name=&amp;quot;symcpp3&amp;quot;&amp;gt;Hardy, Y, Tan Kiat Shi and Steeb, W.-H. (2008). &#039;&#039;Computer Algebra with SymbolicC++&#039;&#039;, World Scientific Publishing, Singapore.&amp;lt;/ref&amp;gt; features a complete rewrite of SymbolicC++ and was released in 2008. This version encapsulates all symbolic expressions in the &amp;lt;code&amp;gt;Symbolic&amp;lt;/code&amp;gt; class.&lt;br /&gt;
&lt;br /&gt;
Newer versions are available from the SymbolicC++ [http://issc.uj.ac.za/symbolic/symbolic.html website].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Comparison of computer algebra systems]]&lt;br /&gt;
*[[GiNaC]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;!--- See [[Wikipedia:Footnotes]] on how to create references using &amp;lt;ref&amp;gt;&amp;lt;/ref&amp;gt; tags which will then appear here automatically --&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
* {{Official website|http://issc.uj.ac.za/symbolic/symbolic.html}}&lt;br /&gt;
* [http://issc.uj.ac.za/downloads/problems/advancedP.pdf Programming exercises in SymbolicC++]&lt;br /&gt;
&lt;br /&gt;
{{Computer algebra systems}}&lt;br /&gt;
&lt;br /&gt;
{{DEFAULTSORT:Symbolicc}}&lt;br /&gt;
[[Category:Free computer algebra systems]]&lt;br /&gt;
[[Category:Free software programmed in C++]]&lt;br /&gt;
[[Category:C++ libraries]]&lt;/div&gt;</summary>
		<author><name>50.169.3.181</name></author>
	</entry>
</feed>