When I merged mameurer's PR I was careful not to delete data. I basically used the current master version and just added the new methods of mameurer's PR.
There is only one test failing, because .jordan_form( ) on a diagonalizable matrix does not keep the same order as .diagonalize( ). I think I'll open a PR this evening. On Monday, July 15, 2013 3:50:13 PM UTC+2, Stefan Krastanov wrote: > > By the way, finishing this is one of the necessary conditions for the > "systems of ODEs" solver. However in the coming weeks I will not have the > time to help with all this. > > > On 15 July 2013 15:47, Stefan Krastanov <[email protected]<javascript:> > > wrote: > >> In the mamueller's PR there are removed tests, but otherwise is seems >> closer to completion. Given that you have already merged it, *if* it passes >> the tests that are already in master feel free to use it instead of mine. >> >> Please be sure that there are not two parallel implementations created >> this way, because there are already some placeholders and tests in master >> (by Alexey (@goodok) I think). >> >> >> On 15 July 2013 15:40, F. B. <[email protected] <javascript:>> wrote: >> >>> OK, you pointed me out two pending PR about the Jordan form. >>> >>> I worked on mamueller's one and I've merged it with the latest master >>> branch. I did not inspect Krastanov's PR yet, but it looks like they are >>> clashing against each other. >>> >>> In mamueller's one the Matrix.exp( ) already works on non-diagonalizable >>> matrices, which seems good. >>> >>> Which PR do you suggest I should look for? >>> >>> >>> On Monday, July 15, 2013 2:47:59 AM UTC+2, Rick Muller wrote: >>>> >>>> You're right. I guess I see the world through a numeric lens that I >>>> don't even notice anymore. >>>> >>>> On Sunday, July 14, 2013 5:59:47 PM UTC-6, Aaron Meurer wrote: >>>>> >>>>> That paper mainly deals with numeric methods, and maintaining >>>>> numerical stability, which are not issues for symbolic matrices, but >>>>> the Jordan method is described (briefly) as method 16. It does >>>>> actually give a closed form for the exponential of a Jordan block, >>>>> which can be built much more efficiently by using the form of it than >>>>> by taking the powers of the matrices directly. >>>>> >>>>> But maybe some other method there is also useful for symbolic >>>>> computation. >>>>> >>>>> Aaron Meurer >>>>> >>>>> On Sun, Jul 14, 2013 at 6:21 PM, Rick Muller <[email protected]> >>>>> wrote: >>>>> > There's a great article from SIAM Review of matrix exponentiation >>>>> called 19 >>>>> > Dubious Ways to Exponentiate a Matrix that's fun reading if people >>>>> aren't >>>>> > already familiar with it. May have some useful tricks. >>>>> > >>>>> > >>>>> > On Sunday, July 14, 2013 8:35:32 AM UTC-6, F. B. wrote: >>>>> >> >>>>> >> >>> m = Matrix([[0, 1], [0, 0]]) >>>>> >> >>> exp(m) >>>>> >> NotImplementedError: Exponentiation is implemented only for >>>>> diagonalizable >>>>> >> matrices >>>>> >> >>>>> >> >>>>> >> What is the best way to implement the exponentiation for >>>>> non-diagonalibale >>>>> >> matrices? >>>>> >> >>>>> >> I thought a way to fix it could be by Taylor expansion (hoping >>>>> >> non-diagonalizable matrices over the complexes are nilpotent). >>>>> >> >>>>> >> Any better ideas? Just suggest me something and I'll try to fix it. >>>>> >> >>>>> > -- >>>>> > 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<http://groups.google.com/group/sympy>. >>>>> > >>>>> >>>>> > For more options, visit >>>>> > https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>. >>>>> > >>>>> >>>>> > >>>>> > >>>>> >>>> -- >>> 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] <javascript:>. >>> To post to this group, send email to [email protected]<javascript:> >>> . >>> Visit this group at http://groups.google.com/group/sympy. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >> >> > -- 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.
