[GiNaC-list] Not factoring expression

James Jackson james.jackson at cern.ch
Mon Feb 16 20:08:41 CET 2009


Hi,

Ah excellent, normal() has performed the cancellation.

Thanks!
James.

On 16 Feb 2009, at 17:17, Richard B. Kreckel wrote:

> Hi,
>
> James Jackson wrote:
>> I've just started using GiNaC (and very nice it is too!), however I  
>> have some strange behavior with an expression not being simplified.  
>> One output of a linear equation solver is the expression:
>> (C_2 
>> *s 
>> ^ 
>> 2 
>> *L_2 
>> *V_1 
>> + 
>> C_2 
>> *L_1 
>> *C_1 
>> *s 
>> ^ 
>> 4 
>> *L_2 
>> *V_1 
>> + 
>> L_1 
>> *C_1 
>> *s 
>> ^ 
>> 2 
>> *V_1 
>> + 
>> V_1 
>> )*(1 
>> + 
>> L_1 
>> *C_1*s^2+C_2*L_1*s^2+C_2*L_1*C_1*s^4*L_2+C_2*s^2*L_2)^(-1)*V_1^(-1)  
>> What is happening is that the V_1 terms in the first bracket are  
>> not being factorised, and therefore no cancellation with the final  
>> (V_1)^(-1) term is occuring. All my symbols are created with a  
>> SymbolFactory pattern, so I can be sure each V_1 is the same object.
>> Can anyone suggest why GiNaC isn't simplifying this to cancel the  
>> V_1 terms?
>
> The linear solvers don't cancel common factors in numerator and  
> denominator. You have to explicitly call normal() on the result in  
> order to do that.
>
> Bye
>  -richy.
> -- 
> Richard B. Kreckel
> <http://www.ginac.de/~kreckel/>
> _______________________________________________
> GiNaC-list mailing list
> GiNaC-list at ginac.de
> https://www.cebix.net/mailman/listinfo/ginac-list



More information about the GiNaC-list mailing list