[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