Package jdistlib.math

Class VectorMath

java.lang.Object
jdistlib.math.VectorMath

public class VectorMath extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static final double
    aad(double[] e)
    Average Absolute Deviation (AAD) (i.e., mean(abs(e - median(e))))
    static final boolean
    allEq(double[] e, double v)
     
    static final boolean
    allEqual(double[] e, double[] v)
     
    static final boolean
    allEqual(double[] a, double[] b, double tol)
     
    static final boolean
    allEqualScaled(double[] a, double[] b, double tol)
     
    static final boolean
    allFinite(double[] e)
     
    static final boolean
    allGt(double[] e, double v)
     
    static final boolean
    allLt(double[] e, double v)
     
    static final double[]
     
    static final double[]
    cumsum(double[] e)
     
    static final int[]
    cumsum(int[] e)
     
    static final double[]
    diff(double[] e)
     
    static final double[]
    diff(double[] e, int lag)
     
    static final double[]
    diff(double[] e, int lag, int order)
     
    static final double
    distance(double[] e)
    Euclidian distance / Root mean square
    static final double
    dot(double[] e, double[] w)
    Weighted sum / Dot product
    static final double
    dot(double[] e, int[] w)
    Weighted sum / Dot product
    static final double
    dot(int[] e, double[] w)
    Weighted sum / Dot product
    static final double
    dot(int[] e, int[] w)
    Weighted sum / Dot product
    static final double
    geom_mean(double[] e)
    Geometric mean
    static final double
    geom_sd(double[] e)
    Geometric standard deviation (per Bug #34 request)
    static final double
    harm_mean(double[] e)
    Harmonic mean
    static final double
    iqr(double[] e)
    Inter-quartile range (i.e., Q3 - Q1)
    static final boolean
    isEqual(double a, double b, double tol)
     
    static final boolean
    isEqualScaled(double a, double b, double tol)
     
    static final boolean
    isSorted(double[] a, boolean ascending)
     
    static final double
    log_prod(double[] e)
    Log of product of numbers.
    static final double
    mad(double[] e)
    Compute the Median Absolute Deviation (MAD) (i.e., median(abs(e - median(e))))
    static final double
    max(double[] e)
     
    static final double
    maxdev(double[] e)
    Maximum deviation (i.e., max(abs(e - median(e))))
    static final double
    mean(double[] e)
     
    static final double
    median(double[] e)
    Get the median
    static final double
    midhinge(double[] e)
    Mid hinge.
    static final double
    midrange(double[] e)
    Mid-range of e (i.e., (max(e) + min(e)) / 2)
    static final double
    min(double[] e)
     
    static final double[]
    pmax(double[] a, double[] b)
     
    static final double[]
    pmin(double[] a, double[] b)
     
    static final double
    prod(double[] e)
    Product of numbers.
    static final double
    quantile(double[] sortedData, double quantile)
    Find quantile given a sorted data of array (Definition 7)
    static final double[]
    quantile(double[] sortedData, double[] quantile)
    Find quantile given a sorted data of array (Definition 7)
    static final double
    quantile0(double[] e, double quantile)
    Find quantile in an array (Definition 7).
    static final double[]
    quantile0(double[] e, double[] quantile)
    Find quantile in an array (Definition 7).
    static final double[]
    range(double[] e)
     
    static final double
    relativeDiff(double[] a, double[] b)
     
    static final double
    sd(double[] e)
     
    static final double[]
    standardize(double[] x)
    Standardize the value in x (i.e., (x - mean(x)) / sd(x))
    static final double
    sum(double[] e)
     
    static final double
    sum(int[] e)
     
    static final double
     
    static final double
    sum_kahan(double[] e)
     
    static final double[]
    summary(double[] e)
    Return summary statistics
    static final Map<String,Integer>
    table(double[] e)
     
    static final <T> Map<String,Integer>
    table(T[] e)
     
    static final double
    trimean(double[] e)
    Trimean (Q1 + 2Q2 + Q3) / 4
    static final double
    trimmed_mean(double[] e, double lower, double upper)
    Trimmed mean of values.
    static final double[]
    vabs(double[] e)
     
    static final double
    var(double[] e)
     
    static final double[]
    vcomp(double[] e)
     
    static final double[]
    vdiv(double[] a, double b)
     
    static final double[]
    vdiv(double[] a, double[] b)
     
    static final double[]
    vdiv(double a, double[] b)
     
    static final double[]
    vexp(double[] e)
     
    static final double[]
    vlog(double[] e)
     
    static final double[]
    vlog1pComps(double[] e)
     
    static final double[]
    vmin(double[] e)
     
    static final double[]
    vmin(double[] a, double b)
     
    static final double[]
    vmin(double[] a, double[] b)
     
    static final double[]
    vmin(double a, double[] b)
     
    static final double[]
    vplus(double[] a, double b)
     
    static final double[]
    vplus(double[] a, double[] b)
     
    static final double[]
    vplus(double a, double[] b)
     
    static final double[]
    vpow(double[] x, double e)
     
    static final double[]
    vpow(double[] x, double[] e)
     
    static final double[]
    vpow(double x, double[] e)
     
    static final double[]
    vpow(double x, int[] e)
     
    static final double[]
    vpow(int[] x, int[] e)
     
    static final int[]
    vsgn(double[] e)
    Vector signum.
    static final int[]
    vsgn(int[] e)
     
    static final double[]
    vsignif(double[] e, int digits)
     
    static final double[]
    vsq(double[] a)
     
    static final double[]
    vtimes(double[] a, double b)
     
    static final double[]
    vtimes(double[] a, double[] b)
     
    static final double[]
    vtimes(double a, double[] b)
     
    static final int
    which_max(double[] e)
     
    static final int
    which_max(int[] e)
     
    static final int
    which_min(double[] e)
     
    static final int
    which_min(int[] e)
     
    static final double
    winsor_mean(double[] e, double lower, double upper)
    Winsorized mean of values.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • VectorMath

      public VectorMath()
  • Method Details

    • vpow

      public static final double[] vpow(double x, double[] e)
    • vpow

      public static final double[] vpow(double[] x, double e)
    • vpow

      public static final double[] vpow(double[] x, double[] e)
    • vpow

      public static final double[] vpow(int[] x, int[] e)
    • vpow

      public static final double[] vpow(double x, int[] e)
    • vplus

      public static final double[] vplus(double[] a, double[] b)
    • vplus

      public static final double[] vplus(double a, double[] b)
    • vplus

      public static final double[] vplus(double[] a, double b)
    • vmin

      public static final double[] vmin(double[] e)
    • vmin

      public static final double[] vmin(double[] a, double[] b)
    • vmin

      public static final double[] vmin(double[] a, double b)
    • vmin

      public static final double[] vmin(double a, double[] b)
    • vtimes

      public static final double[] vtimes(double a, double[] b)
    • vtimes

      public static final double[] vtimes(double[] a, double b)
    • vtimes

      public static final double[] vtimes(double[] a, double[] b)
    • vsq

      public static final double[] vsq(double[] a)
    • vdiv

      public static final double[] vdiv(double[] a, double b)
    • vdiv

      public static final double[] vdiv(double a, double[] b)
    • vdiv

      public static final double[] vdiv(double[] a, double[] b)
    • vcomp

      public static final double[] vcomp(double[] e)
    • vabs

      public static final double[] vabs(double[] e)
    • vexp

      public static final double[] vexp(double[] e)
    • vlog

      public static final double[] vlog(double[] e)
    • vlog1pComps

      public static final double[] vlog1pComps(double[] e)
    • vsignif

      public static final double[] vsignif(double[] e, int digits)
    • vsgn

      public static final int[] vsgn(double[] e)
      Vector signum.
      Parameters:
      e -
      Returns:
      -1 if e[i] < 0; 0 if e[i] == 0; 1 if e[i] > 0
    • vsgn

      public static final int[] vsgn(int[] e)
    • diff

      public static final double[] diff(double[] e, int lag, int order)
    • diff

      public static final double[] diff(double[] e, int lag)
    • diff

      public static final double[] diff(double[] e)
    • allFinite

      public static final boolean allFinite(double[] e)
    • allLt

      public static final boolean allLt(double[] e, double v)
    • allGt

      public static final boolean allGt(double[] e, double v)
    • allEq

      public static final boolean allEq(double[] e, double v)
    • allEqual

      public static final boolean allEqual(double[] e, double[] v)
    • quantile

      public static final double quantile(double[] sortedData, double quantile)
      Find quantile given a sorted data of array (Definition 7)
      Parameters:
      sortedData - This data is assumed to be presorted! Use quantile0 if you want to use unsorted data!
      quantile - must be 0 <= quantile <= 1
      Returns:
      quantile value
    • quantile

      public static final double[] quantile(double[] sortedData, double[] quantile)
      Find quantile given a sorted data of array (Definition 7)
      Parameters:
      sortedData - This data is assumed to be presorted!
      quantile -
      Returns:
      quantile values
    • quantile0

      public static final double quantile0(double[] e, double quantile)
      Find quantile in an array (Definition 7). Data is assumed to be unsorted
      Parameters:
      e -
      quantile - must be 0 <= quantile <= 1
      Returns:
      quantile value
    • quantile0

      public static final double[] quantile0(double[] e, double[] quantile)
      Find quantile in an array (Definition 7). Data is assumed to be unsorted
      Parameters:
      e -
      quantile - must be 0 <= quantile <= 1
      Returns:
      quantile values
    • mean

      public static final double mean(double[] e)
    • distance

      public static final double distance(double[] e)
      Euclidian distance / Root mean square
      Parameters:
      e -
      Returns:
      sqrt(mean(e * e))
    • summary

      public static final double[] summary(double[] e)
      Return summary statistics
      Parameters:
      e -
      Returns:
      an array of 6 elements: Min, Q1, Median, Mean, Q3, Max
    • median

      public static final double median(double[] e)
      Get the median
      Parameters:
      e - does not need to be sorted
      Returns:
      median value
    • sd

      public static final double sd(double[] e)
    • var

      public static final double var(double[] e)
    • sum

      public static final double sum(double[] e)
    • sum

      public static final double sum(int[] e)
    • prod

      public static final double prod(double[] e)
      Product of numbers. Implemented as exp(sum(log(e))).
      Parameters:
      e -
      Returns:
      e[0] * e[1] * ... * e[n-1]
    • log_prod

      public static final double log_prod(double[] e)
      Log of product of numbers. Implemented as sum(log(e)).
      Parameters:
      e -
      Returns:
      log(e[0]) + log(e[1]) + ... + log(e[n-1])
    • geom_mean

      public static final double geom_mean(double[] e)
      Geometric mean
      Parameters:
      e -
    • geom_sd

      public static final double geom_sd(double[] e)
      Geometric standard deviation (per Bug #34 request)
      Parameters:
      e -
    • harm_mean

      public static final double harm_mean(double[] e)
      Harmonic mean
      Parameters:
      e -
    • dot

      public static final double dot(double[] e, double[] w)
      Weighted sum / Dot product
      Parameters:
      e -
      w -
      Returns:
      sum(e * w)
    • dot

      public static final double dot(int[] e, double[] w)
      Weighted sum / Dot product
      Parameters:
      e -
      w -
      Returns:
      sum(e * w)
    • dot

      public static final double dot(double[] e, int[] w)
      Weighted sum / Dot product
      Parameters:
      e -
      w -
      Returns:
      sum(e * w)
    • dot

      public static final double dot(int[] e, int[] w)
      Weighted sum / Dot product
      Parameters:
      e -
      w -
      Returns:
      sum(e * w)
    • trimmed_mean

      public static final double trimmed_mean(double[] e, double lower, double upper)
      Trimmed mean of values. Lower and upper are the percentile. For example: trimmed_mean(e, 0.25, 0.75) means average all values between 0.25 and 0.75 percentile inclusive.
      Parameters:
      e -
      lower - must be between 0 and 1
      upper - must be between 0 and 1
      Returns:
      trimmed mean.
    • winsor_mean

      public static final double winsor_mean(double[] e, double lower, double upper)
      Winsorized mean of values. Lower and upper are the percentile. For example: winsor_mean(e, 0.25, 0.75) means average all values between 0.25 and 0.75 percentile inclusive, the rest will be replaced by the boundary value (i.e., values lower than 0.25 percentile will be capped at 0.25 percentile and values higher than 0.75 percentile will be capped at 0.75 percentile).
      Parameters:
      e -
      lower - must be between 0 and 1
      upper - must be between 0 and 1
      Returns:
      winsorized mean.
    • sum_kahan

      public static final double sum_kahan(double[] e)
    • sum

      public static final double sum(Map<String,Integer> e)
    • mad

      public static final double mad(double[] e)
      Compute the Median Absolute Deviation (MAD) (i.e., median(abs(e - median(e))))
      Parameters:
      e - does not need to be sorted
      Returns:
      MAD value
    • aad

      public static final double aad(double[] e)
      Average Absolute Deviation (AAD) (i.e., mean(abs(e - median(e))))
      Parameters:
      e - does not need to be sorted
      Returns:
      AAD value
    • maxdev

      public static final double maxdev(double[] e)
      Maximum deviation (i.e., max(abs(e - median(e))))
      Parameters:
      e -
    • standardize

      public static final double[] standardize(double[] x)
      Standardize the value in x (i.e., (x - mean(x)) / sd(x))
      Parameters:
      x -
      Returns:
      standardized values
    • table

      public static final Map<String,Integer> table(double[] e)
    • table

      public static final <T> Map<String,Integer> table(T[] e)
    • as_numeric

      public static final double[] as_numeric(Collection<String> ll)
    • cumsum

      public static final double[] cumsum(double[] e)
    • cumsum

      public static final int[] cumsum(int[] e)
    • max

      public static final double max(double[] e)
    • min

      public static final double min(double[] e)
    • midrange

      public static final double midrange(double[] e)
      Mid-range of e (i.e., (max(e) + min(e)) / 2)
      Parameters:
      e -
    • which_max

      public static final int which_max(double[] e)
    • which_min

      public static final int which_min(double[] e)
    • which_max

      public static final int which_max(int[] e)
    • which_min

      public static final int which_min(int[] e)
    • pmax

      public static final double[] pmax(double[] a, double[] b)
    • pmin

      public static final double[] pmin(double[] a, double[] b)
    • range

      public static final double[] range(double[] e)
    • iqr

      public static final double iqr(double[] e)
      Inter-quartile range (i.e., Q3 - Q1)
      Parameters:
      e -
    • midhinge

      public static final double midhinge(double[] e)
      Mid hinge. (Q1 + Q3) / 2.0
      Parameters:
      e -
    • trimean

      public static final double trimean(double[] e)
      Trimean (Q1 + 2Q2 + Q3) / 4
      Parameters:
      e -
    • isEqual

      public static final boolean isEqual(double a, double b, double tol)
    • isEqualScaled

      public static final boolean isEqualScaled(double a, double b, double tol)
    • relativeDiff

      public static final double relativeDiff(double[] a, double[] b)
    • allEqual

      public static final boolean allEqual(double[] a, double[] b, double tol)
    • allEqualScaled

      public static final boolean allEqualScaled(double[] a, double[] b, double tol)
    • isSorted

      public static final boolean isSorted(double[] a, boolean ascending)