Package no.uib.cipr.matrix.distributed
Class DistColMatrix
java.lang.Object
no.uib.cipr.matrix.AbstractMatrix
no.uib.cipr.matrix.distributed.DistColMatrix
- All Implemented Interfaces:
Iterable<MatrixEntry>
,Matrix
Deprecated.
Distributed matrix with column major blocks
-
Nested Class Summary
Nested classes/interfaces inherited from interface no.uib.cipr.matrix.Matrix
Matrix.Norm
-
Field Summary
Fields inherited from class no.uib.cipr.matrix.AbstractMatrix
numColumns, numRows
-
Constructor Summary
ConstructorsConstructorDescriptionDistColMatrix
(int numRows, int numColumns, Communicator comm, Matrix A, Matrix B) Deprecated.Constructor for DistColMatrix -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(int row, int column, double value) Deprecated.A(row,column) += value
copy()
Deprecated.Creates a deep copy of the matrixdouble
get
(int row, int column) Deprecated.ReturnsA(row,column)
getBlock()
Deprecated.Returns the diagonal block matrixint[]
Deprecated.Returns which columns are owned by which ranks.Deprecated.Gets the communicator associated with this matrixgetOff()
Deprecated.Returns the off-diagonal matrixint[]
Deprecated.Returns which rows are owned by which ranks.iterator()
Deprecated.boolean
local
(int row, int column) Deprecated.Returns true if the insertion indices are local to this rank, and no communication is required afterwards.protected double
max()
Deprecated.Returns the largest absolute valueDeprecated.y = alpha*A*x + y
protected double
norm1()
Deprecated.Computes the 1 normprotected double
normF()
Deprecated.Computes the Frobenius norm.protected double
normInf()
Deprecated.Computes the infinity normDeprecated.A = alpha*x*yT + A
.Deprecated.A = alpha*x*yT + alpha*y*xT + A
.void
set
(int row, int column, double value) Deprecated.A(row,column) = value
transMultAdd
(double alpha, Vector x, Vector y) Deprecated.y = alpha*AT*x + y
zero()
Deprecated.Zeros all the entries in the matrix, while preserving any underlying structure.Methods inherited from class no.uib.cipr.matrix.AbstractMatrix
add, add, check, checkMultAdd, checkMultAdd, checkRank1, checkRank1, checkRank2, checkRank2, checkSize, checkSolve, checkSolve, checkTransABmultAdd, checkTransAmultAdd, checkTransBmultAdd, checkTransMultAdd, checkTranspose, checkTranspose, checkTransRank1, checkTransRank2, isSquare, max, mult, mult, mult, mult, multAdd, multAdd, multAdd, norm, numColumns, numRows, rank1, rank1, rank1, rank1, rank1, rank2, rank2, rank2, scale, set, set, solve, solve, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMult, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2, transSolve, transSolve
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DistColMatrix
Deprecated.Constructor for DistColMatrix- Parameters:
numRows
- Global number of rowsnumColumns
- Global number of columnscomm
- Communicator to useA
- Block diagonal matrix. The sum of the local row sizes ofA
must equal the global number, and likewise with the column sizes.B
- Off-diagonal matrix part. Its number of rows must equal the global number of rows, and its number of columns must equal that ofA
-
-
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 interfaceMatrix
- Overrides:
add
in classAbstractMatrix
-
set
public void set(int row, int column, double value) Deprecated.Description copied from interface:Matrix
A(row,column) = value
- Specified by:
set
in interfaceMatrix
- Overrides:
set
in classAbstractMatrix
-
get
public double get(int row, int column) Deprecated.Description copied from interface:Matrix
ReturnsA(row,column)
- Specified by:
get
in interfaceMatrix
- Overrides:
get
in classAbstractMatrix
-
copy
Deprecated.Description copied from interface:Matrix
Creates a deep copy of the matrix- Specified by:
copy
in interfaceMatrix
- Overrides:
copy
in classAbstractMatrix
- Returns:
- A
-
iterator
Deprecated.- Specified by:
iterator
in interfaceIterable<MatrixEntry>
- Overrides:
iterator
in classAbstractMatrix
-
multAdd
Deprecated.Description copied from interface:Matrix
y = alpha*A*x + y
- Specified by:
multAdd
in interfaceMatrix
- Overrides:
multAdd
in classAbstractMatrix
- Parameters:
x
- Vector of sizeA.numColumns()
y
- Vector of sizeA.numRows()
- Returns:
- y
-
transMultAdd
Deprecated.Description copied from interface:Matrix
y = alpha*AT*x + y
- Specified by:
transMultAdd
in interfaceMatrix
- Overrides:
transMultAdd
in classAbstractMatrix
- Parameters:
x
- Vector of sizeA.numRows()
y
- Vector of sizeA.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 callflushAssembly
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 classAbstractMatrix
-
normInf
protected double normInf()Deprecated.Description copied from class:AbstractMatrix
Computes the infinity norm- Overrides:
normInf
in classAbstractMatrix
-
zero
Deprecated.Description copied from interface:Matrix
Zeros all the entries in the matrix, while preserving any underlying structure. Useful for general, unstructured matrices. -
getRowOwnerships
public int[] getRowOwnerships()Deprecated.Returns which rows are owned by which ranks. The current rank owns the rowsn[comm.rank()]
(inclusive) ton[comm.rank()+1]
(exclusive) -
getColumnOwnerships
public int[] getColumnOwnerships()Deprecated.Returns which columns are owned by which ranks. The current rank owns the columnsm[comm.rank()]
(inclusive) tom[comm.rank()+1]
(exclusive) -
getBlock
Deprecated.Returns the diagonal block 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 classAbstractMatrix
-
normF
protected double normF()Deprecated.Description copied from class:AbstractMatrix
Computes the Frobenius norm. This implementation is overflow resistant- Overrides:
normF
in classAbstractMatrix
-
rank1
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 interfaceMatrix
- Overrides:
rank1
in classAbstractMatrix
- Returns:
- A
-
rank2
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 interfaceMatrix
- Overrides:
rank2
in classAbstractMatrix
- Returns:
- A
-
getCommunicator
Deprecated.Gets the communicator associated with this matrix
-
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.