Message Boards Message Boards

Solve over Domains

GROUPS:

To my knowledge, $ \mathbb{R} \subset \mathbb{C}$ and not vice-versa.

Then I don't understand why I get more real-valued solutions with Reals, than with Complexes:

$Assumptions = 
 a > 0 && a \[Element] Reals && b \[Element] Reals && 
  t \[Element] Reals && t >= 0 && c1 \[Element] Reals && 
  c2 \[Element] Reals && c \[Element] Reals && B \[Element] Reals && 
  c2 > 0 && c1 < 0

Solve[Log[Abs[(B - c2)/(B - c1)]] == (a t - c) (c2 - c1), B, Reals] // Simplify

Solve[Log[Abs[(B - c2)/(B - c1)]] == (a t - c) (c2 - c1), B, Complexes] // Simplify
POSTED BY: Sandu Ursu
Answer
1 month ago

In the complex domain Solve has problems with Abs:

Solve[Abs[z] == 1, z, Complexes]
POSTED BY: Gianluca Gorni
Answer
1 month ago

Should I view this as a bug or as a property?

POSTED BY: Sandu Ursu
Answer
1 month ago

I think it is an intrinsic limitation of Solve, which is meant mainly for polynomial or analytic functions, and Abs is not analytic. The solution set of Abs[z]==1 in the complex plane cannot be expressed as simple substitution rules. The set of solutions to Abs[z]==1 is handled correctly by Reduce in an implicit way, though.

POSTED BY: Gianluca Gorni
Answer
1 month ago

But, it should give me at least the same solutions as the ones obtained when solving over Reals, no?

POSTED BY: Sandu Ursu
Answer
1 month ago

I agree, it would be better that way. Infinitely many complex solutions would be missed anyway.

POSTED BY: Gianluca Gorni
Answer
1 month ago

In cases like these, Mathematica ought to issue a warning that the solution set is not complete.

POSTED BY: Gianluca Gorni
Answer
1 month ago

Group Abstract Group Abstract