[ 
https://issues.apache.org/jira/browse/MATH-581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13044737#comment-13044737
 ] 

Sébastien Brisard commented on MATH-581:
----------------------------------------

Thanks for this review.
I have implemented some exceptions to handle linear operators which should be 
symmetric, positive definite, etc.
These propositions are a little more intrusive, as the english error messages 
are to be written in org.apache.commons.math.exception.util.LocalizedFormats. I 
thought I would submit those changes once we agreed on the general picture.

OK for getting rid of the interfaces, keeping only the abstract classes. It is 
not consistent with AbstractRealMatrix implementing RealMatrix, though.

As for the package hierarchy? In which package should the whole lot go?

Finally, following Gilles, I think that yes, a RealMatrix should extend a 
RealLinearOperator, the main difference being that one allows access to its 
coefficients. From this perspective, there is a slight overlap between 
getDomainDimension()/getCodomainDimension() on the one hand, and 
getColumnDimension()/getRowDimension() on the other hand (the rationale being 
that rows/columns do not necessarily make sense in the more general case of a 
linear operator).

> Support for iterative linear solvers
> ------------------------------------
>
>                 Key: MATH-581
>                 URL: https://issues.apache.org/jira/browse/MATH-581
>             Project: Commons Math
>          Issue Type: New Feature
>    Affects Versions: 3.0, Nightly Builds
>            Reporter: Sébastien Brisard
>              Labels: iterative, linear, solver
>         Attachments: linearoperator.zip
>
>
> Dear all,
> this issue has already been discussed on the forum. The idea is to implement 
> the most popular linear iterative solvers (CG, SYMMLQ, etc...) in 
> commons-math. The beauty of these solvers is that they do not need direct 
> access to the coefficients of the matrix, only matrix-vector products are 
> necessary. This is goof, as sometimes it is inetficient to store the 
> coefficients of the matrix.
> So basically, before implementing the iterative solvers, we need to define an 
> interface slightly more general than a matrix, namely LinearOperator, with 
> only one basic operation: matrix-vector product.
> Here are a few interfaces and abstract classes that do that. Nothing fancy 
> yet, I just wanted to have you advice on the implementation before I commit 
> some solvers.
> I thought these classes could go in a package 
> org.apache.commons.math.linearoperator, but really, I haven't got a clue...
> Best regards,
> Sebastien

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to