1876:
1888:
442:
1434:
was described in using
SymbolicC++ in 2002. Subsequently, support for Gröbner bases was added. The third version features a complete rewrite of SymbolicC++ and was released in 2008. This version encapsulates all symbolic expressions in the
1494:
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,
367:
1632:
658:
1919:
1914:
1625:
1455:
1682:
1880:
1618:
1146:. The first book described the first version of SymbolicC++. In this version the main data type for symbolic computation was the
1892:
1831:
1717:
1672:
1770:
1657:
1687:
1810:
36:
1549:
SymbolicC++: An
Introduction to Computer Algebra using Object-Oriented Programming, 2nd extended and revised edition,
1662:
135:
101:
1186:
1924:
1826:
1641:
123:
437:{\displaystyle {\begin{pmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{pmatrix}}}
1568:
614:
89:
1752:
1649:
1205:
1785:
1727:
84:
1760:
1507:
Continuous
Symmetries, Lie Algebras, Differential Equations and Computer Algebra, second edition,
635:
1702:
1431:
622:
1775:
1143:
361:
96:
72:
1430:
class and initial support for simple integration. Support for the algebraic computation of
1805:
1765:
1168:
1605:
77:
138:. SymbolicC++ is used by including a C++ header file or by linking against a library.
1908:
131:
1800:
1195:
630:
1536:
SymbolicC++: An introduction to
Computer Algebra Using Object-Oriented Programming
1851:
1598:
1443:
1177:
727:// The operator b is the annihilation operator and bd is the creation operator
111:
22:
1697:
1564:
Applied
Geometrical Algebras in computer Science and Engineering AGACSE 2001
1610:
609:
The next program illustrates non-commutative symbols in
SymbolicC++. Here
1841:
1722:
1707:
1846:
1780:
1712:
1569:
http://www.ceac.aston.ac.uk/research/staff/jpf/papers/paper25/index.php
1158:
1560:
Fletcher, J.P. (2002). Symbolic
Processing of Clifford Numbers in C++
1861:
1856:
1836:
1794:
1677:
1426:
The second version of
SymbolicC++ featured new classes such as the
127:
65:
1790:
1742:
1732:
1692:
1667:
1460:
1737:
1614:
664:
operator toggles the commutativity of a variable, i.e. if
1481:
Quantum
Mechanics Using Computer Algebra, second edition,
1134:
Further examples can be found in the books listed below.
376:
638:
370:
1819:
1751:
1648:
107:
95:
83:
71:
61:
35:
21:
1442:Newer versions are available from the SymbolicC++
652:
436:
1583:, M. Sc. Dissertation, Rand Afrikaans University.
1214: : A template class for symbolic expressions
1142:SymbolicC++ is described in a series of books on
1547:Tan Kiat Shi, Steeb, W.-H. and Hardy, Y (2000).
1521:Hardy, Y, Tan Kiat Shi and Steeb, W.-H. (2008).
27:Yorick Hardy, Willi-Hans Steeb and Tan Kiat Shi
1150:class. The list of available classes included
1626:
8:
1562:in Doran C., Dorst L. and Lasenby J. (eds.)
647:
16:
1204: : A template class for matrices (see
112:http://issc.uj.ac.za/symbolic/symbolic.html
1887:
1633:
1619:
1611:
1194: : A template class for vectors (see
15:
1525:, World Scientific Publishing, Singapore.
1517:
1515:
639:
637:
371:
369:
1509:World Scientific Publishing, Singapore.
1496:World Scientific Publishing, Singapore.
1483:World Scientific Publishing, Singapore.
1472:
1534:Tan Kiat Shi and Steeb, W.-H. (1997).
1456:Comparison of computer algebra systems
7:
1606:Programming exercises in SymbolicC++
126:written in the programming language
42:3.35 / September 15, 2010
14:
1523:Computer Algebra with SymbolicC++
343:// => -sin(y)*df(y,x)*e^cos(y)
1886:
1875:
1874:
134:released under the terms of the
1920:Free software programmed in C++
1581:Gröbner bases with Symbolic C++
360:The following program fragment
640:
1:
1915:Free computer algebra systems
1185: : A template class for
1176: : A template class for
1167: : A template class for
1811:Engineering Equation Solver
1538:Springer-Verlag, Singapore.
1941:
672:is non-commutative and if
653:{\displaystyle |0\rangle }
136:GNU General Public License
1870:
1187:automatic differentiation
1078:"result2*vs = "
955:"result1*vs = "
694:"symbolicc++.h"
157:"symbolicc++.h"
57:
31:
1642:Computer algebra systems
1551:Springer-Verlag, London.
1220:
682:
446:
145:
124:computer algebra system
1797:symbolic math toolbox)
1579:Kruger, P.J.M (2003).
1232:"rational.h"
1039:"result2 = "
916:"result1 = "
654:
438:
44:; 14 years ago
1566:, Birkhauser, Basel.
1505:Steeb, W.-H. (2007).
1492:Steeb, W.-H. (2008).
1479:Steeb, W.-H. (2010).
1238:"msymbol.h"
1157: : An unbounded
655:
615:annihilation operator
439:
122:is a general purpose
90:Mathematical software
1206:matrix (mathematics)
668:is commutative that
636:
368:
235:// => 1/2*x^(2)+x
676:is non-commutative
18:
650:
434:
428:
1902:
1901:
1432:Clifford algebras
623:creation operator
458:"theta"
117:
116:
1932:
1890:
1889:
1878:
1877:
1761:ClassPad Manager
1635:
1628:
1621:
1612:
1602:
1601:
1599:Official website
1584:
1577:
1571:
1558:
1552:
1545:
1539:
1532:
1526:
1519:
1510:
1503:
1497:
1490:
1484:
1477:
1438:
1429:
1422:
1419:
1416:
1413:
1410:
1409:// => df(y,x)
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1365:
1364:// => 1/2 yˆ2
1362:
1359:
1356:
1353:
1350:
1347:
1344:
1341:
1338:
1335:
1332:
1329:
1326:
1323:
1320:
1317:
1314:
1311:
1308:
1305:
1302:
1299:
1296:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1272:
1269:
1266:
1263:
1260:
1257:
1254:
1251:
1248:
1245:
1242:
1239:
1236:
1233:
1230:
1227:
1226:<iostream>
1224:
1213:
1203:
1193:
1184:
1175:
1169:rational numbers
1166:
1156:
1149:
1144:computer algebra
1130:
1127:
1124:
1121:
1118:
1115:
1112:
1109:
1106:
1103:
1100:
1097:
1094:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1070:
1067:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1028:
1025:
1022:
1019:
1016:
1013:
1010:
1007:
1004:
1001:
998:
995:
992:
989:
986:
983:
980:
977:
974:
971:
968:
965:
962:
959:
956:
953:
950:
947:
944:
941:
938:
935:
932:
929:
926:
923:
920:
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
851:
848:
845:
842:
839:
836:
833:
830:
827:
824:
821:
818:
815:
812:
809:
806:
803:
800:
797:
794:
791:
788:
785:
782:
779:
776:
773:
770:
767:
764:
761:
758:
755:
752:
749:
746:
743:
740:
737:
734:
731:
728:
725:
722:
719:
716:
713:
710:
707:
704:
701:
698:
695:
692:
689:
688:<iostream>
686:
680:is commutative.
679:
675:
671:
667:
663:
659:
657:
656:
651:
643:
628:
625:. The variable
620:
612:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
513:
510:
507:
504:
501:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
443:
441:
440:
435:
433:
432:
356:
353:
350:
347:
344:
341:
338:
335:
332:
329:
326:
323:
320:
317:
314:
311:
308:
305:
304:// => df(y,x)
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
245:
242:
239:
236:
233:
230:
227:
224:
221:
218:
215:
212:
209:
206:
203:
200:
197:
194:
191:
188:
185:
182:
179:
176:
173:
170:
167:
164:
161:
158:
155:
152:
151:<iostream>
149:
73:Operating system
52:
50:
45:
19:
1940:
1939:
1935:
1934:
1933:
1931:
1930:
1929:
1905:
1904:
1903:
1898:
1866:
1815:
1806:TI InterActive!
1747:
1644:
1639:
1597:
1596:
1593:
1588:
1587:
1578:
1574:
1567:
1561:
1559:
1555:
1546:
1542:
1533:
1529:
1520:
1513:
1504:
1500:
1491:
1487:
1478:
1474:
1469:
1452:
1436:
1427:
1424:
1423:
1420:
1417:
1414:
1411:
1408:
1405:
1402:
1399:
1396:
1393:
1390:
1387:
1384:
1381:
1378:
1375:
1372:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1342:
1339:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1249:
1246:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1222:
1211:
1201:
1191:
1182:
1173:
1164:
1154:
1147:
1140:
1132:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
978:
975:
972:
969:
966:
963:
960:
957:
954:
951:
948:
945:
942:
939:
936:
933:
930:
927:
924:
921:
918:
915:
912:
909:
906:
903:
900:
897:
894:
891:
888:
885:
882:
879:
876:
873:
870:
867:
864:
861:
858:
855:
852:
849:
846:
843:
840:
837:
834:
831:
828:
825:
822:
819:
816:
813:
810:
807:
804:
801:
798:
795:
792:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
759:
756:
753:
750:
747:
744:
741:
738:
735:
732:
729:
726:
723:
720:
717:
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
677:
673:
669:
665:
661:
634:
633:
626:
618:
610:
607:
602:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
511:
508:
505:
502:
499:
496:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
427:
426:
415:
400:
399:
388:
372:
366:
365:
358:
357:
354:
351:
348:
345:
342:
339:
336:
333:
330:
327:
324:
321:
318:
315:
312:
309:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
276:
273:
270:
267:
264:
261:
258:
255:
252:
249:
246:
243:
240:
237:
234:
231:
228:
225:
222:
219:
216:
213:
210:
207:
204:
201:
198:
195:
192:
189:
186:
183:
180:
177:
174:
171:
168:
165:
162:
159:
156:
153:
150:
147:
144:
53:
48:
46:
43:
12:
11:
5:
1938:
1936:
1928:
1927:
1922:
1917:
1907:
1906:
1900:
1899:
1897:
1896:
1884:
1871:
1868:
1867:
1865:
1864:
1859:
1854:
1849:
1844:
1839:
1834:
1829:
1823:
1821:
1817:
1816:
1814:
1813:
1808:
1803:
1798:
1788:
1783:
1778:
1773:
1768:
1763:
1757:
1755:
1749:
1748:
1746:
1745:
1740:
1735:
1730:
1725:
1720:
1715:
1710:
1705:
1700:
1695:
1690:
1685:
1680:
1675:
1670:
1665:
1660:
1654:
1652:
1646:
1645:
1640:
1638:
1637:
1630:
1623:
1615:
1609:
1608:
1603:
1592:
1591:External links
1589:
1586:
1585:
1572:
1553:
1540:
1527:
1511:
1498:
1485:
1471:
1470:
1468:
1465:
1464:
1463:
1458:
1451:
1448:
1221:
1216:
1215:
1209:
1199:
1189:
1180:
1171:
1162:
1161:implementation
1139:
1136:
763:"vs"
751:"bd"
683:
649:
646:
642:
606:
604:The output is
447:
444:symbolically.
431:
425:
422:
419:
416:
414:
411:
408:
405:
402:
401:
398:
395:
392:
389:
387:
384:
381:
378:
377:
375:
146:
143:
140:
115:
114:
109:
105:
104:
99:
93:
92:
87:
81:
80:
78:Cross-platform
75:
69:
68:
63:
59:
58:
55:
54:
41:
39:
37:Stable release
33:
32:
29:
28:
25:
13:
10:
9:
6:
4:
3:
2:
1937:
1926:
1925:C++ libraries
1923:
1921:
1918:
1916:
1913:
1912:
1910:
1895:
1894:
1885:
1883:
1882:
1873:
1872:
1869:
1863:
1860:
1858:
1855:
1853:
1850:
1848:
1845:
1843:
1840:
1838:
1835:
1833:
1830:
1828:
1825:
1824:
1822:
1818:
1812:
1809:
1807:
1804:
1802:
1799:
1796:
1792:
1789:
1787:
1784:
1782:
1779:
1777:
1774:
1772:
1769:
1767:
1764:
1762:
1759:
1758:
1756:
1754:
1750:
1744:
1741:
1739:
1736:
1734:
1731:
1729:
1726:
1724:
1721:
1719:
1716:
1714:
1711:
1709:
1706:
1704:
1701:
1699:
1696:
1694:
1691:
1689:
1686:
1684:
1681:
1679:
1676:
1674:
1671:
1669:
1666:
1664:
1661:
1659:
1656:
1655:
1653:
1651:
1647:
1643:
1636:
1631:
1629:
1624:
1622:
1617:
1616:
1613:
1607:
1604:
1600:
1595:
1594:
1590:
1582:
1576:
1573:
1570:
1565:
1557:
1554:
1550:
1544:
1541:
1537:
1531:
1528:
1524:
1518:
1516:
1512:
1508:
1502:
1499:
1495:
1489:
1486:
1482:
1476:
1473:
1466:
1462:
1459:
1457:
1454:
1453:
1449:
1447:
1445:
1440:
1433:
1328:"y"
1289:"x"
1219:
1210:
1207:
1200:
1197:
1190:
1188:
1181:
1179:
1172:
1170:
1163:
1160:
1153:
1152:
1151:
1145:
1137:
1135:
739:"b"
681:
644:
632:
624:
616:
605:
566:// sin(theta)
445:
429:
423:
420:
417:
412:
409:
406:
403:
396:
393:
390:
385:
382:
379:
373:
363:
247:"y"
199:"x"
141:
139:
137:
133:
132:free software
129:
125:
121:
113:
110:
106:
103:
100:
98:
94:
91:
88:
86:
82:
79:
76:
74:
70:
67:
64:
60:
56:
40:
38:
34:
30:
26:
24:
20:
1891:
1879:
1820:Discontinued
1801:SMath Studio
1580:
1575:
1563:
1556:
1548:
1543:
1535:
1530:
1522:
1506:
1501:
1493:
1488:
1480:
1475:
1441:
1425:
1217:
1196:vector space
1141:
1133:
997:// Example 2
874:// Example 1
631:vacuum state
629:denotes the
608:
603:
359:
119:
118:
23:Developer(s)
1786:Mathematica
1753:Proprietary
1650:Open-source
1178:quaternions
364:the matrix
120:SymbolicC++
17:SymbolicC++
1909:Categories
1852:Mathomatic
1467:References
1428:Polynomial
1174:Quaternion
621:is a Bose
613:is a Bose
277:// => 0
62:Written in
49:2010-09-15
1738:Xcas/Giac
1698:Macaulay2
1244:namespace
1218:Example:
1099:subst_all
1051:subst_all
976:subst_all
928:subst_all
814:Equations
700:namespace
648:⟩
424:θ
421:
413:θ
410:
404:−
397:θ
394:
386:θ
383:
211:integrate
163:namespace
1881:Category
1842:LiveMath
1728:Singular
1723:SageMath
1708:Normaliz
1450:See also
1437:Symbolic
1388:<<
1343:<<
1307:Rational
1235:#include
1229:#include
1223:#include
1165:Rational
1155:Verylong
1111:<<
1081:<<
1075:<<
1063:<<
1042:<<
1036:<<
1000:Symbolic
988:<<
958:<<
952:<<
940:<<
919:<<
913:<<
877:Symbolic
730:Symbolic
691:#include
685:#include
593:<<
569:Symbolic
545:<<
464:Symbolic
449:Symbolic
310:<<
283:<<
256:<<
238:Symbolic
208:<<
190:Symbolic
154:#include
148:#include
142:Examples
130:. It is
1847:Macsyma
1781:Mathcad
1713:PARI/GP
1663:Cadabra
1444:website
1439:class.
1159:integer
1138:History
1087:result2
1045:result2
1003:result2
964:result1
922:result1
880:result1
584:inverse
362:inverts
108:Website
97:License
47: (
1862:ALTRAN
1857:muMATH
1837:Erable
1832:Derive
1795:MATLAB
1718:Reduce
1703:Maxima
1678:FriCAS
1673:Fermat
1412:return
1373:depend
1202:Matrix
1192:Vector
1183:Derive
1120:return
660:. The
346:return
1827:CAMAL
1791:muPAD
1776:Maple
1771:Magma
1743:Yacas
1733:SymPy
1693:GiNaC
1668:CoCoA
1658:Axiom
1461:GiNaC
1241:using
1105:rules
1057:rules
982:rules
934:rules
817:rules
697:using
530:theta
518:theta
497:theta
485:theta
452:theta
160:using
1893:List
1766:KANT
1683:FORM
1385:cout
1340:cout
1319:>
1316:>
1310:<
1304:<
1280:>
1274:<
1262:void
1256:main
1114:endl
1072:cout
1066:endl
1033:cout
991:endl
949:cout
943:endl
910:cout
718:void
712:main
617:and
590:cout
542:cout
307:cout
280:cout
253:cout
205:cout
181:void
175:main
85:Type
1688:GAP
1346:Int
1313:int
1301:Sum
1277:int
1271:Sum
1253:int
1247:std
1212:Sum
1148:Sum
709:int
703:std
587:();
524:cos
512:sin
491:sin
479:cos
418:cos
407:sin
391:sin
380:cos
334:)),
325:cos
319:exp
172:int
166:std
128:C++
102:GPL
66:C++
1911::
1514:^
1446:.
1406:);
1391:df
1382:);
1361:);
1337:);
1298:);
1096:).
1093:vs
1018:bd
973:).
970:vs
904:bd
892:bd
871:);
865:==
862:vs
838:bd
835:==
832:bd
808:vs
799:vs
793:bd
784:bd
766:);
757:vs
754:),
745:bd
742:),
678:~b
670:~b
627:vs
619:bd
596:RI
572:RI
563:);
539:);
521:),
503:),
488:),
461:);
340:);
313:df
301:);
286:df
274:);
259:df
250:);
232:);
202:);
1793:(
1634:e
1627:t
1620:v
1421:}
1418:;
1415:0
1403:x
1400:,
1397:y
1394:(
1379:x
1376:(
1370:.
1367:y
1358:y
1355:,
1352:y
1349:(
1334:1
1331:,
1325:(
1322:y
1295:1
1292:,
1286:(
1283:x
1268:{
1265:)
1259:(
1250:;
1208:)
1198:)
1129:}
1126:;
1123:0
1117:;
1108:)
1102:(
1090:*
1084:(
1069:;
1060:)
1054:(
1048:.
1030:;
1027:4
1024:^
1021:)
1015:+
1012:b
1009:(
1006:=
994:;
985:)
979:(
967:*
961:(
946:;
937:)
931:(
925:.
907:;
901:*
898:b
895:*
889:*
886:b
883:=
868:0
859:*
856:b
853:,
850:1
847:+
844:b
841:*
829:*
826:b
823:(
820:=
811:;
805:~
802:=
796:;
790:~
787:=
781:;
778:b
775:~
772:=
769:b
760:(
748:(
736:(
733:b
724:{
721:)
715:(
706:;
674:b
666:b
662:~
645:0
641:|
611:b
599:;
581:.
578:R
575:=
560:1
557:,
554:0
551:(
548:R
536:)
533:)
527:(
515:(
509:-
506:(
500:)
494:(
482:(
476:(
473:(
470:=
467:R
455:(
430:)
374:(
355:}
352:;
349:0
337:x
331:y
328:(
322:(
316:(
298:x
295:,
292:y
289:(
271:x
268:,
265:y
262:(
244:(
241:y
229:x
226:,
223:1
220:+
217:x
214:(
196:(
193:x
187:{
184:)
178:(
169:;
51:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.