commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien Brisard (JIRA) <>
Subject [jira] [Commented] (MATH-581) Support for iterative linear solvers
Date Sat, 25 Jun 2011 02:22:47 GMT


Sébastien Brisard commented on MATH-581:

# OK, I think I understand
# Formatting
** I'll fix that
** I agree, HTML is not designed for math formatting. Although I love LaTeX, I personally
do not like much latex-to-html based stuff, because it leads to images embedded in a HTML
page, with unmatched fonts, unmatched sizes, and so on. MathML is in my view just the way
to go, it can lead to beautiful web pages. However, MathML works best with xhtml, and the
default java doclet produces html pages... But there is a workaround, and I've implemented
a Javadoc taglet to have mathML in a javadoc page. It works with thunderbird, and extension
to other browsers should not be too much of a problem. However, it requires to declare all
formulas in a separate file, which can be considered as tiresome (but do remember that MathML
is *very* verbose anyway, and it would completely mess your java file). I've also recently
stumbled upon [MathJax|] which seems great (Math stack exchange seems
to be using it), but I've never tested it myself. Anyway, you're very welcome to my (very
simple) taglet if you want to give it a try.
# I'm aware of the {{getData}} method, but there is no requirement that it returns a shallow
copy (indeed there is no requirement that an {{AbstractRealVector}} be backed by a {{double[]}},
so again, I cannot guarantee that the exception would return a reference to the offending
vector: sometimes it would, sometimes it would not. That's the reason I chose the consistent
deep-copy option, and called the corresponding method {{copyOffendingVector}} since deep-copy
*is* guaranteed. That's really open for discussion, though.

> Support for iterative linear solvers
> ------------------------------------
>                 Key: MATH-581
>                 URL:
>             Project: Commons Math
>          Issue Type: New Feature
>    Affects Versions: 3.0, Nightly Builds
>            Reporter: Sébastien Brisard
>              Labels: iterative, linear, solver
>         Attachments: MATH-581-01.patch,
> 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:


View raw message