Hello everyone,
Looking at the present hierarchy of exceptions, I've had some further
thoughts, actually supporting the use of context rather than property
getters. Sticking with the same example, we have two exceptions
- NonPositiveDefiniteMatrixException: already implemented
- NonPositiveDefiniteLinearOperatorException: work in progress.
These two exceptions refer to the same mathematical concept, and the
former should probably extend the latter (just like AbstractRealMatrix
extends RealLinearOperator). However, these two exceptions are thrown
under quite different circumstances, with widely different parameters:
- If I understood correctly, NonPositiveDefiniteMatrixException is
thrown for example when a non-positive diagonal element is met,
- NonPositiveDefiniteLinearOperator is to be thrown when a *vector* x
is met, such as x'.a.x <= 0 (the entries of the operator as a matrix
are not accessible).
As you can see, the parameters of these exceptions will be different.
We could have a getOffendingOperator() method, but probably not a
getOffendingVector() method (since NonPositiveDefiniteMatrixException
has no offending vector in its state).

Does that make sense?

Best regards,
Sébastien

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to