After reading some more documentation and browsing the internet, I found 
out that I can get expr2 from expr1 by doing this:

expr3 = expr1.collect(x11).collect(x12).collect(x13)


a = Wild('a')
b = Wild('b')


expr4 = expr3.replace(x12*a+b, Mul(-x12, -a, evaluate = False) + b, exact = 
True).collect(x11).collect(x13)

# Now, expr4 is in the same form as expr2


But is this the recommended approach?

On Wednesday, 4 November 2015 04:47:20 UTC+8, Hugh wrote:
>
> import sympy
> sympy.init_session()
>
>
> x11, x12, x13, x21, x22, x23, x31, x32, x33 = symbols('x_1:4(1:4)')
>
> A = Matrix(3,3,symbols('x_1:4(1:4)'))
> expr1 = A.det()
>
> expr2 = x11*(x22*x33 - x23*x32) - x12*(x21*x33 -x23*x31) + x13*(x21*x32 - 
> x22*x31)
>
> # How to get expr2 from expr1?
>
> I would like to use sympy to rewrite expressions just like how people 
> would commonly do when writing proofs or doing homework. What are the 
> documentation that I must read so that I can be proficient at this?
>
> I've read the tutorial and some of the modules in the module reference 
> <http://docs.sympy.org/dev/modules/index.html> but feel that I have just 
> barely touched the surface of sympy's capabilities. For example, in the 
> above code snippet, I don't know how to manipulate expr1 to get expr2. I 
> thought expr1.factor() would work but it didn't.
>
> Please advise.
>

-- 
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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/cabbc702-d238-4851-b96d-cb639ba09020%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to