public class WrapperDoubleMatrix2D extends DoubleMatrix2D
Constructor and Description |
---|
WrapperDoubleMatrix2D(DoubleMatrix2D newContent) |
Modifier and Type | Method and Description |
---|---|
DoubleMatrix2D |
assign(double[] values)
Sets all cells to the state specified by values.
|
DoubleMatrix2D |
assign(DoubleMatrix2D y,
DoubleDoubleFunction function)
Assigns the result of a function to each cell;
x[row,col] = function(x[row,col],y[row,col]).
|
DoubleMatrix2D |
assign(float[] values)
Sets all cells to the state specified by values.
|
void |
dct2(boolean scale)
Computes the 2D discrete cosine transform (DCT-II) of this matrix.
|
void |
dctColumns(boolean scale)
Computes the discrete cosine transform (DCT-II) of each column of this
matrix.
|
void |
dctRows(boolean scale)
Computes the discrete cosine transform (DCT-II) of each row of this
matrix.
|
void |
dht2()
Computes the 2D discrete Hartley transform (DHT) of this matrix.
|
void |
dhtColumns()
Computes the discrete Hertley transform (DHT) of each column of this
matrix.
|
void |
dhtRows()
Computes the discrete Hertley transform (DHT) of each row of this matrix.
|
void |
dst2(boolean scale)
Computes the 2D discrete sine transform (DST-II) of this matrix.
|
void |
dstColumns(boolean scale)
Computes the discrete sine transform (DST-II) of each column of this
matrix.
|
void |
dstRows(boolean scale)
Computes the discrete sine transform (DST-II) of each row of this matrix.
|
Object |
elements()
Returns the elements of this matrix.
|
boolean |
equals(double value)
Returns whether all cells are equal to the given value.
|
boolean |
equals(Object obj)
Compares this object against the specified object.
|
void |
fft2()
Computes the 2D discrete Fourier transform (DFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getFft2()
Returns new complex matrix which is the 2D discrete Fourier transform
(DFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getFftColumns()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each column of this matrix.
|
DenseLargeDComplexMatrix2D |
getFftRows()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each row of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfft2(boolean scale)
Returns new complex matrix which is the 2D inverse of the discrete
Fourier transform (IDFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfftColumns(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each column of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfftRows(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each row of this matrix.
|
double |
getQuick(int row,
int column)
Returns the matrix cell value at coordinate [row,column].
|
void |
idct2(boolean scale)
Computes the 2D inverse of the discrete cosine transform (DCT-III) of
this matrix.
|
void |
idctColumns(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
column of this matrix.
|
void |
idctRows(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
row of this matrix.
|
void |
idht2(boolean scale)
Computes the 2D inverse of the discrete Hartley transform (DHT) of this
matrix.
|
void |
idhtColumns(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each
column of this matrix.
|
void |
idhtRows(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each row
of this matrix.
|
void |
idst2(boolean scale)
Computes the 2D inverse of the discrete size transform (DST-III) of this
matrix.
|
void |
idstColumns(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each
column of this matrix.
|
void |
idstRows(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each row
of this matrix.
|
void |
ifft2(boolean scale)
Computes the 2D inverse of the discrete Fourier transform (IDFT) of this
matrix.
|
DoubleMatrix2D |
like(int rows,
int columns)
Construct and returns a new empty matrix of the same dynamic type
as the receiver, having the specified number of rows and columns.
|
DoubleMatrix1D |
like1D(int size)
Construct and returns a new 1-d matrix of the corresponding dynamic
type, entirelly independent of the receiver.
|
void |
setQuick(int row,
int column,
double value)
Sets the matrix cell at coordinate [row,column] to the specified
value.
|
DoubleMatrix1D |
vectorize()
Returns a vector obtained by stacking the columns of the matrix on top of
one another.
|
DoubleMatrix1D |
viewColumn(int column)
Constructs and returns a new slice view representing the rows of
the given column.
|
DoubleMatrix2D |
viewColumnFlip()
Constructs and returns a new flip view along the column axis.
|
DoubleMatrix2D |
viewDice()
Constructs and returns a new dice (transposition) view; Swaps
axes; example: 3 x 4 matrix --> 4 x 3 matrix.
|
DoubleMatrix2D |
viewPart(int row,
int column,
int height,
int width)
Constructs and returns a new sub-range view that is a
height x width sub matrix starting at [row,column].
|
DoubleMatrix1D |
viewRow(int row)
Constructs and returns a new slice view representing the columns
of the given row.
|
DoubleMatrix2D |
viewRowFlip()
Constructs and returns a new flip view along the row axis.
|
DoubleMatrix2D |
viewSelection(int[] rowIndexes,
int[] columnIndexes)
Constructs and returns a new selection view that is a matrix
holding the indicated cells.
|
DoubleMatrix2D |
viewStrides(int _rowStride,
int _columnStride)
Constructs and returns a new stride view which is a sub matrix
consisting of every i-th cell.
|
aggregate, aggregate, aggregate, aggregate, assign, assign, assign, assign, assign, assign, assign, cardinality, copy, forEachNonZero, get, getMaxLocation, getMinLocation, getNegativeValues, getNonZeros, getPositiveValues, like, normalize, set, toArray, toString, viewSelection, viewSelection, viewSorted, zAssign8Neighbors, zMult, zMult, zMult, zMult, zSum
checkShape, checkShape, columns, columnStride, index, rows, rowStride, size, toStringShort
ensureCapacity, isView, trimToSize
clone
public WrapperDoubleMatrix2D(DoubleMatrix2D newContent)
public DoubleMatrix2D assign(double[] values)
DoubleMatrix2D
The values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.
assign
in class DoubleMatrix2D
values
- the values to be filled into the cells.public DoubleMatrix2D assign(float[] values)
DoubleMatrix2D
The values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.
assign
in class DoubleMatrix2D
values
- the values to be filled into the cells.public DoubleMatrix2D assign(DoubleMatrix2D y, DoubleDoubleFunction function)
DoubleMatrix2D
Example:
// assign x[row,col] = x[row,col]<sup>y[row,col]</sup> m1 = 2 x 2 matrix 0 1 2 3 m2 = 2 x 2 matrix 0 2 4 6 m1.assign(m2, cern.jet.math.Functions.pow); --> m1 == 2 x 2 matrix 1 1 16 729For further examples, see the package doc.
assign
in class DoubleMatrix2D
y
- the secondary matrix to operate on.function
- a function object taking as first argument the current cell's
value of this, and as second argument the current
cell's value of y,DoubleFunctions
public Object elements()
DoubleMatrix2D
elements
in class DoubleMatrix2D
public double getQuick(int row, int column)
DoubleMatrix2D
Provided with invalid parameters this method may return invalid objects without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
getQuick
in class DoubleMatrix2D
row
- the index of the row-coordinate.column
- the index of the column-coordinate.public boolean equals(double value)
DoubleMatrix2D
equals
in class DoubleMatrix2D
value
- the value to test against.public boolean equals(Object obj)
DoubleMatrix2D
true
if and only if the argument is not null
and is at least a DoubleMatrix2D
object that has the same
number of columns and rows as the receiver and has exactly the same
values at the same coordinates.equals
in class DoubleMatrix2D
obj
- the object to compare with.true
if the objects are the same; false
otherwise.public DoubleMatrix2D like(int rows, int columns)
DoubleMatrix2D
like
in class DoubleMatrix2D
rows
- the number of rows the matrix shall have.columns
- the number of columns the matrix shall have.public DoubleMatrix1D like1D(int size)
DoubleMatrix2D
like1D
in class DoubleMatrix2D
size
- the number of cells the matrix shall have.public void dct2(boolean scale)
scale
- if true then scaling is performedpublic void dctColumns(boolean scale)
scale
- if true then scaling is performedpublic void dctRows(boolean scale)
scale
- if true then scaling is performedpublic void dst2(boolean scale)
scale
- if true then scaling is performedpublic void dstColumns(boolean scale)
scale
- if true then scaling is performedpublic void dstRows(boolean scale)
scale
- if true then scaling is performedpublic void dht2()
public void dhtColumns()
public void dhtRows()
public void fft2()
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2], this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2], 0<k1<rows, 0<k2<columns/2, this[0][2*k2] = Re[0][k2] = Re[0][columns-k2], this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2], 0<k2<columns/2, this[k1][0] = Re[k1][0] = Re[rows-k1][0], this[k1][1] = Im[k1][0] = -Im[rows-k1][0], this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2], this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2], 0<k1<rows/2, this[0][0] = Re[0][0], this[0][1] = Re[0][columns/2], this[rows/2][0] = Re[rows/2][0], this[rows/2][1] = Re[rows/2][columns/2]This method computes only half of the elements of the real transform. The other half satisfies the symmetry condition. If you want the full real forward transform, use
getFft2
. To get back the original
data, use ifft2
.IllegalArgumentException
- if the row size or the column size of this matrix is not a
power of 2 number.public DenseLargeDComplexMatrix2D getFft2()
public DenseLargeDComplexMatrix2D getIfft2(boolean scale)
public DenseLargeDComplexMatrix2D getFftColumns()
public DenseLargeDComplexMatrix2D getFftRows()
public DenseLargeDComplexMatrix2D getIfftColumns(boolean scale)
public DenseLargeDComplexMatrix2D getIfftRows(boolean scale)
public void idct2(boolean scale)
scale
- if true then scaling is performedpublic void idctColumns(boolean scale)
scale
- if true then scaling is performedpublic void idctRows(boolean scale)
scale
- if true then scaling is performedpublic void idst2(boolean scale)
scale
- if true then scaling is performedpublic void idstColumns(boolean scale)
scale
- if true then scaling is performedpublic void idstRows(boolean scale)
scale
- if true then scaling is performedpublic void idht2(boolean scale)
scale
- if true then scaling is performedpublic void idhtColumns(boolean scale)
scale
- if true then scaling is performedpublic void idhtRows(boolean scale)
scale
- if true then scaling is performedpublic void ifft2(boolean scale)
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2], this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2], 0<k1<rows, 0<k2<columns/2, this[0][2*k2] = Re[0][k2] = Re[0][columns-k2], this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2], 0<k2<columns/2, this[k1][0] = Re[k1][0] = Re[rows-k1][0], this[k1][1] = Im[k1][0] = -Im[rows-k1][0], this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2], this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2], 0<k1<rows/2, this[0][0] = Re[0][0], this[0][1] = Re[0][columns/2], this[rows/2][0] = Re[rows/2][0], this[rows/2][1] = Re[rows/2][columns/2]This method computes only half of the elements of the real transform. The other half satisfies the symmetry condition. If you want the full real inverse transform, use
getIfft2
.scale
- if true then scaling is performedIllegalArgumentException
- if the row size or the column size of this matrix is not a
power of 2 number.public void setQuick(int row, int column, double value)
DoubleMatrix2D
Provided with invalid parameters this method may access illegal indexes without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
setQuick
in class DoubleMatrix2D
row
- the index of the row-coordinate.column
- the index of the column-coordinate.value
- the value to be filled into the specified cell.public DoubleMatrix1D vectorize()
DoubleMatrix2D
vectorize
in class DoubleMatrix2D
public DoubleMatrix1D viewColumn(int column)
DoubleMatrix2D
Example:
2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumn(0) ==> | Matrix1D of size 2: 1, 4 |
viewColumn
in class DoubleMatrix2D
column
- the column to fix.DoubleMatrix2D.viewRow(int)
public DoubleMatrix2D viewColumnFlip()
DoubleMatrix2D
Example:
2 x 3 matrix: 1, 2, 3 4, 5, 6 |
columnFlip ==> | 2 x 3 matrix: 3, 2, 1 6, 5, 4 |
columnFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumnFlip
in class DoubleMatrix2D
DoubleMatrix2D.viewRowFlip()
public DoubleMatrix2D viewDice()
DoubleMatrix2D
Example:
2 x 3 matrix: 1, 2, 3 4, 5, 6 |
transpose ==> | 3 x 2 matrix: 1, 4 2, 5 3, 6 |
transpose ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewDice
in class DoubleMatrix2D
public DoubleMatrix2D viewPart(int row, int column, int height, int width)
DoubleMatrix2D
Note that the view is really just a range restriction: The returned matrix is backed by this matrix, so changes in the returned matrix are reflected in this matrix, and vice-versa.
The view contains the cells from [row,column] to [row+height-1,column+width-1], all inclusive. and has view.rows() == height; view.columns() == width;. A view's legal coordinates are again zero based, as usual. In other words, legal coordinates of the view range from [0,0] to [view.rows()-1==height-1,view.columns()-1==width-1]. As usual, any attempt to access a cell at a coordinate column<0 || column>=view.columns() || row<0 || row>=view.rows() will throw an IndexOutOfBoundsException.
viewPart
in class DoubleMatrix2D
row
- The index of the row-coordinate.column
- The index of the column-coordinate.height
- The height of the box.width
- The width of the box.public DoubleMatrix1D viewRow(int row)
DoubleMatrix2D
Example:
2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRow(0) ==> | Matrix1D of size 3: 1, 2, 3 |
viewRow
in class DoubleMatrix2D
row
- the row to fix.DoubleMatrix2D.viewColumn(int)
public DoubleMatrix2D viewRowFlip()
DoubleMatrix2D
Example:
2 x 3 matrix: 1, 2, 3 4, 5, 6 |
rowFlip ==> | 2 x 3 matrix: 4, 5, 6 1, 2, 3 |
rowFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRowFlip
in class DoubleMatrix2D
DoubleMatrix2D.viewColumnFlip()
public DoubleMatrix2D viewSelection(int[] rowIndexes, int[] columnIndexes)
DoubleMatrix2D
Example:
this = 2 x 3 matrix: 1, 2, 3 4, 5, 6 rowIndexes = (0,1) columnIndexes = (1,0,1,0) --> view = 2 x 4 matrix: 2, 1, 2, 1 5, 4, 5, 4Note that modifying the index arguments after this call has returned has no effect on the view. The returned view is backed by this matrix, so changes in the returned view are reflected in this matrix, and vice-versa.
To indicate "all" rows or "all columns", simply set the respective parameter
viewSelection
in class DoubleMatrix2D
rowIndexes
- The rows of the cells that shall be visible in the new view.
To indicate that all rows shall be visible, simply set
this parameter to null.columnIndexes
- The columns of the cells that shall be visible in the new
view. To indicate that all columns shall be visible,
simply set this parameter to null.public DoubleMatrix2D viewStrides(int _rowStride, int _columnStride)
DoubleMatrix2D
viewStrides
in class DoubleMatrix2D
_rowStride
- the row step factor._columnStride
- the column step factor.Jump to the Parallel Colt Homepage