Re: [tng-devel] MUMPS binding in tmath/sparse

[ Thread Index | Date Index | More lists.tuxfamily.org/tng-devel Archives ]


Btw.

It would be interesting to compare the efficiency of SymSparseMatrix and TNGSparseArray,
particularly

- inserting values (maybe to test by converting both from SparseMatrix)
- products with vectors and matrices, scalars
- sums with other symmetric sparse matrices

That way, we can ensure that the better algorithms of both should be merged into
SymSparseMatrix.

Furthermore, I could imagine the appearance of a new data type:

SymTripletMatrix

which stores its values by separate arrays for 'value', 'i' and 'j'. It should follow the
design of tmath.SparseMatrix though.

Regards
SW

Zitat von Sebastian Wolff <sw@xxxxxxxxxxxxxxxxxxxx>:

I made some changes to the interface class of sparse solvers and applied them to MUMPS.

It is now possible to

- solve A*x=b, where x,b are dense vectors AND matrices,
- solve transpose(A)*x=b.
- The factorizing method SparseSolver:Compute() distinguishes between symmetric and general sparse matrices.

Regarding optimizing the memory use of MUMPS I was checking the MUMPS documentation. The problem is, that the given data buffers of the input data (arrays for x,y,value) may be altered by MUMPS. For example, duplicate entries are merged (ok - we can ensure this before pushing data to MUMPS) and nonzero entries are created where MUMPS believes it is necesary (can not be ensured by us or do we want to scan MUMPS' source code with each release?).

I, therefore, discourage to use the data buffer of our sparse matrices as direct input for MUMPS and recommend to create a copy.

Regards,
SW











Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/