Saurabh, On Wed, Jun 19, 2013 at 7:47 PM, Saurabh Jha <[email protected]> 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. For more options, visit https://groups.google.com/groups/opt_out.
