Solve fails
I wonder why the Variable 'x_0' not found
gr=Polyhedron(ieqs=[(10,-1,0),(-12,0,1)])
p1=gr.plot()
x_0, x_1 = var('x_0 x_1')
lin=solve([70==6*x_0+18*x_1],x_1)
p2=plot(lin, (x,8,14))
p1+p2
I wonder why the Variable 'x_0' not found
gr=Polyhedron(ieqs=[(10,-1,0),(-12,0,1)])
p1=gr.plot()
x_0, x_1 = var('x_0 x_1')
lin=solve([70==6*x_0+18*x_1],x_1)
p2=plot(lin, (x,8,14))
p1+p2
This is very unclear. For p2
, if you want an implicit plot where x_0
is a parameter that belongs to the interval [8,14], you can do:
sage: p2 = implicit_plot(70==6*x_0+18*x_1,(8,14),(-3,3))
You can also have a look to the parametric_plot
function.
But without more details about your actual goal, there is not much to say.
Hello, @Cyrille! Try the following:
gr = Polyhedron(ieqs=[(10,-1,0), (-12,0,1)])
p1 = gr.plot()
x_0, x_1 = var('x_0 x_1')
lin = solve([70==6*x_0+18*x_1], x_1, solution_dict=True)
p2 = plot(lin[0][x_1], (x_0,8,14))
p1 + p2
Notice I have added solution_dict=True
, which makes lin
a list of dictionaries of solutions:
[{x_1: -1/3*x_0 + 35/9}]
In order to plot it, first extract the dictionary from the list (that is done with lin[0]
); we get
{x_1: -1/3*x_0 + 35/9}
Finally, we extract the equation you want to plot (that is done with lin[0][x_1]
); we get
-1/3*x_0 + 35/9
That is what I used in the plot
command.
Note: It is not necessary to use (x_0, 8, 14)
in the plot
command; you can use (x, 8, 14)
. I did that to be consistent with notation.
There are a couple of things that bother me:
x_1
has more than one solution.Problem 2 is solved using tmontiel's suggestion.
There may be an alternative way to achieve the same thing. May I ask: what are you trying to achieve?
Asked: 5 years ago
Seen: 827 times
Last updated: Oct 18 '19
because there is an infinity of solutions x_0,x_1 in R
I was expecting thant x0 will be taken as a parameter.