本文整理汇总了Java中org.ujmp.core.Matrix.allCoordinates方法的典型用法代码示例。如果您正苦于以下问题:Java Matrix.allCoordinates方法的具体用法?Java Matrix.allCoordinates怎么用?Java Matrix.allCoordinates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.ujmp.core.Matrix
的用法示例。
在下文中一共展示了Matrix.allCoordinates方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: DefaultDenseStringMatrix2D
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public DefaultDenseStringMatrix2D(Matrix m) {
super(m.getRowCount(), m.getColumnCount());
this.rows = MathUtil.longToInt(m.getRowCount());
this.cols = MathUtil.longToInt(m.getColumnCount());
if (m instanceof DefaultDenseStringMatrix2D) {
String[] v = ((DefaultDenseStringMatrix2D) m).values;
this.values = new String[v.length];
System.arraycopy(v, 0, this.values, 0, v.length);
} else {
this.values = new String[rows * cols];
for (long[] c : m.allCoordinates()) {
setString(m.getAsString(c), c);
}
}
if (m.getMetaData() != null) {
setMetaData(m.getMetaData().clone());
}
}
示例2: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source1, final Matrix source2, final Matrix target) {
if (source1 instanceof DenseMatrix && source2 instanceof DenseMatrix
&& target instanceof DenseMatrix) {
DivideMatrix.DENSEMATRIX.calc((DenseMatrix) source1, (DenseMatrix) source2,
(DenseMatrix) target);
} else if (source1 instanceof SparseMatrix && source2 instanceof SparseMatrix
&& target instanceof SparseMatrix) {
DivideMatrix.SPARSEMATRIX.calc((SparseMatrix) source1, (SparseMatrix) source2,
(SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source1, source2, target);
for (long[] c : source1.allCoordinates()) {
BigDecimal v1 = source1.getAsBigDecimal(c);
BigDecimal v2 = source2.getAsBigDecimal(c);
BigDecimal result = MathUtil.divide(v1, v2);
target.setAsBigDecimal(result, c);
}
if (source1 != target) {
MapMatrix<String, Object> a = source1.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例3: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source1, final Matrix source2, final Matrix target) {
if (source1 instanceof DenseMatrix && source2 instanceof DenseMatrix
&& target instanceof DenseMatrix) {
TimesMatrix.DENSEMATRIX.calc((DenseMatrix) source1, (DenseMatrix) source2,
(DenseMatrix) target);
} else if (source1 instanceof SparseMatrix && source2 instanceof SparseMatrix
&& target instanceof SparseMatrix) {
TimesMatrix.SPARSEMATRIX.calc((SparseMatrix) source1, (SparseMatrix) source2,
(SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source1, source2, target);
for (long[] c : source1.allCoordinates()) {
BigDecimal v1 = source1.getAsBigDecimal(c);
BigDecimal v2 = source2.getAsBigDecimal(c);
BigDecimal result = MathUtil.times(v1, v2);
target.setAsBigDecimal(result, c);
}
if (source1 != target) {
MapMatrix<String, Object> a = source1.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例4: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source, final BigDecimal value, final Matrix target) {
if (source instanceof DenseMatrix && target instanceof DenseMatrix) {
PlusScalar.DENSEMATRIX.calc((DenseMatrix) source, value, (DenseMatrix) target);
} else if (source instanceof SparseMatrix && target instanceof SparseMatrix) {
PlusScalar.SPARSEMATRIX.calc((SparseMatrix) source, value, (SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source, target);
for (long[] c : source.allCoordinates()) {
BigDecimal svalue = source.getAsBigDecimal(c);
BigDecimal result = MathUtil.plus(svalue, value);
target.setAsBigDecimal(result, c);
}
if (source != target) {
MapMatrix<String, Object> a = source.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例5: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source1, final Matrix source2, final Matrix target) {
if (source1 instanceof DenseMatrix && source2 instanceof DenseMatrix
&& target instanceof DenseMatrix) {
MinusMatrix.DENSEMATRIX.calc((DenseMatrix) source1, (DenseMatrix) source2,
(DenseMatrix) target);
} else if (source1 instanceof SparseMatrix && source2 instanceof SparseMatrix
&& target instanceof SparseMatrix) {
MinusMatrix.SPARSEMATRIX.calc((SparseMatrix) source1, (SparseMatrix) source2,
(SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source1, source2, target);
for (long[] c : source1.allCoordinates()) {
BigDecimal v1 = source1.getAsBigDecimal(c);
BigDecimal v2 = source2.getAsBigDecimal(c);
BigDecimal result = MathUtil.minus(v1, v2);
target.setAsBigDecimal(result, c);
}
if (source1 != target) {
MapMatrix<String, Object> a = source1.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例6: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source, final BigDecimal value, final Matrix target) {
if (source instanceof DenseMatrix && target instanceof DenseMatrix) {
MinusScalar.DENSEMATRIX.calc((DenseMatrix) source, value, (DenseMatrix) target);
} else if (source instanceof SparseMatrix && target instanceof SparseMatrix) {
MinusScalar.SPARSEMATRIX.calc((SparseMatrix) source, value, (SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source, target);
for (long[] c : source.allCoordinates()) {
BigDecimal svalue = source.getAsBigDecimal(c);
BigDecimal result = MathUtil.minus(svalue, value);
target.setAsBigDecimal(result, c);
}
if (source != target) {
MapMatrix<String, Object> a = source.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例7: getCosineSimilartiy
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public static double getCosineSimilartiy(Matrix m1, Matrix m2, boolean ignoreNaN) {
VerifyUtil.verifySameSize(m1, m2);
double aiSum = 0;
double a2Sum = 0;
double b2Sum = 0;
for (long[] c : m1.allCoordinates()) {
double a = m1.getAsDouble(c);
double b = m2.getAsDouble(c);
if (ignoreNaN) {
if (!MathUtil.isNaNOrInfinite(a) && !MathUtil.isNaNOrInfinite(b)) {
aiSum += a * b;
a2Sum += a * a;
b2Sum += b * b;
}
} else {
aiSum += a * b;
a2Sum += a * a;
b2Sum += b * b;
}
}
return aiSum / (Math.sqrt(a2Sum) * Math.sqrt(b2Sum));
}
示例8: MortonDenseDoubleMartrix2D
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public MortonDenseDoubleMartrix2D(Matrix m) {
super(m.getRowCount(), m.getColumnCount());
this.rows = MathUtil.longToInt(m.getRowCount());
this.cols = MathUtil.longToInt(m.getColumnCount());
int length = (int) Math.pow(Math.pow(2, Math.ceil(MathUtil.log2(Math.max(rows, cols)))), 2);
if (m instanceof MortonDenseDoubleMartrix2D) {
double[] v = ((MortonDenseDoubleMartrix2D) m).values;
this.values = new double[length];
System.arraycopy(v, 0, this.values, 0, v.length);
} else {
this.values = new double[length];
for (long[] c : m.allCoordinates()) {
setDouble(m.getAsDouble(c), c);
}
}
if (m.getMetaData() != null) {
setMetaData(m.getMetaData().clone());
}
}
示例9: DefaultDenseDoubleMatrixMultiD
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public DefaultDenseDoubleMatrixMultiD(Matrix m) {
super(m.getSize());
this.size = Coordinates.copyOf(m.getSize());
this.length = (int) Coordinates.product(size);
this.values = new double[length];
if (m instanceof DefaultDenseDoubleMatrixMultiD) {
double[] v = ((DefaultDenseDoubleMatrixMultiD) m).values;
System.arraycopy(v, 0, this.values, 0, v.length);
} else {
for (long[] c : m.allCoordinates()) {
setDouble(m.getAsDouble(c), c);
}
}
if (m.getMetaData() != null) {
setMetaData(m.getMetaData().clone());
}
}
示例10: DefaultDenseObjectMatrix2D
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public DefaultDenseObjectMatrix2D(Matrix m) {
super(m.getRowCount(), m.getColumnCount());
this.rows = (int) m.getRowCount();
this.cols = (int) m.getColumnCount();
if (m instanceof DefaultDenseObjectMatrix2D) {
Object[] v = ((DefaultDenseObjectMatrix2D) m).values;
this.values = new Object[v.length];
System.arraycopy(v, 0, this.values, 0, v.length);
} else {
this.values = new Object[rows * cols];
for (long[] c : m.allCoordinates()) {
setObject(m.getAsObject(c), c);
}
}
if (m.getMetaData() != null) {
setMetaData(m.getMetaData().clone());
}
}
示例11: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix in = Matrix.Factory.copyFromMatrix(MathUtil.getMatrix(input.get(SOURCE)));
for (long[] c : in.allCoordinates()) {
in.setAsDouble(getProbability(in.getAsDouble(c)), c);
}
result.put(TARGET, in);
return result;
}
示例12: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source, final Matrix target) {
if (source == target) {
throw new RuntimeException("cannot transpose into original matrix");
}
if (source.isSparse() && source instanceof SparseMatrix && target.isSparse()
&& target instanceof SparseMatrix) {
Transpose.SPARSEMATRIX.calc((SparseMatrix) source, (SparseMatrix) target);
} else if (source instanceof DenseDoubleMatrix2D && target instanceof DenseDoubleMatrix2D) {
Transpose.DENSEDOUBLEMATRIX2D.calc((DenseDoubleMatrix2D) source,
(DenseDoubleMatrix2D) target);
} else if (source instanceof DenseMatrix2D && target instanceof DenseMatrix2D) {
Transpose.DENSEMATRIX2D.calc((DenseMatrix2D) source, (DenseMatrix2D) target);
} else if (source instanceof DenseMatrix && target instanceof DenseMatrix) {
Transpose.DENSEMATRIX.calc((DenseMatrix) source, (DenseMatrix) target);
} else {
VerifyUtil.verify2D(source);
VerifyUtil.verify2D(target);
VerifyUtil.verifyEquals(source.getRowCount(), target.getColumnCount(),
"matrices have wrong size");
VerifyUtil.verifyEquals(source.getColumnCount(), target.getRowCount(),
"matrices have wrong size");
for (long[] c : source.allCoordinates()) {
Object o = source.getAsObject(c);
target.setAsObject(o, Coordinates.transpose(c));
}
}
}
示例13: calc
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public final void calc(final Matrix source1, final Matrix source2, final Matrix target) {
if (source1 instanceof DenseDoubleMatrix2D && source2 instanceof DenseDoubleMatrix2D
&& target instanceof DenseDoubleMatrix2D) {
PlusMatrix.DENSEDOUBLEMATRIX2D.calc((DenseDoubleMatrix2D) source1,
(DenseDoubleMatrix2D) source2, (DenseDoubleMatrix2D) target);
} else if (source1 instanceof DenseMatrix2D && source2 instanceof DenseMatrix2D
&& target instanceof DenseMatrix2D) {
PlusMatrix.DENSEMATRIX2D.calc((DenseMatrix2D) source1, (DenseMatrix2D) source2,
(DenseMatrix2D) target);
} else if (source1 instanceof DenseMatrix && source2 instanceof DenseMatrix
&& target instanceof DenseMatrix) {
PlusMatrix.DENSEMATRIX.calc((DenseMatrix) source1, (DenseMatrix) source2,
(DenseMatrix) target);
} else if (source1 instanceof SparseMatrix && source2 instanceof SparseMatrix
&& target instanceof SparseMatrix) {
PlusMatrix.SPARSEMATRIX.calc((SparseMatrix) source1, (SparseMatrix) source2,
(SparseMatrix) target);
} else {
VerifyUtil.verifySameSize(source1, source2, target);
for (long[] c : source1.allCoordinates()) {
BigDecimal v1 = source1.getAsBigDecimal(c);
BigDecimal v2 = source2.getAsBigDecimal(c);
BigDecimal result = MathUtil.plus(v1, v2);
target.setAsBigDecimal(result, c);
}
if (source1 != target) {
MapMatrix<String, Object> a = source1.getMetaData();
if (a != null) {
target.setMetaData(a.clone());
}
}
}
}
示例14: calculateObjects
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Map<String, Object> calculateObjects(Map<String, Object> input) {
Map<String, Object> result = new HashMap<String, Object>();
Matrix weight = MathUtil.getMatrix(input.get(SOURCE1));
Matrix x = MathUtil.getMatrix(input.get(SOURCE2)).toRowVector(Ret.NEW);
switch (biasType) {
case SINGLE:
Matrix bias = Matrix.Factory.ones(1, x.getColumnCount());
x = Matrix.Factory.vertCat(x, bias);
break;
case MULTIPLE:
bias = Matrix.Factory.ones(x.getSize());
for (long[] c : x.allCoordinates()) {
if (MathUtil.isNaNOrInfinite(x.getAsDouble(c))) {
bias.setAsDouble(Double.NaN, c);
}
}
x = Matrix.Factory.horCat(x, bias);
break;
case NONE:
break;
}
double[][] target = new double[(int) weight.getSize()[ROW]][(int) weight.getSize()[COLUMN]];
double xv = 0.0;
for (int r, c = (int) weight.getColumnCount(); --c >= 0;) {
xv = x.getAsDouble(c, 0);
for (r = (int) weight.getRowCount(); --r >= 0;) {
target[r][c] = weight.getAsDouble(r, c) * xv;
}
}
result.put(TARGET, new ArrayDenseDoubleMatrix2D(target));
return result;
}
示例15: calcNew
import org.ujmp.core.Matrix; //导入方法依赖的package包/类
public Matrix calcNew() {
Matrix result = DoubleMatrix2D.Factory.zeros(getSize()[ROW], getSize()[COLUMN]);
for (long[] c : result.allCoordinates()) {
result.setAsDouble(getDouble(c), c);
}
if (getMetaData() != null) {
result.setMetaData(getMetaData().clone());
}
return result;
}