Dear Wiki user, You have subscribed to a wiki page or wiki category on "Commons Wiki" for change notification.
The "IterativeLinearSolvers" page has been changed by SebastienBrisard. http://wiki.apache.org/commons/IterativeLinearSolvers -------------------------------------------------- New page: = IterativeLinearSolvers = It is not uncommon to have to solve (large) linear systems for which it is both expensive and unnecessary to explicitly define all coefficients of the underlying matrix. In the present approach, the only requirement we make on the linear operator A is the ability to compute the matrix-vector product A.x (and possibly the product A'.x, where A' is the transpose of A).There are quite a few iterative solvers around for addressing such problems: conjugate gradient, SYMMLQ, to name but a few. This proposal aims at including these algorithms into commons-math. I have already implemented some of these algorithms, but I would like to have a discussion on the interface. Here are a few ideas. == The LinearMap interface == The linear operator A would be defined as implementing the interface LinearMap, which could look like this {{{ public interface LinearMap extends AnyMatrix{ public void apply(double[] x, double[] y); public void apply(RealVector x, RealVector y); } }}} === Comments === Since it extends AnyMatrix, a LinearMap must implement getColumnDimension() and getRowDimension(). There might be a conflict in terminology, since the whole point in LinearMap is to forget about the underlying matrix, and to focus on the linear operator. Maybe it would be better to define radically different functions, for example {{{ getDomainDimension() }}} {{{ getCodomainDimension() }}} --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org