Saurabh,

On Wed, Jun 19, 2013 at 7:47 PM, Saurabh Jha <saurabh.j...@gmail.com> wrote:
> Hi,
>
> I(with the help of Chris) have recently merged in two functions that
> convert Dictionary of Keys(DOK) representation to Compressed Row
> Format(CSR) format and vice versa. [1].

Excellent, thanks!

>
> Since I don't actually know much about the applications of  sparse
> matrices in domains like Computer Science, Physics, Mathematics etc.,
> I wanted to discuss following issues with people--
>
> 1. What are the applications of Sparse Matrices.

For example here you have a gallery of about 50 sparse matrices
together with the field/application where they arise:

http://www.cise.ufl.edu/research/sparse/matrices/

he states specifically:

structural engineering, computational fluid dynamics, model reduction,
electromagnetics, semiconductor devices, thermodynamics, materials,
acoustics, computer graphics/vision, robotics/kinematics, and other
discretizations

optimization, circuit simulation, economic and financial modeling,
theoretical and quantum chemistry, chemical process simulation,
mathematics and statistics, power networks, and other networks and
graphs

> 2. Where does CSR representation have advantage over DOK
> representation. I now know that CSR takes less space than DOK. Can
> others please tell me some other advantages?

I think CSR is faster for matrix vector multiplies, which is an
essential component
of many solvers. SciPy has good documentation that lists pros and cons of CSR:

http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.csr_matrix.html

DOK matrix might be more convenient for construction:

http://docs.scipy.org/doc/scipy/reference/generated/scipy.sparse.dok_matrix.html

but slower for other operations.

> 4. Which operations can be optimised with the help of CSR
> representation. By optimised, I mean making it's order of growth of
> running time smaller.

I think matrix-vector multiply is one of them.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to