public class Matrix2x2 {
private double[][]matrix = new double[2][2];
public double[][] getMatrix() {
return matrix;
}
public void setMatrix(double[][] matrix) {
this.matrix = matrix;
}
public Matrix2x2() {
this(new double[][]{{0,0},{0,0}});
}
public Matrix2x2(double c) {
this(new double[][]{{c,c},{c,c}});
}
public Matrix2x2(double[][] matrix) {
this.matrix = matrix;
}
public Matrix2x2(double b1, double b2, double b3, double b4) {
this(new double[][]{{b1,b2},{b3,b4}});
}
public Matrix2x2 add(Matrix2x2 matr) {
Matrix2x2 result = new Matrix2x2();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
result.matrix[i][j] = this.matrix[i][j] + matr.matrix[i][j];
}
}
return result;
}
public void add2(Matrix2x2 matr) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
this.matrix[i][j] += matr.matrix[i][j];
}
}
}
public Matrix2x2 sub(Matrix2x2 matr) {
Matrix2x2 result = new Matrix2x2();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
result.matrix[i][j] = this.matrix[i][j] - matr.matrix[i][j];
}
}
return result;
}
public void sub2(Matrix2x2 matr) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
this.matrix[i][j] -= matr.matrix[i][j];
}
}
}
public Matrix2x2 multNumber(double v) {
Matrix2x2 result = new Matrix2x2();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
result.matrix[i][j] = this.matrix[i][j] * v;
}
}
return result;
}
public void multNumber2(double v) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
this.matrix[i][j] *= v;
}
}
}
public Matrix2x2 mult(Matrix2x2 matr) {
Matrix2x2 result = new Matrix2x2();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
result.matrix[i][j] += this.matrix[i][k] * matr.matrix[k][j];
}
}
}
return result;
}
public void mult2(Matrix2x2 matr) {
Matrix2x2 result = new Matrix2x2();
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 2; k++) {
result.matrix[i][j] += this.matrix[i][k] * matr.matrix[k][j];
}
}
}
this.matrix = result.matrix;
}
public double det() {
return matrix[1][1] * matrix[2][2] - matrix[1][2] * matrix[2][1];
}
}