Hello everyone,
I've been successful in writing the symbolic cholesky decomposition
for sparse matrices in O(n * c**2) time. This is a reasonable order
for sparse systems, but still the performance is not very good. Using
python bulitins, It factors a 100 * 100 Matrix with sparsity 0.57 in
961 milli-seconds. Using Sympy's numbers, it takes forever or is pain-
stakingly slow for matrices larger than 20 * 20.

I understand why we must integrate groundtypes in matrices to make it
usable. But I don't know how exactly to do it.

I see that the Matrix constructor currently employs sympify, so it
changes regular ints to Sympy's Integer. I had removed this when I
wanted to test for the python builtins in my DOKMatrix implementation.

Here's an idea that we can build on. Add a kwarg argument in the
Matrix constructor called dtype, which could takes values like 'gmpy',
'python', 'sympy', etc. or more detailed, 'int', 'expr', 'poly' etc..
So that, before putting the element in the matrix, we convert it to
the required dtype. eg. val = gmpy.mpz(val)

Is it as simple as this, or am I missing something ?

I would like Mateusz especially to comment on this, and also guide me
and help me learn about the Polys structure.

Regards,
Sherjil Ozair

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to