MultivariateSolver
Searches numerically for isolated real solutions of a multivariate system.
Each equation is interpreted as equation = 0. The solver starts
Newton-Raphson at every point in a Cartesian grid, approximates the Jacobian
with central differences, and merges nearby converged solutions.
This is a finite-range heuristic rather than a completeness proof. The number
of starts is gridPoints raised to the number of variables, so cost grows
rapidly with dimension. Singular Jacobians, failed evaluations, and starts
that do not converge are discarded. Calculations use the ambient
decimal.js precision, and the supplied equation and variable arrays are
retained by the solver.
The numerical linear solve requires a square Jacobian in ordinary use; this
class is intended for isolated solutions of systems with as many equations
as variables.
Members
MultivariateSolver(equations: Expression[], variables: string[], options: MultivariateSolverOptions): MultivariateSolverConstructorCreates a multi-start solver over the configured limits.
Parameters
| Name | Type | Description |
|---|---|---|
equations | Expression[] | Expressions interpreted as equations equal to zero. |
variables | string[] | Ordered variables corresponding to solution coordinates. |
options | MultivariateSolverOptions | Grid, iteration, differentiation, and deduplication settings. |
Returns
roots(): Map<string, Expression>[]MethodSearches for roots from every configured grid point.
Returns
Map<string, Expression>[] — Deduplicated solutions as maps keyed in variables order. An empty
array means that no start converged; it does not prove that no root exists.
