Class DoubleVec

  • All Implemented Interfaces:
    java.lang.Comparable<DoubleVec>

    public class DoubleVec
    extends java.lang.Object
    implements java.lang.Comparable<DoubleVec>
    • Constructor Detail

      • DoubleVec

        public DoubleVec​(DoubleVec dVec)
      • DoubleVec

        public DoubleVec​(DoubleVec dVec,
                         boolean bDotProd)
      • DoubleVec

        public DoubleVec​(int iSize)
      • DoubleVec

        public DoubleVec​(double[] dVec)
      • DoubleVec

        public DoubleVec​(int[] dVec)
      • DoubleVec

        public DoubleVec​(double[] dVec,
                         boolean bDotProd)
      • DoubleVec

        public DoubleVec​(java.util.Vector<java.lang.Double> vec)
      • DoubleVec

        public DoubleVec​(java.util.Vector<java.lang.Double> vec,
                         boolean bDotProd)
    • Method Detail

      • addRNDvalue

        public void addRNDvalue​(double dPercentage)
        Adds aor subtracts a random value to the original value. The range is specified by the percentage.
        Parameters:
        dPercentage - maximum range for the value change
      • addNoise

        public void addNoise​(double fracNoise,
                             double min,
                             double max)
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object
        Returns:
        -1 if the first different value is smaller than the corresponding value in dv. 0 if bot vectors are equal. 1 if the first different value is bigger than the corresponding value in dv.
      • compareTo

        public int compareTo​(DoubleVec dv)
        Specified by:
        compareTo in interface java.lang.Comparable<DoubleVec>
      • distance

        public static double distance​(DoubleVec dVec1,
                                      DoubleVec dVec2,
                                      int metric)
                               throws java.lang.Exception
        Throws:
        java.lang.Exception
      • equal

        public boolean equal​(DoubleVec dv)
      • equals

        public boolean equals​(DoubleVec dv)
      • euclideanDistance

        public static double euclideanDistance​(DoubleVec dVec1,
                                               DoubleVec dVec2)
        Euclidean distance
        Parameters:
        dVec1 -
        dVec2 -
        Returns:
      • euclideanDistance

        public static double euclideanDistance​(double[] arr1,
                                               double[] arr2)
      • overlapDistance

        public static double overlapDistance​(DoubleVec dVec1,
                                             DoubleVec dVec2)
      • getEuclideanDistanceFast

        public static double getEuclideanDistanceFast​(DoubleVec dVec1,
                                                      DoubleVec dVec2)
                                               throws java.lang.ArrayIndexOutOfBoundsException
        Euclidean distance without sqrt
        Parameters:
        dVec1 -
        dVec2 -
        Returns:
        Throws:
        java.lang.ArrayIndexOutOfBoundsException
      • get

        public double[] get()
      • get

        public double get​(int col)
      • getNorm

        public double getNorm()
      • getCosine

        public static double getCosine​(DoubleVec dVec1,
                                       DoubleVec dVec2)
        Vectors have to be normed!
        Parameters:
        dVec1 - normed vector1
        dVec2 - normed vector2
        Returns:
        Cosine
      • cubicDistance

        public static double cubicDistance​(DoubleVec dVec1,
                                           DoubleVec dVec2)
      • initRND

        public void initRND​(double dMin,
                            double dMax)
      • initRND

        public void initRND​(double[][] dArrMaxMin)
        The array contains the maximum and the minimum values for the initialisation of each field in the double vector.
        Parameters:
        dArrMaxMin - row 0: max val, row 1 min val
      • getManhattanBlockDistance

        public static double getManhattanBlockDistance​(DoubleVec dVec1,
                                                       DoubleVec dVec2)
      • mult

        public DoubleVec mult​(double dFactor)
      • multEl

        public static DoubleVec multEl​(DoubleVec dVec1,
                                       DoubleVec dVec2)
        Elementwise multiplication
        Parameters:
        dVec1 - input vector
        dVec2 - input vector
        Returns:
        DoubleVec
      • norm2One

        public void norm2One()
      • reduce

        public void reduce​(java.util.Vector<java.lang.Integer> vecIndices)
      • set

        public void set​(double dVal)
      • set

        public void set​(double[] arr)
      • set

        public void set​(int[] arr)
      • set

        public void set​(int col,
                        double val)
      • set

        public void set​(int start,
                        int end,
                        double val)
      • setRNDvalue

        public void setRNDvalue​(double dCenter,
                                double dRange)
      • size

        public int size()
      • setRNDvalue

        public void setRNDvalue​(double dRange)
      • sub

        public DoubleVec sub​(DoubleVec dvSub)
        Substraction
        Parameters:
        dvSub -
        Returns:
      • getTanimotoSimilarity

        public static double getTanimotoSimilarity​(DoubleVec dVec1,
                                                   DoubleVec dVec2)
        Calculates the Tanimoto coefficient according broken link 22.01.2019 http://www.pnylab.com/pny/papers/nmet/nmet/
        Parameters:
        dVec1 - vector1
        dVec2 - vector2
        Returns:
        Tanimoto: 1.0: maximum similarity, 0: maximum dissimilarity.
      • getTanimotoSimilarity

        public static double getTanimotoSimilarity​(double[] d1,
                                                   double[] d2)
        Parameters:
        d1 -
        d2 -
        Returns:
        1 if totally similar, 0 if no overlap.
      • getTanimotoDistance

        public static double getTanimotoDistance​(DoubleVec dVec1,
                                                 DoubleVec dVec2)
        Calculates the Inverse Tanimoto coefficient
        Parameters:
        dVec1 - vector1
        dVec2 - vector2
        Returns:
        Tanimoto: 0.0: maximum similarity, 1.0: maximum dissimilarity.
      • getTanimotoDistance

        public static double getTanimotoDistance​(double[] d1,
                                                 double[] d2)
      • getTanimotoDistanceDotProd

        public static double getTanimotoDistanceDotProd​(DoubleVec dVec1,
                                                        DoubleVec dVec2)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • toString

        public java.lang.String toString​(int iNumDigits)
        Parameters:
        iNumDigits - number of decimal places
        Returns:
        String with doubles in 0.0 notation 16.10.2003 MvK
      • toArray

        public double[] toArray()