|
97 | 97 | function ChainRulesCore.rrule(
|
98 | 98 | ::Type{
|
99 | 99 | <:ODESolution{T1, T2, T3, T4, T5, T6, T7, T8, T9, T10,
|
100 |
| - T11, T12 |
| 100 | + T11, T12, T13, T14 |
101 | 101 | }}, u,
|
102 | 102 | args...) where {T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11,
|
103 |
| - T12} |
| 103 | + T12, T13, T14} |
104 | 104 | function ODESolutionAdjoint(ȳ)
|
105 | 105 | (NoTangent(), ȳ, ntuple(_ -> NoTangent(), length(args))...)
|
106 | 106 | end
|
107 | 107 |
|
108 |
| - ODESolution{T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12}(u, args...), |
| 108 | + ODESolution{T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14}(u, args...), |
109 | 109 | ODESolutionAdjoint
|
110 | 110 | end
|
111 | 111 |
|
112 |
| -function ChainRulesCore.rrule( |
113 |
| - ::Type{ |
114 |
| - <:ODESolution{uType, tType, isinplace, P, NP, F, G, K, |
115 |
| - ND |
116 |
| - }}, u, |
117 |
| - args...) where {uType, tType, isinplace, P, NP, F, G, K, ND} |
118 |
| - function SDESolutionAdjoint(ȳ) |
119 |
| - (NoTangent(), ȳ, ntuple(_ -> NoTangent(), length(args))...) |
120 |
| - end |
121 |
| - |
122 |
| - SDESolution{uType, tType, isinplace, P, NP, F, G, K, ND}(u, args...), SDESolutionAdjoint |
123 |
| -end |
| 112 | +# function ChainRulesCore.rrule( |
| 113 | +# ::Type{ |
| 114 | +# <:SDESolution{uType, tType, isinplace, P, NP, F, G, K, |
| 115 | +# ND |
| 116 | +# }}, u, |
| 117 | +# args...) where {uType, tType, isinplace, P, NP, F, G, K, ND} |
| 118 | +# function SDESolutionAdjoint(ȳ) |
| 119 | +# (NoTangent(), ȳ, ntuple(_ -> NoTangent(), length(args))...) |
| 120 | +# end |
| 121 | +# |
| 122 | +# SDESolution{uType, tType, isinplace, P, NP, F, G, K, ND}(u, args...), SDESolutionAdjoint |
| 123 | +# end |
124 | 124 |
|
125 | 125 | function ChainRulesCore.rrule(::SciMLBase.EnsembleSolution, sim, time, converged)
|
126 | 126 | out = EnsembleSolution(sim, time, converged)
|
|
0 commit comments