/// <summary> /// Tests A = L L^T. /// </summary> public virtual void recoverOrginal() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult result = CDOG.apply(A3); CholeskyDecompositionResult result = CDOG.apply(A3); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleMatrix a = (com.opengamma.strata.collect.array.DoubleMatrix) ALGEBRA.multiply(result.getL(), result.getLT()); DoubleMatrix a = (DoubleMatrix)ALGEBRA.multiply(result.L, result.LT); checkEquals(A3, a); }
/// <summary> /// Tests solve Ax = b from A and b. /// </summary> public virtual void solveVector() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult result = CDOG.apply(A5); CholeskyDecompositionResult result = CDOG.apply(A5); double[] b = new double[] { 1.0, 2.0, 3.0, 4.0, -1.0 }; double[] x = result.solve(b); DoubleArray ax = (DoubleArray)ALGEBRA.multiply(A5, DoubleArray.copyOf(x)); ArrayAsserts.assertArrayEquals("Cholesky decomposition OpenGamma - solve", b, ax.toArray(), 1.0E-10); }
/// <summary> /// Compare results with Common decomposition /// </summary> public virtual void compareCommon() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult resultOG = CDOG.apply(A3); CholeskyDecompositionResult resultOG = CDOG.apply(A3); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult resultC = CDC.apply(A3); CholeskyDecompositionResult resultC = CDC.apply(A3); checkEquals(resultC.L, resultOG.L); checkEquals(ALGEBRA.getTranspose(resultC.L), resultOG.LT); assertEquals("Determinant", resultC.Determinant, resultOG.Determinant, 1.0E-10); }
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void testRecoverOrginal() public virtual void testRecoverOrginal() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final com.opengamma.strata.math.linearalgebra.DecompositionResult result = CH.apply(A); DecompositionResult result = CH.apply(A); assertTrue(result is CholeskyDecompositionResult); //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult ch = (CholeskyDecompositionResult) result; CholeskyDecompositionResult ch = (CholeskyDecompositionResult)result; //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final com.opengamma.strata.collect.array.DoubleMatrix a = (com.opengamma.strata.collect.array.DoubleMatrix) ALGEBRA.multiply(ch.getL(), ch.getLT()); DoubleMatrix a = (DoubleMatrix)ALGEBRA.multiply(ch.L, ch.LT); checkEquals(A, a); }
/// <summary> /// Tests solve AX = B from A and B. /// </summary> public virtual void solveMatrix() { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final CholeskyDecompositionResult result = CDOG.apply(A5); CholeskyDecompositionResult result = CDOG.apply(A5); double[][] b = new double[][] { new double[] { 1.0, 2.0 }, new double[] { 2.0, 3.0 }, new double[] { 3.0, 4.0 }, new double[] { 4.0, -2.0 }, new double[] { -1.0, -1.0 } }; DoubleMatrix x = result.solve(DoubleMatrix.copyOf(b)); DoubleMatrix ax = (DoubleMatrix)ALGEBRA.multiply(A5, x); ArrayAsserts.assertArrayEquals("Cholesky decomposition OpenGamma - solve", b[0], ax.rowArray(0), 1.0E-10); ArrayAsserts.assertArrayEquals("Cholesky decomposition OpenGamma - solve", b[1], ax.rowArray(1), 1.0E-10); }