# equations library Null safety

## Classes

Algebraic
Abstract class representing an algebraic equation, also know as polynomial equation, which has a single variable with a maximum degree. [...]
AlgebraicDivision
This utility class holds the quotient and the remainder of a division between two polynomials. When you use `operator/` on two Algebraic objects, this class is returned. For example: [...]
Bisection
Implements the 'bisection' method to find the roots of a given equation. [...]
Brent
Implements Brent's method to find the roots of a given equation. [...]
CholeskySolver
Implementation of the "Cholesky decomposition" algorithm for solving a system of linear equations. It only works with Hermitian, positive-definite matrices.
Chords
Implements the 'chords' method to find the roots of a given equation. [...]
Complex
A Dart representation of a complex number in the form `a + bi` where `a` is the real part and `bi` is the imaginary (or complex) part. [...]
ComplexMatrix
A simple Dart implementation of an `m x n` matrix whose data type is double. [...]
Constant
Concrete implementation of Algebraic which represents a constant value `a`. It can be real or complex. [...]
Cubic
Concrete implementation of Algebraic that represents a third degree polynomial equation in the form `ax^3 + bx^2 + cx + d = 0`. [...]
EgyptianFraction
This class converts a Fraction or a MixedFraction type into its egyptian fraction representation. Only positive number are allowed. [...]
ExpressionParser
Parses mathematical expressions with real numbers and the `x` variable (if any). The only allowed variable name is `x`: any other type of value isn't recognized. Some expressions examples are: [...]
Fraction
Dart representation of a fraction having both the numerator and the denominator as integers. [...]
GaussianElimination
Implementation of the "Gaussian elimination" algorithm, also known as "row reduction", for solving a system of linear equations.
GaussSeidelSolver
Solves a system of linear equations using the Gauss-Seidel iterative method. The given input matrix, representing the system of linear equations, must be square. [...]
HornerResult
Utility class internally used by Laguerre to hold the results of horner polynomial evaluation.
IntegralResults
Holds a series of results returned by NumericalIntegration.integrate: [...]
JacobiSolver
Solves a system of linear equations using the Jacobi iterative method. The given input matrix, representing the system of linear equations, must be square. [...]
Laguerre
Laguerre's method can be used to numerically solve polynomials in the form `P(x) = 0` where `P(x)` is a given polynomial. This method requires an initial guess x0 to start finding the roots. [...]
Linear
Concrete implementation of Algebraic that represents a first degree polynomial equation in the form ax + b = 0. [...]
LUSolver
Solves a system of linear equations using the 'LU decomposition' method. The given input matrix, representing the system of linear equations, must be square.
Matrix<T>
A simple Dart implementation of a matrix whose size is `m x n`. Thanks to its generic nature, you can decide to work with int, double, Complex or any other kind of numerical type. [...]
MidpointRule
The "midpoint rule" is a technique for approximating the value of a definite integral. [...]
MixedFraction
Dart representation of a mixed fraction which is composed by the whole part and a proper fraction. A proper fraction is a fraction in which the relation `numerator <= denominator` is true. [...]
Newton
Implements the Newton method to find the roots of a given equation. [...]
NonLinear
Abstract class representing a nonlinear equation which can be solved with a particular root-finding algorithm. No complex numbers are allowed. [...]
NonlinearResults
Holds a series of results returned by NonLinear.solve: [...]
NumericalIntegration
When it comes to analysis, the term numerical integration indicates a group of algorithms for calculating the numerical value of a definite integral on an interval. [...]
PolarComplex
Object returned by a Complex which represents the number in polar coordinates.
PolynomialLongDivision
The "Polynomial long division" is an algorithm that divides a polynomial by another polynomial of the same or lower degree. [...]
Concrete implementation of Algebraic that represents a second degree polynomial equation in the form ax^2 + bx + c = 0. [...]
Quartic
Concrete implementation of Algebraic that represents a fourth degree polynomial equation in the form ax^4 + bx^3 + cx^2 + dx + e = 0. [...]
RealMatrix
A simple Dart implementation of an `m x n` matrix whose data type is double. [...]
RegulaFalsi
Implements the regula falsi method (also known as "false position method") to find the roots of a given equation. [...]
Secant
Implements the Secant method to find the roots of a given equation. [...]
SimpsonRule
The "Simpson rule" is a technique for approximating the value of a definite integral. [...]
SORSolver
Solves a system of linear equations using the SOR iterative method. The given input matrix, representing the system of linear equations, must be square. [...]
Steffensen
Implements the Steffensen method to find the roots of a given equation. [...]
SylvesterMatrix
A Sylvester matrix is used to compute the discriminant of a polynomial starting from its coefficients.
SystemSolver
A solver for systems of linear equations whose coefficients are only real numbers. There must be `n` equations in `n` unknowns. [...]
TrapezoidalRule
The "trapezoidal rule" is a technique for approximating the value of a definite integral. [...]

## Extensions

ExpressionParserX
Extension method for ExpressionParser on String types.
FractionNum
FractionString
MixedFractionNum
MixedFractionString

## Exceptions / Errors

AlgebraicException
Exception object thrown by Algebraic.
ComplexException
Exception object thrown by Complex.
EquationException
Base class for exception objects to be thrown.
ExpressionParserException
Exception object thrown by ExpressionParser.
FractionException
Exception thrown by Fraction.
MatrixException
Exception object thrown by Matrix.
MixedFractionException
Exception object thrown by MixedFraction.
NonlinearException
Exception object thrown by NonLinear.
PolynomialLongDivisionException
Exception object thrown by PolynomialLongDivision.
SystemSolverException
Exception object thrown by SystemSolver.