First time here? Check out the FAQ!

Ask Your Question
3

Solve behaviour on same equation twice

asked 10 years ago

Thorsten gravatar image

Two questions: The first one: Solving an equation:

solve(sin(x)==0,x)

gives the solution [a=pi] but

solve([sin(x)==0,sin(x)==0],x)

raises to the somehow better solution [[a == pi*z425]] Where is the difference between the two equations?

A second one: A previous version of sage 5.something could solve

solve([sin(x)==0,-sin(x)==0],x)

However Sage 6.4.1 Returns an empty list.

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
1

answered 10 years ago

Thorsten gravatar image

I have now looked at the underlying code for solve. It turns out that if the first argument of solve is an equation or a list of just one equation the object function sage.symbolic.expression.Expression.solve is used. This explains why the output of

solve([sin(x)==0,sin(x)==0],x

and

solve([sin(x)==0],x)

may differ. To force to get all solutions in the first case one can use

solve(sin(x)==0,x,to_poly_solve='force')

Another thing I've found out is that in the definition of the underlying maxima function solve is declared as solve ([eqn_1, …, eqn_n], [x_1, …, x_n]) so the number of equations should match the number of variables.

If one reformulates the problem to

 solve(-sin(x)*sin(x)==0,x,to_poly_solve='force')

all solutions will be displayed.

However I liked the behaviour of previous Versions of sage That is: If solve could't find a solution the original equation was returned. That way it was clear that there may exist solutions sage could not found.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 10 years ago

Seen: 358 times

Last updated: Feb 23 '15