commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "J.Pietschmann" <>
Subject Re: [math] Isn't it about time?
Date Tue, 21 Oct 2003 21:17:07 GMT
Mark R. Diggory wrote:
> How close does everyone think we are to a release?
> Maybe its getting time for a Vote?

Most of the stoppers have been sorted out. Open issues
- a Complex class
- providing more flexibile framework for solving linear
  equation systems.

I think of RealMatrix as Data holder only, and providing
a decomposer class with an associated factory, a decomposition
class holding the decomposition and providing the backward
pass of the solving algorithms.
   class RealMatrix {
     // get a matrix specific decomposer factory
     DecompositionFactory getDecompositionFactory();

   class DecompositionFactory {
     // get overall default factory
     static newInstance();

     // construct a new default decomposer
     Decomposer newDecomposer();

     // example for a specific decomposer (Householder or QR)
     Decomposer newQRDecopmposer();

   Decomposer {
     Decomposition decompose(RealMatrix);

   Decomposition {
     // solve A*x=b
     RealVector solve(RealVector b);

     // solve matrix equation
     RealMatrix solve(RealMatrix b);

     RealMatrix invert();

This way it would be possible to
a) take advantage of special matrix forms, like symmetric
  or tridiagonal matrices, thereby using simple and more
  stable methods
b) use different solvers in case one solver proves to be
  unsatisfactory (like QR or even SVD instead of the standard LR
  decomposition, or post-iterations)
c) reuse the decomposition for solvong multiple systems with
  differend right hand sides
The decomposition objects could provide for an error estimate, if
available for this decomposition.

Any comments regarding numerical integration methods? Minimizing
functions? Optimization (linear and non-linear programming)?


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message