Package no.uib.cipr.matrix

Source Code of no.uib.cipr.matrix.PermutationMatrixTest

package no.uib.cipr.matrix;

import junit.framework.TestCase;
import no.uib.cipr.matrix.sparse.CompRowMatrix;

/**
* @author Sam Halliday
*/
public class PermutationMatrixTest extends TestCase {

  Matrix m = new DenseMatrix(new double[][]{
      {2, -1, -2},
      {-4, 6, 3},
      {-4, -2, 8}
  });
  DenseMatrix e = new DenseMatrix(new double[][]{
      {-4, 6, 3},
      {-4, -2, 8},
      {2, -1, -2}
  });
  DenseMatrix eI = new DenseMatrix(new double[][]{
      {-4, -2, 8},
      {2, -1, -2},
      {-4, 6, 3}
  });
  int[] piv = new int[]{2, 3, 3};

  public void testMultiply() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.mult(m, new CompRowMatrix(new DenseMatrix(m.numRows(), m.numColumns())));
    MatrixTestAbstract.assertEquals(e, c);
  }

  public void testMultiplyTrans() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.transAmult(m, new CompRowMatrix(new DenseMatrix(m.numRows(), m.numColumns())));
    MatrixTestAbstract.assertEquals(eI, c);
  }

  public void testMultiplyDense() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.mult(m, new DenseMatrix(m.numRows(), m.numColumns()));
    MatrixTestAbstract.assertEquals(e, c);
  }

  public void testMultiplyTransDense() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.transAmult(m, new DenseMatrix(m.numRows(), m.numColumns()));
    MatrixTestAbstract.assertEquals(eI, c);
  }

  public void testMultiplyCompRow() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.mult(new CompRowMatrix(m), new CompRowMatrix(new DenseMatrix(m.numRows(), m.numColumns())));
    MatrixTestAbstract.assertEquals(e, c);
  }

  public void testMultiplyTransCompRow() {
    Matrix p = PermutationMatrix.fromPartialPivots(piv);
    Matrix c = p.transAmult(new CompRowMatrix(m), new CompRowMatrix(new DenseMatrix(m.numRows(), m.numColumns())));
    MatrixTestAbstract.assertEquals(eI, c);
  }

}
TOP

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

TOP
Copyright © 2018 www.massapi.com. 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.