Jason Grout wrote:
>
> Here it is using linear algebra:
>
> sage: var('a,b,c,d,x,y')
> (a, b, c, d, x, y)
> sage: A=matrix(2,[a,b,c,d]); A
> [a b]
> [c d]
> sage: result=vector([3,5]); result
> (3, 5)
> sage: soln=A.solve_right(result) # you could also do soln=A\result
> sage: soln
> (3/a - b*(5 - 3*c/a)/(a*(d - b*c/a)), (5 - 3*c/a)/(d - b*c/a))
>
>
> Now, checking our answers:
>
>
> sage: (a*x+b*y).subs(x=soln[0],y=soln[1]).simplify_full()
> 3
> sage: (c*x+d*y).subs(x=soln[0],y=soln[1]).simplify_full()
> 5
>
>
> Or just checking it with matrix multiplication:
>
> sage: A*soln
> (a*(3/a - b*(5 - 3*c/a)/(a*(d - b*c/a))) + b*(5 - 3*c/a)/(d - b*c/a),
> c*(3/a - b*(5 - 3*c/a)/(a*(d - b*c/a))) + (5 - 3*c/a)*d/(d - b*c/a))
>
> Let's simplify each entry by applying the "simplify_full" function to
> each entry:
>
> sage: (A*soln).apply_map(lambda x: x.simplify_full())
> (3, 5)
>
>
> This example probably ought to go into some documentation somewhere...
>
> Jason
Well :) it was almost too nice to be true:
n=var('n')
T=vector([3,n])
A=matrix([[6,2],[7,1]])
A.solve_right(T)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/drini/.sage/sage_notebook/worksheets/admin/6/code/
34.py", line 6, in <module>
(......)
TypeError: unable to convert n to a rational
Likewise with A\T
it's kinda strange that such elemental system of equations can't be
done symbollically by matrix way:
6x + 2y = 3
7x + y = n
of course, changing n for some number works.
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to
sage-support-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---