### Question:
Matrix extends Numeric { public Matrix(@Nonnull Numeric m[][]) { this.m = m; rows = m.length; cols = m.length > 0 ? m[0].length : 0; } Matrix(@Nonnull Numeric m[][]); static Matrix identity(int dimension); static Matrix identity(int n, int p); Numeric[][] elements(); Matrix add(Matrix matrix); @Nonnull Numeric add(@Nonnull Numeric that); Matrix subtract(Matrix matrix); @Nonnull Numeric subtract(@Nonnull Numeric that); Matrix multiply(Matrix matrix); @Nonnull Numeric multiply(@Nonnull Numeric that); @Nonnull Numeric divide(@Nonnull Numeric that); @Nonnull Numeric negate(); int signum(); @Nonnull Numeric valueOf(@Nonnull Numeric numeric); Numeric[] vectors(); Numeric transpose(); Numeric trace(); @Nonnull Numeric inverse(); Numeric determinant(); @Nonnull Numeric ln(); @Nonnull @Override Numeric lg(); @Nonnull Numeric exp(); Numeric conjugate(); int compareTo(Matrix matrix); int compareTo(Numeric numeric); @Override double doubleValue(); String toString();  }### Answer:
@Test public void testMatrix() throws Exception { }