Example usage for org.apache.commons.math3.linear ArrayRealVector ArrayRealVector

List of usage examples for org.apache.commons.math3.linear ArrayRealVector ArrayRealVector

Introduction

In this page you can find the example usage for org.apache.commons.math3.linear ArrayRealVector ArrayRealVector.

Prototype

public ArrayRealVector(ArrayRealVector v) throws NullArgumentException 

Source Link

Document

Construct a vector from another vector, using a deep copy.

Usage

From source file:gamlss.distributions.PE.java

/** Calculate and set initial value of nu.
 * @param y - vector of values of response variable
 * @return vector of initial values of nu
 *//*from  w w w. j  a  v  a 2 s .  c o  m*/
private ArrayRealVector setNuInitial(final ArrayRealVector y) {
    //nu.initial = expression( nu <- rep(1.8, length(y)))
    tempV = new ArrayRealVector(y.getDimension());
    tempV.set(1.8);
    return tempV;
}

From source file:com.joptimizer.functions.SOCPLogarithmicBarrier.java

/**
 * Calculates the initial value for the s parameter in Phase I.
 * Return s = max(||Ai.x+bi|| - (ci.x+di))
 * @see "S.Boyd and L.Vandenberghe, Convex Optimization, 11.6.2"
 *///  www . j  av a 2  s  .c om
public double calculatePhase1InitialFeasiblePoint(double[] originalNotFeasiblePoint, double tolerance) {
    double s = -Double.MAX_VALUE;
    RealVector x = new ArrayRealVector(originalNotFeasiblePoint);
    for (int i = 0; i < socpConstraintParametersList.size(); i++) {
        SOCPConstraintParameters param = socpConstraintParametersList.get(i);
        RealMatrix A = param.getA();
        RealVector b = param.getB();
        RealVector c = param.getC();
        double d = param.getD();
        s = Math.max(s,
                (A.operate(x).subtract(b).getNorm() - (c.dotProduct(x) + d)) * Math.pow(tolerance, -0.5));
    }
    return s;
}

From source file:gamlss.distributions.SST.java

/** Calculate and set initial value of sigma.
 * @param y - vector of values of response variable
 * @return vector of initial values of sigma
 *///  w w w.  j a  v  a 2s  .co  m
private ArrayRealVector setSigmaInitial(final ArrayRealVector y) {
    //sigma.initial = expression(sigma<- rep(sd(y), length(y))),
    tempV = new ArrayRealVector(y.getDimension());
    final double out = new StandardDeviation().evaluate(y.getDataRef());
    tempV.set(out);
    return tempV;
}

From source file:edu.utexas.cs.tactex.subscriptionspredictors.LWRCustOldAppache.java

private ArrayRealVector createNormalizedXVector(Set<Double> xValues, double min, double max) {
    Double[] dummy1 = new Double[1]; // needed to determine the type of toArray?     
    ArrayRealVector xVector = new ArrayRealVector(xValues.toArray(dummy1));
    xVector.mapSubtractToSelf(min);/* w  w w.  ja v  a 2 s  .co m*/
    xVector.mapDivideToSelf(max - min);
    // translating [0,1]=>[0.1,0.9]
    xVector.mapMultiplyToSelf(SQUEEZE);
    xVector.mapAddToSelf(OFFSET);
    return xVector;
}

From source file:edu.stanford.cfuller.imageanalysistools.fitting.BisquareLinearFitTest.java

@Test
public void testwls7() {

    for (int i = 0; i < this.x.getDimension(); i++) {
        this.x.setEntry(i, i);
        this.w.setEntry(i, 1);
    }//from w w  w .  j ava2s  .com

    double[] testY = { 5, 17, 8, 2, 1 };

    this.y = new ArrayRealVector(testY);

    this.expected.setEntry(0, 1.433);
    this.expected.setEntry(1, 0);

    this.bslf.disableIntercept();

    this.result = this.bslf.wlsFit(x, y, w);

    this.success &= (this.result.subtract(this.expected).getNorm() < this.eps);

    assertTrue(success);

}

From source file:gamlss.distributions.JSUo.java

/** Calculate and set initial value of nu.
 * @param y - vector of values of response variable
 * @return vector of initial values of nu
 *///from  w  w w  .ja  v a  2s .  c o  m
private ArrayRealVector setNuInitial(final ArrayRealVector y) {
    //nu.initial = expression(nu <- rep(0, length(y))),
    return new ArrayRealVector(y.getDimension());
}

From source file:gamlss.distributions.BCPE.java

/** Calculates initial value of sigma.
 * @param y - vector of values of response variable
 * @return - a vector of  initial values of sigma
 *//*from w  w w . j  av a 2s  .  c om*/
private ArrayRealVector setSigmaInitial(final ArrayRealVector y) {
    //sigma.initial = expression(sigma<- rep(0.1, length(y)))
    tempV = new ArrayRealVector(y.getDimension());
    tempV.set(0.1);
    return tempV;
}

From source file:edu.stanford.cfuller.imageanalysistools.fitting.BisquareLinearFit.java

/**
* Calculates the leverages of data points for least squares fitting (assuming equal variances).
* 
* @param indVarValues The values of the independent variable used for the fitting.
* @return a RealVector containing a leverage value for each independent variable value.
*//*from   www  .  j a  v a  2 s . co m*/
protected RealVector calculateLeverages(RealVector indVarValues) {

    RealMatrix indVarMatrix = null;

    if (this.noIntercept) {
        indVarMatrix = new Array2DRowRealMatrix(indVarValues.getDimension(), 1);
    } else {
        indVarMatrix = new Array2DRowRealMatrix(indVarValues.getDimension(), 2);
    }

    indVarMatrix.setColumnVector(0, indVarValues);

    if (!this.noIntercept) {
        indVarMatrix.setColumnVector(1, indVarValues.mapMultiply(0).mapAdd(1));
    }

    RealVector leverages = new ArrayRealVector(indVarValues.getDimension());

    QRDecomposition xQR = new QRDecomposition(indVarMatrix);

    RealMatrix xR = xQR.getR();

    int smallerDim = xR.getRowDimension() < xR.getColumnDimension() ? xR.getRowDimension()
            : xR.getColumnDimension();

    RealMatrix xRSq = xR.getSubMatrix(0, smallerDim - 1, 0, smallerDim - 1);

    QRDecomposition xRQR = new QRDecomposition(xRSq);

    RealMatrix xRInv = xRQR.getSolver().getInverse();

    RealMatrix xxRInv = indVarMatrix.multiply(xRInv);

    for (int i = 0; i < indVarValues.getDimension(); i++) {
        double sum = 0;
        for (int j = 0; j < xxRInv.getColumnDimension(); j++) {
            sum += Math.pow(xxRInv.getEntry(i, j), 2);
        }
        leverages.setEntry(i, sum);
    }

    return leverages;

}

From source file:de.andreasschoknecht.LS3.Query.java

/**
 * Calculate the LSSM values with respect to a document collection.
 *
 * @param Sk The matrix Sk of singular values
 * @param Vtk The matrix Vtk of the singular value decomposition
 */// w w  w  .  j  av  a 2  s. c  o m
void calculateLSSMValues(RealMatrix Sk, RealMatrix Vtk) {
    // scale Vtk with singular value matrix Sk
    RealMatrix scaledVtk = Sk.multiply(Vtk);

    // the query model as vector
    ArrayRealVector queryVector = new ArrayRealVector(pseudoDocument);

    int docsNumber = scaledVtk.getColumnDimension();
    lssmValues = new double[docsNumber];

    for (int i = 0; i < docsNumber; i++) {
        RealVector columnVector = scaledVtk.getColumnVector(i);
        lssmValues[i] = (queryVector.cosine(columnVector) + 1) / 2;
    }
}

From source file:gamlss.algorithm.TEST.java

private void fourParTest() {

    String fileName = "Data/distTest2.csv";
    CSVFileReader readData = new CSVFileReader(fileName);
    readData.readFile();//from   w  w  w  .j  a  v a  2s  .c om
    ArrayList<String> data = readData.storeValues;

    ArrayRealVector y = new ArrayRealVector(data.size());
    ArrayRealVector mu = new ArrayRealVector(data.size());
    ArrayRealVector sigma = new ArrayRealVector(data.size());
    ArrayRealVector nu = new ArrayRealVector(data.size());
    ArrayRealVector tau = new ArrayRealVector(data.size());

    for (int i = 0; i < data.size(); i++) {
        String[] line = data.get(i).split(",");
        y.setEntry(i, Double.parseDouble(line[0]));
        mu.setEntry(i, Double.parseDouble(line[1]));
        sigma.setEntry(i, Double.parseDouble(line[2]));
        nu.setEntry(i, Double.parseDouble(line[3]));
        tau.setEntry(i, Double.parseDouble(line[4]));
    }

    double[] outA = new double[y.getDimension()];
    String folder = "C:\\Users\\Daniil\\Desktop\\Gamlss_exp/outDistG.csv";
    ArrayRealVector out = null;

    SST dist = new SST();

    dist.setDistributionParameter(DistributionSettings.MU, mu);
    dist.setDistributionParameter(DistributionSettings.SIGMA, sigma);
    dist.setDistributionParameter(DistributionSettings.NU, nu);
    dist.setDistributionParameter(DistributionSettings.TAU, tau);
    //0   
    out = dist.firstDerivative(DistributionSettings.MU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, false);
    //1
    out = dist.secondDerivative(DistributionSettings.MU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //2
    out = dist.firstDerivative(DistributionSettings.SIGMA, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //3
    out = dist.secondDerivative(DistributionSettings.SIGMA, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //4
    out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.SIGMA, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //5
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.dSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                false);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //6
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.dSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                true);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //7
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                true, false);
        //System.out.println(outA[i]);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //8
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                false, true);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //9
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                true, false);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //10
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.pSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                false, false);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //11
    for (int i = 0; i < y.getDimension(); i++) {
        //         outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i),nu.getEntry(i),tau.getEntry(i), true, true);
    }
    //      MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //12
    for (int i = 0; i < y.getDimension(); i++) {
        //         outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i),nu.getEntry(i),tau.getEntry(i), false, true);
    }
    //      MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //13
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                true, false);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //14
    for (int i = 0; i < y.getDimension(); i++) {
        outA[i] = dist.qSST(y.getEntry(i), mu.getEntry(i), sigma.getEntry(i), nu.getEntry(i), tau.getEntry(i),
                false, false);
    }
    MatrixFunctions.vectorWriteCSV(folder, new ArrayRealVector(outA, false), true);
    //15
    out = dist.firstDerivative(DistributionSettings.NU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //16
    out = dist.secondDerivative(DistributionSettings.NU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //17
    out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.NU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //18
    out = dist.secondCrossDerivative(DistributionSettings.SIGMA, DistributionSettings.NU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //19
    out = dist.firstDerivative(DistributionSettings.TAU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //20
    out = dist.secondDerivative(DistributionSettings.TAU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //21
    out = dist.secondCrossDerivative(DistributionSettings.MU, DistributionSettings.TAU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //22
    out = dist.secondCrossDerivative(DistributionSettings.SIGMA, DistributionSettings.TAU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);
    //23
    out = dist.secondCrossDerivative(DistributionSettings.NU, DistributionSettings.TAU, y);
    MatrixFunctions.vectorWriteCSV(folder, out, true);

    System.out.println("Done !!!");

}