Package no.uib.cipr.matrix

Examples of no.uib.cipr.matrix.DenseMatrix


        this.comm = A.getCommunicator();
        rank = comm.rank();
        size = comm.size();

        A0 = new DenseMatrix(size, size);
        b0 = new DenseVector(size);
        lu = new DenseLU(size, size);

        Ai = new double[size];
        if (rank == root) {
View Full Code Here


        this.comm = A.getCommunicator();
        rank = comm.rank();
        size = comm.size();

        A0 = new DenseMatrix(size, size);
        b0 = new DenseVector(size);
        lu = new DenseLU(size, size);

        Ai = new double[size];
        if (rank == root) {
View Full Code Here

    private void solveCoarseSystem(boolean transpose) {
        for (int i = 0; i < size; ++i)
            b0.set(i, zi0[i][0]);

        if (transpose)
            lu.transSolve(new DenseMatrix(b0, false));
        else
            lu.solve(new DenseMatrix(b0, false));

        double[] data = b0.getData();
        for (int i = 0; i < size; ++i)
            zi0[i][0] = data[i];
    }
View Full Code Here

        @Override
        protected Matrix createMatrix(Communicator comm) {
            int n = x.size();

            Matrix Al = new DenseMatrix(localLength[rank], localLength[rank]);
            Matrix Bl = new DenseMatrix(localLength[rank], n);

            return new DistRowMatrix(n, n, comm, Al, Bl);
        }
View Full Code Here

        @Override
        protected Matrix createMatrix(Communicator comm) {
            int n = x.size();

            Matrix Al = new DenseMatrix(localLength[rank], localLength[rank]);
            Matrix Bl = new DenseMatrix(n, localLength[rank]);

            return new DistColMatrix(n, n, comm, Al, Bl);
        }
View Full Code Here

    @Override
    protected void createPrimary() throws Exception {
        int n = Utilities.getInt(1, max);
        int m = Utilities.getInt(1, max);
        A = new DenseMatrix(n, m);
        Ad = Utilities.populate(A);
    }
View Full Code Here

  }

  @Override
  protected void setUp() throws Exception {
    int n = Utilities.getInt(1, max);
    A = new DenseMatrix(n, n);
    Utilities.populate(A);
    Utilities.addDiagonal(A, 1);
    while (Utilities.singular(A))
      Utilities.addDiagonal(A, 1);
View Full Code Here

    DenseLU lu = new DenseLU(n, n);
    lu.factor(A.copy());

    lu.solve(I);

    Matrix J = I.mult(A, new DenseMatrix(n, n));
    for (int i = 0; i < n; ++i)
      for (int j = 0; j < n; ++j)
        if (i != j)
          assertEquals(J.get(i, j), 0, 1e-10);
        else
View Full Code Here

    DenseLU lu = new DenseLU(n, n);
    lu.factor(A.copy());

    lu.transSolve(I);

    Matrix J = I.transAmult(A, new DenseMatrix(n, n));
    for (int i = 0; i < n; ++i)
      for (int j = 0; j < n; ++j)
        if (i != j)
          assertEquals(J.get(i, j), 0, 1e-10);
        else
View Full Code Here

  }

  public void testDenseLUToInput() {
    // MTJ bug in DenseLU code

    Matrix m = new DenseMatrix(3, 3);

    // -2 2 -3
    // -1 1 3
    // 2 0 -1
    m.set(0, 0, -2);
    m.set(0, 1, 2);
    m.set(0, 2, -3);
    m.set(1, 0, -1);
    m.set(1, 1, 1);
    m.set(1, 2, 3);
    m.set(2, 0, 2);
    m.set(2, 1, 0);
    m.set(2, 2, -1);

    // SHOULD BE:
    // L:
    // 1.000 0.000 0.000
    // -1.000 1.000 0.000
    // 0.500 0.000 1.000
    //
    // U:
    // -2.000 2.000 -3.000
    // 0.000 2.000 -4.000
    // 0.000 0.000 4.500
    //
    // Permutation matrix:
    // 1.000 0.000 0.000
    // 0.000 0.000 1.000
    // 0.000 1.000 0.000

    DenseLU dlu = DenseLU.factorize(m);

    // check that m = L . U
    Matrix lTimesU = new DenseMatrix(3, 3);
    dlu.getL().mult(dlu.getU(), lTimesU);
    int[] pivots = dlu.getPivots();
    for (MatrixEntry entry : m) {
      int row = entry.row();
      int col = entry.column();
      double val = entry.get();
      double valLU = pivots[row] * lTimesU.get(row, col);
      assert val == valLU : "Row " + row + ", Col " + col
          + " wasn't equal! " + val + " " + valLU;
    }

    Matrix lu = dlu.getLU();
View Full Code Here

TOP

Related Classes of no.uib.cipr.matrix.DenseMatrix

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.