Class DistRowMatrix

java.lang.Object
no.uib.cipr.matrix.AbstractMatrix
no.uib.cipr.matrix.distributed.DistRowMatrix
All Implemented Interfaces:
Iterable<MatrixEntry>, Matrix

@Deprecated public class DistRowMatrix extends AbstractMatrix
Deprecated.
the no.uib.cipr.matrix.distributed package has been deprecated because of a number of hard to fix concurrency bugs. It is distributed only for backwards compatibility, but is not recommended. The utility of this package is questionable, as it does not allow distribution of computation between JVMs or across a network. For many people, distributed computing of multiple matrices can be achieved at a user-level through the JPPF Framework. Users who need to deal with few very large matrices may wish to implement their own storage classes and solvers using JPPF, but this will not be supported directly in matrix-toolkits-java.
Distributed matrix with row major blocks
  • Constructor Details

    • DistRowMatrix

      public DistRowMatrix(int numRows, int numColumns, Communicator comm, Matrix A, Matrix B)
      Deprecated.
      Constructor for DistRowMatrix
      Parameters:
      numRows - Global number of rows
      numColumns - Global number of columns
      comm - Communicator to use
      A - Block diagonal matrix. The sum of the local row sizes of A must equal the global number, and likewise with the column sizes.
      B - Off-diagonal matrix part. Its number of columns must equal the global number of columns, and its number of rows must equal that of A
  • Method Details

    • add

      public void add(int row, int column, double value)
      Deprecated.
      Description copied from interface: Matrix
      A(row,column) += value
      Specified by:
      add in interface Matrix
      Overrides:
      add in class AbstractMatrix
    • set

      public void set(int row, int column, double value)
      Deprecated.
      Description copied from interface: Matrix
      A(row,column) = value
      Specified by:
      set in interface Matrix
      Overrides:
      set in class AbstractMatrix
    • get

      public double get(int row, int column)
      Deprecated.
      Description copied from interface: Matrix
      Returns A(row,column)
      Specified by:
      get in interface Matrix
      Overrides:
      get in class AbstractMatrix
    • copy

      public DistRowMatrix copy()
      Deprecated.
      Description copied from interface: Matrix
      Creates a deep copy of the matrix
      Specified by:
      copy in interface Matrix
      Overrides:
      copy in class AbstractMatrix
      Returns:
      A
    • iterator

      public Iterator<MatrixEntry> iterator()
      Deprecated.
      Specified by:
      iterator in interface Iterable<MatrixEntry>
      Overrides:
      iterator in class AbstractMatrix
    • multAdd

      public Vector multAdd(double alpha, Vector x, Vector y)
      Deprecated.
      Description copied from interface: Matrix
      y = alpha*A*x + y
      Specified by:
      multAdd in interface Matrix
      Overrides:
      multAdd in class AbstractMatrix
      x - Vector of size A.numColumns()
      y - Vector of size A.numRows()
      Returns:
      y
    • transMultAdd

      public Vector transMultAdd(double alpha, Vector x, Vector y)
      Deprecated.
      Description copied from interface: Matrix
      y = alpha*AT*x + y
      Specified by:
      transMultAdd in interface Matrix
      Overrides:
      transMultAdd in class AbstractMatrix
      x - Vector of size A.numRows()
      y - Vector of size A.numColumns()
      Returns:
      y
    • local

      public boolean local(int row, int column)
      Deprecated.
      Returns true if the insertion indices are local to this rank, and no communication is required afterwards. However, you still need to call flushAssembly to set up things like matrix/vector multiplication
    • norm1

      protected double norm1()
      Deprecated.
      Description copied from class: AbstractMatrix
      Computes the 1 norm
      Overrides:
      norm1 in class AbstractMatrix
    • normInf

      protected double normInf()
      Deprecated.
      Description copied from class: AbstractMatrix
      Computes the infinity norm
      Overrides:
      normInf in class AbstractMatrix
    • zero

      public DistRowMatrix zero()
      Deprecated.
      Description copied from interface: Matrix
      Zeros all the entries in the matrix, while preserving any underlying structure. Useful for general, unstructured matrices.
      Specified by:
      zero in interface Matrix
      Returns:
      A
    • getRowOwnerships

      public int[] getRowOwnerships()
      Deprecated.
      Returns which rows are owned by which ranks. The current rank owns the rows n[comm.rank()] (inclusive) to n[comm.rank()+1] (exclusive)
    • getColumnOwnerships

      public int[] getColumnOwnerships()
      Deprecated.
      Returns which columns are owned by which ranks. The current rank owns the columns m[comm.rank()] (inclusive) to m[comm.rank()+1] (exclusive)
    • getBlock

      public Matrix getBlock()
      Deprecated.
      Returns the diagonal block matrix
    • getOff

      public Matrix getOff()
      Deprecated.
      Returns the off-diagonal matrix
    • max

      protected double max()
      Deprecated.
      Description copied from class: AbstractMatrix
      Returns the largest absolute value
      Overrides:
      max in class AbstractMatrix
    • normF

      protected double normF()
      Deprecated.
      Description copied from class: AbstractMatrix
      Computes the Frobenius norm. This implementation is overflow resistant
      Overrides:
      normF in class AbstractMatrix
    • rank1

      public Matrix rank1(double alpha, Vector x, Vector y)
      Deprecated.
      Description copied from interface: Matrix
      A = alpha*x*yT + A. The matrix must be square, and the vectors of the same length
      Specified by:
      rank1 in interface Matrix
      Overrides:
      rank1 in class AbstractMatrix
      Returns:
      A
    • rank2

      public Matrix rank2(double alpha, Vector x, Vector y)
      Deprecated.
      Description copied from interface: Matrix
      A = alpha*x*yT + alpha*y*xT + A. The matrix must be square, and the vectors of the same length
      Specified by:
      rank2 in interface Matrix
      Overrides:
      rank2 in class AbstractMatrix
      Returns:
      A
    • getCommunicator

      public Communicator getCommunicator()
      Deprecated.
      Gets the communicator associated with this matrix