Class LinearSystemSolver
- java.lang.Object
-
- dev.nm.algebra.linear.matrix.doubles.linearsystem.LinearSystemSolver
-
public class LinearSystemSolver extends Object
Solve a system of linear equations in the form:Ax = b,
We assume that, after row reduction, A has no more rows than columns. That is, the system must not be over-determined. For example, the following system is not over-determined. One of the rows is linearly dependent. \[ \begin{bmatrix} 1 & -1 & 0\\ 0 & -2 & 0\\ 0 & 0 & -1\\ 0 & 0 & -2 \end{bmatrix} x = \begin{bmatrix} -0.8\\ -1.6\\ 0.8\\ 1.6 \end{bmatrix} \] This linear system of equations is solved in two steps.- First, solve Ax = 0, the homogeneous system, for non trivial solutions.
- Then, solve Ax = b for a particular solution.
x_particular + {x_null_space_of_A}
hence, the translation of the null space of A by the vector x_particular.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LinearSystemSolver.NoSolution
This is the runtime exception thrown when it fails to solve a system of linear equations.static interface
LinearSystemSolver.Solution
This is the solution to a linear system of equations.
-
Constructor Summary
Constructors Constructor Description LinearSystemSolver(double epsilon)
Construct a solver for a linear system of equations.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LinearSystemSolver.Solution
solve(Matrix A0)
Get a particular solution for the linear system, Ax = b.
-
-
-
Method Detail
-
solve
public LinearSystemSolver.Solution solve(Matrix A0)
Get a particular solution for the linear system, Ax = b.- Parameters:
A0
- a matrix representing a linear system of equations (the homogeneous part)- Returns:
- a particular solution
-
-