Package mikera.matrixx

Examples of mikera.matrixx.Matrix


     * @param min Minimum value an element can have.
     * @param max Maximum value an element can have.
     * @param rand Random number generator.
     */
    private Matrix createSymmetric(int len, double min, double max, Random rand) {
        Matrix A = Matrix.create(len, len);

        double range = max-min;

        int length = A.rowCount();

        for( int i = 0; i < length; i++ ) {
            for( int j = i; j < length; j++ ) {
                double val = rand.nextDouble()*range + min;
                A.set(i,j,val);
                A.set(j,i,val);
            }
        }
        return A;
    }
View Full Code Here


        if( !canL ) return;
       
        double[][] dataA = {{1, 2, 4},
             {2, 13, 23},
             {4, 23, 90}};
        Matrix A = Matrix.create(dataA);
       
        double [][] dataL = {{1,0,0},
                  {2,3,0},
                  {4,5,7}};
        Matrix L = Matrix.create(dataL);

        ICholeskyResult ans = CholeskyInner.decompose(A);
        assertNotNull(ans);

        Matrix foundL = ans.getL().toMatrix();

//        EjmlUnitTests.assertEquals(L,foundL,1e-8);
        assertArrayEquals(L.getElements(),foundL.getElements(), 1e-8);
    }
View Full Code Here

        checkComponents(alg,A);
    }

    public void testTall() {
        Matrix A = Matrix.createRandom(21,5);
        A.sub(0.5);
        A.scale(2);

        SvdImplicitQr alg = createSvd();
        assertNotNull(alg._decompose(A));

        checkComponents(alg,A);
View Full Code Here

        if( !canR ) return;

        double[][] dataA = {{1, 2, 4},
             {2, 13, 23},
             {4, 23, 90}};
        Matrix A = Matrix.create(dataA);

        double [][] dataR = {{1,2,4},
                  {0,3,5},
                  {0,0,7}};
        Matrix R = Matrix.create(dataR);

        ICholeskyResult ans = CholeskyInner.decompose(A);
        assertNotNull(ans);
        Matrix foundR = ans.getU().toMatrix();

        assertArrayEquals(R.getElements(),foundR.getElements(),1e-8);
    }
View Full Code Here

    @Test
    public void getDiagonal() {
        for( int width = 1; width < 20; width += 2 ) {

            Matrix A = createSymmetric(width,-1,1,rand);

            TridiagonalDecompositionHouseholder alg = createDecomposition();

            alg.decompose(A);
View Full Code Here

     */
    @Test
    public void testNotPositiveDefinite() {
      double dataA[][] = {{1,-2},
                   {-1,-2}};
        Matrix A = Matrix.create(dataA);

        assertNull(CholeskyInner.decompose(A));
    }
View Full Code Here

    public void testZero() {

        for( int i = 1; i <= 11; i += 5 ) {
            for( int j = 1; j <= 11; j += 5 ) {
                Matrix A = Matrix.create(i,j);

                SvdImplicitQr alg = createSvd();
                assertNotNull(alg._decompose(A));

                int min = Math.min(i,j);
View Full Code Here

        }

    }

    public void testIdentity() {
        Matrix A = Matrix.createIdentity(6,6);

        SvdImplicitQr alg = createSvd();
        assertNotNull(alg._decompose(A));

        assertEquals(6,checkOccurrence(1,alg.getSingularValues().toDoubleArray(),6),1e-5);
View Full Code Here

    @Test
    public void transposeFlagForQ() {
        for( int width = 1; width < 20; width += 2 ) {

            Matrix A = createSymmetric(width,-1,1,rand);

            TridiagonalDecompositionHouseholder alg = createDecomposition();

            alg.decompose(A);
View Full Code Here

    /**
     * See if it can handle very small values and not blow up.  This can some times
     * cause a zero to appear unexpectedly and thus a divided by zero.
     */
    public void testVerySmallValue() {
        Matrix A = Matrix.createRandom(5,5);
        A.sub(0.5);
        A.scale(2);

        A.scale(1e-200);

        SvdImplicitQr alg = createSvd();
        assertNotNull(alg._decompose(A));

        checkComponents(alg,A);
View Full Code Here

TOP

Related Classes of mikera.matrixx.Matrix

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.