当前位置: 首页>>代码示例>>Java>>正文


Java DenseMatrix.numColumns方法代码示例

本文整理汇总了Java中no.uib.cipr.matrix.DenseMatrix.numColumns方法的典型用法代码示例。如果您正苦于以下问题:Java DenseMatrix.numColumns方法的具体用法?Java DenseMatrix.numColumns怎么用?Java DenseMatrix.numColumns使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在no.uib.cipr.matrix.DenseMatrix的用法示例。


在下文中一共展示了DenseMatrix.numColumns方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: ignoredTimedTransMult

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public void ignoredTimedTransMult() {
    Stopwatch watch = Stopwatch.createUnstarted();
    DenseMatrix dense = new DenseMatrix(1000, 1000);
    int[][] nz = Utilities.getRowPattern(dense.numRows(),
            dense.numColumns(), 100);
    Utilities.rowPopulate(dense, nz);
    log.info("created matrices");
    Matrix sparse = new LinkedSparseMatrix(dense.numRows(),
            dense.numColumns());
    sparse.set(dense);

    for (Matrix m : Lists.newArrayList(dense, sparse)) {
        log.info("starting " + m.getClass());
        Matrix t = new DenseMatrix(m);
        Matrix o = new DenseMatrix(dense.numRows(), dense.numColumns());
        log.info("warming up " + m.getClass() + " " + o.getClass());
        for (int i = 0; i < 10; i++)
            m.transAmult(t, o);
        log.info("starting " + m.getClass() + " " + o.getClass());
        watch.start();
        for (int i = 0; i < 100; i++)
            m.transAmult(t, o);
        watch.stop();
        log.info(m.getClass() + " " + o.getClass() + " " + watch);
    }
}
 
开发者ID:opprop-benchmarks,项目名称:matrix-toolkits-java,代码行数:27,代码来源:LinkedSparseMatrixTest.java

示例2: mtimes

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public Matrix mtimes(Matrix m2) {
	if (m2 instanceof MTJDenseDoubleMatrix2D) {
		DenseMatrix a = matrix;
		DenseMatrix b = ((MTJDenseDoubleMatrix2D) m2).getWrappedObject();
		DenseMatrix c = new DenseMatrix(a.numRows(), b.numColumns());
		// try {
		a.mult(b, c);
		return new MTJDenseDoubleMatrix2D(c);
		// } catch (Exception e) {
		// // sometimes BLAS cannot be found. Don't know why. Use direct
		// // method instead.
		// double[] Bd = ((DenseMatrix) b).getData(), Cd = ((DenseMatrix)
		// c).getData();
		// org.netlib.blas.Dgemm.dgemm("N", "N", c.numRows(),
		// c.numColumns(), a.numColumns(), 1, a.getData(), 0,
		// Math.max(1, a.numRows()), Bd, 0, Math.max(1, b.numRows()), 1, Cd,
		// 0, Math.max(1, c.numRows()));
		// return new MTJDenseDoubleMatrix2D(c);
		// }
	}
	return super.mtimes(m2);
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:23,代码来源:MTJDenseDoubleMatrix2D.java

示例3: multBLASAdd

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public static DenseMatrix multBLASAdd(double alpha, DenseMatrix B, DenseMatrix C) {

        double[] Bd = B.getData(), Cd = C.getData();
        int CRows = C.numRows();
        int cCols = C.numColumns();
        int BRows = B.numRows();
        int bCols = B.numColumns();


        BLAS.getInstance().dgemm("N", "N",
                C.numRows(), C.numColumns(),
                B.numColumns(), alpha,
                Bd,
                Math.max(1, B.numRows()), Bd, Math.max(1, B.numRows()), 0.0, Cd,
                Math.max(1, C.numRows()));

        return C;
    }
 
开发者ID:scalalab,项目名称:scalalab,代码行数:19,代码来源:MTJLAPACK.java

示例4: sumLogFactorial

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
private double sumLogFactorial(DenseMatrix fv) {
	double sum = 0;
	final double[] data = fv.getData();
	for (int i = 0; i < fv.numColumns(); i++) {
		final int fvi = (int) data[i];
		if (logFacCache.contains(fvi))
		{
			sum += logFacCache.get(fvi);
		}
		else {
			for (int j = 1; j < fvi + 1; j++) {
				sum += Math.log(j);
			}
		}
	}
	return sum;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:18,代码来源:LanguageDetector.java

示例5: ignoredTimedMult

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public void ignoredTimedMult() {
    Stopwatch watch = Stopwatch.createUnstarted();
    DenseMatrix dense = new DenseMatrix(1000, 1000);
    int[][] nz = Utilities.getRowPattern(dense.numRows(),
            dense.numColumns(), 100);
    Utilities.rowPopulate(dense, nz);
    log.info("created matrices");
    Matrix sparse = new LinkedSparseMatrix(dense.numRows(),
            dense.numColumns());
    sparse.set(dense);

    for (Matrix m : Lists.newArrayList(dense, sparse)) {
        log.info("starting " + m.getClass());
        Matrix t = new DenseMatrix(m);
        t.transpose();
        Matrix o = new DenseMatrix(dense.numRows(), dense.numColumns());
        log.info("warming up " + m.getClass() + " " + o.getClass());
        for (int i = 0; i < 10; i++)
            m.mult(t, o);
        log.info("starting " + m.getClass() + " " + o.getClass());
        watch.start();
        for (int i = 0; i < 100; i++)
            m.mult(t, o);
        watch.stop();
        log.info(m.getClass() + " " + o.getClass() + " " + watch);
    }
}
 
开发者ID:opprop-benchmarks,项目名称:matrix-toolkits-java,代码行数:28,代码来源:LinkedSparseMatrixTest.java

示例6: reduceRank

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
/**
 * Reduce the rank a matrix by estimating a the best (in a least-squares
 * sense) approximation using the thin SVD.
 * 
 * @param m
 *            the matrix to reduce.
 * @param rank
 *            the desired rank.
 * @return the rank-reduced matrix.
 */
public static Matrix reduceRank(Matrix m, int rank) {
	if (rank > Math.min(m.getColumnDimension(), m.getRowDimension())) {
		return m;
	}

	final no.uib.cipr.matrix.DenseMatrix mjtA = new no.uib.cipr.matrix.DenseMatrix(
			m.getArray());
	no.uib.cipr.matrix.SVD svd;
	try {
		svd = no.uib.cipr.matrix.SVD.factorize(mjtA);
	} catch (final NotConvergedException e) {
		throw new RuntimeException(e);
	}

	final DenseMatrix U = svd.getU();
	final DenseMatrix Vt = svd.getVt();
	final double[] svector = svd.getS();
	final DenseMatrix S = new DenseMatrix(U.numColumns(), Vt.numRows());
	for (int i = 0; i < rank; i++)
		S.set(i, i, svector[i]);

	final DenseMatrix C = new DenseMatrix(U.numRows(), S.numColumns());
	final DenseMatrix out = new DenseMatrix(C.numRows(), Vt.numColumns());
	U.mult(S, C);
	C.mult(Vt, out);

	final Matrix outFinal = convert(out);
	return outFinal;
}
 
开发者ID:openimaj,项目名称:openimaj,代码行数:40,代码来源:MatrixUtils.java

示例7: setMatrix

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public void setMatrix(Matrix A) {
    List<CompRowMatrix> Al = new LinkedList<CompRowMatrix>();
    List<CompColMatrix> Il = new LinkedList<CompColMatrix>();

    Al.add(new CompRowMatrix(A));

    for (int k = 0; Al.get(k).numRows() > min; ++k) {

        CompRowMatrix Af = Al.get(k);

        double eps = 0.08 * Math.pow(0.5, k);

        // Create the aggregates
        Aggregator aggregator = new Aggregator(Af, eps);

        // If no aggregates were created, no interpolation operator will be
        // created, and the setup phase stops
        if (aggregator.getAggregates().isEmpty())
            break;

        // Create an interpolation operator using smoothing. This also
        // creates the Galerkin operator
        Interpolator sa = new Interpolator(aggregator, Af, omega);

        Al.add(sa.getGalerkinOperator());
        Il.add(sa.getInterpolationOperator());
    }

    // Copy to array storage
    m = Al.size();
    if (m == 0)
        throw new RuntimeException("Matrix too small for AMG");

    I = new CompColMatrix[m - 1];
    this.A = new CompRowMatrix[m - 1];

    Il.toArray(I);
    for (int i = 0; i < Al.size() - 1; ++i)
        this.A[i] = Al.get(i);

    // Create a LU decomposition of the smallest Galerkin matrix
    DenseMatrix Ac = new DenseMatrix(Al.get(Al.size() - 1));
    lu = new DenseLU(Ac.numRows(), Ac.numColumns());
    lu.factor(Ac);

    // Allocate vectors at each level
    u = new DenseVector[m];
    f = new DenseVector[m];
    r = new DenseVector[m];
    for (int k = 0; k < m; ++k) {
        int n = Al.get(k).numRows();
        u[k] = new DenseVector(n);
        f[k] = new DenseVector(n);
        r[k] = new DenseVector(n);
    }

    // Set up the SSOR relaxation schemes
    preM = new SSOR[m - 1];
    postM = new SSOR[m - 1];
    for (int k = 0; k < m - 1; ++k) {
        CompRowMatrix Ak = this.A[k];
        preM[k] = new SSOR(Ak, reverse, omegaPreF, omegaPreR);
        postM[k] = new SSOR(Ak, reverse, omegaPostF, omegaPostR);
        preM[k].setMatrix(Ak);
        postM[k].setMatrix(Ak);
    }
}
 
开发者ID:opprop-benchmarks,项目名称:matrix-toolkits-java,代码行数:68,代码来源:AMG.java

示例8: MTJDenseDoubleMatrix2D

import no.uib.cipr.matrix.DenseMatrix; //导入方法依赖的package包/类
public MTJDenseDoubleMatrix2D(DenseMatrix m) {
	super(m.numRows(), m.numColumns());
	this.matrix = m;
}
 
开发者ID:ujmp,项目名称:universal-java-matrix-package,代码行数:5,代码来源:MTJDenseDoubleMatrix2D.java


注:本文中的no.uib.cipr.matrix.DenseMatrix.numColumns方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。