# factorize symbolic expression

(ax+bx).factor()=x(a+b) but (2a+2b).factor()=(2a+2b) how to obtain 2(a+b) ?

Thanks in advance...

factorize symbolic expression

(ax+bx).factor()=x(a+b) but (2a+2b).factor()=(2a+2b) how to obtain 2(a+b) ?

Thanks in advance...

0

You can work with elements of a polynomial ring instead of with symbolic expressions:

```
sage: R.<a,b,c> = ZZ[] # polynomials with integer coefficients, variables a, b, c
sage: (a*2+b*2).factor()
2 * (a + b)
sage: (a*c+b*c).factor()
c * (a + b)
```

The notion of factorization is algebraic and depends on the ring in which you are working. For example `x^2+1`

factors over the complex numbers but not the reals, and `x^2-2`

factors over the reals but not the rationals. So when you're dealing with factorization, it's a good idea to precisely specify the ring.

Please start posting anonymously - your entry will be published after you log in or create a new account.

Asked: ** 2019-12-15 15:36:29 +0100 **

Seen: **310 times**

Last updated: **Dec 17 '19**

Factorize characteristic polynomial in SR base ring

Why does @parallel change my outputs?

how to factorize an expression with constant variables ?

Polynomial as a sum of simply factored expressions?

The difference between f(x=3) and f(3) of callable symbolic expression 'f'

Using sage to derive symbolic finite difference approximations to differential equations.

A combination of commands partial_fraction(x) and coefficient(x,n)

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.

There exists the

`collect_common_factors`

method that should do the trick, I think. But it seems a bit buggy. This works as expected:However, this fails:

Looks like a bug to me, since

`(2*a*x + 2*b*x).factor()`

returns`2*(a + b)*x`

.