Parallel Colt 0.9.4

cern.colt.matrix.tfloat.impl
Class DenseLargeFloatMatrix2D

java.lang.Object
  extended by cern.colt.PersistentObject
      extended by cern.colt.matrix.AbstractMatrix
          extended by cern.colt.matrix.AbstractMatrix2D
              extended by cern.colt.matrix.tfloat.FloatMatrix2D
                  extended by cern.colt.matrix.tfloat.impl.WrapperFloatMatrix2D
                      extended by cern.colt.matrix.tfloat.impl.DenseLargeFloatMatrix2D
All Implemented Interfaces:
Serializable, Cloneable

public class DenseLargeFloatMatrix2D
extends WrapperFloatMatrix2D

Dense 2-d matrix holding float elements. First see the package summary and javadoc tree view to get the broad picture.

Implementation:

This data structure allows to store more than 2^31 elements. Internally holds one two-dimensional array, elements[rows][columns]. Note that this implementation is not synchronized.

Time complexity:

O(1) (i.e. constant time) for the basic operations get, getQuick, set, setQuick and size.

Author:
Piotr Wendykier (piotr.wendykier@gmail.com)
See Also:
Serialized Form

Constructor Summary
DenseLargeFloatMatrix2D(int rows, int columns)
           
 
Method Summary
 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 Hartley transform (DHT) of each column of this matrix.
 void dhtRows()
          Computes the discrete Hartley 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.
 float[][] elements()
          Returns the elements of this matrix.
 void fft2()
          Computes the 2D discrete Fourier transform (DFT) of this matrix.
 DenseLargeFComplexMatrix2D getFft2()
          Returns new complex matrix which is the 2D discrete Fourier transform (DFT) of this matrix.
 DenseLargeFComplexMatrix2D getFftColumns()
          Returns new complex matrix which is the discrete Fourier transform (DFT) of each column of this matrix.
 DenseLargeFComplexMatrix2D getFftRows()
          Returns new complex matrix which is the discrete Fourier transform (DFT) of each row of this matrix.
 DenseLargeFComplexMatrix2D getIfft2(boolean scale)
          Returns new complex matrix which is the 2D inverse of the discrete Fourier transform (IDFT) of this matrix.
 DenseLargeFComplexMatrix2D getIfftColumns(boolean scale)
          Returns new complex matrix which is the inverse of the discrete Fourier transform (IDFT) of each column of this matrix.
 DenseLargeFComplexMatrix2D getIfftRows(boolean scale)
          Returns new complex matrix which is the inverse of the discrete Fourier transform (IDFT) of each row of this matrix.
 float 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 (IDHT) of this matrix.
 void idhtColumns(boolean scale)
          Computes the inverse of the discrete Hartley transform (IDHT) of each column of this matrix.
 void idhtRows(boolean scale)
          Computes the inverse of the discrete Hartley transform (IDHT) of each row of this matrix.
 void idst2(boolean scale)
          Computes the 2D inverse of the discrete sine 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.
 FloatMatrix2D 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.
 FloatMatrix1D 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, float value)
          Sets the matrix cell at coordinate [row,column] to the specified value.
 
Methods inherited from class cern.colt.matrix.tfloat.impl.WrapperFloatMatrix2D
assign, assign, equals, equals, vectorize, viewColumn, viewColumnFlip, viewDice, viewPart, viewRow, viewRowFlip, viewSelection, viewStrides
 
Methods inherited from class cern.colt.matrix.tfloat.FloatMatrix2D
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
 
Methods inherited from class cern.colt.matrix.AbstractMatrix2D
checkShape, checkShape, columns, columnStride, index, rows, rowStride, size, toStringShort
 
Methods inherited from class cern.colt.matrix.AbstractMatrix
ensureCapacity, isView, trimToSize
 
Methods inherited from class cern.colt.PersistentObject
clone
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DenseLargeFloatMatrix2D

public DenseLargeFloatMatrix2D(int rows,
                               int columns)
Method Detail

dct2

public void dct2(boolean scale)
Computes the 2D discrete cosine transform (DCT-II) of this matrix.

Overrides:
dct2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

dctColumns

public void dctColumns(boolean scale)
Computes the discrete cosine transform (DCT-II) of each column of this matrix.

Overrides:
dctColumns in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

dctRows

public void dctRows(boolean scale)
Computes the discrete cosine transform (DCT-II) of each row of this matrix.

Overrides:
dctRows in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

dht2

public void dht2()
Computes the 2D discrete Hartley transform (DHT) of this matrix.

Overrides:
dht2 in class WrapperFloatMatrix2D

dhtColumns

public void dhtColumns()
Computes the discrete Hartley transform (DHT) of each column of this matrix.

Overrides:
dhtColumns in class WrapperFloatMatrix2D

dhtRows

public void dhtRows()
Computes the discrete Hartley transform (DHT) of each row of this matrix.

Overrides:
dhtRows in class WrapperFloatMatrix2D

dst2

public void dst2(boolean scale)
Computes the 2D discrete sine transform (DST-II) of this matrix.

Overrides:
dst2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

dstColumns

public void dstColumns(boolean scale)
Computes the discrete sine transform (DST-II) of each column of this matrix.

Overrides:
dstColumns in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

dstRows

public void dstRows(boolean scale)
Computes the discrete sine transform (DST-II) of each row of this matrix.

Overrides:
dstRows in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

fft2

public void fft2()
Computes the 2D discrete Fourier transform (DFT) of this matrix. The physical layout of the output data is as follows:
 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.

Overrides:
fft2 in class WrapperFloatMatrix2D
Throws:
IllegalArgumentException - if the row size or the column size of this matrix is not a power of 2 number.

getFft2

public DenseLargeFComplexMatrix2D getFft2()
Returns new complex matrix which is the 2D discrete Fourier transform (DFT) of this matrix.

Overrides:
getFft2 in class WrapperFloatMatrix2D
Returns:
the 2D discrete Fourier transform (DFT) of this matrix.

getFftColumns

public DenseLargeFComplexMatrix2D getFftColumns()
Returns new complex matrix which is the discrete Fourier transform (DFT) of each column of this matrix.

Overrides:
getFftColumns in class WrapperFloatMatrix2D
Returns:
the discrete Fourier transform (DFT) of each column of this matrix.

getFftRows

public DenseLargeFComplexMatrix2D getFftRows()
Returns new complex matrix which is the discrete Fourier transform (DFT) of each row of this matrix.

Overrides:
getFftRows in class WrapperFloatMatrix2D
Returns:
the discrete Fourier transform (DFT) of each row of this matrix.

getIfft2

public DenseLargeFComplexMatrix2D getIfft2(boolean scale)
Returns new complex matrix which is the 2D inverse of the discrete Fourier transform (IDFT) of this matrix.

Overrides:
getIfft2 in class WrapperFloatMatrix2D
Returns:
the 2D inverse of the discrete Fourier transform (IDFT) of this matrix.

getIfftColumns

public DenseLargeFComplexMatrix2D getIfftColumns(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier transform (IDFT) of each column of this matrix.

Overrides:
getIfftColumns in class WrapperFloatMatrix2D
Returns:
the inverse of the discrete Fourier transform (IDFT) of each column of this matrix.

getIfftRows

public DenseLargeFComplexMatrix2D getIfftRows(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier transform (IDFT) of each row of this matrix.

Overrides:
getIfftRows in class WrapperFloatMatrix2D
Returns:
the inverse of the discrete Fourier transform (IDFT) of each row of this matrix.

getQuick

public float getQuick(int row,
                      int column)
Description copied from class: FloatMatrix2D
Returns the matrix cell value at coordinate [row,column].

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().

Overrides:
getQuick in class WrapperFloatMatrix2D
Parameters:
row - the index of the row-coordinate.
column - the index of the column-coordinate.
Returns:
the value at the specified coordinate.

idct2

public void idct2(boolean scale)
Computes the 2D inverse of the discrete cosine transform (DCT-III) of this matrix.

Overrides:
idct2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idctColumns

public void idctColumns(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each column of this matrix.

Overrides:
idctColumns in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idctRows

public void idctRows(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each row of this matrix.

Overrides:
idctRows in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idht2

public void idht2(boolean scale)
Computes the 2D inverse of the discrete Hartley transform (IDHT) of this matrix.

Overrides:
idht2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idhtColumns

public void idhtColumns(boolean scale)
Computes the inverse of the discrete Hartley transform (IDHT) of each column of this matrix.

Overrides:
idhtColumns in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idhtRows

public void idhtRows(boolean scale)
Computes the inverse of the discrete Hartley transform (IDHT) of each row of this matrix.

Overrides:
idhtRows in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idst2

public void idst2(boolean scale)
Computes the 2D inverse of the discrete sine transform (DST-III) of this matrix.

Overrides:
idst2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idstColumns

public void idstColumns(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each column of this matrix.

Overrides:
idstColumns in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

idstRows

public void idstRows(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each row of this matrix.

Overrides:
idstRows in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed

ifft2

public void ifft2(boolean scale)
Computes the 2D inverse of the discrete Fourier transform (IDFT) of this matrix. The physical layout of the input data has to be as follows:
 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.

Overrides:
ifft2 in class WrapperFloatMatrix2D
Parameters:
scale - if true then scaling is performed
Throws:
IllegalArgumentException - if the row size or the column size of this matrix is not a power of 2 number.

setQuick

public void setQuick(int row,
                     int column,
                     float value)
Description copied from class: FloatMatrix2D
Sets the matrix cell at coordinate [row,column] to the specified value.

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().

Overrides:
setQuick in class WrapperFloatMatrix2D
Parameters:
row - the index of the row-coordinate.
column - the index of the column-coordinate.
value - the value to be filled into the specified cell.

elements

public float[][] elements()
Description copied from class: FloatMatrix2D
Returns the elements of this matrix.

Overrides:
elements in class WrapperFloatMatrix2D
Returns:
the elements

like

public FloatMatrix2D like(int rows,
                          int columns)
Description copied from class: FloatMatrix2D
Construct and returns a new empty matrix of the same dynamic type as the receiver, having the specified number of rows and columns. For example, if the receiver is an instance of type DenseFloatMatrix2D the new matrix must also be of type DenseFloatMatrix2D, if the receiver is an instance of type SparseFloatMatrix2D the new matrix must also be of type SparseFloatMatrix2D, etc. In general, the new matrix should have internal parametrization as similar as possible.

Overrides:
like in class WrapperFloatMatrix2D
Parameters:
rows - the number of rows the matrix shall have.
columns - the number of columns the matrix shall have.
Returns:
a new empty matrix of the same dynamic type.

like1D

public FloatMatrix1D like1D(int size)
Description copied from class: FloatMatrix2D
Construct and returns a new 1-d matrix of the corresponding dynamic type, entirelly independent of the receiver. For example, if the receiver is an instance of type DenseFloatMatrix2D the new matrix must be of type DenseFloatMatrix1D, if the receiver is an instance of type SparseFloatMatrix2D the new matrix must be of type SparseFloatMatrix1D, etc.

Overrides:
like1D in class WrapperFloatMatrix2D
Parameters:
size - the number of cells the matrix shall have.
Returns:
a new matrix of the corresponding dynamic type.

Parallel Colt 0.9.4

Jump to the Parallel Colt Homepage