Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
GiNaC
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Computer algebra system}} {{Infobox software | name = GiNaC | logo = | screenshot = | caption = | developer = Christian Bauer, Richard B. Kreckel, Alexei Sheplyakov, Jens Vollinga, et al. | released = {{Start date and age|1999|11|26|df=yes}}<ref>{{cite web|title=GiNaC News & Announcements|url=https://www.ginac.de/News.html|accessdate=1 February 2024}}</ref> | latest release version = {{wikidata|property|edit|P348}} | latest release date = {{start date and age|{{wikidata|qualifier|single|P348|P577}} }} | programming language = [[{{wikidata|property|P277}}]] | operating system = [[Cross-platform]] | genre = [[Mathematical software]] | license = [[{{wikidata|property|P275}}]] }} '''GiNaC''' is a [[free software|free]] [[computer algebra system]] released under the [[GNU General Public License]]. The name is a [[recursive acronym]] for "GiNaC is Not a CAS" ([[Computer Algebra System]]). This is similar to the [[GNU]] acronym "GNU's not Unix".<ref>{{cite web|title=GiNaC's mini-FAQ|url=https://www.ginac.de/FAQ.html#whynotacas|accessdate=1 February 2024}}</ref> What distinguishes GiNaC from most other computer algebra systems is that it does not provide a high-level interface for user interaction. Rather, it encourages its users to write [[Symbolic computation|symbolic]] [[algorithm]]s directly in [[C++]], which is GiNaC's implementation [[programming language]]. The algebraic syntax is achieved in C++ through the use of [[operator overloading]]. The name GiNaC is also explained by its developers' perception that most "computer algebra systems" put too much emphasis on a high-level interface and too little on interoperability. GiNaC uses the [[Class Library for Numbers|CLN]] library for implementing [[arbitrary-precision arithmetic]]. Symbolically, it can do multivariate polynomial arithmetic, [[polynomial factorization|factor polynomials]], compute [[Greatest common divisor|GCD]]s, expand [[Laurent series|series]], and compute with [[Matrix (mathematics)|matrices]]. It is equipped to handle certain [[Noncommutative ring|noncommutative algebras]] which are extensively used in [[Theoretical physics|theoretical]] [[Particle physics|high energy physics]]: [[Clifford Algebra|Clifford algebras]], [[Special unitary group#The group SU(3)|SU(3)]] [[Lie algebra]]s, and [[Electromagnetic tensor|Lorentz tensors]]. Due to this, it is extensively used in [[dimensional regularization]] computations β but it is not restricted to physics. GiNaC is the symbolic foundation in several [[Open-source software|open-source]] projects: there is a symbolic extension for [[GNU Octave]],<ref>{{Cite web| title=Octave 'symbolic' package | url=http://octave.sourceforge.net/symbolic/ | accessdate=2011-10-05}}</ref> a simulator for [[magnetic resonance imaging]],<ref>{{Cite web |url=http://www.jemris.org/download.shtml |archive-url=https://web.archive.org/web/20101219141144/http://www.jemris.org/download.shtml |url-status=dead |archive-date=2010-12-19 |title=JEMRIS β MRI simulations software |accessdate=2011-10-05 }}</ref> and since May 2009, [http://pynac.org/ Pynac], a [[Fork (software development)|fork]] of GiNaC, provides the backend for symbolic expressions in [[SageMath]].<ref>{{Cite web| url=https://github.com/pynac/pynac/wiki/FAQ-list | title=Pynac FAQ | accessdate=2015-09-27}}</ref> ==See also== {{Portal|Free and open-source software}} *[[Comparison of computer algebra systems]] ==References== {{Reflist}} ==External links== *{{Official website|//www.ginac.de}} {{Computer algebra systems}} {{DEFAULTSORT:Ginac}} [[Category:C++ libraries]] [[Category:Free computer algebra systems]] [[Category:Free software programmed in C++]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Computer algebra systems
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main other
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)