The referred solution in Stackoverflow<http://stackoverflow.com/questions/15463412/matrix-of-differential-operators-in-python-module-sympy/16237073#16237073> as showed to work really well. In my local SymPy version (which is a fork of 0.7.2-git from 30/04/2013) I've added an engineering module with the Rayleigh Ritz method implemented. The user must supply the matrix of differential operators [B], the trial functions [g] and the material constitutive matrix [F] in order to get the buckling modes and the eigenvectors (more details in here<http://math.stackexchange.com/questions/363804/handling-matrix-of-differential-operator-when-using-the-ritz-method-for-an-extre> or in the Stackoverflow question<http://stackoverflow.com/questions/15463412/differential-operator-usable-in-matrix-form-in-python-module-sympy> ). Is there a an interest from the SymPy group to add such functionality in the master release? Regards, Saullo
On Friday, April 26, 2013 3:03:04 PM UTC+2, Saullo Castro wrote: > > I have now a mid term solution based on all your tips and it has been > posted in > Stackoverflow<http://stackoverflow.com/questions/15463412/matrix-of-differential-operators-in-python-module-sympy/16237073#16237073>, > > in a post created for this issue. > I would really appreciate if you could take a look > there<http://stackoverflow.com/questions/15463412/matrix-of-differential-operators-in-python-module-sympy/16237073#16237073>and > make any suggestions you believe would improve the solution. > I am still not managing to perform all the differentiations, but at least > now it is applied only where it should. > > Regards, > Saullo > > On Monday, March 18, 2013 11:44:26 PM UTC+1, Julien Rioux wrote: >> >> On Monday, 18 March 2013 05:49:11 UTC-4, Saullo Castro wrote: >>> >>> Dear Mr. Zhang, we are using a differential operator as you need, please >>> see more details on: >>> >>> http://stackoverflow.com/questions/15463412/matrix-of-differential-operators-in-python-module-sympy >>> >>> We could address it without changing the core classes in Sympy only when >>> the differential operator is used on the left side. When it is used on the >>> right side the method __mul__ in the core class Expr had to be changed. >>> We are still looking for a Sympy native solution, though. >>> >>> Regards >>> >>> >>> >> _op_priority and the @call_highest_priority are there exactly for this >> purpose. Define it in your class with a value above 10.0, which is Expr's >> default value for it. Also define __rmul__, using the decorator >> @call_highest_priority. This will allow your class to control what happens >> during multiplication (left or right), but you will still run into subtle >> problems because multiplication != application, as already a mentioned >> couple of times. >> >> Cheers, >> Julien >> > -- 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?hl=en-US. For more options, visit https://groups.google.com/groups/opt_out.
