Parallel Colt 0.9.4

cern.colt.matrix.tdouble.impl
Class DenseLargeDoubleMatrix2D

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.tdouble.DoubleMatrix2D
                  extended by cern.colt.matrix.tdouble.impl.WrapperDoubleMatrix2D
                      extended by cern.colt.matrix.tdouble.impl.DenseLargeDoubleMatrix2D
All Implemented Interfaces:
Serializable, Cloneable

public class DenseLargeDoubleMatrix2D
extends WrapperDoubleMatrix2D

Dense 2-d matrix holding double 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
DenseLargeDoubleMatrix2D(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.
 double[][] elements()
          Returns the elements of this matrix.
 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 (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.
 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.
 
Methods inherited from class cern.colt.matrix.tdouble.impl.WrapperDoubleMatrix2D
assign, assign, assign, equals, equals, vectorize, viewColumn, viewColumnFlip, viewDice, viewPart, viewRow, viewRowFlip, viewSelection, viewStrides
 
Methods inherited from class cern.colt.matrix.tdouble.DoubleMatrix2D
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

DenseLargeDoubleMatrix2D

public DenseLargeDoubleMatrix2D(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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D

dhtColumns

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

Overrides:
dhtColumns in class WrapperDoubleMatrix2D

dhtRows

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

Overrides:
dhtRows in class WrapperDoubleMatrix2D

dst2

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

Overrides:
dst2 in class WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
Throws:
IllegalArgumentException - if the row size or the column size of this matrix is not a power of 2 number.

getFft2

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

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

getFftColumns

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

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

getFftRows

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

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

getIfft2

public DenseLargeDComplexMatrix2D 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 WrapperDoubleMatrix2D
Returns:
the 2D inverse of the discrete Fourier transform (IDFT) of this matrix.

getIfftColumns

public DenseLargeDComplexMatrix2D 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 WrapperDoubleMatrix2D
Returns:
the inverse of the discrete Fourier transform (IDFT) of each column of this matrix.

getIfftRows

public DenseLargeDComplexMatrix2D 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 WrapperDoubleMatrix2D
Returns:
the inverse of the discrete Fourier transform (IDFT) of each row of this matrix.

getQuick

public double getQuick(int row,
                       int column)
Description copied from class: DoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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 WrapperDoubleMatrix2D
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,
                     double value)
Description copied from class: DoubleMatrix2D
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 WrapperDoubleMatrix2D
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 double[][] elements()
Description copied from class: DoubleMatrix2D
Returns the elements of this matrix.

Overrides:
elements in class WrapperDoubleMatrix2D
Returns:
the elements

like

public DoubleMatrix2D like(int rows,
                           int columns)
Description copied from class: DoubleMatrix2D
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 DenseDoubleMatrix2D the new matrix must also be of type DenseDoubleMatrix2D, if the receiver is an instance of type SparseDoubleMatrix2D the new matrix must also be of type SparseDoubleMatrix2D, etc. In general, the new matrix should have internal parametrization as similar as possible.

Overrides:
like in class WrapperDoubleMatrix2D
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 DoubleMatrix1D like1D(int size)
Description copied from class: DoubleMatrix2D
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 DenseDoubleMatrix2D the new matrix must be of type DenseDoubleMatrix1D, if the receiver is an instance of type SparseDoubleMatrix2D the new matrix must be of type SparseDoubleMatrix1D, etc.

Overrides:
like1D in class WrapperDoubleMatrix2D
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