X-Git-Url: https://www.ginac.de/ginac.git//ginac.git?p=ginac.git;a=blobdiff_plain;f=doc%2Ftutorial%2Fginac.texi;h=9af3d527096f4f0bdd4c8188fc4e2ab868b19fff;hp=fd5550fb60bcacbfa59b40fe32b7817f810efcfb;hb=319c9533e12eba2449001c47545e3c3cf48c482f;hpb=6c946d4c762f5a0d6a3b742f03556dd018d63886 diff --git a/doc/tutorial/ginac.texi b/doc/tutorial/ginac.texi index fd5550fb..9af3d527 100644 --- a/doc/tutorial/ginac.texi +++ b/doc/tutorial/ginac.texi @@ -24,7 +24,7 @@ This is a tutorial that documents GiNaC @value{VERSION}, an open framework for symbolic computation within the C++ programming language. -Copyright (C) 1999-2015 Johannes Gutenberg University Mainz, Germany +Copyright (C) 1999-2016 Johannes Gutenberg University Mainz, Germany Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -52,7 +52,7 @@ notice identical to this one. @page @vskip 0pt plus 1filll -Copyright @copyright{} 1999-2015 Johannes Gutenberg University Mainz, Germany +Copyright @copyright{} 1999-2016 Johannes Gutenberg University Mainz, Germany @sp 2 Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice @@ -135,7 +135,7 @@ the near future. @section License The GiNaC framework for symbolic computation within the C++ programming -language is Copyright @copyright{} 1999-2015 Johannes Gutenberg +language is Copyright @copyright{} 1999-2016 Johannes Gutenberg University Mainz, Germany. This program is free software; you can redistribute it and/or @@ -484,10 +484,10 @@ required for the configuration, it can be downloaded from @uref{http://pkg-config.freedesktop.org}. Last but not least, the CLN library is used extensively and needs to be installed on your system. -Please get it from @uref{ftp://ftpthep.physik.uni-mainz.de/pub/gnu/} -(it is covered by GPL) and install it prior to trying to install -GiNaC. The configure script checks if it can find it and if it cannot -it will refuse to continue. +Please get it from @uref{http://www.ginac.de/CLN/} (it is licensed under +the GPL) and install it prior to trying to install GiNaC. The configure +script checks if it can find it and if it cannot, it will refuse to +continue. @node Configuration, Building GiNaC, Prerequisites, Installation @@ -3330,6 +3330,15 @@ Note that the call @code{clifford_unit(mu, minkmetric())} creates something very close to @code{dirac_gamma(mu)}, although @code{dirac_gamma} have more efficient simplification mechanism. @cindex @code{get_metric()} +Also, the object created by @code{clifford_unit(mu, minkmetric())} is +not aware about the symmetry of its metric, see the start of the pevious +paragraph. A more accurate analog of 'dirac_gamma(mu)' should be +specifies as follows: + +@example + clifford_unit(mu, indexed(minkmetric(),sy_symm(),varidx(symbol("i"),4),varidx(symbol("j"),4))); +@end example + The method @code{clifford::get_metric()} returns a metric defining this Clifford number. @@ -3969,8 +3978,6 @@ table: @tab @dots{}a polynomial with (possibly complex) rational coefficients (such as @math{2/3+7/2*I}) @item @code{rational_function} @tab @dots{}a rational function (@math{x+y}, @math{z/(x+y)}) -@item @code{algebraic} -@tab @dots{}an algebraic object (@math{sqrt(2)}, @math{sqrt(x)-1}) @end multitable @end cartouche @@ -4150,12 +4157,12 @@ provides two functors that can be supplied as proper binary comparison predicates to the STL: @example -class ex_is_less : public std::binary_function @{ +class ex_is_less @{ public: bool operator()(const ex &lh, const ex &rh) const; @}; -class ex_is_equal : public std::binary_function @{ +class ex_is_equal @{ public: bool operator()(const ex &lh, const ex &rh) const; @}; @@ -4183,7 +4190,7 @@ std::sort(v.begin(), v.end(), ex_is_less()); // count the number of expressions equal to '1' unsigned num_ones = std::count_if(v.begin(), v.end(), - std::bind2nd(ex_is_equal(), 1)); + [](const ex& e) @{ return ex_is_equal()(e, 1); @}); @end example The implementation of @code{ex_is_less} uses the member function @@ -4206,7 +4213,7 @@ GiNaC keeps algebraic expressions, numbers and constants in their exact form. To evaluate them using floating-point arithmetic you need to call @example -ex ex::evalf(int level = 0) const; +ex ex::evalf() const; @end example @cindex @code{Digits} @@ -8316,7 +8323,7 @@ might want to provide: @example bool info(unsigned inf) const override; -ex evalf(int level = 0) const override; +ex evalf() const override; ex series(const relational & r, int order, unsigned options = 0) const override; ex derivative(const symbol & s) const override; @end example