|
1 | 1 | module SciMLSensitivity |
2 | 2 |
|
3 | | -using DiffEqBase, ForwardDiff, Tracker, FiniteDiff, Statistics |
4 | | -using DiffEqCallbacks, QuadGK, RecursiveArrayTools, LinearAlgebra |
5 | | -import SciMLBase: AbstractNonlinearProblem |
6 | | -using Adapt |
7 | | -using LinearSolve |
8 | | -using Parameters: @unpack |
9 | | -import Accessors: @reset |
10 | | -import DiffEqNoiseProcess |
11 | | -import RandomNumbers: Xorshifts |
12 | | -using Random |
13 | | -import Zygote, ReverseDiff |
14 | | -import ArrayInterface |
15 | | -import Enzyme |
16 | | -import GPUArraysCore |
17 | | -using ADTypes |
18 | | -using SparseDiffTools |
19 | | -using SciMLOperators |
20 | | -using Functors |
21 | | -import TruncatedStacktraces |
22 | | -import SciMLStructures |
23 | | -import PreallocationTools: dualcache, get_tmp, DiffCache, LazyBufferCache, |
24 | | - FixedSizeDiffCache |
25 | | -import FunctionWrappersWrappers |
26 | | -using EllipsisNotation |
| 3 | +using ADTypes: ADTypes, AutoEnzyme, AutoFiniteDiff, AutoForwardDiff, |
| 4 | + AutoReverseDiff, AutoTracker, AutoZygote |
| 5 | +using Accessors: @reset |
| 6 | +using Adapt: Adapt, adapt |
| 7 | +using ArrayInterface: ArrayInterface |
| 8 | +using DiffEqBase: DiffEqBase, SensitivityADPassThrough |
| 9 | +using DiffEqCallbacks: DiffEqCallbacks, IntegrandValuesSum, |
| 10 | + IntegratingSumCallback, PresetTimeCallback |
| 11 | +using DiffEqNoiseProcess: DiffEqNoiseProcess |
| 12 | +using FastBroadcast: @.. |
| 13 | +using Functors: Functors, fmap |
27 | 14 | using FunctionProperties: hasbranching |
| 15 | +using FunctionWrappersWrappers: FunctionWrappersWrappers |
| 16 | +using GPUArraysCore: GPUArraysCore |
| 17 | +using LinearSolve: LinearSolve |
| 18 | +using PreallocationTools: PreallocationTools, dualcache, get_tmp, DiffCache, |
| 19 | + FixedSizeDiffCache |
| 20 | +using RandomNumbers: Xorshifts |
| 21 | +using RecursiveArrayTools: RecursiveArrayTools, AbstractDiffEqArray, |
| 22 | + AbstractVectorOfArray, ArrayPartition, DiffEqArray, |
| 23 | + VectorOfArray |
| 24 | +using SciMLJacobianOperators: VecJacOperator, StatefulJacobianOperator |
| 25 | +using SciMLStructures: SciMLStructures, canonicalize, Tunable, isscimlstructure |
| 26 | +using SymbolicIndexingInterface: SymbolicIndexingInterface, current_time, getu, |
| 27 | + parameter_values, state_values |
| 28 | +using QuadGK: quadgk |
| 29 | +using SciMLBase: SciMLBase, AbstractOverloadingSensitivityAlgorithm, |
| 30 | + AbstractForwardSensitivityAlgorithm, AbstractAdjointSensitivityAlgorithm, |
| 31 | + AbstractSecondOrderSensitivityAlgorithm, |
| 32 | + AbstractShadowingSensitivityAlgorithm, AbstractTimeseriesSolution, |
| 33 | + AbstractNonlinearProblem, AbstractSensitivityAlgorithm, |
| 34 | + AbstractDiffEqFunction, AbstractODEFunction, unwrapped_f, CallbackSet, |
| 35 | + ContinuousCallback, DESolution, NonlinearFunction, NonlinearProblem, |
| 36 | + DiscreteCallback, LinearProblem, ODEFunction, ODEProblem, |
| 37 | + RODEFunction, RODEProblem, ReturnCode, SDEFunction, |
| 38 | + SDEProblem, VectorContinuousCallback, deleteat!, |
| 39 | + get_tmp_cache, has_adjoint, isinplace, reinit!, remake, |
| 40 | + solve, u_modified! |
28 | 41 |
|
29 | | -using SymbolicIndexingInterface |
30 | | -using SciMLStructures: canonicalize, Tunable, isscimlstructure |
| 42 | +# AD Backends |
| 43 | +using ChainRulesCore: unthunk, @thunk, NoTangent, @not_implemented, Tangent, ZeroTangent |
| 44 | +using Enzyme: Enzyme |
| 45 | +using FiniteDiff: FiniteDiff |
| 46 | +using ForwardDiff: ForwardDiff |
| 47 | +using Tracker: Tracker, TrackedArray |
| 48 | +using ReverseDiff: ReverseDiff |
| 49 | +using Zygote: Zygote |
31 | 50 |
|
32 | | -using Markdown |
| 51 | +# Std Libs |
| 52 | +using LinearAlgebra: LinearAlgebra, Diagonal, I, UniformScaling, adjoint, axpy!, |
| 53 | + convert, copyto!, dot, issuccess, ldiv!, lu, lu!, mul!, |
| 54 | + norm, normalize!, qr, transpose |
| 55 | +using Markdown: Markdown, @doc_str |
| 56 | +using Random: Random, rand! |
| 57 | +using Statistics: Statistics, mean |
33 | 58 |
|
34 | | -using Reexport |
35 | | -import ChainRulesCore: unthunk, @thunk, NoTangent, @not_implemented, Tangent, ZeroTangent |
36 | 59 | abstract type SensitivityFunction end |
37 | 60 | abstract type TransformedFunction end |
38 | 61 |
|
39 | | -import SciMLBase: unwrapped_f, _unwrap_val |
40 | | - |
41 | | -import SciMLBase: AbstractOverloadingSensitivityAlgorithm, AbstractSensitivityAlgorithm, |
42 | | - AbstractForwardSensitivityAlgorithm, AbstractAdjointSensitivityAlgorithm, |
43 | | - AbstractSecondOrderSensitivityAlgorithm, |
44 | | - AbstractShadowingSensitivityAlgorithm, |
45 | | - AbstractTimeseriesSolution |
46 | | - |
47 | 62 | include("utils.jl") |
48 | 63 | include("parameters_handling.jl") |
49 | 64 | include("sensitivity_algorithms.jl") |
|
0 commit comments