Class EliminateLinearConstraints_HomegrownLUFactorization

java.lang.Object
com.polytechnik.utils.EliminateLinearConstraints_HomegrownLUFactorization

public class EliminateLinearConstraints_HomegrownLUFactorization extends Object
Perform simplified version of LU Factorization by checking max pivot at rows and columns. Expand m=conditions.length constraint equations, \( i=0\dots m-1 \) for \(\mathbf{x}\) vector of the dimension n=conditions[i].length=nC*nX. $$ 0=\sum\limits_{j=0}^{n-1} x[j]*\mathrm{conditions}[i][j] $$ to the form $$x[s]=\sum\limits_{j=0}^{n-1} x[j]*\mathrm{expansion}[i_s][j]$$ the \( \mathrm{expansion}[i\leq i_{s}][s]=0 \) thus the \( x[s] \) can be eliminated by consequent application of the expansion starting from the last one. This allows to build a linear expansion $$ x[j]=\sum\limits_{i=0}^{\mathrm{dimXnew}-1} M_{ji} V_i $$ of original \( \mathbf{x} \) of the dimension \(n\) via reduced size \( \mathbf{V} \) of the dimension \( n-\mathrm{rank}(\mathrm{conditions}) \). The method fromXnewToXorigAsMatrix() creates this \( M_{ji} \) matrix.