← Back to team overview

dolfin team mailing list archive

Re: New Linear Algebra updates: NewVector/NewMatrix operators, NewGMRES.

 

Good to see that the linear algebra is coming along. Some comments:

- solve() should be static to enable NewGMRES::solve(), same as
  GMRES::solve().

- There should be a version of solve() that can handle VirtualMatrix.
  I think the code will be the same, just call VirtualMatrix::mat().

- We need to add a class NewPreconditioner that can be passed as an
  argument to NewGMRES, something like

class Preconditioner
{
    virtual void solve(NewVector& x, const NewVector& b) = 0;
}

class MyPreconditioner : public Preconditioner
{
    void solve(NewVector& x, const NewVector& b);
}

MyPreconditioner pc;
NewGMRES::solve(A, x, b, pc);

/Anders

On Wed, Jan 19, 2005 at 02:33:14PM +0100, dolfin@xxxxxxxxxx wrote:
> Commit from johanjan (2005-01-19 14:33 CET)
> 
> New Linear Algebra updates: NewVector/NewMatrix operators, NewGMRES.
> 
>   dolfin  Makefile.in                                    1.62
>   dolfin  aclocal.m4                                     1.86
>   dolfin  configure                                      1.124
>   dolfin  src/Makefile.in                                1.62
>   dolfin  src/config/Makefile.am                         1.12
>   dolfin  src/config/Makefile.in                         1.66
>   dolfin  src/demo/Makefile.in                           1.64
>   dolfin  src/demo/la/Makefile                           1.165
>   dolfin  src/demo/la/Makefile.in                        1.41
> + dolfin  src/demo/la/newla/data.xml                     1.1
>   dolfin  src/demo/la/newla/main.cpp                     1.3
>   dolfin  src/demo/solvers/Makefile.in                   1.58
>   dolfin  src/demo/solvers/navierstokes/Makefile.in      1.31
>   dolfin  src/demo/solvers/ode/Makefile.in               1.46
>   dolfin  src/demo/solvers/ode/mechanical/Makefile.in    1.30
>   dolfin  src/demo/solvers/ode/modeling/Makefile.in      1.20
>   dolfin  src/demo/solvers/ode/stiff/Makefile            1.120
>   dolfin  src/demo/solvers/ode/stiff/Makefile.in         1.38
>   dolfin  src/greeting/Makefile.in                       1.47
>   dolfin  src/kernel/Makefile.in                         1.63
>   dolfin  src/kernel/common/Makefile.in                  1.63
>   dolfin  src/kernel/common/dolfin/Makefile.in           1.57
>   dolfin  src/kernel/element/Makefile.in                 1.40
>   dolfin  src/kernel/element/dolfin/Makefile.in          1.40
>   dolfin  src/kernel/fem/Makefile                        1.171
>   dolfin  src/kernel/fem/Makefile.in                     1.68
>   dolfin  src/kernel/fem/dolfin/Makefile.in              1.67
>   dolfin  src/kernel/form/Makefile.in                    1.42
>   dolfin  src/kernel/form/dolfin/Makefile.in             1.41
>   dolfin  src/kernel/function/Makefile.in                1.33
>   dolfin  src/kernel/function/dolfin/Makefile.in         1.33
>   dolfin  src/kernel/io/Makefile.in                      1.68
>   dolfin  src/kernel/io/dolfin/Makefile.in               1.62
>   dolfin  src/kernel/la/Makefile.am                      1.25
>   dolfin  src/kernel/la/Makefile.in                      1.69
> + dolfin  src/kernel/la/NewGMRES.cpp                     1.1
>   dolfin  src/kernel/la/NewMatrix.cpp                    1.8
>   dolfin  src/kernel/la/NewVector.cpp                    1.7
>   dolfin  src/kernel/la/dolfin/Makefile.in               1.66
>   dolfin  src/kernel/la/dolfin/Matrix.h                  1.30
> + dolfin  src/kernel/la/dolfin/NewGMRES.h                1.1
>   dolfin  src/kernel/la/dolfin/NewMatrix.h               1.6
>   dolfin  src/kernel/la/dolfin/NewVector.h               1.6
>   dolfin  src/kernel/log/Makefile.in                     1.54
>   dolfin  src/kernel/log/dolfin/Makefile.in              1.54
>   dolfin  src/kernel/main/Makefile.in                    1.62
>   dolfin  src/kernel/main/dolfin/Makefile.in             1.59
>   dolfin  src/kernel/map/Makefile.in                     1.41
>   dolfin  src/kernel/map/dolfin/Makefile.in              1.40
>   dolfin  src/kernel/math/Makefile.in                    1.55
>   dolfin  src/kernel/math/dolfin/Makefile.in             1.54
>   dolfin  src/kernel/mesh/Makefile.in                    1.40
>   dolfin  src/kernel/mesh/dolfin/Makefile.in             1.39
>   dolfin  src/kernel/ode/Makefile.in                     1.58
>   dolfin  src/kernel/ode/dolfin/Makefile.in              1.56
>   dolfin  src/kernel/quadrature/Makefile.in              1.56
>   dolfin  src/kernel/quadrature/dolfin/Makefile.in       1.56
>   dolfin  src/kernel/settings/Makefile.in                1.49
>   dolfin  src/kernel/settings/dolfin/Makefile.in         1.49
>   dolfin  src/modules/Makefile.in                        1.67
>   dolfin  src/modules/convdiff/Makefile.in               1.63
>   dolfin  src/modules/elasticity/Makefile.in             1.28
>   dolfin  src/modules/elasticity-stationary/Makefile.in  1.28
>   dolfin  src/modules/elasticity-updated/Makefile.in     1.15
>   dolfin  src/modules/euler/Makefile.in                  1.21
>   dolfin  src/modules/heat/Makefile.in                   1.8
>   dolfin  src/modules/navierstokes/Makefile.in           1.62
>   dolfin  src/modules/odesolver/Makefile.in              1.41
>   dolfin  src/modules/poisson/Makefile.in                1.61
>   dolfin  src/modules/poisson-multigrid/Makefile.in      1.19
>   dolfin  src/modules/template/Makefile.in               1.61
>   dolfin  src/modules/wave/Makefile.in                   1.28
>   dolfin  src/modules/wave-vector/Makefile.in            1.28
>   dolfin  src/post/Makefile.in                           1.50
>   dolfin  src/pre/Makefile.in                            1.58
>   dolfin  src/utils/Makefile.in                          1.61
>   dolfin  src/utils/inp2dx/Makefile.in                   1.61
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 



Follow ups

References