Mathematica 9 is now available
Student Support Forum
Student Support Forum: 'Difficulty restricting a domain.' topicStudent Support Forum > General > Archives > "Difficulty restricting a domain."

Help | Reply To Topic
Author Comment/Response
Daniel Berdine
01/29/09 06:43am

I am trying to simplify a set of trigonometric functions on a restricted domain. However, I can't seem to get my constraints taken into account by Simplify[]. The simplest example I've found is as follows:

In[1]:= FullSimplify[Reduce[1 + Cos[x] == 0, x],
Assumptions -> {x \[Element] Reals, x != \[Pi], 0 < x < \[Pi]/2}]

Out[1]= C[1] \[Element]
Integers && (2 \[Pi] C[1] == \[Pi] + x || \[Pi] + 2 \[Pi] C[1] == x)

I've tried entering the assumptions in various ways, but all give the same result. My objection is that the results it spits out clearly violate the assumptions I've tried to make about x.

Using Solve produces the same problem, tho with only the first 2 solutions (and an admonition to use Reduce to find the others, which I've cut out):

In[4]:= FullSimplify[Solve[1 + Cos[x] == 0, x],
Assumptions -> {x \[Element] Reals, x != \[Pi], 0 < x < \[Pi]/2}]

Out[4]= {{x -> -\[Pi]}, {x -> \[Pi]}}

Am I doing something wrong? At first I thought perhaps I was having an issue with precision, because I was cutting out specific points from the domain. However, here the nearest solution is a full pi/2 outside the allowed domain.

Are assumptions not intended to restrict results in this way? If not, how *can* I get mathematica to automatically throw away certain solutions automatically based on the domain I care about?

Thanks in advance!

Attachment: DomainIssue.nb, URL: ,
Help | Reply To Topic