Skip to content
This repository was archived by the owner on Jan 30, 2023. It is now read-only.

Commit 9c4119a

Browse files
committed
16801: Conversion of psi(x,y) to/from SymPy
1 parent 14b1c52 commit 9c4119a

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

src/sage/interfaces/sympy.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,23 @@ def _sympysage_lgamma(self):
355355
from sage.functions.other import log_gamma
356356
return log_gamma(self.args[0]._sage_())
357357

358+
def _sympysage_polygamma(self):
359+
"""
360+
EXAMPLES::
361+
362+
sage: from sympy import Symbol, polygamma as pg
363+
sage: _ = var('x, y')
364+
sage: pgxy = pg(Symbol('x'), Symbol('y'))
365+
sage: assert psi(x)._sympy_() == pg(0, Symbol('x'))
366+
sage: assert psi(x) == pg(0, Symbol('x'))._sage_()
367+
sage: assert psi(x,y)._sympy_() == pgxy
368+
sage: assert psi(x,y) == pgxy._sage_()
369+
sage: integrate(psi(x), x, algorithm='sympy')
370+
integrate(psi(x), x)
371+
"""
372+
from sage.functions.other import psi
373+
return psi(self.args[0]._sage_(),self.args[1]._sage_())
374+
358375
def _sympysage_dirac_delta(self):
359376
"""
360377
EXAMPLES::
@@ -649,7 +666,7 @@ def sympy_init():
649666
from sympy.functions.special.delta_functions import (DiracDelta, Heaviside)
650667
from sympy.functions.special.error_functions import expint
651668
from sympy.functions.special.elliptic_integrals import elliptic_k
652-
from sympy.functions.special.gamma_functions import loggamma
669+
from sympy.functions.special.gamma_functions import loggamma, polygamma
653670
from sympy.functions.special.hyper import hyper
654671
from sympy.functions.special.spherical_harmonics import Ynm
655672
from sympy.functions.special.tensor_functions import KroneckerDelta
@@ -682,6 +699,7 @@ def sympy_init():
682699
RisingFactorial._sage_ = _sympysage_rf
683700
FallingFactorial._sage_ = _sympysage_ff
684701
loggamma._sage_ = _sympysage_lgamma
702+
polygamma._sage_ = _sympysage_polygamma
685703
DiracDelta._sage_ = _sympysage_dirac_delta
686704
Heaviside._sage_ = _sympysage_heaviside
687705
expint._sage_ = _sympysage_expint

0 commit comments

Comments
 (0)