package edu.upvehu.gbg.tap.matrix; import java.util.Arrays; /** * * @author bcpbogag */ public class Matrix { //TODO falta toda la documentación private double[][] theMatrix=null; public Matrix(int rows,int columns ) { //TODO chequear la consistencia de los indices y arrojar excepción si procede theMatrix=new double[rows][columns]; for (double[] row:theMatrix) Arrays.fill(row, 0.0); } public Matrix(int dim) { this(dim,dim); } public static Matrix getIdentity(int dim) { Matrix identity=new Matrix(dim); for (int i=0;i=getRows() || column<0 || column>=getColumns() ) throw new IndexOutOfBoundsException("Fuera de rango "+row+","+column); return theMatrix[row][column]; } public void setElement(int row, int column, double value){} public void transpose(); public Matrix getTransposed(); public static Matrix add(Matrix m1, Matrix m2) { //TODO aquí podría chequearse la igualdad usando la calse Dimension, pero aún sabemos poco de chequear la igualdad. if (m1.getRows()!=m2.getRows() || m1.getColumns()!=m2.getColumns()) throw new IllegalArgumentException("Dimensiones incompatibles"); } public static Matrix add(double d, Matrix m) {} public static Matrix subtract(Matrix m1, Matrix m2) {} public static Matrix subtract(double d, Matrix m2) {} public static Matrix multiply(Matrix m1, Matrix m2) {} public static Matrix multiply(double d, Matrix m2) {} public double getTrace(); public double getDeterminant(); public boolean isSquared(){} public boolean isDiagonal(){} public boolean isSimetric(){} public boolean isIdempotent(){} }