# Solve[] not giving ConditionalExpression?

Posted 10 months ago
1504 Views
|
5 Replies
|
1 Total Likes
|
 The following solution is finite only if c is not zero: Solve[x * c == 1, x] {{x -> 1/c}} however, Solve[] does not return a ConditionalExpression. How could I enforce that? Thanks.
5 Replies
Sort By:
Posted 10 months ago
 Use Reduce when you want the conditions, Solve when you want the generic solution.
Posted 10 months ago
 as suggested by Robit below: Reduce[x * c == y, x] (y == 0 && c == 0) || (c != 0 && x == y/c) that said, I should always use Reduce rather than Solve ???
Posted 10 months ago
 oh I see... but what about the following? Solve[x * c == y, x] {{x -> y/c}} this time, x=0 if y=0; when y!=0, x is only defined if c!=0. Again, no ConditionalExpression is returned?
 Hi Thomas,Use Reduce Reduce[x*c == 1, x] (* c != 0 && x == 1/c *) 
 Hi Thomas The coefficient c cannot be zero at the first place because if it is, then your equation you are trying to solve will not be valid as you get 0==1 That is why Solve[] assumed that c cannot be zero.