org.jeometry.math.solver.Resolvable Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jeometry-api Show documentation
Show all versions of jeometry-api Show documentation
Jeometry, a Mathematic and Geometry library for Java
package org.jeometry.math.solver;
import org.jeometry.Jeometry;
import org.jeometry.math.Matrix;
import org.jeometry.math.Vector;
/**
* This interface describes a mathematical system that can be solved as a linear system.
* @author Julien Seinturier - COMEX S.A. - [email protected] - https://github.com/jorigin/jeometry
* @version {@value Jeometry#version} b{@value Jeometry#BUILD}
* @since 1.0.2
*/
public interface Resolvable {
/**
* Compute the matrix X that solve the linear system AX = B,
* where A is a linear system represented by this object.
* @param b the constants parameters
* @return the solution X
*/
public Matrix solve(Matrix b);
/**
* Compute the matrix X that solve the linear system AX = B,
* where A is a linear system represented by this object.
* @param b the constants parameters
* @param x the matrix that store the solution of the linear system
* @return a reference on x
*/
public Matrix solve(Matrix b, Matrix x);
/**
* Compute the vector X that solve the linear system AX = B,
* where A is a linear system represented by this object.
* @param b the constants parameters
* @return the solution X
*/
public Vector solve(Vector b);
/**
* Compute the vector X that solve the linear system AX = B,
* where A is a linear system represented by this object.
* @param b the constants parameters
* @param x the vector that store the solution of the linear system
* @return a reference on x
*/
public Vector solve(Vector b, Vector x);
}