Professional Documents
Culture Documents
GiNaC p.1/13
GiNaC p.2/13
CAS in high energy physics Perturbation theory Feynman rules Feynman diagrams Dirac algebra and traces Loop integration Summation of diagrams Phase space integration Checks ...
GiNaC p.3/13
CAS in high energy physics Perturbation theory Feynman rules Feynman diagrams Dirac algebra and traces Loop integration Summation of diagrams Phase space integration Checks ... Combinatorics Algebra Data management Numerics I/O
GiNaC p.3/13
CAS in high energy physics Perturbation theory Feynman rules Feynman diagrams Dirac algebra and traces Loop integration Summation of diagrams Phase space integration Checks ... Combinatorics
(Maple, C, Perl)
Algebra
(Maple, FORM)
Data management
(C, BASH, Perl) (FORTRAN, C)
Numerics I/O
(C, Tcl/Tk)
GiNaC p.3/13
GiNaC p.4/13
What if you are a C++ programmer? Combinatorics Algebra Data management Numerics I/O
GiNaC p.4/13
What if you are a C++ programmer? Combinatorics Algebra Data management Numerics I/O
GiNaC p.4/13
What if you are a C++ programmer? Combinatorics Algebra Data management Numerics I/O
GiNaC p.4/13
What if you are a C++ programmer? Combinatorics Algebra Data management Numerics I/O
GiNaC p.4/13
What if you are a C++ programmer? Combinatorics Algebra Numerics I/O Data management GiNaC
GiNaC p.4/13
GiNaC p.5/13
header
GiNaC p.5/13
GiNaC
GiNaC p.5/13
in C++ !
GiNaC p.5/13
Run it:
$ ./myprg -log(1-x)*x(-1)
GiNaC p.6/13
GiNaC p.7/13
After declaration
ex myexpr;
GiNaC p.7/13
After declaration
ex myexpr;
GiNaC p.7/13
After declaration
ex myexpr;
GiNaC p.7/13
GiNaC p.8/13
What else? Numbers 1.34, 3/4, 2i, . . . Mathematical functions Matrices Algebras ...
GiNaC p.8/13
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision Operations on rational functions, x2 y 2 e.g. (x+y)2 xy x+y
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision Operations on rational functions, x2 y 2 e.g. (x+y)2 xy x+y
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision Operations on rational functions, x2 y 2 e.g. (x+y)2 xy x+y
Symbolic derivation and series expansion Matrices, vectors, linear equation systems
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision Operations on rational functions, x2 y 2 e.g. (x+y)2 xy x+y
Symbolic derivation and series expansion Matrices, vectors, linear equation systems In-/Output of expressions in various formats (text, binary, LaTeX, . . . )
GiNaC p.9/13
Features of GiNaC Arbitrary symbolic expressions Complex arithmetics with arbitrary precision Operations on rational functions, x2 y 2 e.g. (x+y)2 xy x+y
Symbolic derivation and series expansion Matrices, vectors, linear equation systems In-/Output of expressions in various formats (text, binary, LaTeX, . . . ) New functions and classes can easily be added
GiNaC p.9/13
Features of GiNaC Functions , B, , n , . . . k sin, cos, tan, sinh, . . . , exp, log, , S, H, Li, . . .
GiNaC p.10/13
Features of GiNaC Functions , B, , n , . . . k sin, cos, tan, sinh, . . . , exp, log, , S, H, Li, . . . Objects with indices: p , Aij Special algebras: Clifford, SU(3)
GiNaC p.10/13
Features of GiNaC Functions , B, , n , . . . k sin, cos, tan, sinh, . . . , exp, log, , S, H, Li, . . . Objects with indices: p , Aij Special algebras: Clifford, SU(3) Automatic code generation ( numeric integration)
GiNaC p.10/13
Features of GiNaC Functions , B, , n , . . . k sin, cos, tan, sinh, . . . , exp, log, , S, H, Li, . . . Objects with indices: p , Aij Special algebras: Clifford, SU(3) Automatic code generation ( numeric integration) Good documentation, open source (GPL) www.ginac.de
GiNaC p.10/13
GiNaC p.11/13
Summary GiNaC a C++ library for symbolic computation Complete computational framework in C++ Features of GiNaC
GiNaC p.12/13
Summary GiNaC a C++ library for symbolic computation Complete computational framework in C++ Features of GiNaC Developed since 1999 Version 1.0 in 2001, current version 1.3.1 Technically matured and well documented Active development going on
(better factorization, more special functions, improved interface to MC integration)
GiNaC p.12/13
www.ginac.de
GiNaC p.13/13