org.apache.mahout.math
Class RandomTrinaryMatrix

java.lang.Object
  extended by org.apache.mahout.math.AbstractMatrix
      extended by org.apache.mahout.math.RandomTrinaryMatrix
All Implemented Interfaces:
Cloneable, Iterable<MatrixSlice>, Matrix, VectorIterable

public class RandomTrinaryMatrix
extends AbstractMatrix

Random matrix. Each value is taken from {-1,0,1} with roughly equal probability. Note that by default, the value is determined by a relatively simple hash of the coordinates. Such a hash is not usable where real randomness is required, but suffices nicely for random projection methods. If the simple hash method is not satisfactory, an optional high quality mode is available which uses a murmur hash of the coordinates.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.mahout.math.AbstractMatrix
AbstractMatrix.TransposeViewVector
 
Field Summary
 
Fields inherited from class org.apache.mahout.math.AbstractMatrix
COL, columnLabelBindings, columns, ROW, rowLabelBindings, rows
 
Constructor Summary
RandomTrinaryMatrix(int rows, int columns)
           
RandomTrinaryMatrix(int seed, int rows, int columns, boolean highQuality)
           
 
Method Summary
 Matrix assignColumn(int column, Vector other)
          Assign the other vector values to the column of the receiver
 Matrix assignRow(int row, Vector other)
          Assign the other vector values to the row of the receiver
 int[] getNumNondefaultElements()
          Return the number of values in the recipient
 double getQuick(int row, int column)
          Return the value at the given indexes, without checking bounds
 Matrix like()
          Return an empty matrix of the same underlying class as the receiver
 Matrix like(int rows, int columns)
          Returns an empty matrix of the same underlying class as the receiver and of the specified size.
 void setQuick(int row, int column, double value)
          Set the value at the given index, without checking bounds
 Matrix viewPart(int[] offset, int[] size)
          Return a new matrix containing the subset of the recipient
 
Methods inherited from class org.apache.mahout.math.AbstractMatrix
aggregate, aggregateColumns, aggregateRows, asFormatString, assign, assign, assign, assign, assign, clone, columnSize, determinant, divide, get, get, getColumnLabelBindings, getRowLabelBindings, iterateAll, iterator, minus, numCols, numRows, numSlices, plus, plus, rowSize, set, set, set, set, set, set, setColumnLabelBindings, setRowLabelBindings, times, times, times, timesSquared, toString, transpose, viewColumn, viewDiagonal, viewPart, viewRow, zSum
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RandomTrinaryMatrix

public RandomTrinaryMatrix(int seed,
                           int rows,
                           int columns,
                           boolean highQuality)

RandomTrinaryMatrix

public RandomTrinaryMatrix(int rows,
                           int columns)
Method Detail

assignColumn

public Matrix assignColumn(int column,
                           Vector other)
Description copied from interface: Matrix
Assign the other vector values to the column of the receiver

Parameters:
column - the int row to assign
other - a Vector
Returns:
the modified receiver

assignRow

public Matrix assignRow(int row,
                        Vector other)
Description copied from interface: Matrix
Assign the other vector values to the row of the receiver

Parameters:
row - the int row to assign
other - a Vector
Returns:
the modified receiver

getQuick

public double getQuick(int row,
                       int column)
Return the value at the given indexes, without checking bounds

Parameters:
row - an int row index
column - an int column index
Returns:
the double at the index

like

public Matrix like()
Return an empty matrix of the same underlying class as the receiver

Returns:
a Matrix

like

public Matrix like(int rows,
                   int columns)
Returns an empty matrix of the same underlying class as the receiver and of the specified size.

Parameters:
rows - the int number of rows
columns - the int number of columns

setQuick

public void setQuick(int row,
                     int column,
                     double value)
Set the value at the given index, without checking bounds

Parameters:
row - an int row index into the receiver
column - an int column index into the receiver
value - a double value to set

getNumNondefaultElements

public int[] getNumNondefaultElements()
Return the number of values in the recipient

Specified by:
getNumNondefaultElements in interface Matrix
Overrides:
getNumNondefaultElements in class AbstractMatrix
Returns:
an int[2] containing [row, column] count

viewPart

public Matrix viewPart(int[] offset,
                       int[] size)
Return a new matrix containing the subset of the recipient

Specified by:
viewPart in interface Matrix
Overrides:
viewPart in class AbstractMatrix
Parameters:
offset - an int[2] offset into the receiver
size - the int[2] size of the desired result
Returns:
a new Matrix that is a view of the original
Throws:
CardinalityException - if the length is greater than the cardinality of the receiver
IndexException - if the offset is negative or the offset+length is outside of the receiver


Copyright © 2008–2014 The Apache Software Foundation. All rights reserved.