All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jeometry.math.solver.Resolvable Maven / Gradle / Ivy

There is a newer version: 1.0.5
Show newest version
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);
    
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy