/// <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);
        }
Beispiel #4
0
//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);
        }