+
    i>                        ^RI HtHt R t]R 4       t]R 4       t]R 4       t]R 4       t]R 4       t ]R 4       t	]R	 4       t
]R
 4       t]R 4       t]RR l4       t]RR l4       t]R 4       t]R 4       t]R 4       tR# )   )defundefun_wrappedc                   V P                  V4      w  rV P                  V4      pV P                  ) pV'       gS   ^V P                  .VR.. WQ^,
          ,          .. . ^ 3pV'       d#   V^,          ^ ;;,          WQ,          ,          uu&   V3# V P	                  V) 4      ;'       gM    V P                  V4      ^ 8  ;'       g1    V P                  V4      ^ 8H  ;'       d    V P                  V4      ^ 8  pV P                  ^,          ^,           pV'       dK   V P                  V P                  W"VR7      RRR7      p	V P                  W P                  RVR7      VR7      p
MTp
V P                  WVR7      pV P                  ^WR7      pV P                  VRR7      pV P                  V
RR7      pV'       d&   ^V
.W.. . WQ,          WQ^,
          ,          .. V3pV.pMb^V.W.. . WQ,          WQ^,
          ,          .. V3p^V P                  V.V^,           R^.. WQ,          .WQ^,
          ,          .^V,
          .V3pVV.pV'       d   V P                  X	4      p\        \        V4      4       Fj  pVV,          ^,          ^ ;;,          WQ,          ,          uu&   VV,          ^ ,          P                  V4       VV,          ^,          P                  ^4       Kl  	  \!        V4      # )z
Combined calculation of the Hermite polynomial H_n(z) (and its
generalization to complex n) and the parabolic cylinder
function D.
      ?)precTexact      п)_convert_paramconvertmpq_1_2piisnpintreimr   fmulsqrtfdivfnegexprangelenappendtuple)ctxnzparabolic_cylinderntypqT1can_use_2f0expprecuww2rw2nrw2nwtermsT2expuis   &&&&               {/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/mpmath/functions/orthogonal.py_hermite_paramr/      s|      #GAAA	A  [1c(BaC	2r1<qE!HOHs
++qb/ + +SVVAY] + +	a	)	)CFF1IM hhqj2oGHHSXXawX/dHCHHQ'2HA	!W	%B
((1b(
'C88Ct8$D	!4	 BVaVRac1c7^R=Wqfb"qsAsGnb$>_qsCmR!#aC	AaC5"LBwwqzs5z"A!HQKNac!N!HQKt$!HQKq! # <    c                 <   a aa S P                   ! V VV3R  l. 3/ VB # )c                      < \        S SS^ 4      # )    r/   r   r   r   s   r.   <lambda>hermite.<locals>.<lambda>>       Q1!=r0   	hypercombr   r   r   kwargss   fff,r.   hermiter=   <   s    ===rLVLLr0   c                <   a aa S P                   ! V VV3R l. 3/ VB # )a  
Gives the parabolic cylinder function in Whittaker's notation
`D_n(z) = U(-n-1/2, z)` (see :func:`~mpmath.pcfu`).
It solves the differential equation

.. math ::

    y'' + \left(n + \frac{1}{2} - \frac{1}{4} z^2\right) y = 0.

and can be represented in terms of Hermite polynomials
(see :func:`~mpmath.hermite`) as

.. math ::

    D_n(z) = 2^{-n/2} e^{-z^2/4} H_n\left(\frac{z}{\sqrt{2}}\right).

**Plots**

.. literalinclude :: /plots/pcfd.py
.. image :: /plots/pcfd.png

**Examples**

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> pcfd(0,0); pcfd(1,0); pcfd(2,0); pcfd(3,0)
    1.0
    0.0
    -1.0
    0.0
    >>> pcfd(4,0); pcfd(-3,0)
    3.0
    0.6266570686577501256039413
    >>> pcfd('1/2', 2+3j)
    (-5.363331161232920734849056 - 3.858877821790010714163487j)
    >>> pcfd(2, -10)
    1.374906442631438038871515e-9

Verifying the differential equation::

    >>> n = mpf(2.5)
    >>> y = lambda z: pcfd(n,z)
    >>> z = 1.75
    >>> chop(diff(y,z,2) + (n+0.5-0.25*z**2)*y(z))
    0.0

Rational Taylor series expansion when `n` is an integer::

    >>> taylor(lambda z: pcfd(5,z), 0, 7)
    [0.0, 15.0, 0.0, -13.75, 0.0, 3.96875, 0.0, -0.6015625]

c                      < \        S SS^4      # r   r4   r5   s   r.   r6   pcfd.<locals>.<lambda>v   r8   r0   r9   r;   s   fff,r.   pcfdrB   @   s    l ===rLVLLr0   c                p    V P                  V4      w  rEV P                  V) V P                  ,
          V4      # )ae  
Gives the parabolic cylinder function `U(a,z)`, which may be
defined for `\Re(z) > 0` in terms of the confluent
U-function (see :func:`~mpmath.hyperu`) by

.. math ::

    U(a,z) = 2^{-\frac{1}{4}-\frac{a}{2}} e^{-\frac{1}{4} z^2}
        U\left(\frac{a}{2}+\frac{1}{4},
        \frac{1}{2}, \frac{1}{2}z^2\right)

or, for arbitrary `z`,

.. math ::

    e^{-\frac{1}{4}z^2} U(a,z) =
        U(a,0) \,_1F_1\left(-\tfrac{a}{2}+\tfrac{1}{4};
        \tfrac{1}{2}; -\tfrac{1}{2}z^2\right) +
        U'(a,0) z \,_1F_1\left(-\tfrac{a}{2}+\tfrac{3}{4};
        \tfrac{3}{2}; -\tfrac{1}{2}z^2\right).

**Examples**

Connection to other functions::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> z = mpf(3)
    >>> pcfu(0.5,z)
    0.03210358129311151450551963
    >>> sqrt(pi/2)*exp(z**2/4)*erfc(z/sqrt(2))
    0.03210358129311151450551963
    >>> pcfu(0.5,-z)
    23.75012332835297233711255
    >>> sqrt(pi/2)*exp(z**2/4)*erfc(-z/sqrt(2))
    23.75012332835297233711255
    >>> pcfu(0.5,-z)
    23.75012332835297233711255
    >>> sqrt(pi/2)*exp(z**2/4)*erfc(-z/sqrt(2))
    23.75012332835297233711255

)r   rB   r   )r   ar   r<   r   _s   &&&,  r.   pcfurF   x   s2    X a DA88QBs{{NA&&r0   c                  a aaaa	 S P                  V4      w  opS P                  S4      oS P                  oS P                  o	VR8X  d~   S P	                  S^,          4      '       d`   V VVV	V3R lpS P
                  ! V. 3/ VB pS P                  S4      '       d)   S P                  S4      '       d   S P                  V4      pV# V VV	V3R lpS P
                  ! VS.3/ VB # )a  
Gives the parabolic cylinder function `V(a,z)`, which can be
represented in terms of :func:`~mpmath.pcfu` as

.. math ::

    V(a,z) = \frac{\Gamma(a+\tfrac{1}{2}) (U(a,-z)-\sin(\pi a) U(a,z)}{\pi}.

**Examples**

Wronskian relation between `U` and `V`::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> a, z = 2, 3
    >>> pcfu(a,z)*diff(pcfv,(a,z),(0,1))-diff(pcfu,(a,z),(0,1))*pcfv(a,z)
    0.7978845608028653558798921
    >>> sqrt(2/pi)
    0.7978845608028653558798921
    >>> a, z = 2.5, 3
    >>> pcfu(a,z)*diff(pcfv,(a,z),(0,1))-diff(pcfu,(a,z),(0,1))*pcfv(a,z)
    0.7978845608028653558798921
    >>> a, z = 0.25, -1
    >>> pcfu(a,z)*diff(pcfv,(a,z),(0,1))-diff(pcfu,(a,z),(0,1))*pcfv(a,z)
    0.7978845608028653558798921
    >>> a, z = 2+1j, 2+3j
    >>> chop(pcfu(a,z)*diff(pcfv,(a,z),(0,1))-diff(pcfu,(a,z),(0,1))*pcfv(a,z))
    0.7978845608028653558798921

Qc                  @  < SP                  S	RRR7      p \        SS) S,
          S	^4      p\        SSS,
          V ^4      pV FR  pV^ ,          P                  R 4       V^,          P                  ^4       V^,          P                  SS,
          4       KT  	  SP                  SS,          S,
          4      SP	                  ^SP
                  ,          4      ,          pV F3  pV^ ,          P                  V4       V^,          P                  ^4       K5  	  W,           # )              ?Tr   y             )r   r/   r   expjpir   r   )
jzT1termsT2termsTr$   r   r   r    rr   s
        r.   hpcfv.<locals>.h   s    !S-B$S1"Q$15G$S!A#r15G!B!A!AaC   

AaCE#chhqx&88A!A!A  $$r0   c                   < S
P                  SR4      pS
P                  SR4      pS
P                  V4      pS
P                  SS
P                  V4      .pVS) V S,          S,           ^.SSV ,          ,
          .. SV ,          S,           .S.V3pVS.,           S) V S,          S,
          ^^.^S,
          SV ,          ,
          .. SV ,          ^,           S,
          .^S,           .V3pS
P                  SSV ,          ,           4      w  rxV^ ,          P	                  V4       V^ ,          P	                  V4       WV3 F:  p	V	^,          P	                  ^4       V	^,          P	                  SV ,
          4       K<  	  WV3# )      ?r   r
   )square_exp_argr   r   cospi_sinpir   )r   r%   r$   elY1Y2csYr   r    rP   r   s   &         r.   rQ   rR      sC   ""1e,A""1c*A
ACGGAJ'AaR1QNQqsUGR!A#a%1#q@BaSA2qs1ua+ac!A#gYQqSU1WI!uaOB??1QqS5)DAqELLOqELLOX!A!AaC   6Mr0   )r   r   r   mpq_1_4isintr:   _is_real_type_re)
r   rD   r   r<   ntyperQ   vr   r    rP   s
   f&f,   @@@r.   pcfvrd      s    @ !!!$HAuAAAA|		!A#	% 	% MM!R*6*QC$5$5a$8$8
A	 	 }}Q.v..r0   c                  a aa S P                  V4      w  opS P                  S4      oV VV3R lpS P                  V4      pS P                  S4      '       d)   S P                  S4      '       d   S P	                  V4      pV# )a  
Gives the parabolic cylinder function `W(a,z)` defined in (DLMF 12.14).

**Examples**

Value at the origin::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> a = mpf(0.25)
    >>> pcfw(a,0)
    0.9722833245718180765617104
    >>> power(2,-0.75)*sqrt(abs(gamma(0.25+0.5j*a)/gamma(0.75+0.5j*a)))
    0.9722833245718180765617104
    >>> diff(pcfw,(a,0),(0,1))
    -0.5142533944210078966003624
    >>> -power(2,-0.25)*sqrt(abs(gamma(0.75+0.5j*a)/gamma(0.25+0.5j*a)))
    -0.5142533944210078966003624

c               3   :  <"   SP                  SP                  R SP                  S,          ,           4      4      p SP                  R SP                  S,          ,           4      SP                  R SP                  S,          ,
          4      ,
          R,          p SP                  ^,          R V ,          ,           pSP                  ^SP                  ^SP                  ,          S,          4      ,           4      SP                  SP                  S,          4      ,
          pSP                  V^,          4      SP                  RSP                  ,          S,          4      ,          pVSP                  V4      ,          SP                  SP                  S,          SSP                  R4      ,          4      ,          x  VSP                  V) 4      ,          SP                  SP                  ) S,          SSP                  R4      ,          4      ,          x  R# 5i)r   y               @rT   Nr
   )
arggammajloggammar   r   r   expjrF   rK   )phi2rhokCr   r   r   s       r.   r*   pcfw.<locals>.terms  sW    wwsyysuuQw/0Sq[)CLLSUU1W,EErIffQhT!HHQ366!,,-q0AAHHQqSMCGGDKM22#((3-#((3557Acjj6G4G"HHH#((C4. 388SUUF1Ha

48H6H#IIIs   HH)r   r   sum_accuratelyr`   ra   )r   rD   r   r<   rE   r*   rc   r   s   f&f,   @r.   pcfwrr      sq    , a DAqAAJ 	5!A
 1 1! 4 4GGAJHr0   c                 T  aaa V P                  S4      '       d   ^ SS,           ,          # V P                  SR,           4      '       dF   V P                  S^,           4      '       d   \        R4      hVV3R lpV P                  ! VS.3/ VB # VV3R lpV P                  ! VS.3/ VB # )r3   r   z#Gegenbauer function with two limitsc           	         < ^V ,          p. . SV,           .S^,           V.S) SV,           .V R,           .R^S,
          ,          3pV.#    r    )rD   a2rO   r   r   s   &  r.   rQ   gegenbauer.<locals>.h=  sM    1BB21b	QB":#wQqS	IA3Jr0   c           	         < ^S,          p. . W,           .V ^,           V.V ) W,           .SR,           .R^S,
          ,          3pV.# ru   rw   )r   rx   rO   rD   r   s   &  r.   rQ   ry   B  sI    qSQTFQqS"IADzAcE7C1IEs
r0   )r   NotImplementedErrorr:   r   r   rD   r   r<   rQ   s   &fff, r.   
gegenbauerr}   3  s     {{1~~!A#w
{{1S5 ;;qs%&KLL	 }}Q.v.. ==QC*6**r0   c                   aaa V P                  S4      '       g   VVV3R  lpV P                  ! Wa.3/ VB # V P                  S4      '       g   VV3R lpV P                  ! WaS.3/ VB # V P                  VS,           V4      V P                  ! V) ^V,           S,           S,           S^,           ^S,
          ^,          3/ VB ,          # )c                    < . . SV ,           ^,           .V ^,           S^,           .V ) SS,           V ,           ^,           .S^,           .^S,
          R,          33# r   r   rw   r   rD   bxs   &r.   rQ   jacobi.<locals>.hK  sQ    ac!eWqsAaCjA2qs1uQw-!A#1c	RTTr0   c                    < . . S) .V ^,           S) V ,
          .V ) VS,           V ,           ^,           .S^,           .S^,           R,          33# r   rw   r   s   &&r.   rQ   r   O  sM    qbTAaC!A;!QqSU1W!uqsCiPRRr0   )r   r:   r_   binomialhyp2f1)r   r   rD   r   r   r<   rQ   s   &&fff, r.   jacobir   H  s    ;;q>>	U}}Q.v..99Q<<	S}}QA1&11<<!AQBqs1uQwqsAaC7!Mf!MMMr0   c                 <   aa VV3R  lpV P                   ! WR.3/ VB # )c                 j   < . . V S,           ^,           .V ^,           S^,           .S) .V ^,           .S33# r@   rw   )rD   r   r   s   &r.   rQ   laguerre.<locals>.hZ  s;    R!A#a%1Q3!*rdQqSE1=??r0   r9   r|   s   &f&f, r.   laguerrer   U  s    
@==C*6**r0   c                    V P                  V4      '       d   \        V4      pW^ 8  ,           ^,          '       d^   V'       g   V# V P                  V4      pVRV P                  ,          ^
,
          8  d   V# VR8  d   V ;P                  V) ,          un        V P                  ! V) V^,           ^^V,
          ^,          3/ VB # )r3   )r_   intmagr   r   )r   r   r   r<   r   s   &&&, r.   legendrer   ^  s    
yy||FQK1''!*CR[^#RxSD ::qb1Q!Qw1&11r0   c                   a V P                  V4      pV P                  V4      pV'       g   V P                  ! VS3/ VB # V^8X  d   V3R lpV P                  ! WaV.3/ VB # V^8X  d   V3R lpV P                  ! WaV.3/ VB # \        R4      h)rv   c           	         < VR ,          p^S,           ^S,
          .W") .. ^V,
          .V ) V ^,           .^V,
          .R ^S,
          ,          3pV3# r   rw   r   mgrO   r   s   &&  r.   rQ   legenp.<locals>.hw  U    #A1ac
QGR!A#!QqS	AaC5#qs)KA4Kr0   c           	         < VR ,          pS^,           S^,
          .W") .. ^V,
          .V ) V ^,           .^V,
          .R ^S,
          ,          3pV3# r   rw   r   s   &&  r.   rQ   r   }  r   r0   requires type=2 or type=3)r   r   r:   
ValueErrorr   r   r   r   typer<   rQ   s   &&&f&, r.   legenpr   m  s     	AAAA||Aq+F++qy	 }}Q1000qy	 }}Q1000
0
11r0   c                   a a S P                  V4      pS P                  V4      pS P                  S4      oSR9   d   S P                  # V^8X  d   V V3R lpS P                  ! WaV.3/ VB # V^8X  dI   \        S4      ^8  d   V V3R lpS P                  ! WaV.3/ VB # V V3R lpS P                  ! WaV.3/ VB # \	        R4      h)r   c                   < SP                  V4      w  r#^V,          SP                  ,          pTp^S,           p^S,
          pV^,          p^S,
          ^,          p	WEWg.R^W) .. ^V,
          .V ) V ^,           .^V,
          .V	3p
V) Wg.RV) V.W,           ^,           .W,
          ^,           V^,           .V ) V ^,           .V^,           .V	3pW3# rv   )rV   r   )r   r   cossinr\   r[   rD   r   r$   r%   r!   r+   r   r   s   &&          r.   rQ   legenq.<locals>.h  s    q)HCC#&& AA!A!A!A1aAAq"~rAaC5QqS	AaC5!$B"ab1"a[13q5'ACE1Q3<QqS	AaC5!$B6Mr0   c                 n  < SP                  V4      ^SP                  SS^,
          S^,           .^V ) ^,
          RV ) V,
          ^,
          RV,          RV,          .W,           ^,           .V R,           .R^V ,           V,           ,          R^V ,           V,           ,          .V R,           .SR,          3pV.# )rv   r   g      ?r   )rK   r   )r   r   r!   r   r   s   && r.   rQ   r     s    jjmQ1Q3!<!AsQBqDFCE3q59c!eWqug1Q3q5k3!A;/!C%!b'B tr0   c                   < ^S
P                  V4      ,          S
P                  ,          pS
P                  V4      p^S,           pS^,
          pV^,          p^S,
          ^,          pW#WE.R^Wf) .. ^V,
          .V ) V ^,           .^V,
          .V3pV) W4V.R^V) V.W,           ^,           .W,
          ^,           V^,           .V ) V ^,           .V^,           .V3p	W3# r   )sinpir   rK   )r   r   r\   r[   rD   r   r$   r%   r!   r+   r   r   s   &&        r.   rQ   r     s    		!$svv-JJqMaCaCaCqS!GA\B1b>2!uR1I!ua(b!]RQBNQSUGac!eQqS\R1I!ua(vr0   r   )r   r   )r   nanr:   absr   r   s   f&&f&, r.   legenqr     s     	AAAAAAG| wwqy	 }}QA1&11qy q6A: ==F5f55 ==F5f55
0
11r0   c                     V'       gG   V P                  V4      '       d0   \        V P                  V4      4      ^,          ^8X  d
   V^ ,          # V P                  ! V) VR^V,
          ^,          3/ VB # )rv   )r   rv   r_   r   ra   r   r   r   r   r<   s   &&&,r.   chebytr     sV    399Q<<C
Oa$71$<1u::qb5!A#q3F33r0   c                    V'       gG   V P                  V4      '       d0   \        V P                  V4      4      ^,          ^8X  d
   V^ ,          # V^,           V P                  ! V) V^,           R^V,
          ^,          3/ VB ,          # )rv   )   rv   r   r   s   &&&,r.   chebyur     sc    399Q<<C
Oa$71$<1uaC3::qb!A#uqsAg@@@@r0   c                 `  a aa S P                  V4      pS P                  V4      pS P                  S4      oS P                  S4      oS P                  V4      pT;'       d    V^ 8  pS P                  V4      pV'       d.   V^ 8  d'   V'       d   S P                  ! V^,           ) VSS3/ VB # S^ 8X  d#   V'       d   V^ 8  d   S P                  R,          # V'       d5   V'       d-   \	        V4      V8  d   S P                  R,          # V VV3R lp	MV VV3R lp	S P
                  ! WV.3/ VB # )r3   rJ   c           
      J  < \        V4      pRSP                  VS,          4      ^V ,          ^,           SP                  W,           4      ,          SP                  ,          SP                  W,
          4      ,          SP	                  S4      ^,          SP                  V4      ^.pRV,          SP                  V4      ^,           ,          ^RRV,          RV) ^,
          .pW4. . W ,
          W,           ^,           .V^,           .SP	                  RS,          4      ^,          33# )r   r   r   )r   rk   facr   r   sign)rX   r   absmro   Pr   phithetas   &&   r.   rQ   spherharm.<locals>.h  s    q6DSXXae_A#a%(/?"#A QA&3D"teAgFA2rDFAF1H#5QxE	"A%' ) )r0   c                   < SP                  W,
          ^,           4      '       gC   SP                  W,           ^,           4      '       g   SP                  ^V,
          4      '       d   ^ .R.. . . . ^ 33# SP                  RS,          4      w  r#RSP                  VS,          4      ,          ^V ,          ^,           SP                  ,          SP	                  W,
          ^,           4      SP	                  W,           ^,           4      V^,          V^,          .p^RRRRV,          RV,          .pWE. ^V,
          .V ) V ^,           .^V,
          .V^,          33# )r   r   r   g      )r   cos_sinrk   r   rh   )	rX   r   r   r   ro   r   r   r   r   s	   &&    r.   rQ   r     s   {{13q5!!S[[Q%7%73;;qs;K;KrdBBA688{{3u9-HCSXXae_$qs1ucffn13q5!399QSU#3aa!A CdCE462A2!ur!A#h1sAv>@@r0   )r   r_   	spherharmzeror   r:   )
r   rX   r   r   r   r<   l_isint	l_naturalm_isintrQ   s
   f&&ff,    r.   r   r     s    AAAAKKE
++c
CiilG""AFIiilG1q5W}}qsVQs=f==zg!a%xx"}Wq6A:88b= 	) 	)	A ==qE,V,,r0   N)rv   )	functionsr   r   r/   r=   rB   rF   rd   rr   r}   r   r   r   r   r   r   r   r   rw   r0   r.   <module>r      s:   +7r M M 5M 5Mn ,' ,'\ E/ E/P # #J: + +( 
N 
N + + 2 2 2 2, 32 32j 4 4
 A A
 &- &-r0   