本文整理汇总了Java中org.ujmp.core.Matrix.plus方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix.plus方法的具体用法?Java Matrix.plus怎么用?Java Matrix.plus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.ujmp.core.Matrix
的用法示例。
在下文中一共展示了Matrix.plus方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testPlusScalar
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public void testPlusScalar() {
Matrix matrix1 = Matrix.Factory.zeros(M2ROWS, M2ROWS);
for (int i = 0; i < M2ROWS; i++) {
matrix1.setAsDouble(1, i, i);
}
Matrix result = matrix1.plus(PRODUCT);
for (int row = 0; row < result.getRowCount(); ++row) {
for (int col = 0; col < result.getColumnCount(); ++col) {
if (row == col) {
assertEquals(1 + PRODUCT, result.getAsDouble(row, col), 0.001);
} else {
assertEquals(PRODUCT, result.getAsDouble(row, col), 0.001);
}
}
}
}
示例2: testPlusScalarSmall
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void testPlusScalarSmall() throws Exception {
Matrix m = createMatrixWithAnnotation(2, 2);
m.setAsDouble(1.0, 0, 0);
m.setAsDouble(2.0, 0, 1);
m.setAsDouble(3.0, 1, 0);
m.setAsDouble(4.0, 1, 1);
Matrix r = m.plus(1.0);
assertEquals(getLabel(), 2.0, r.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 3.0, r.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 4.0, r.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 5.0, r.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 2.0, m.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 3.0, m.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 4.0, m.getAsDouble(1, 1), TOLERANCE);
if (m instanceof Erasable) {
((Erasable) m).erase();
}
if (r instanceof Erasable) {
((Erasable) r).erase();
}
}
示例3: test0PlusXMatrix
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void test0PlusXMatrix() throws Exception {
Matrix m1 = createMatrixWithAnnotation(5, 7);
Matrix m2 = createMatrixWithAnnotation(5, 7);
m2.randn(Ret.ORIG);
Matrix m3 = m1.plus(m2);
assertEquals(getLabel(), m2, m3);
if (m1 instanceof Erasable) {
((Erasable) m1).erase();
}
if (m2 instanceof Erasable) {
((Erasable) m2).erase();
}
if (m3 instanceof Erasable) {
((Erasable) m3).erase();
}
}
示例4: testXPlus0MatrixMatrix
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void testXPlus0MatrixMatrix() throws Exception {
Matrix m1 = createMatrixWithAnnotation(5, 7);
Matrix m2 = createMatrixWithAnnotation(5, 7);
m1.randn(Ret.ORIG);
Matrix m3 = m1.plus(m2);
assertEquals(getLabel(), m1, m3);
if (m1 instanceof Erasable) {
((Erasable) m1).erase();
}
if (m2 instanceof Erasable) {
((Erasable) m2).erase();
}
if (m3 instanceof Erasable) {
((Erasable) m3).erase();
}
}
示例5: test0Plus0Matrix
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void test0Plus0Matrix() throws Exception {
Matrix m1 = createMatrixWithAnnotation(5, 7);
Matrix m2 = createMatrixWithAnnotation(5, 7);
Matrix m3 = m1.plus(m2);
assertTrue(getLabel(), m3.isEmpty());
if (m1 instanceof Erasable) {
((Erasable) m1).erase();
}
if (m2 instanceof Erasable) {
((Erasable) m2).erase();
}
if (m3 instanceof Erasable) {
((Erasable) m3).erase();
}
}
示例6: main
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
// create a dense empty matrix with 4 rows and 4 columns
Matrix dense = DenseMatrix.Factory.zeros(4, 4);
// set entry at row 2 and column 3 to the value 5.0
dense.setAsDouble(5.0, 2, 3);
// set some other values
dense.setAsDouble(1.0, 0, 0);
dense.setAsDouble(3.0, 1, 1);
dense.setAsDouble(4.0, 2, 2);
dense.setAsDouble(-2.0, 3, 3);
dense.setAsDouble(-2.0, 1, 3);
// print the final matrix on the console
System.out.println(dense);
// create a sparse empty matrix with 4 rows and 4 columns
Matrix sparse = SparseMatrix.Factory.zeros(4, 4);
sparse.setAsDouble(2.0, 0, 0);
// basic calculations
Matrix transpose = dense.transpose();
Matrix sum = dense.plus(sparse);
Matrix difference = dense.minus(sparse);
Matrix matrixProduct = dense.mtimes(sparse);
Matrix scaled = dense.times(2.0);
Matrix inverse = dense.inv();
Matrix pseudoInverse = dense.pinv();
double determinant = dense.det();
Matrix[] singularValueDecomposition = dense.svd();
Matrix[] eigenValueDecomposition = dense.eig();
Matrix[] luDecomposition = dense.lu();
Matrix[] qrDecomposition = dense.qr();
Matrix choleskyDecomposition = dense.chol();
}
示例7: testPlusScalarLarge
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void testPlusScalarLarge() throws Exception {
if (!isTestLarge()) {
return;
}
Matrix m = createMatrixWithAnnotation(119, 119);
m.setAsDouble(1.0, 0, 0);
m.setAsDouble(2.0, 0, 1);
m.setAsDouble(3.0, 1, 0);
m.setAsDouble(4.0, 1, 1);
Matrix r = m.plus(1.0);
assertEquals(getLabel(), 2.0, r.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 3.0, r.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 4.0, r.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 5.0, r.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 2.0, m.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 3.0, m.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 4.0, m.getAsDouble(1, 1), TOLERANCE);
if (m instanceof Erasable) {
((Erasable) m).erase();
}
if (r instanceof Erasable) {
((Erasable) r).erase();
}
}
示例8: testPlusMatrixSmall
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void testPlusMatrixSmall() throws Exception {
Matrix m1 = createMatrixWithAnnotation(2, 2);
Matrix m2 = createMatrixWithAnnotation(2, 2);
m1.setAsDouble(1.0, 0, 0);
m1.setAsDouble(2.0, 0, 1);
m1.setAsDouble(3.0, 1, 0);
m1.setAsDouble(4.0, 1, 1);
m2.setAsDouble(1.0, 0, 0);
m2.setAsDouble(1.0, 0, 1);
m2.setAsDouble(1.0, 1, 0);
m2.setAsDouble(1.0, 1, 1);
Matrix r = m1.plus(m2);
assertEquals(getLabel(), 2.0, r.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 3.0, r.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 4.0, r.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 5.0, r.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m1.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 2.0, m1.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 3.0, m1.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 4.0, m1.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(1, 1), TOLERANCE);
if (m1 instanceof Erasable) {
((Erasable) m1).erase();
}
if (m2 instanceof Erasable) {
((Erasable) m2).erase();
}
if (r instanceof Erasable) {
((Erasable) r).erase();
}
}
示例9: testPlusMatrixSmall
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public void testPlusMatrixSmall() throws Exception {
Matrix ref1 = DenseDoubleMatrix2D.Factory.randn(11, 10);
Matrix ref2 = DenseDoubleMatrix2D.Factory.randn(11, 10);
Matrix ref3 = ref1.plus(Ret.LINK, true, ref2);
for (Class<? extends Matrix> mclass : ALLFLOATMATRIXCLASSES) {
Matrix m1 = getMatrix(mclass, ref1);
Matrix m2 = getMatrix(mclass, ref2);
Matrix m3 = m1.plus(m2);
assertEquals(mclass.toString(), 0.0, ref3.minus(m3).getRMS(), TOLERANCE);
}
}
示例10: testPlusMatrixLarge
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public void testPlusMatrixLarge() throws Exception {
Matrix ref1 = DenseDoubleMatrix2D.Factory.randn(101, 100);
Matrix ref2 = DenseDoubleMatrix2D.Factory.randn(101, 100);
Matrix ref3 = ref1.plus(Ret.LINK, true, ref2);
for (Class<? extends Matrix> mclass : ALLFLOATMATRIXCLASSES) {
Matrix m1 = getMatrix(mclass, ref1);
Matrix m2 = getMatrix(mclass, ref2);
Matrix m3 = m1.plus(m2);
assertEquals(mclass.toString(), 0.0, ref3.minus(m3).getRMS(), TOLERANCE);
}
}
示例11: testPlusScalarSmall
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public void testPlusScalarSmall() throws Exception {
Matrix ref1 = DenseDoubleMatrix2D.Factory.randn(11, 10);
double ref2 = MathUtil.nextDouble();
Matrix ref3 = ref1.plus(Ret.LINK, true, ref2);
for (Class<? extends Matrix> mclass : ALLFLOATMATRIXCLASSES) {
Matrix m1 = getMatrix(mclass, ref1);
Matrix m3 = m1.plus(ref2);
Matrix delta = ref3.minus(m3);
assertEquals(mclass.toString(), 0.0, delta.getRMS(), TOLERANCE);
}
}
示例12: testPlusScalarLarge
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public void testPlusScalarLarge() throws Exception {
Matrix ref1 = DenseDoubleMatrix2D.Factory.randn(101, 100);
double ref2 = MathUtil.nextDouble();
Matrix ref3 = ref1.plus(Ret.LINK, true, ref2);
for (Class<? extends Matrix> mclass : ALLFLOATMATRIXCLASSES) {
Matrix m1 = getMatrix(mclass, ref1);
Matrix m3 = m1.plus(ref2);
assertEquals(mclass.toString(), 0.0, ref3.minus(m3).getRMS(), TOLERANCE);
}
}
示例13: train
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public void train(ListDataSet dataSet) throws Exception {
List<Sample> samples = new FastArrayList<Sample>(dataSet);
for (int t = 0; t < tMax; t++) {
double epsilon = epsilonStart * Math.pow(epsilonEnd / epsilonStart, (double) t / tMax);
double delta = deltaStart * Math.pow(deltaEnd / deltaStart, (double) t / tMax);
System.out.println((int) ((double) t / tMax * 100) + "%");
Collections.shuffle(samples);
for (Sample s : samples) {
Matrix input = s.getAsMatrix(getInputLabel());
// find best match
double bestDistance = Double.MAX_VALUE;
int bestRow = -1;
int bestCol = -1;
Matrix distanceMatrix = Matrix.Factory.zeros(rows, cols);
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
Matrix m = weightVectors[row][col];
if (m == null) {
m = Matrix.Factory.randn(input.getSize());
weightVectors[row][col] = m;
}
double distance = input.euklideanDistanceTo(m, true);
distanceMatrix.setAsDouble(distance, row, col);
if (distance < bestDistance) {
bestDistance = distance;
bestRow = row;
bestCol = col;
}
}
}
for (int row = 0; row < rows; row++) {
for (int col = 0; col < cols; col++) {
double dist = Math.sqrt((row - bestRow) * (row - bestRow) + (col - bestCol)
* (col - bestCol));
double h = MathUtil.gauss(0, delta, dist);
Matrix w = weightVectors[row][col];
w = w.plus(input.minus(w).times(epsilon * h));
weightVectors[row][col] = w;
}
}
if (t == tMax - 1) {
s.put("Projection", distanceMatrix);
}
}
}
}
示例14: testPlusMatrixLarge
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
@Test
public final void testPlusMatrixLarge() throws Exception {
if (!isTestLarge()) {
return;
}
Matrix m1 = createMatrixWithAnnotation(121, 111);
Matrix m2 = createMatrixWithAnnotation(121, 111);
m1.setAsDouble(1.0, 0, 0);
m1.setAsDouble(2.0, 0, 1);
m1.setAsDouble(3.0, 1, 0);
m1.setAsDouble(4.0, 1, 1);
m2.setAsDouble(1.0, 0, 0);
m2.setAsDouble(1.0, 0, 1);
m2.setAsDouble(1.0, 1, 0);
m2.setAsDouble(1.0, 1, 1);
Matrix r = m1.plus(m2);
assertEquals(getLabel(), 2.0, r.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 3.0, r.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 4.0, r.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 5.0, r.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m1.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 2.0, m1.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 3.0, m1.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 4.0, m1.getAsDouble(1, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(0, 0), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(0, 1), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(1, 0), TOLERANCE);
assertEquals(getLabel(), 1.0, m2.getAsDouble(1, 1), TOLERANCE);
if (m1 instanceof Erasable) {
((Erasable) m1).erase();
}
if (m2 instanceof Erasable) {
((Erasable) m2).erase();
}
if (r instanceof Erasable) {
((Erasable) r).erase();
}
}