public class DiagonalMatrix extends AbstractRealMatrix implements Serializable
MathUnsupportedOperationException
.Constructor and Description |
---|
DiagonalMatrix(double[] d)
Creates a matrix using the input array as the underlying data.
|
DiagonalMatrix(double[] d,
boolean copyArray)
Creates a matrix using the input array as the underlying data.
|
DiagonalMatrix(int dimension)
Creates a matrix with the supplied dimension.
|
Modifier and Type | Method and Description |
---|---|
DiagonalMatrix |
add(DiagonalMatrix m)
Compute the sum of
this and m . |
SymmetricMatrix |
add(SymmetricMatrix m)
Compute the sum of
this and m . |
void |
addToEntry(int row,
int column,
double increment)
Adds (in place) the specified value to the specified entry of
this matrix. |
RealMatrix |
copy()
Returns a (deep) copy of this.
|
RealMatrix |
createMatrix(int rowDimension,
int columnDimension)
Create a new RealMatrix of the same type as the instance with the
supplied
row and column dimensions.
|
int |
getColumnDimension()
Returns the number of columns of this matrix.
|
double[][] |
getData()
Returns matrix entries as a two-dimensional array.
|
double[] |
getDataRef()
Gets a reference to the underlying data array.
|
double |
getEntry(int row,
int column)
Get the entry in the specified row and column.
|
int |
getRowDimension()
Returns the number of rows of this matrix.
|
DiagonalMatrix |
multiply(DiagonalMatrix m)
Returns the result of postmultiplying
this by m . |
RealMatrix |
multiply(RealMatrix m)
Returns the result of postmultiplying
this by m . |
RealMatrix |
multiply(SymmetricMatrix m)
Returns the result of postmultiplying
this by m . |
void |
multiplyEntry(int row,
int column,
double factor)
Multiplies (in place) the specified entry of
this matrix by the
specified value. |
double[] |
operate(double[] v)
Returns the result of multiplying this by the vector
v . |
double[] |
preMultiply(double[] v)
Returns the (row) vector result of premultiplying this by the vector
v . |
void |
setEntry(int row,
int column,
double value)
Set the entry in the specified row and column.
|
void |
setSubMatrix(double[][] subMatrix,
int row,
int column)
Replace the submatrix starting at
row, column using data in the
input subMatrix array. |
DiagonalMatrix |
subtract(DiagonalMatrix m)
Returns
this minus m . |
SymmetricMatrix |
subtract(SymmetricMatrix m)
Returns
this minus m . |
double |
walkInColumnOrder(RealMatrixChangingVisitor visitor)
Visit (and possibly change) all matrix entries in column order.
|
double |
walkInColumnOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (and possibly change) some matrix entries in column order.
|
double |
walkInColumnOrder(RealMatrixPreservingVisitor visitor)
Visit (but don't change) all matrix entries in column order.
|
double |
walkInColumnOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (but don't change) some matrix entries in column order.
|
double |
walkInRowOrder(RealMatrixChangingVisitor visitor)
Visit (and possibly change) all matrix entries in row order.
|
double |
walkInRowOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (and possibly change) some matrix entries in row order.
|
double |
walkInRowOrder(RealMatrixPreservingVisitor visitor)
Visit (but don't change) all matrix entries in row order.
|
double |
walkInRowOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (but don't change) some matrix entries in row order.
|
add, copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isAntisymmetric, isDiagonal, isInvertible, isOrthogonal, isSquare, isSymmetric, isSymmetric, operate, power, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, subtract, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder
isTransposable, operateTranspose
public DiagonalMatrix(int dimension)
dimension
- Number of rows and columns in the new matrix.NotStrictlyPositiveException
- if the dimension is
not positive.public DiagonalMatrix(double[] d)
d
- Data for the new matrix.public DiagonalMatrix(double[] d, boolean copyArray)
copyArray
may be
set to false
.
This will prevent the copying and improve performance as no new
array will be built and no data will be copied.d
- Data for new matrix.copyArray
- if true
, the input array will be copied,
otherwise it will be referenced.public RealMatrix createMatrix(int rowDimension, int columnDimension)
createMatrix
in interface RealMatrix
createMatrix
in class AbstractRealMatrix
rowDimension
- the number of rows in the new matrixcolumnDimension
- the number of columns in the new matrixDimensionMismatchException
- if the requested dimensions are not equal.public RealMatrix copy()
copy
in interface RealMatrix
copy
in class AbstractRealMatrix
public DiagonalMatrix add(DiagonalMatrix m)
this
and m
.m
- Matrix to be added.this + m
.MatrixDimensionMismatchException
- if m
is not the same
size as this
.public DiagonalMatrix subtract(DiagonalMatrix m)
this
minus m
.m
- Matrix to be subtracted.this - m
MatrixDimensionMismatchException
- if m
is not the same
size as this
.public DiagonalMatrix multiply(DiagonalMatrix m)
this
by m
.m
- matrix to postmultiply bythis * m
DimensionMismatchException
- if columnDimension(this) != rowDimension(m)
public SymmetricMatrix add(SymmetricMatrix m)
this
and m
.m
- Matrix to be added.this + m
.DimensionMismatchException
- if m
is not the same
size as this
.public SymmetricMatrix subtract(SymmetricMatrix m)
this
minus m
.m
- Matrix to be subtracted.this - m
DimensionMismatchException
- if m
is not the same
size as this
.public RealMatrix multiply(SymmetricMatrix m)
this
by m
.m
- matrix to postmultiply bythis * m
DimensionMismatchException
- if columnDimension(this) != rowDimension(m)
public RealMatrix multiply(RealMatrix m)
this
by m
.multiply
in interface RealMatrix
multiply
in class AbstractRealMatrix
m
- matrix to postmultiply bythis * m
DimensionMismatchException
- if columnDimension(this) != rowDimension(m)
public double[][] getData()
getData
in interface RealMatrix
getData
in class AbstractRealMatrix
public double[] getDataRef()
public void setSubMatrix(double[][] subMatrix, int row, int column)
row, column
using data in the
input subMatrix
array. Indexes are 0-based.
Example:
Starting with
1 2 3 4 5 6 7 8 9 0 1 2and
subMatrix = {{3, 4} {5,6}}
, invoking setSubMatrix(subMatrix,1,1))
will result in
1 2 3 4 5 3 4 8 9 5 6 2
setSubMatrix
in interface RealMatrix
setSubMatrix
in class AbstractRealMatrix
subMatrix
- array containing the submatrix replacement datarow
- row coordinate of the top, left element to be replacedcolumn
- column coordinate of the top, left element to be replacedMathUnsupportedOperationException
- thrown if the method is called
since this method is not available for DiagonalMatrix.public double getEntry(int row, int column)
getEntry
in interface RealMatrix
getEntry
in class AbstractRealMatrix
row
- Row index of entry to be fetched.column
- Column index of entry to be fetched.(row, column)
.public void setEntry(int row, int column, double value)
setEntry
in interface RealMatrix
setEntry
in class AbstractRealMatrix
row
- Row index of entry to be set.column
- Column index of entry to be set.value
- the new value of the entry.MathUnsupportedOperationException
- if row != column
.public void addToEntry(int row, int column, double increment)
this
matrix. Row and column indices start
at 0.addToEntry
in interface RealMatrix
addToEntry
in class AbstractRealMatrix
row
- Row index of the entry to be modified.column
- Column index of the entry to be modified.increment
- value to add to the matrix entry.MathUnsupportedOperationException
- if row != column
.public void multiplyEntry(int row, int column, double factor)
this
matrix by the
specified value. Row and column indices start at 0.multiplyEntry
in interface RealMatrix
multiplyEntry
in class AbstractRealMatrix
row
- Row index of the entry to be modified.column
- Column index of the entry to be modified.factor
- Multiplication factor for the matrix entry.MathUnsupportedOperationException
- if row != column
.public int getRowDimension()
getRowDimension
in interface AnyMatrix
getRowDimension
in class AbstractRealMatrix
public int getColumnDimension()
getColumnDimension
in interface AnyMatrix
getColumnDimension
in class AbstractRealMatrix
public double[] operate(double[] v)
v
.operate
in interface RealMatrix
operate
in class AbstractRealMatrix
v
- the vector to operate onthis * v
public double[] preMultiply(double[] v)
v
.preMultiply
in interface RealMatrix
preMultiply
in class AbstractRealMatrix
v
- the row vector to premultiply byv * this
public double walkInRowOrder(RealMatrixChangingVisitor visitor)
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder
in interface RealMatrix
walkInRowOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesRealMatrixChangingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixPreservingVisitor visitor)
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder
in interface RealMatrix
walkInRowOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesRealMatrixPreservingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder
in interface RealMatrix
walkInRowOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexRealMatrixChangingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder
in interface RealMatrix
walkInRowOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexRealMatrixPreservingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixChangingVisitor visitor)
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder
in interface RealMatrix
walkInColumnOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesRealMatrixChangingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixPreservingVisitor visitor)
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder
in interface RealMatrix
walkInColumnOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesRealMatrixPreservingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder
in interface RealMatrix
walkInColumnOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexRealMatrixChangingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn)
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder
in interface RealMatrix
walkInColumnOrder
in class AbstractRealMatrix
visitor
- visitor used to process all matrix entriesstartRow
- Initial row indexendRow
- Final row index (inclusive)startColumn
- Initial column indexendColumn
- Final column indexRealMatrixPreservingVisitor.end()
at the end
of the walkRealMatrix.walkInRowOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor)
,
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int)
,
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
Copyright © 2019 CNES. All rights reserved.