Hi, 

My work is almost done as far as dense matrix is concerned[1]. I have now 
divided all the stuff into three files densearith, densetools and 
densesolve. Here are some key points--

   - mulmatmat is not selecting rows and cols and multiplying them as done 
   in the last commit. It turns out that col function is too expensive. So I 
   just replaced it with the old workaround by applying zip on second matrix 
   and then multiplying rows and cols. It seems that selecting a column is not 
   very efficient in the new model. Not atleast in current col function.
   - I am not able to apply domains on complex numbers.
   - I have two functions lowertriangle and uppertriangle that, given a 
   matrix, returns a upper triangle matrix and lower triangle matrix by having 
   appropriate elements reduced to zeros by matrix operations. These were 
   actually created to be used by some other functions but it didn't turned 
   out to be used anywhere. I am not sure about the utility of them now. I 
   feel they can be used in solving equations
   - There is a test failure in the LU_inverse. The thing is it calculates 
   the 0th and 2nd columns correctly but not the the first column. Others pass
   - In some places like in LU, I have to use QQ(x)/QQ(y) to avoid the 
   truncating of decimal part when the division is not perfect(e.g. 2.3 to 2). 
   It does not seems to be the right way to do it. Anyone please see if there 
   is some other way to do it.
   - I think this level should be used as in the tests. Each each is forced 
   to have a type

best,
-Saurabh


[1] https://github.com/sympy/sympy/pull/2248

On Monday, July 15, 2013 1:22:50 PM UTC+5:30, Saurabh Jha wrote:
>
> I have managed to implement a function to calculate rref of a matrix. It's 
> not using any particular reference, but it does seems to work.  Please have 
> a look[1]. I am now working on the final pieces of dense matrix, LU and QR 
> decompositions, inverse and determinant(relatively easy because of rref) 
> and a solve. I am also implement hessian and matrix derivatives.
>
> A very rough outline of solve is this--
>
> if we have some equations like--
>
> a1x + b1y + c1z = d (1)
> a2x + b2y + c2z = d (2)
> a3x + b3y + c3z = d (3)
>
> if ncol > nrow + 1, return underdetermined and return infinite solutions
> checking with rowdiv, if (1), (2), (3) are complete multiples of each 
> other (both left hand side and right hand side), return infinite solutions
> if (1), (2), (3)  are partial multiples(only left hand side), return no 
> solution.
> else -- calculate rref and return solution.
>
>
> The only concern is that rref is slower than older rref. The new profiles 
> can be found in [2]
>
> I am not sure if I have missed something. I would request others to please 
> point the functions I missed right now. 
>
> [1] https://github.com/sympy/sympy/pull/2248
> [2] 
> http://sympymatrix.blogspot.in/2013/07/profile-of-new-rref-function-and-some.htm
>

-- 
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