Class 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.DoubleMatrix1D applyToIndicesMatchingCriteria​(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion, DoubleFunction<Double> action)  
      static cern.colt.list.BooleanArrayList conjunction​(cern.colt.list.BooleanArrayList a, cern.colt.list.BooleanArrayList b)
      Compute the conjuction (logical 'and') of two boolean vectors
      static boolean containsNearlyZeros​(cern.colt.matrix.DoubleMatrix1D d)  
      static cern.colt.matrix.DoubleMatrix1D diagonal​(cern.colt.matrix.DoubleMatrix2D matrix)
      Extract the diagonal from a matrix.
      static cern.colt.matrix.DoubleMatrix2D dropColumn​(cern.colt.matrix.DoubleMatrix2D n, int indexToDrop)  
      static cern.colt.matrix.DoubleMatrix2D dropColumns​(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> droppedColumns)  
      static cern.colt.matrix.DoubleMatrix1D fromList​(cern.colt.list.DoubleArrayList list)
      Makes a copy
      static <R,​C,​V>
      V
      getObject​(Matrix2D<R,​C,​V> matrix, int rowIndex, int colIndex)  
      static <R,​C,​V>
      V[]
      getRow​(Matrix2D<R,​C,​V> matrix, int rowIndex)  
      static void maskMissing​(cern.colt.matrix.DoubleMatrix2D source, cern.colt.matrix.DoubleMatrix2D target)  
      static cern.colt.list.BooleanArrayList matchingCriteria​(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)  
      static cern.colt.matrix.DoubleMatrix1D multWithMissing​(cern.colt.matrix.DoubleMatrix1D a, cern.colt.matrix.DoubleMatrix2D b)  
      static cern.colt.matrix.DoubleMatrix1D multWithMissing​(cern.colt.matrix.DoubleMatrix2D a, cern.colt.matrix.DoubleMatrix1D b)  
      static cern.colt.matrix.DoubleMatrix2D multWithMissing​(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.DoubleMatrix1D removeMissing​(cern.colt.matrix.DoubleMatrix1D x)  
      static cern.colt.matrix.DoubleMatrix1D removeMissingOrInfinite​(cern.colt.matrix.DoubleMatrix1D data)  
      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.
      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.
      static cern.colt.matrix.DoubleMatrix1D select​(cern.colt.matrix.DoubleMatrix1D v, Collection<Integer> selected)  
      static cern.colt.matrix.DoubleMatrix2D selectColumns​(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)  
      static cern.colt.matrix.DoubleMatrix2D selectColumnsAndRows​(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)  
      static cern.colt.matrix.DoubleMatrix2D selectRows​(cern.colt.matrix.DoubleMatrix2D n, Collection<Integer> selected)  
      static int sizeWithoutMissingValues​(cern.colt.matrix.DoubleMatrix1D list)  
      static cern.colt.matrix.DoubleMatrix1D stripByCriterion​(cern.colt.matrix.DoubleMatrix1D x, DoubleFunction<Boolean> criterion)  
      static cern.colt.matrix.DoubleMatrix1D stripNegative​(cern.colt.matrix.DoubleMatrix1D x)  
      static cern.colt.matrix.DoubleMatrix1D stripNonOK​(cern.colt.matrix.DoubleMatrix1D x, cern.colt.list.BooleanArrayList ok)  
      static cern.colt.list.DoubleArrayList toList​(cern.colt.matrix.DoubleMatrix1D vector)
      Makes a copy
    • Constructor Detail

      • MatrixUtil

        public MatrixUtil()
    • 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 values
        target - 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 on
        criterion - 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 on
        criterion - 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 filtered
        ok - 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 matrix
        selected -
        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: