Was this implemented into sympy at any point? It could be the equivalent of 
Mathematica's CoefficientArrays function.

On Thursday, November 14, 2013 5:56:22 AM UTC+1, Chris Smith wrote:
>
> I forgot that as_independent, without the as_Add=True flag will treat Muls 
> differently. The following will be more robust:
>
> def eqs2matrix(eqs, syms, augment=False):
>     """
>     >>> s
>     [x + 2*y == 4, 2*c + y/2 == 0]
>     >>> eqs2matrix(s, (x, c))
>     (Matrix([
>     [1, 0],
>     [0, 2]]), Matrix([
>     [-2*y + 4],
>     [    -y/2]]))
>     >>> eqs2matrix([2*c*(x+y)-4],(x, y))
>     (Matrix([[2*c, 2*c]]), Matrix([[4]]))
>     """
>     s = Matrix([si.lhs - si.rhs if isinstance(si, Equality) else si for si 
> in eqs])
>     sym = syms
>     j = s.jacobian(sym)
>     rhs = -(s - j*Matrix(sym))
>     rhs.simplify()
>     if augment:
>         j.col_insert(0, rhs)
>     else:
>         j = (j, rhs)
>     return j
>
>

-- 
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/e07851d4-632f-4976-b6fd-e3bd7f584127%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to