Class DistRowMatrix

  • All Implemented Interfaces:
    java.lang.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 Detail

      • 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 Detail

      • 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
      • 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
      • 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
      • 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