Skip to content

Commit

Permalink
Merge pull request #18597 from Smit-create/14815
Browse files Browse the repository at this point in the history
sqrt(x).is_negative returns False instead of None
  • Loading branch information
smichr committed Feb 9, 2020
2 parents 928864c + c8d0984 commit b17ef6e
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
3 changes: 3 additions & 0 deletions sympy/core/power.py
Expand Up @@ -530,6 +530,9 @@ def _eval_is_extended_positive(self):
return log(self.base).is_imaginary

def _eval_is_extended_negative(self):
if self.exp is S(1)/2:
if self.base.is_complex or self.base.is_extended_real:
return False
if self.base.is_extended_negative:
if self.exp.is_odd and self.base.is_finite:
return True
Expand Down
13 changes: 13 additions & 0 deletions sympy/core/tests/test_power.py
Expand Up @@ -510,6 +510,19 @@ def test_issue_18190():
assert sqrt(1 / tan(1 + I)) == 1 / sqrt(tan(1 + I))


def test_issue_14815():
x = Symbol('x', real=True)
assert sqrt(x).is_extended_negative is False
x = Symbol('x', real=False)
assert sqrt(x).is_extended_negative is None
x = Symbol('x', complex=True)
assert sqrt(x).is_extended_negative is False
x = Symbol('x', extended_real=True)
assert sqrt(x).is_extended_negative is False
assert sqrt(zoo, evaluate=False).is_extended_negative is None
assert sqrt(nan, evaluate=False).is_extended_negative is None


def test_issue_18509():
assert unchanged(Mul, oo, 1/pi**oo)
assert (1/pi**oo).is_extended_positive == False

0 comments on commit b17ef6e

Please sign in to comment.