当前位置: 首页>>代码示例>>Java>>正文


Java MatrixUtils.createRealMatrix方法代码示例

本文整理汇总了Java中org.apache.commons.math.linear.MatrixUtils.createRealMatrix方法的典型用法代码示例。如果您正苦于以下问题:Java MatrixUtils.createRealMatrix方法的具体用法?Java MatrixUtils.createRealMatrix怎么用?Java MatrixUtils.createRealMatrix使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.commons.math.linear.MatrixUtils的用法示例。


在下文中一共展示了MatrixUtils.createRealMatrix方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getResult

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/**
 * Get the covariance matrix.
 * @return covariance matrix
 */
public RealMatrix getResult() {

    int dimension = sums.length;
    RealMatrix result = MatrixUtils.createRealMatrix(dimension, dimension);

    if (n > 1) {
        double c = 1.0 / (n * (isBiasCorrected ? (n - 1) : n));
        int k = 0;
        for (int i = 0; i < dimension; ++i) {
            for (int j = 0; j <= i; ++j) {
                double e = c * (n * productsSums[k++] - sums[i] * sums[j]);
                result.setEntry(i, j, e);
                result.setEntry(j, i, e);
            }
        }
    }

    return result;

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:25,代码来源:VectorialCovariance.java

示例2: testMath226

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
public void testMath226()
    throws DimensionMismatchException, NotPositiveDefiniteMatrixException {
    double[] mean = { 1, 1, 10, 1 };
    double[][] cov = {
            { 1, 3, 2, 6 },
            { 3, 13, 16, 2 },
            { 2, 16, 38, -1 },
            { 6, 2, -1, 197 }
    };
    RealMatrix covRM = MatrixUtils.createRealMatrix(cov);
    JDKRandomGenerator jg = new JDKRandomGenerator();
    jg.setSeed(5322145245211l);
    NormalizedRandomGenerator rg = new GaussianRandomGenerator(jg);
    CorrelatedRandomVectorGenerator sg =
        new CorrelatedRandomVectorGenerator(mean, covRM, 0.00001, rg);

    for (int i = 0; i < 10; i++) {
        double[] generated = sg.nextVector();
        assertTrue(Math.abs(generated[0] - 1) > 0.1);
    }

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:23,代码来源:CorrelatedRandomVectorGeneratorTest.java

示例3: testMath226

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
@Test
public void testMath226() {
    double[] mean = { 1, 1, 10, 1 };
    double[][] cov = {
            { 1, 3, 2, 6 },
            { 3, 13, 16, 2 },
            { 2, 16, 38, -1 },
            { 6, 2, -1, 197 }
    };
    RealMatrix covRM = MatrixUtils.createRealMatrix(cov);
    JDKRandomGenerator jg = new JDKRandomGenerator();
    jg.setSeed(5322145245211l);
    NormalizedRandomGenerator rg = new GaussianRandomGenerator(jg);
    CorrelatedRandomVectorGenerator sg =
        new CorrelatedRandomVectorGenerator(mean, covRM, 0.00001, rg);

    for (int i = 0; i < 10; i++) {
        double[] generated = sg.nextVector();
        Assert.assertTrue(FastMath.abs(generated[0] - 1) > 0.1);
    }

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:23,代码来源:CorrelatedRandomVectorGeneratorTest.java

示例4: testSolve

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test solve */
public void testSolve() {
    DecompositionSolver solver =
        new SingularValueDecompositionImpl(MatrixUtils.createRealMatrix(testSquare)).getSolver();
    RealMatrix b = MatrixUtils.createRealMatrix(new double[][] {
            { 1, 2, 3 }, { 0, -5, 1 }
    });
    RealMatrix xRef = MatrixUtils.createRealMatrix(new double[][] {
            { -8.0 / 25.0, -263.0 / 75.0, -29.0 / 75.0 },
            { 19.0 / 25.0,   78.0 / 25.0,  49.0 / 25.0 }
    });

    // using RealMatrix
    assertEquals(0, solver.solve(b).subtract(xRef).getNorm(), normTolerance);

    // using double[]
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        assertEquals(0,
                     new ArrayRealVector(solver.solve(b.getColumn(i))).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

    // using Array2DRowRealMatrix
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        assertEquals(0,
                     solver.solve(b.getColumnVector(i)).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

    // using RealMatrix with an alternate implementation
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        ArrayRealVectorTest.RealVectorTestImpl v =
            new ArrayRealVectorTest.RealVectorTestImpl(b.getColumn(i));
        assertEquals(0,
                     solver.solve(v).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:40,代码来源:SingularValueSolverTest.java

示例5: checkNoAccessBelowDiagonal

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
private void checkNoAccessBelowDiagonal(double[][] data) {
    double[][] modifiedData = new double[data.length][];
    for (int i = 0; i < data.length; ++i) {
        modifiedData[i] = data[i].clone();
        Arrays.fill(modifiedData[i], 0, i, Double.NaN);
    }
    RealMatrix matrix = MatrixUtils.createRealMatrix(modifiedData);
    TriDiagonalTransformer transformer = new TriDiagonalTransformer(matrix);
    RealMatrix q  = transformer.getQ();
    RealMatrix qT = transformer.getQT();
    RealMatrix t  = transformer.getT();
    double norm = q.multiply(t).multiply(qT).subtract(MatrixUtils.createRealMatrix(data)).getNorm();
    assertEquals(0, norm, 4.0e-15);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:15,代码来源:TriDiagonalTransformerTest.java

示例6: testNotSymmetricMatrixException

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test non-symmetric matrix */
@Test(expected = NotSymmetricMatrixException.class)
public void testNotSymmetricMatrixException() throws MathException {
    double[][] changed = testData.clone();
    changed[0][changed[0].length - 1] += 1.0e-5;
    new CholeskyDecompositionImpl(MatrixUtils.createRealMatrix(changed));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:8,代码来源:CholeskyDecompositionImplTest.java

示例7: testSolve

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test solve */
public void testSolve() {
    DecompositionSolver solver =
        new LUDecompositionImpl(MatrixUtils.createRealMatrix(testData)).getSolver();
    RealMatrix b = MatrixUtils.createRealMatrix(new double[][] {
            { 1, 0 }, { 2, -5 }, { 3, 1 }
    });
    RealMatrix xRef = MatrixUtils.createRealMatrix(new double[][] {
            { 19, -71 }, { -6, 22 }, { -2, 9 }
    });

    // using RealMatrix
    assertEquals(0, solver.solve(b).subtract(xRef).getNorm(), 1.0e-13);

    // using double[]
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        assertEquals(0,
                     new ArrayRealVector(solver.solve(b.getColumn(i))).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

    // using ArrayRealVector
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        assertEquals(0,
                     solver.solve(b.getColumnVector(i)).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

    // using RealVector with an alternate implementation
    for (int i = 0; i < b.getColumnDimension(); ++i) {
        ArrayRealVectorTest.RealVectorTestImpl v =
            new ArrayRealVectorTest.RealVectorTestImpl(b.getColumn(i));
        assertEquals(0,
                     solver.solve(v).subtract(xRef.getColumnVector(i)).getNorm(),
                     1.0e-13);
    }

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:39,代码来源:LUSolverTest.java

示例8: testMatricesValues2

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test matrices values */
public void testMatricesValues2() {

    RealMatrix uRef = MatrixUtils.createRealMatrix(new double[][] {
        {  0.0 / 5.0,  3.0 / 5.0,  0.0 / 5.0 },
        { -4.0 / 5.0,  0.0 / 5.0, -3.0 / 5.0 },
        {  0.0 / 5.0,  4.0 / 5.0,  0.0 / 5.0 },
        { -3.0 / 5.0,  0.0 / 5.0,  4.0 / 5.0 }
    });
    RealMatrix sRef = MatrixUtils.createRealMatrix(new double[][] {
        { 4.0, 0.0, 0.0 },
        { 0.0, 3.0, 0.0 },
        { 0.0, 0.0, 2.0 }
    });
    RealMatrix vRef = MatrixUtils.createRealMatrix(new double[][] {
        {  80.0 / 125.0,  -60.0 / 125.0, 75.0 / 125.0 },
        {  24.0 / 125.0,  107.0 / 125.0, 60.0 / 125.0 },
        { -93.0 / 125.0,  -24.0 / 125.0, 80.0 / 125.0 }
    });

    // check values against known references
    SingularValueDecomposition svd =
        new SingularValueDecompositionImpl(MatrixUtils.createRealMatrix(testNonSquare));
    RealMatrix u = svd.getU();
    assertEquals(0, u.subtract(uRef).getNorm(), normTolerance);
    RealMatrix s = svd.getS();
    assertEquals(0, s.subtract(sRef).getNorm(), normTolerance);
    RealMatrix v = svd.getV();
    assertEquals(0, v.subtract(vRef).getNorm(), normTolerance);

    // check the same cached instance is returned the second time
    assertTrue(u == svd.getU());
    assertTrue(s == svd.getS());
    assertTrue(v == svd.getV());

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:37,代码来源:SingularValueDecompositionImplTest.java

示例9: testMatricesValues1

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test matrices values */
public void testMatricesValues1() {
   SingularValueDecomposition svd =
        new SingularValueDecompositionImpl(MatrixUtils.createRealMatrix(testSquare));
    RealMatrix uRef = MatrixUtils.createRealMatrix(new double[][] {
            { 3.0 / 5.0, -4.0 / 5.0 },
            { 4.0 / 5.0,  3.0 / 5.0 }
    });
    RealMatrix sRef = MatrixUtils.createRealMatrix(new double[][] {
            { 3.0, 0.0 },
            { 0.0, 1.0 }
    });
    RealMatrix vRef = MatrixUtils.createRealMatrix(new double[][] {
            { 4.0 / 5.0,  3.0 / 5.0 },
            { 3.0 / 5.0, -4.0 / 5.0 }
    });

    // check values against known references
    RealMatrix u = svd.getU();
    assertEquals(0, u.subtract(uRef).getNorm(), normTolerance);
    RealMatrix s = svd.getS();
    assertEquals(0, s.subtract(sRef).getNorm(), normTolerance);
    RealMatrix v = svd.getV();
    assertEquals(0, v.subtract(vRef).getNorm(), normTolerance);

    // check the same cached instance is returned the second time
    assertTrue(u == svd.getU());
    assertTrue(s == svd.getS());
    assertTrue(v == svd.getV());

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:32,代码来源:SingularValueDecompositionImplTest.java

示例10: testLLowerTriangular

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test that L is lower triangular */
@Test
public void testLLowerTriangular() throws MathException {
    RealMatrix matrix = MatrixUtils.createRealMatrix(testData);
    RealMatrix l = new CholeskyDecompositionImpl(matrix).getL();
    for (int i = 0; i < l.getRowDimension(); i++) {
        for (int j = i + 1; j < l.getColumnDimension(); j++) {
            assertEquals(0.0, l.getEntry(i, j), 0.0);
        }
    }
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:12,代码来源:CholeskyDecompositionImplTest.java

示例11: testAEqualLLT

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test A = LLT */
@Test
public void testAEqualLLT() throws MathException {
    RealMatrix matrix = MatrixUtils.createRealMatrix(testData);
    CholeskyDecomposition llt = new CholeskyDecompositionImpl(matrix);
    RealMatrix l  = llt.getL();
    RealMatrix lt = llt.getLT();
    double norm = l.multiply(lt).subtract(matrix).getNorm();
    assertEquals(0, norm, 1.0e-15);
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:11,代码来源:CholeskyDecompositionImplTest.java

示例12: testMatricesValues

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test matrices values */
public void testMatricesValues() {
    QRDecomposition qr =
        new QRDecompositionImpl(MatrixUtils.createRealMatrix(testData3x3NonSingular));
    RealMatrix qRef = MatrixUtils.createRealMatrix(new double[][] {
            { -12.0 / 14.0,   69.0 / 175.0,  -58.0 / 175.0 },
            {  -6.0 / 14.0, -158.0 / 175.0,    6.0 / 175.0 },
            {   4.0 / 14.0,  -30.0 / 175.0, -165.0 / 175.0 }
    });
    RealMatrix rRef = MatrixUtils.createRealMatrix(new double[][] {
            { -14.0,  -21.0, 14.0 },
            {   0.0, -175.0, 70.0 },
            {   0.0,    0.0, 35.0 }
    });
    RealMatrix hRef = MatrixUtils.createRealMatrix(new double[][] {
            { 26.0 / 14.0, 0.0, 0.0 },
            {  6.0 / 14.0, 648.0 / 325.0, 0.0 },
            { -4.0 / 14.0,  36.0 / 325.0, 2.0 }
    });

    // check values against known references
    RealMatrix q = qr.getQ();
    assertEquals(0, q.subtract(qRef).getNorm(), 1.0e-13);
    RealMatrix qT = qr.getQT();
    assertEquals(0, qT.subtract(qRef.transpose()).getNorm(), 1.0e-13);
    RealMatrix r = qr.getR();
    assertEquals(0, r.subtract(rRef).getNorm(), 1.0e-13);
    RealMatrix h = qr.getH();
    assertEquals(0, h.subtract(hRef).getNorm(), 1.0e-13);

    // check the same cached instance is returned the second time
    assertTrue(q == qr.getQ());
    assertTrue(r == qr.getR());
    assertTrue(h == qr.getH());
    
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:37,代码来源:QRDecompositionImplTest.java

示例13: testNotPositiveDefinite

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test non positive definite matrix */
@Test(expected = NotPositiveDefiniteMatrixException.class)
public void testNotPositiveDefinite() throws MathException {
    new CholeskyDecompositionImpl(MatrixUtils.createRealMatrix(new double[][] {
            { 14, 11, 13, 15, 24 },
            { 11, 34, 13, 8,  25 },
            { 13, 13, 14, 15, 21 },
            { 15, 8,  15, 18, 23 },
            { 24, 25, 21, 23, 45 }
    }));
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:12,代码来源:CholeskyDecompositionImplTest.java

示例14: testThreshold

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
/** test threshold impact */
public void testThreshold() {
    final RealMatrix matrix = MatrixUtils.createRealMatrix(new double[][] {
                                                   { 1.0, 2.0, 3.0},
                                                   { 2.0, 5.0, 3.0},
                                                   { 4.000001, 9.0, 9.0}
                                                 });
    assertFalse(new LUDecompositionImpl(matrix, 1.0e-5).getSolver().isNonSingular());
    assertTrue(new LUDecompositionImpl(matrix, 1.0e-10).getSolver().isNonSingular());
}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:11,代码来源:LUSolverTest.java

示例15: testMatricesValues

import org.apache.commons.math.linear.MatrixUtils; //导入方法依赖的package包/类
@Test
public void testMatricesValues() {
   BiDiagonalTransformer transformer =
        new BiDiagonalTransformer(MatrixUtils.createRealMatrix(testSquare));
   final double s17 = Math.sqrt(17.0);
    RealMatrix uRef = MatrixUtils.createRealMatrix(new double[][] {
            {  -8 / (5 * s17), 19 / (5 * s17) },
            { -19 / (5 * s17), -8 / (5 * s17) }
    });
    RealMatrix bRef = MatrixUtils.createRealMatrix(new double[][] {
            { -3 * s17 / 5, 32 * s17 / 85 },
            {      0.0,     -5 * s17 / 17 }
    });
    RealMatrix vRef = MatrixUtils.createRealMatrix(new double[][] {
            { 1.0,  0.0 },
            { 0.0, -1.0 }
    });

    // check values against known references
    RealMatrix u = transformer.getU();
    Assert.assertEquals(0, u.subtract(uRef).getNorm(), 1.0e-14);
    RealMatrix b = transformer.getB();
    Assert.assertEquals(0, b.subtract(bRef).getNorm(), 1.0e-14);
    RealMatrix v = transformer.getV();
    Assert.assertEquals(0, v.subtract(vRef).getNorm(), 1.0e-14);

    // check the same cached instance is returned the second time
    Assert.assertTrue(u == transformer.getU());
    Assert.assertTrue(b == transformer.getB());
    Assert.assertTrue(v == transformer.getV());

}
 
开发者ID:SpoonLabs,项目名称:astor,代码行数:33,代码来源:BiDiagonalTransformerTest.java


注:本文中的org.apache.commons.math.linear.MatrixUtils.createRealMatrix方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。