Class MatrixUtil
- java.lang.Object
-
- ubic.basecode.dataStructure.matrix.MatrixUtil
-
public class MatrixUtil extends Object
- Author:
- Paul
-
-
Constructor Summary
Constructors Constructor Description MatrixUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static cern.colt.matrix.DoubleMatrix1DapplyToIndicesMatchingCriteria(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion, DoubleFunction<Double> action)static cern.colt.list.BooleanArrayListconjunction(cern.colt.list.BooleanArrayList a, cern.colt.list.BooleanArrayList b)Compute the conjuction (logical 'and') of two boolean vectorsstatic booleancontainsNearlyZeros(cern.colt.matrix.DoubleMatrix1D d)static cern.colt.matrix.DoubleMatrix1Ddiagonal(cern.colt.matrix.DoubleMatrix2D matrix)Extract the diagonal from a matrix.static cern.colt.matrix.DoubleMatrix2DdropColumn(cern.colt.matrix.DoubleMatrix2D n, int indexToDrop)static cern.colt.matrix.DoubleMatrix2DdropColumns(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> droppedColumns)static cern.colt.matrix.DoubleMatrix1DfromList(cern.colt.list.DoubleArrayList list)Makes a copystatic <R,C,V>
VgetObject(Matrix2D<R,C,V> matrix, int rowIndex, int colIndex)static <R,C,V>
V[]getRow(Matrix2D<R,C,V> matrix, int rowIndex)static voidmaskMissing(cern.colt.matrix.DoubleMatrix2D source, cern.colt.matrix.DoubleMatrix2D target)static cern.colt.list.BooleanArrayListmatchingCriteria(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)static cern.colt.matrix.DoubleMatrix1DmultWithMissing(cern.colt.matrix.DoubleMatrix1D a, cern.colt.matrix.DoubleMatrix2D b)static cern.colt.matrix.DoubleMatrix1DmultWithMissing(cern.colt.matrix.DoubleMatrix2D a, cern.colt.matrix.DoubleMatrix1D b)static cern.colt.matrix.DoubleMatrix2DmultWithMissing(cern.colt.matrix.DoubleMatrix2D a, cern.colt.matrix.DoubleMatrix2D b)Multiple two matrices, tolerate missing values.static List<Integer>notNearlyZeroIndices(cern.colt.matrix.DoubleMatrix1D d)static cern.colt.matrix.DoubleMatrix1DremoveMissing(cern.colt.matrix.DoubleMatrix1D x)static cern.colt.matrix.DoubleMatrix1DremoveMissingOrInfinite(cern.colt.matrix.DoubleMatrix1D data)static cern.colt.matrix.DoubleMatrix1DremoveMissingOrInfinite(cern.colt.matrix.DoubleMatrix1D reference, cern.colt.matrix.DoubleMatrix1D data)Remove values from data corresponding to missing values in reference.static voidreplaceValues(cern.colt.matrix.DoubleMatrix1D x, cern.colt.list.BooleanArrayList toReplace, cern.colt.matrix.DoubleMatrix1D replacements)Perform the awkward operation of substituting certain values in a vector from values in another vector.static cern.colt.matrix.DoubleMatrix1Dselect(cern.colt.matrix.DoubleMatrix1D v, Collection<Integer> selected)static cern.colt.matrix.DoubleMatrix2DselectColumns(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)static cern.colt.matrix.DoubleMatrix2DselectColumnsAndRows(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)static cern.colt.matrix.DoubleMatrix2DselectRows(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)static intsizeWithoutMissingValues(cern.colt.matrix.DoubleMatrix1D list)static cern.colt.matrix.DoubleMatrix1DstripByCriterion(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)static cern.colt.matrix.DoubleMatrix1DstripNegative(cern.colt.matrix.DoubleMatrix1D x)static cern.colt.matrix.DoubleMatrix1DstripNonOK(cern.colt.matrix.DoubleMatrix1D x, cern.colt.list.BooleanArrayList ok)static cern.colt.list.DoubleArrayListtoList(cern.colt.matrix.DoubleMatrix1D vector)Makes a copy
-
-
-
Method Detail
-
containsNearlyZeros
public static boolean containsNearlyZeros(cern.colt.matrix.DoubleMatrix1D d)
- Parameters:
d-- Returns:
- true if any of the values are very close to zero.
-
diagonal
public static cern.colt.matrix.DoubleMatrix1D diagonal(cern.colt.matrix.DoubleMatrix2D matrix)
Extract the diagonal from a matrix.- Parameters:
matrix-- Returns:
-
dropColumn
public static cern.colt.matrix.DoubleMatrix2D dropColumn(cern.colt.matrix.DoubleMatrix2D n, int indexToDrop)- Parameters:
n-indexToDrop-- Returns:
-
dropColumns
public static cern.colt.matrix.DoubleMatrix2D dropColumns(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> droppedColumns)- Parameters:
n-droppedColumns-
-
fromList
public static cern.colt.matrix.DoubleMatrix1D fromList(cern.colt.list.DoubleArrayList list)
Makes a copy- Parameters:
list-- Returns:
-
getObject
public static <R,C,V> V getObject(Matrix2D<R,C,V> matrix, int rowIndex, int colIndex)
- Type Parameters:
R-C-V-- Parameters:
matrix-rowIndex-colIndex-- Returns:
-
getRow
public static <R,C,V> V[] getRow(Matrix2D<R,C,V> matrix, int rowIndex)
- Type Parameters:
R-C-V-- Parameters:
matrix-rowIndex-- Returns:
-
maskMissing
public static void maskMissing(cern.colt.matrix.DoubleMatrix2D source, cern.colt.matrix.DoubleMatrix2D target)- Parameters:
source- the source of information about missing valuestarget- the target where we want to convert values to missing
-
multWithMissing
public static cern.colt.matrix.DoubleMatrix1D multWithMissing(cern.colt.matrix.DoubleMatrix1D a, cern.colt.matrix.DoubleMatrix2D b)
-
multWithMissing
public static cern.colt.matrix.DoubleMatrix1D multWithMissing(cern.colt.matrix.DoubleMatrix2D a, cern.colt.matrix.DoubleMatrix1D b)- Parameters:
a-b-- Returns:
-
multWithMissing
public static cern.colt.matrix.DoubleMatrix2D multWithMissing(cern.colt.matrix.DoubleMatrix2D a, cern.colt.matrix.DoubleMatrix2D b)Multiple two matrices, tolerate missing values.- Parameters:
a-b-- Returns:
-
notNearlyZeroIndices
public static List<Integer> notNearlyZeroIndices(cern.colt.matrix.DoubleMatrix1D d)
-
removeMissingOrInfinite
public static cern.colt.matrix.DoubleMatrix1D removeMissingOrInfinite(cern.colt.matrix.DoubleMatrix1D data)
- Parameters:
data-- Returns:
- a copy of the data with missing or infinite values removed (might be empty!)
-
removeMissing
public static final cern.colt.matrix.DoubleMatrix1D removeMissing(cern.colt.matrix.DoubleMatrix1D x)
- Parameters:
x-- Returns:
- a copy of x with missing values removed
-
removeMissingOrInfinite
public static cern.colt.matrix.DoubleMatrix1D removeMissingOrInfinite(cern.colt.matrix.DoubleMatrix1D reference, cern.colt.matrix.DoubleMatrix1D data)Remove values from data corresponding to missing values in reference.- Parameters:
reference-data-- Returns:
-
stripNegative
public static final cern.colt.matrix.DoubleMatrix1D stripNegative(cern.colt.matrix.DoubleMatrix1D x)
-
stripByCriterion
public static final cern.colt.matrix.DoubleMatrix1D stripByCriterion(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)
-
conjunction
public static final cern.colt.list.BooleanArrayList conjunction(cern.colt.list.BooleanArrayList a, cern.colt.list.BooleanArrayList b)Compute the conjuction (logical 'and') of two boolean vectors- Parameters:
a-b-- Returns:
- conjunction of a and b
-
matchingCriteria
public static cern.colt.list.BooleanArrayList matchingCriteria(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)- Parameters:
x- vector to be operated oncriterion- a function that returns a boolean if a double matches the desired criteria- Returns:
- booleans indicating which values in x match the criterion func
-
applyToIndicesMatchingCriteria
public static cern.colt.matrix.DoubleMatrix1D applyToIndicesMatchingCriteria(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion, DoubleFunction<Double> action)- Parameters:
x- vector to be operated oncriterion- criterion used to test values if they should be acted on.action- function applied to values if they match the criterion- Returns:
- copy of x in which the values meeting the criterion have been replaced with the return value of action, otherwise unchanged from the original x
-
stripNonOK
public static final cern.colt.matrix.DoubleMatrix1D stripNonOK(cern.colt.matrix.DoubleMatrix1D x, cern.colt.list.BooleanArrayList ok)- Parameters:
x- a vector of values to be filteredok- a list of booleans defining which values are "ok".- Returns:
- A copy of x that has the non-ok values removed.
-
replaceValues
public static void replaceValues(cern.colt.matrix.DoubleMatrix1D x, cern.colt.list.BooleanArrayList toReplace, cern.colt.matrix.DoubleMatrix1D replacements)Perform the awkward operation of substituting certain values in a vector from values in another vector.- Parameters:
x- vector to be operated on in place (it will be modified).toReplace- boolean indicators of same length of x, 'true' indicates a value to be replaced in x with a value from 'replacements'; 'false' will be unmodified in x.replacements- the replacements, in order, to be substituted in x where toReplace(i) is true. This vector can be shorter than x.
-
select
public static cern.colt.matrix.DoubleMatrix1D select(cern.colt.matrix.DoubleMatrix1D v, Collection<Integer> selected)
-
selectColumns
public static cern.colt.matrix.DoubleMatrix2D selectColumns(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)
-
selectColumnsAndRows
public static cern.colt.matrix.DoubleMatrix2D selectColumnsAndRows(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)- Parameters:
n- square matrixselected-- Returns:
-
selectRows
public static cern.colt.matrix.DoubleMatrix2D selectRows(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)
-
sizeWithoutMissingValues
public static int sizeWithoutMissingValues(cern.colt.matrix.DoubleMatrix1D list)
-
toList
public static cern.colt.list.DoubleArrayList toList(cern.colt.matrix.DoubleMatrix1D vector)
Makes a copy- Parameters:
vector-- Returns:
-
-