Search in sources :

Example 16 with RawStore

use of org.ojalgo.matrix.store.RawStore in project ojAlgo by optimatika.

the class RawQR method getR.

/**
 * Return the upper triangular factor
 *
 * @return R
 */
public MatrixStore<Double> getR() {
    final int tmpColDim = this.getColDim();
    final double[][] tmpData = this.getRawInPlaceData();
    final RawStore retVal = new RawStore(tmpColDim, tmpColDim);
    final double[][] retData = retVal.data;
    double[] tmpRow;
    for (int i = 0; i < tmpColDim; i++) {
        tmpRow = retData[i];
        tmpRow[i] = myDiagonalR[i];
        for (int j = i + 1; j < tmpColDim; j++) {
            tmpRow[j] = tmpData[j][i];
        }
    }
    return retVal;
}
Also used : RawStore(org.ojalgo.matrix.store.RawStore)

Example 17 with RawStore

use of org.ojalgo.matrix.store.RawStore in project ojAlgo by optimatika.

the class RawSingularValue method doGetInverse.

MatrixStore<Double> doGetInverse(final PrimitiveDenseStore preallocated) {
    if (myPseudoinverse == null) {
        final double[][] tmpQ1t = myTransposed ? myVt : myUt;
        final double[] tmpSingular = s;
        final RawStore tmpMtrx = new RawStore(tmpSingular.length, tmpQ1t[0].length);
        final double[][] tmpMtrxData = tmpMtrx.data;
        final double tmpEps = (tmpSingular[0] * MACHINE_EPSILON) * tmpSingular.length;
        for (int i = 0; i < tmpSingular.length; i++) {
            final double tmpVal = tmpSingular[i];
            if (tmpVal > tmpEps) {
                final double[] tmpRow = tmpMtrxData[i];
                for (int j = 0; j < tmpRow.length; j++) {
                    tmpRow[j] = tmpQ1t[i][j] / tmpVal;
                }
            }
        }
        preallocated.fillByMultiplying(this.getQ2(), tmpMtrx);
        myPseudoinverse = preallocated;
    }
    return myPseudoinverse;
}
Also used : RawStore(org.ojalgo.matrix.store.RawStore)

Aggregations

RawStore (org.ojalgo.matrix.store.RawStore)17 Test (org.junit.jupiter.api.Test)2 Optimisation (org.ojalgo.optimisation.Optimisation)2 Result (org.ojalgo.optimisation.Optimisation.Result)1 Builder (org.ojalgo.optimisation.convex.ConvexSolver.Builder)1