@Override final public Matrix clone() { return new DiagonalMatrix(this); }
@Override final public Matrix transpose() { return new DiagonalMatrix(this); }
@Override final public Matrix transpose() { return new DiagonalMatrix(this); }
/** * {@inheritDoc} * @return {@inheritDoc} * @throws IllegalArgumentException if the input matrix isn't square * (because diagonal matrices must be) or if the input matrix has non-zero * entries on the diagonal. */ @Override final public DiagonalMatrix copyMatrix( final Matrix m) { return new DiagonalMatrix(m); }
@Override final public Matrix transpose() { return new DiagonalMatrix(this); }
@Override final public Matrix clone() { return new DiagonalMatrix(this); }
@Override final public Matrix clone() { return new DiagonalMatrix(this); }
/** * {@inheritDoc} * @return {@inheritDoc} * @throws IllegalArgumentException if the input matrix isn't square * (because diagonal matrices must be) or if the input matrix has non-zero * entries on the diagonal. */ @Override final public DiagonalMatrix copyMatrix( final Matrix m) { return new DiagonalMatrix(m); }
/** * {@inheritDoc} * @return {@inheritDoc} * @throws IllegalArgumentException if the input matrix isn't square * (because diagonal matrices must be) or if the input matrix has non-zero * entries on the diagonal. */ @Override final public DiagonalMatrix copyMatrix( final Matrix m) { return new DiagonalMatrix(m); }
/** * {@inheritDoc} * @return {@inheritDoc} * @throws IllegalArgumentException if the input dimensions are not square * (because diagonal matrices must be) */ @Override final public DiagonalMatrix createMatrix( final int numRows, final int numColumns) { if (numRows != numColumns) { throw new IllegalArgumentException("Diagonal matrices must be " + "sqaure. Non-square (" + numRows + " x " + numColumns + ") diagonal matrix requested."); } return new DiagonalMatrix(numRows); }
/** * {@inheritDoc} * @return {@inheritDoc} * @throws IllegalArgumentException if the input dimensions are not square * (because diagonal matrices must be) */ @Override final public DiagonalMatrix createMatrix( final int numRows, final int numColumns) { if (numRows != numColumns) { throw new IllegalArgumentException("Diagonal matrices must be " + "sqaure. Non-square (" + numRows + " x " + numColumns + ") diagonal matrix requested."); } return new DiagonalMatrix(numRows); }
@Override public final Matrix times( final DiagonalMatrix other) { this.assertMultiplicationDimensions(other); DiagonalMatrix result = new DiagonalMatrix(this); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] *= other.diagonal[i]; } return result; }
@Override final public Matrix pseudoInverse( final double effectiveZero) { ArgumentChecker.assertIsNonNegative("effectiveZero", effectiveZero); DiagonalMatrix result = new DiagonalMatrix(diagonal.length, true); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] = (Math.abs(diagonal[i]) > effectiveZero) ? 1.0 / diagonal[i] : 0; } return result; }
@Override final public Matrix pseudoInverse( final double effectiveZero) { ArgumentChecker.assertIsNonNegative("effectiveZero", effectiveZero); DiagonalMatrix result = new DiagonalMatrix(diagonal.length, true); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] = (Math.abs(diagonal[i]) > effectiveZero) ? 1.0 / diagonal[i] : 0; } return result; }
@Override public final Matrix times( final DiagonalMatrix other) { this.assertMultiplicationDimensions(other); DiagonalMatrix result = new DiagonalMatrix(this); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] *= other.diagonal[i]; } return result; }
@Override public final Matrix times( final DiagonalMatrix other) { this.assertMultiplicationDimensions(other); DiagonalMatrix result = new DiagonalMatrix(this); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] *= other.diagonal[i]; } return result; }
@Override final public Matrix pseudoInverse( final double effectiveZero) { ArgumentChecker.assertIsNonNegative("effectiveZero", effectiveZero); DiagonalMatrix result = new DiagonalMatrix(diagonal.length, true); for (int i = 0; i < diagonal.length; ++i) { result.diagonal[i] = (Math.abs(diagonal[i]) > effectiveZero) ? 1.0 / diagonal[i] : 0; } return result; }
@Override final public Matrix inverse() { if (!isSquare()) { throw new IllegalStateException("Unable to compute inverse of non-" + "square matrix."); } Matrix I = new DiagonalMatrix(getNumRows()); I.identity(); return solve(I); }
@Override final public Matrix inverse() { if (!isSquare()) { throw new IllegalStateException("Unable to compute inverse of non-" + "square matrix."); } Matrix I = new DiagonalMatrix(getNumRows()); I.identity(); return solve(I); }
@Override final public Matrix inverse() { if (!isSquare()) { throw new IllegalStateException("Unable to compute inverse of non-" + "square matrix."); } Matrix I = new DiagonalMatrix(getNumRows()); I.identity(); return solve(I); }