bahaelaila7 / sparse-eigensolvers-java

Automatically exported from code.google.com/p/sparse-eigensolvers-java
0 stars 1 forks source link

SparseSolver interface API #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This might require a bit of thinking, and perhaps the availability of another 
solver.

It would be great if we could think up an `interface` for sparse solvers so 
individual techniques (such as lobpcg, Lanczos and ARPACK) simply implement the 
interface and clients can change their solvers very easily, using the one that 
works best for their circumstances.

Original issue reported on code.google.com by Sam.Hall...@gmail.com on 14 Oct 2012 at 4:52

GoogleCodeExporter commented 9 years ago
I've now seen SparseEigensolver and I'm not too keen on it – I think this API 
would need a rewrite to be long-term sustainable for other solvers ;-)

In reality, this SparseEigensolver is actually just parts of Lobpcg that you've 
refactored out. I would like to see a `SparseMatrixSolver` that was truly 
impartial to the implementation and would operate (at least in the interface) 
on any `Matrix` type: it could be up to the implementation to throw 
`UnsupportedOperationException` if specific storage is necessary.

In any case, not a priority because it would be good to see what people think 
of the actual solver itself, not just the API.

Original comment by Sam.Hall...@gmail.com on 14 Oct 2012 at 5:01

GoogleCodeExporter commented 9 years ago

Original comment by Sam.Hall...@gmail.com on 16 Oct 2012 at 7:19

GoogleCodeExporter commented 9 years ago
In release 01.1 the interface Lobpcg has not been changed. I would like to have 
some users try it before we make too many changes. The initial attempt was to 
mimic the exact existing interfaces for Lobpcg in the Matlab and the Blopex 
versions. However, this interface does not meet standard best practices for 
Java, and I understand that we want a standard interface that will work for 
other eigensolvers. I have been reading the book "Effective Java" by J. Bloch 
that is helpful.

Now I am starting to look at ARPACK.

Original comment by margent...@gmail.com on 14 Nov 2012 at 2:55