@@ -3,6 +3,12 @@ derivatives of Bessel functions with respect to the order are not implemented cu
3
3
https://github.com/JuliaMath/SpecialFunctions.jl/issues/160
4
4
"""
5
5
6
+ const INCOMPLETE_GAMMA_INFO = """
7
+ derivatives of the incomplete Gamma functions with respect to parameter `a` are not
8
+ implemented currently:
9
+ https://github.com/JuliaMath/SpecialFunctions.jl/issues/317
10
+ """
11
+
6
12
ChainRulesCore. @scalar_rule (airyai (x), airyaiprime (x))
7
13
ChainRulesCore. @scalar_rule (airyaiprime (x), x * airyai (x))
8
14
ChainRulesCore. @scalar_rule (airybi (x), airybiprime (x))
@@ -26,6 +32,27 @@ ChainRulesCore.@scalar_rule(erfcx(x), (2 * x * Ω) - (2 / sqrt(π)))
26
32
ChainRulesCore. @scalar_rule (erfi (x), (2 / sqrt (π)) * exp (x * x))
27
33
ChainRulesCore. @scalar_rule (erfinv (x), (sqrt (π) / 2 ) * exp (Ω^ 2 ))
28
34
ChainRulesCore. @scalar_rule (gamma (x), Ω * digamma (x))
35
+ ChainRulesCore. @scalar_rule (
36
+ gamma (a, x),
37
+ (
38
+ ChainRulesCore. @not_implemented (INCOMPLETE_GAMMA_INFO),
39
+ - exp (- x) * x^ (a - 1 ),
40
+ ),
41
+ )
42
+ ChainRulesCore. @scalar_rule (
43
+ gamma_inc (a, x, IND),
44
+ @setup (z = exp (- x) * x^ (a - 1 ) / gamma (a)),
45
+ (
46
+ ChainRulesCore. @not_implemented (INCOMPLETE_GAMMA_INFO),
47
+ z,
48
+ ChainRulesCore. DoesNotExist (),
49
+ ),
50
+ (
51
+ ChainRulesCore. @not_implemented (INCOMPLETE_GAMMA_INFO),
52
+ - z,
53
+ ChainRulesCore. DoesNotExist (),
54
+ ),
55
+ )
29
56
ChainRulesCore. @scalar_rule (
30
57
invdigamma (x),
31
58
inv (trigamma (invdigamma (x))),
@@ -98,3 +125,10 @@ ChainRulesCore.@scalar_rule(
98
125
ChainRulesCore. @scalar_rule (logabsgamma (x), digamma (x), ChainRulesCore. Zero ())
99
126
100
127
ChainRulesCore. @scalar_rule (loggamma (x), digamma (x))
128
+ ChainRulesCore. @scalar_rule (
129
+ loggamma (a, x),
130
+ (
131
+ ChainRulesCore. @not_implemented (INCOMPLETE_GAMMA_INFO),
132
+ - exp (- (x + Ω)) * x^ (a - 1 ),
133
+ )
134
+ )
0 commit comments