|
|
|
@ -17,8 +17,7 @@ import java.util.ArrayList;
|
|
|
|
|
*/
|
|
|
|
|
@Named(value = "matrixOperations")
|
|
|
|
|
@ViewScoped
|
|
|
|
|
public class MatrixOperations implements Serializable
|
|
|
|
|
{
|
|
|
|
|
public class MatrixOperations implements Serializable {
|
|
|
|
|
|
|
|
|
|
@Inject
|
|
|
|
|
MatrixBeanA matrixA;
|
|
|
|
@ -36,21 +35,18 @@ public class MatrixOperations implements Serializable
|
|
|
|
|
ArrayList<ArrayList<String>> b = matrixB.getMatrix();
|
|
|
|
|
ArrayList<ArrayList<String>> c = new ArrayList<ArrayList<String>>();
|
|
|
|
|
|
|
|
|
|
for ( int i=0; i < a.size(); ++i)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < a.size(); ++i) {
|
|
|
|
|
ArrayList<String> row = new ArrayList<>();
|
|
|
|
|
for ( int j=0; j < a.size(); ++j)
|
|
|
|
|
{
|
|
|
|
|
Integer result = Integer.parseInt ( a.get(i).get(j))
|
|
|
|
|
+
|
|
|
|
|
Integer.parseInt ( b.get(i).get(j));
|
|
|
|
|
for (int j = 0; j < a.size(); ++j) {
|
|
|
|
|
Integer result = Integer.parseInt(a.get(i).get(j))
|
|
|
|
|
+ Integer.parseInt(b.get(i).get(j));
|
|
|
|
|
|
|
|
|
|
row.add( result.toString() );
|
|
|
|
|
row.add(result.toString());
|
|
|
|
|
}
|
|
|
|
|
c.add(row);
|
|
|
|
|
System.out.println(row);
|
|
|
|
|
}
|
|
|
|
|
matrixC.setMatrix( c );
|
|
|
|
|
matrixC.setMatrix(c);
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -58,10 +54,23 @@ public class MatrixOperations implements Serializable
|
|
|
|
|
ArrayList<ArrayList<BigInteger>> a = convertToBigInteger(matrixA.getMatrix());
|
|
|
|
|
ArrayList<ArrayList<BigInteger>> b = convertToBigInteger(matrixA.getMatrix());
|
|
|
|
|
ArrayList<ArrayList<String>> c = new ArrayList<ArrayList<String>>();
|
|
|
|
|
c = convertToString(matrixManipulator.multiplyParallel(a, b));
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < a.size(); i++) {
|
|
|
|
|
ArrayList<String> rowResult = new ArrayList<>();
|
|
|
|
|
for (int j = 0; j < b.get(i).size(); j++) {
|
|
|
|
|
BigInteger sum = BigInteger.ZERO;
|
|
|
|
|
for (int k = 0; k < a.get(0).size(); k++) {
|
|
|
|
|
sum = sum.add(a.get(i).get(k).multiply(b.get(k).get(j)));
|
|
|
|
|
}
|
|
|
|
|
rowResult.add(sum.toString());
|
|
|
|
|
}
|
|
|
|
|
c.add(rowResult);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
printArray(c);
|
|
|
|
|
matrixC.setMatrix( c );
|
|
|
|
|
return "";}
|
|
|
|
|
matrixC.setMatrix(c);
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String subtract() {
|
|
|
|
|
|
|
|
|
@ -69,32 +78,32 @@ public class MatrixOperations implements Serializable
|
|
|
|
|
ArrayList<ArrayList<String>> b = matrixB.getMatrix();
|
|
|
|
|
ArrayList<ArrayList<String>> c = new ArrayList<ArrayList<String>>();
|
|
|
|
|
|
|
|
|
|
for ( int i=0; i < a.size(); ++i)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < a.size(); ++i) {
|
|
|
|
|
ArrayList<String> row = new ArrayList<>();
|
|
|
|
|
for ( int j=0; j < a.size(); ++j)
|
|
|
|
|
{
|
|
|
|
|
Integer result = Integer.parseInt ( a.get(i).get(j))
|
|
|
|
|
-
|
|
|
|
|
Integer.parseInt ( b.get(i).get(j));
|
|
|
|
|
for (int j = 0; j < a.size(); ++j) {
|
|
|
|
|
Integer result = Integer.parseInt(a.get(i).get(j))
|
|
|
|
|
- Integer.parseInt(b.get(i).get(j));
|
|
|
|
|
|
|
|
|
|
row.add( result.toString() );
|
|
|
|
|
row.add(result.toString());
|
|
|
|
|
}
|
|
|
|
|
c.add(row);
|
|
|
|
|
System.out.println(row);
|
|
|
|
|
}
|
|
|
|
|
matrixC.setMatrix( c );
|
|
|
|
|
matrixC.setMatrix(c);
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MatrixBeanC getMatrixC() {
|
|
|
|
|
return this.matrixC;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MatrixBeanC getMatrixC(){return this.matrixC;}
|
|
|
|
|
public MatrixBeanA getMatrixA() {
|
|
|
|
|
return matrixA;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public MatrixBeanA getMatrixA(){return matrixA;}
|
|
|
|
|
|
|
|
|
|
public MatrixBeanB getMatrixB(){return matrixB;}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
public MatrixBeanB getMatrixB() {
|
|
|
|
|
return matrixB;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public ArrayList<ArrayList<BigInteger>> convertToBigInteger(ArrayList<ArrayList<String>> matrix) {
|
|
|
|
|
ArrayList<ArrayList<BigInteger>> bigInt2DArray = new ArrayList<>();
|
|
|
|
@ -125,7 +134,7 @@ public class MatrixOperations implements Serializable
|
|
|
|
|
}
|
|
|
|
|
return string2DArray;
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param matrix
|
|
|
|
@ -156,5 +165,4 @@ public class MatrixOperations implements Serializable
|
|
|
|
|
return output;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|