netkit.util
Class VectorMath

java.lang.Object
  extended by netkit.util.VectorMath

public class VectorMath
extends java.lang.Object


Field Summary
static java.util.Random pickRandom
           
 
Constructor Summary
VectorMath()
           
 
Method Summary
static void add(double[] arr1, double[] arr2)
          Add array 2 into array 1
static void divide(double[] arr, double div)
          Divide array by given factor
static double dotproduct(double[] arr1, double[] arr2)
           
static int dotproduct(int[] arr1, int[] arr2)
           
static boolean equals(double[] arr1, double[] arr2)
          check if arrays are identical
static boolean equals(double[] arr1, double[] arr2, double epsilon)
          check if arrays have at most epsilon difference at each index
static int getMaxIdx(double[] vals)
           
static int getMaxIdx(int[] vals)
           
static double getMaxValue(double[] vals)
           
static int getMaxValue(int[] vals)
           
static int getMinIdx(double[] vals)
           
static int getMinIdx(int[] vals)
           
static double getMinValue(double[] vals)
           
static int getMinValue(int[] vals)
           
static long getSeed()
           
static double l1diff(double[] arr1, double[] arr2)
           
static double l1diff(int[] arr1, int[] arr2)
           
static double l2_length(double[] e)
           
static void l2_normalize(double[] e)
           
static double maxDist(double[] arr1, double[] arr2)
           
static double[] merge(double alpha, double[] arr1, double[] arr2)
          combine arrays 1 and 2: result = alpha*arr1 + (1-alpha)*arr2
static void merge(double alpha, double[] arr1, double[] arr2, double[] result)
          combine arrays 1 and 2: result = alpha*arr1 + (1-alpha)*arr2
static void multiply(double[] arr, double factor)
          Multiply array by given factor
static void normalize(double[] e)
           
static void randomize(double[] array)
           
static void randomize(double[] src, double[] dst)
           
static void randomize(double[] src, double[] dst, int numItems)
           
static void randomize(double[] array, int numItems)
           
static void randomize(int[] array)
           
static void randomize(int[] array, int numItems)
           
static void randomize(int[] src, int[] dst)
           
static void randomize(int[] src, int[] dst, int numItems)
           
static
<T> void
randomize(T[] array)
           
static
<T> void
randomize(T[] array, int numItems)
           
static
<T> void
randomize(T[] src, T[] dst)
           
static
<T> void
randomize(T[] src, T[] dst, int numItems)
           
static int sampleIdx(double[] vals)
           
static void setSeed(long seed)
           
static void subtract(double[] arr1, double[] arr2)
          Subtract array 2 from array 1
static double sum(double[] array)
           
static int sum(int[] array)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

pickRandom

public static java.util.Random pickRandom
Constructor Detail

VectorMath

public VectorMath()
Method Detail

sum

public static double sum(double[] array)

sum

public static int sum(int[] array)

dotproduct

public static double dotproduct(double[] arr1,
                                double[] arr2)

dotproduct

public static int dotproduct(int[] arr1,
                             int[] arr2)

l1diff

public static double l1diff(double[] arr1,
                            double[] arr2)

l1diff

public static double l1diff(int[] arr1,
                            int[] arr2)

merge

public static double[] merge(double alpha,
                             double[] arr1,
                             double[] arr2)
combine arrays 1 and 2: result = alpha*arr1 + (1-alpha)*arr2

Parameters:
alpha -
arr1 -
arr2 -
Returns:
alpha*arr1 + (1-alpha)*arr2

merge

public static void merge(double alpha,
                         double[] arr1,
                         double[] arr2,
                         double[] result)
combine arrays 1 and 2: result = alpha*arr1 + (1-alpha)*arr2

Parameters:
alpha -
arr1 -
arr2 -
result -

l2_length

public static double l2_length(double[] e)

l2_normalize

public static void l2_normalize(double[] e)

normalize

public static void normalize(double[] e)

add

public static void add(double[] arr1,
                       double[] arr2)
Add array 2 into array 1

Parameters:
arr1 -
arr2 -

subtract

public static void subtract(double[] arr1,
                            double[] arr2)
Subtract array 2 from array 1

Parameters:
arr1 -
arr2 -

divide

public static void divide(double[] arr,
                          double div)
Divide array by given factor

Parameters:
arr -
div -

multiply

public static void multiply(double[] arr,
                            double factor)
Multiply array by given factor

Parameters:
arr -
factor -

equals

public static boolean equals(double[] arr1,
                             double[] arr2)
check if arrays are identical

Parameters:
arr1 -
arr2 -

equals

public static boolean equals(double[] arr1,
                             double[] arr2,
                             double epsilon)
check if arrays have at most epsilon difference at each index

Parameters:
arr1 -
arr2 -
epsilon -

maxDist

public static double maxDist(double[] arr1,
                             double[] arr2)

setSeed

public static void setSeed(long seed)

getSeed

public static long getSeed()

randomize

public static <T> void randomize(T[] array)

randomize

public static <T> void randomize(T[] array,
                                 int numItems)

randomize

public static <T> void randomize(T[] src,
                                 T[] dst)

randomize

public static <T> void randomize(T[] src,
                                 T[] dst,
                                 int numItems)

randomize

public static void randomize(int[] array)

randomize

public static void randomize(int[] array,
                             int numItems)

randomize

public static void randomize(int[] src,
                             int[] dst)

randomize

public static void randomize(int[] src,
                             int[] dst,
                             int numItems)

randomize

public static void randomize(double[] array)

randomize

public static void randomize(double[] array,
                             int numItems)

randomize

public static void randomize(double[] src,
                             double[] dst)

randomize

public static void randomize(double[] src,
                             double[] dst,
                             int numItems)

sampleIdx

public static int sampleIdx(double[] vals)

getMaxIdx

public static int getMaxIdx(double[] vals)

getMinIdx

public static int getMinIdx(double[] vals)

getMaxValue

public static double getMaxValue(double[] vals)

getMinValue

public static double getMinValue(double[] vals)

getMaxIdx

public static int getMaxIdx(int[] vals)

getMinIdx

public static int getMinIdx(int[] vals)

getMaxValue

public static int getMaxValue(int[] vals)

getMinValue

public static int getMinValue(int[] vals)