Thanks! I did my best to report the bug. http://code.google.com/p/sympy/issues/detail?id=3321&sort=-id&colspec=ID%20Type%20Status%20Priority%20Milestone%20Reporter%20Summary%20Stars
On Friday, July 6, 2012 3:55:39 PM UTC-4, Aaron Meurer wrote: > > On Thu, Jul 5, 2012 at 7:48 PM, Chris Smith <[email protected]> wrote: > > On Thu, Jul 5, 2012 at 5:56 PM, Andrew <[email protected]> wrote: > >> Hi, I am very new to sympy and python, so pardon my simple question > >> > >> I have a matrix right here like this (4 equations, 3 unknowns) > >> mat1= > >> [ 0, 15.0, 10.0, 700.0] > >> [ 1, 1, 1, 100.0] > >> [ 0, 10.0, 5.0, 200.0] > >> [-5.0, 0, 0, 0] > >> > >> and a list of unknowns > >> unknown=[y0,y1,y2] > >> > > > > Which columns do those variables correspond to? If you multiply the > > matrix by a length-4 column vector of variables and pass this to solve > > it gives > > I think the way solve_linear_system is supposed to work is that the > last column represents the right hand side of the equation. So a row > [1, 2, 3, 4] would represent 1*x1 + 2*x2 + 3*x3 = 4. In other words, > it's an augmented matrix. > > > > >>>> v = var('a:d') > >>>> v > > (a, b, c, d) > >>>> v = Matrix([list(v)]).T > >>>> e=m*v > >>>> solve(e) > > {c: -160.0*d, b: 60.0*d, a: 0} > > > > And the determinant of the matrix is 0: > > > >>>> m.det() > > 0 > > I don't think that the determinant has anything to do with it. > > The row [1, 1, 1, 100] clearly corresponds to the solution given. > > The problem seems to have something to do with using floats. If you > do mat1 = mat1.applyfunc(Integer), you get the correct solution. The > problem also exists when using mat1.rref(). This is clearly a bug. > Can you report it at code.google.com/p/sympy/issues/list? > > Aaron Meurer > > > > > So it looks like there are infinite solutions. I don't spend much time > > working with the individual solver routines, so I'm not sure how you > > should pass the variables, but perhaps you can start by reading the > > docstring (help(solve_linear_system)) where you will see that you > > should be passing an augmented system. I don't think you are doing > > that. > > > > /c > > > > -- > > You received this message because you are subscribed to the Google > Groups "sympy" group. > > To post to this group, send email to [email protected]. > > To unsubscribe from this group, send email to > [email protected]. > > For more options, visit this group at > http://groups.google.com/group/sympy?hl=en. > > > -- You received this message because you are subscribed to the Google Groups "sympy" group. To view this discussion on the web visit https://groups.google.com/d/msg/sympy/-/tCSZYtsK83AJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
