@@ -82,6 +82,14 @@ when they are used. To refer to the unevaluated symbol, put single quotes
.RB ( ' )
around the name, as demonstrated for the "unassign" command above.
.PP
+Symbols are considered to be in the complex domain by default, i.e. they are
+treated as if they stand in for complex numbers. This behavior can be changed
+by using the keywords
+.BI real_symbols
+and
+.BI complex_symbols
+and affects all newly created symbols.
+.PP
The following symbols are pre-defined constants that cannot be assigned
a value by the user:
.RS
@@ -110,8 +118,8 @@ symbol that controls the numeric precision of calculations with inexact numbers.
Assigning an integer value to digits will change the precision to the given
number of decimal places.
.SS WILDCARDS
-The has(), match() and subs() functions accept wildcards as placeholders for
-expressions. These have the syntax
+The has(), find(), match() and subs() functions accept wildcards as placeholders
+for expressions. These have the syntax
.RS
.BI \$ number
.RE
@@ -119,7 +127,7 @@ for example \$0, \$1 etc.
.SS LAST PRINTED EXPRESSIONS
ginsh provides the three special symbols
.RS
-", "" and """
+%, %% and %%%
.RE
that refer to the last, second last, and third last printed expression, respectively.
These are handy if you want to use the results of previous computations in a new
@@ -144,9 +152,6 @@ unary minus
.B *
multiplication
.TP
-.B %
-non-commutative multiplication
-.TP
.B /
division
.TP
@@ -243,9 +248,18 @@ detail here. Please refer to the GiNaC documentation.
.BI collect_distributed( expression ", " list )
\- collects coefficients of like powers (result in distributed form)
.br
+.BI collect_common_factors( expression )
+\- collects common factors from the terms of sums
+.br
+.BI conjugate( expression )
+\- complex conjugation
+.br
.BI content( expression ", " symbol )
\- content part of a polynomial
.br
+.BI decomp_rational( expression ", " symbol )
+\- decompose rational function into polynomial and proper rational function
+.br
.BI degree( expression ", " object )
\- degree of a polynomial
.br
@@ -264,10 +278,7 @@ detail here. Please refer to the GiNaC documentation.
.BI divide( expression ", " expression )
\- exact polynomial division
.br
-.BI eval( "expression [" ", " level] )
-\- evaluates an expression, replacing symbols by their assigned value
-.br
-.BI evalf( "expression [" ", " level] )
+.BI evalf( expression )
\- evaluates an expression to a floating point number
.br
.BI evalm( expression )
@@ -276,11 +287,23 @@ detail here. Please refer to the GiNaC documentation.
.BI expand( expression )
\- expands an expression
.br
+.BI factor( expression )
+\- factorizes an expression (univariate)
+.br
+.BI find( expression ", " pattern )
+\- returns a list of all occurrences of a pattern in an expression
+.br
+.BI fsolve( expression ", " symbol ", " number ", " number )
+\- numerically find root of a real-valued function within an interval
+.br
.BI gcd( expression ", " expression )
\- greatest common divisor
.br
-.BI has( expression ", " expression )
-\- returns "1" if the first expression contains the second (which may contain wildcards) as a subexpression, "0" otherwise
+.BI has( expression ", " pattern )
+\- returns "1" if the first expression contains the pattern as a subexpression, "0" otherwise
+.br
+.BI integer_content( expression )
+\- integer content of a polynomial
.br
.BI inverse( matrix )
\- inverse of a matrix
@@ -300,13 +323,16 @@ detail here. Please refer to the GiNaC documentation.
.BI lsolve( equation-list ", " symbol-list )
\- solve system of linear equations
.br
+.BI map( expression ", " pattern )
+\- apply function to each operand; the function to be applied is specified as a pattern with the "\$0" wildcard standing for the operands
+.br
.BI match( expression ", " pattern )
\- check whether expression matches a pattern; returns a list of wildcard substitutions or "FAIL" if there is no match
.br
.BI nops( expression )
\- number of operands in expression
.br
-.BI normal( "expression [" ", " level] )
+.BI normal( expression )
\- rational function normalization
.br
.BI numer( expression )
@@ -330,12 +356,21 @@ detail here. Please refer to the GiNaC documentation.
.BI quo( expression ", " expression ", " symbol )
\- quotient of polynomials
.br
+.BI rank( matrix )
+\- rank of a matrix
+.br
.BI rem( expression ", " expression ", " symbol )
\- remainder of polynomials
.br
+.BI resultant( expression ", " expression ", " symbol )
+\- resultant of two polynomials with respect to symbol s
+.br
.BI series( expression ", " relation-or-symbol ", " order )
\- series expansion
.br
+.BI sprem( expression ", " expression ", " symbol )
+\- sparse pseudo-remainder of polynomials
+.br
.BI sqrfree( "expression [" ", " symbol-list] )
\- square-free factorization of a polynomial
.br
@@ -359,8 +394,8 @@ detail here. Please refer to the GiNaC documentation.
.BI transpose( matrix )
\- transpose of a matrix
.br
-.BI unassign( symbol )
-\- unassign an assigned symbol
+.BI unassign( 'symbol' )
+\- unassign an assigned symbol (mind the quotes, please!)
.br
.BI unit( expression ", " symbol )
\- unit part of a polynomial
@@ -398,6 +433,21 @@ This is useful for debugging and for learning about GiNaC internals.
.PP
The command
.RS
+.BI print_latex( expression );
+.RE
+prints a LaTeX representation of the given
+.IR expression .
+.PP
+The command
+.RS
+.BI print_csrc( expression );
+.RE
+prints the given
+.I expression
+in a way that can be used in a C or C++ program.
+.PP
+The command
+.RS
.BI iprint( expression );
.RE
prints the given
@@ -449,7 +499,7 @@ x
[[\-x+x^2\-2,(x+1)^2],[c,d]]
> determinant(M);
\-2*d\-2*x*c\-x^2*c\-x*d+x^2*d\-c
-> collect(", x);
+> collect(%, x);
(\-d\-2*c)*x+(d\-c)*x^2\-2*d\-c
> solve quantum field theory;
parse error at quantum
@@ -470,20 +520,14 @@ must be of a certain type (e.g. a symbol, or a list). The first argument has
number 0, the second argument number 1, etc.
.SH AUTHOR
.TP
-The GiNaC Group:
-.br
-Christian Bauer <Christian.Bauer@uni-mainz.de>
-.br
-Alexander Frink <Alexander.Frink@uni-mainz.de>
-.br
-Richard Kreckel <Richard.Kreckel@uni-mainz.de>
+The GiNaC maintainers <https://www.ginac.de/>.
.SH SEE ALSO
GiNaC Tutorial \- An open framework for symbolic computation within the
C++ programming language
.PP
CLN \- A Class Library for Numbers, Bruno Haible