removed evenPermutation and isSingular for consistency with other decomposition solvers
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/math/trunk@728917 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
2cb4fc8a84
commit
6c48638cc5
|
@ -29,8 +29,14 @@ import java.io.Serializable;
|
|||
* <p>This interface is based on the class with similar name from the now defunct
|
||||
* <a href="http://math.nist.gov/javanumerics/jama/">JAMA</a> library.</p>
|
||||
* <ul>
|
||||
* <li>a {@link #getSolver() getSolver} method has been added.</li>
|
||||
* <li>the <code>det</code> method has been renamed as {@link #getDeterminant() getDeterminant}.</li>
|
||||
* <li>a {@link #getP() getP} method has been added,</li>
|
||||
* <li>the <code>det</code> method has been renamed as {@link #getDeterminant()
|
||||
* getDeterminant},</li>
|
||||
* <li>the <code>getDoublePivot</code> method has been removed (but the int based
|
||||
* {@link #getPivot() getPivot} method has been kept),</li>
|
||||
* <li>the <code>solve</code> and <code>isNonSingular</code> methods have been replaced
|
||||
* by a {@link #getSolver() getSolver} method and the equivalent methods provided by
|
||||
* the returned {@link DecompositionSolver}.</li>
|
||||
* </ul>
|
||||
*
|
||||
* @see <a href="http://mathworld.wolfram.com/LUDecomposition.html">MathWorld</a>
|
||||
|
@ -72,18 +78,6 @@ public interface LUDecomposition extends Serializable {
|
|||
*/
|
||||
int[] getPivot();
|
||||
|
||||
/**
|
||||
* Get permutation parity.
|
||||
* @return true if there was an even number of permutations
|
||||
*/
|
||||
boolean evenPermutation();
|
||||
|
||||
/**
|
||||
* Get the singularity indicator.
|
||||
* @return singularity indicator
|
||||
*/
|
||||
boolean isSingular();
|
||||
|
||||
/**
|
||||
* Return the determinant of the matrix
|
||||
* @return determinant of the matrix
|
||||
|
@ -91,7 +85,7 @@ public interface LUDecomposition extends Serializable {
|
|||
double getDeterminant();
|
||||
|
||||
/**
|
||||
* Get a solver for A × X = B.
|
||||
* Get a solver for finding the A × X = B solution in exact linear sense.
|
||||
* @return a solver
|
||||
*/
|
||||
DecompositionSolver getSolver();
|
||||
|
|
|
@ -224,16 +224,6 @@ public class LUDecompositionImpl implements LUDecomposition {
|
|||
}
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public boolean isSingular() {
|
||||
return singular;
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public boolean evenPermutation() {
|
||||
return even;
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
public DecompositionSolver getSolver() {
|
||||
return new Solver(lu, pivot, singular);
|
||||
|
|
|
@ -116,14 +116,14 @@ public class LUDecompositionImplTest extends TestCase {
|
|||
|
||||
matrix = MatrixUtils.createRealMatrix(singular);
|
||||
lu = new LUDecompositionImpl(matrix);
|
||||
assertTrue(lu.isSingular());
|
||||
assertFalse(lu.getSolver().isNonSingular());
|
||||
assertNull(lu.getL());
|
||||
assertNull(lu.getU());
|
||||
assertNull(lu.getP());
|
||||
|
||||
matrix = MatrixUtils.createRealMatrix(bigSingular);
|
||||
lu = new LUDecompositionImpl(matrix);
|
||||
assertTrue(lu.isSingular());
|
||||
assertFalse(lu.getSolver().isNonSingular());
|
||||
assertNull(lu.getL());
|
||||
assertNull(lu.getU());
|
||||
assertNull(lu.getP());
|
||||
|
@ -207,11 +207,11 @@ public class LUDecompositionImplTest extends TestCase {
|
|||
public void testSingular() {
|
||||
LUDecomposition lu =
|
||||
new LUDecompositionImpl(MatrixUtils.createRealMatrix(testData));
|
||||
assertFalse(lu.isSingular());
|
||||
assertTrue(lu.getSolver().isNonSingular());
|
||||
lu = new LUDecompositionImpl(MatrixUtils.createRealMatrix(singular));
|
||||
assertTrue(lu.isSingular());
|
||||
assertFalse(lu.getSolver().isNonSingular());
|
||||
lu = new LUDecompositionImpl(MatrixUtils.createRealMatrix(bigSingular));
|
||||
assertTrue(lu.isSingular());
|
||||
assertFalse(lu.getSolver().isNonSingular());
|
||||
}
|
||||
|
||||
/** test matrices values */
|
||||
|
|
Loading…
Reference in New Issue