Filed Maxima's [bugs:3243] <https://sourceforge.net/p/maxima/bugs/3243/> 
about eigenvalue()'s bug.

HTH,

-
Emmanuel Charpentier

Le dimanche 13 novembre 2016 20:06:57 UTC+1, Emmanuel Charpentier a écrit :
>
>
>
> Le dimanche 13 novembre 2016 15:38:57 UTC+1, Dima Pasechnik a écrit :
>>
>>
>>
>> On Sunday, November 13, 2016 at 2:14:07 PM UTC, Dima Pasechnik wrote:
>>>
>>>
>>>
>>> On Sunday, November 13, 2016 at 1:05:48 PM UTC, Emmanuel Charpentier 
>>> wrote:
>>>>
>>>> Note that Sage's Maxima is still at 5.35.1... Hence my questions : 
>>>> tickets or not tickets ?
>>>>
>>>
>>> well, your report on Maxima site talks about 5.38.1.
>>> So it's not impossible that the bug you report is fixed by the patch on 
>>> Sage's #18920.
>>> Let me check.
>>>
>>> it's another bug, indeed. (I mentioned this on 
>> https://sourceforge.net/p/maxima/bugs/3239/ too)
>> Open a ticket, please...
>>
>
> Done in Trac#21873 <https://trac.sagemath.org/ticket/21873>. Care for a 
> ticket for the eigenvector's bug ?
>
> HTH,
>
> --
> Emmanuel Charpentier 
>
>>
>>  
>>
>>>   
>>>
>>>>
>>>> --
>>>> Emanuel Charpentier
>>>>
>>>> Le dimanche 13 novembre 2016 13:57:13 UTC+1, Dima Pasechnik a écrit :
>>>>>
>>>>> this looks like bug in 5.38.1 that we patch on
>>>>> https://trac.sagemath.org/ticket/18920
>>>>> by importing their fix which  is not in a release yet:
>>>>>
>>>>>
>>>>> https://git.sagemath.org/sage.git/diff/build/pkgs/maxima/patches/0001-In-eigenvectors-iterate-over-all-eigenvalues.patch?id=3afa33ba089b4b13e80ec9fbf41d7f83b7c00645
>>>>>
>>>>>
>>>>>
>>>>> On Sunday, November 13, 2016 at 12:38:04 PM UTC, Emmanuel Charpentier 
>>>>> wrote:
>>>>>>
>>>>>> Problem : exhibit a concrete example of non-commutative operations to 
>>>>>> students stuck (at best) at high-school level in mathematics.
>>>>>> Idea of solution : use rotations in R^3 : they can been (literally) 
>>>>>> shown.
>>>>>>
>>>>>> But I stumbled on the (apparently) simple step of computing the 
>>>>>> invariant vector (= axis) of the rotation, which fails, except in 
>>>>>> trivial 
>>>>>> cases. Let's setup an example (editer transcript of a session with cut'n 
>>>>>> aste from an editor) :
>>>>>>
>>>>>> sage: var("x,y,z,theta,phi", domain="real")
>>>>>> ## Rotation of angle theta about the X axis :
>>>>>> ....: 
>>>>>> M_x=matrix([[1,0,0],[0,cos(theta),-sin(theta)],[0,sin(theta),cos(theta)]])
>>>>>> ## Ditto, angle phi about the Y axis :
>>>>>> ....: 
>>>>>> M_y=Matrix([[cos(phi),0,-sin(phi)],[0,1,0],[sin(phi),0,cos(phi)]])
>>>>>> ## A vector
>>>>>> ....: V=vector([x,y,z])
>>>>>> ....: 
>>>>>> (x, y, z, theta, phi)
>>>>>>
>>>>>> Try to find the axis of (the rotation whose matrix is )M_x :
>>>>>>
>>>>>> sage: S_x=solve((M_x*V-V).list(),V.list());S_x
>>>>>> [[x == r1, y == 0, z == 0]]
>>>>>>
>>>>>> So far, so good : one solution, easy to check :
>>>>>>
>>>>>> sage: V_x=vector(map(lambda e:e.rhs(), S_x[0]))
>>>>>> ....: (M_x*V_x-V_x).simplify_trig()
>>>>>> ....: 
>>>>>> (0, 0, 0)
>>>>>>
>>>>>> Things go pear-shaped when we try to find the axis of the composition 
>>>>>> of the rotations about X and Y axes :
>>>>>>
>>>>>> sage: S_yx_bad=solve((M_y*M_x*V-V).list(),V.list());S_yx_bad
>>>>>> [[x == 0, y == 0, z == 0]]
>>>>>>
>>>>>> A rotation with no axis ? Now, now...
>>>>>>
>>>>>> I have explored a bit this (Maxima) problem, which led me to file 
>>>>>> Maxima's 
>>>>>> ticket 3239 <https://sourceforge.net/p/maxima/bugs/3239/>. It turns 
>>>>>> out that this is a Maxima error solving a simple linear equarion with 
>>>>>> complicated coefficients.
>>>>>>
>>>>>> Now, there is a workaround in sage : use Sympy's solvers :
>>>>>>
>>>>>> sage: import sympy
>>>>>> ....: D_yx=sympy.solve((M_y*M_x*V-V).list(),V.list());D_yx
>>>>>> ....: 
>>>>>> {x: -z*sin(phi)/(cos(phi) - 1), y: z*sin(theta)/(cos(theta) - 1)}
>>>>>>
>>>>>> Checking it is a bit more intricate, since this solution is expressed 
>>>>>> as Sympy's objects. But it can be done :
>>>>>>
>>>>>> sage: SD_yx={k._sage_():D_yx.get(k)._sage_() for k in D_yx.keys()}
>>>>>> ....: V_yx=vector([SD_yx.get(x),SD_yx.get(y),z])
>>>>>> ....: (M_y*M_x*V_yx-V_yx).simplify_trig()
>>>>>> ....: 
>>>>>> (0, 0, 0)
>>>>>>
>>>>>> This one doesn't seem to be covered in the "Solve tickets'" section 
>>>>>> of the Track symbolics <https://trac.sagemath.org/wiki/symbolics> 
>>>>>> page. Does this problem deserve a specific ticket ?
>>>>>>
>>>>>> And, by the way, (M_y*M_x).eigenvectors_right() :
>>>>>>
>>>>>>    1. needs about 10 minutes to
>>>>>>    2. return an absolutely unusable solution (a few tens pages...).
>>>>>>
>>>>>>
>>>>>> Is this one known ? Does it deserve a ticket ?
>>>>>>
>>>>>> Now for the suggestion : could we emulate what has been done with 
>>>>>> integrate(), and add an option "algorithm=" to Sage's solve ?
>>>>>>
>>>>>> HTH,
>>>>>>
>>>>>> --
>>>>>> Emmanuel Charpentier
>>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" 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 https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to