solvers
-- an overview of
MuPAD's solversBesides the general solve
command, MuPAD provides a
variety of specialized solvers for special types of equations. The
specialized solvers only handle a subclass of problems, but are more
efficient than the general solve
.
detools::pdesolve(..)
linalg::matlinsolve(..)
linalg::matlinsolveLU(..)
linalg::vandermondeSolve(..)
linsolve(..)
numeric::linsolve(..)
numeric::matlinsolve(..)
numeric::fsolve(..)
numeric::odesolve(..)
numeric::odesolve2(..)
numeric::polyroots(..)
numeric::polysysroots(..)
numeric::realroot(..)
numeric::realroots(..)
numeric::solve(..)
numlib::mroots(..)
numlib::lincongruence(..)
numlib::msqrts(..)
polylib::realroots(..)
solve(..)
type of equation | available solvers |
systems of linear equations | solve |
linsolve |
|
linalg::matlinsolve |
|
linalg::matlinsolveLU |
|
linalg::vandermondeSolve |
|
numeric::linsolve |
|
numeric::matlinsolve |
|
univariate polynomial equations | solve |
polylib::realroots |
|
numeric::solve |
|
numeric::polyroots |
|
systems of polynomial equations | solve |
numeric::solve |
|
numeric::polysysroots |
|
arbitrary univariate equations | solve |
numeric::solve |
|
numeric::realroot |
|
numeric::realroots |
|
systems of arbitrary equations | solve |
numeric::solve |
|
numeric::fsolve |
|
inequalities | solve |
systems of ordinary differential | solve |
equations | numeric::odesolve |
numeric::odesolve2 |
|
systems of recurrence equations | solve |
partial differential equations | detools::pdesolve |
congruences | numlib::lincongruence |
numlib::mroots |
|
numlib::msqrts |
|
detools::pdesolve
allows to solve
partial differential equations. This first version of the solver is not
yet very powerful; essentially only the method of characteristics has
been implemented for quasi-linear first order equations.linalg::vandermondeSolve
is
the recommended solver for systems of linear equations with a
coefficient matrix of Vandermonde type.linalg::matlinsolve
solves
systems of linear equations given by a coefficient matrix. The
coefficient domain may be an arbitrary field.
For coefficients of basic type such as expressions, integers,
rationals, floating point numbers etc. we recommend to use numeric::matlinsolve
instead.
linalg::matlinsolveLU
solves
systems of linear equations over arbitrary fields with a coefficient
matrix given by an LU-decomposition.linsolve
is the
recommended solver for systems of linear equations over arbitrary
non-elementary coefficient domains. If the coefficients are of basic
type such as expressions, integers, rationals, floating point numbers
etc., then we recommend to use numeric::linsolve
instead.numeric::linsolve
is a fast
numerical solver for systems of linear equations. It is also capable of
computing exact symbolic solutions, if the coefficients are
MuPAD expressions. If the solution is to be computed over some
non-basic coefficient domain, then linsolve
must be used.numeric::matlinsolve
is a fast
numerical solver for systems of linear equations given by a coefficient
matrix. It is also capable of computing exact symbolic solutions, if
the coefficients are MuPAD expressions. If the solution is to be
computed over some non-basic coefficient domain, then linalg::matlinsolve
must be
used.numeric::fsolve
is
the general numerical solver for systems of arbitrary equations. It
returns only one solution.numeric::odesolve
is the numerical
solver for initial value problems of systems of ordinary differential
equations.numeric::odesolve2
encapsulates
numeric::odesolve
in
a function. This provides a convenient interface to numeric::odesolve
.numeric::polyroots
computes
numerical approximations of all roots of a single univariate
polynomial.numeric::polysysroots
computes
all roots of a system of multivariate polynomial equations. This is a
hybrid algorithm using symbolic Gröbner techniques and numerical
post-processing.numeric::realroot
computes a
single real root of an arbitrary real equation.numeric::realroots
isolates all
real roots of a single arbitrary real equation via interval
arithmethic.numeric::solve
combines the three functions numeric::fsolve
, numeric::polyroots
, and numeric::polysysroots
. It
determines the type of the input equation(s) and calls one of these
routines.numlib::lincongruence
solves
linear congruences.numlib::mroots
solves polynomial congruences.numlib::msqrts
computes the modular square roots of a number.polylib::realroots
provides exact
isolation of all real roots of a single univariate real
polynomial.solve
is the general
solver for equations and systems of equations as well as inequalities;
it also provides an interface to solving ordinary differential
equations (see ode
) and
recursion relations (see rec
).
The library solvelib
provides various
utilities for handling the output of solve
.