Prev | Next |
atomic_lin_ode ode(name)
call_id = lin_ode.set(r, step, pattern, transpose)
lin_ode.get(call_id, r, step, pattern, transpose)
lin_ode.base_solver(r, step, pattern, transpose, x, y)
lin_ode(call_id, ax, ay)
set
(get
) routine.
t
at which we are approximating @(@
z(t, x)
@)@.
This is a argument (return value) for the set
(get
) routine.
set
(get
) routine.
nnz
to denote
pattern.nnz()
.
row
to denote
pattern.row()
.
col
to denote
pattern.col()
.
transpose
is true (false) the sparsity pattern is for
@(@
A(x)^\R{T}
@)@ (@(@
A(x)
@)@).
This is a argument (return value) for the set
(get
) routine.
x
to denote the argument to the atomic function.
In the call to base_solver
it is a CppAD vector with elements
of type
Base
.
x
is
@(@
n = nnz + m
@)@.
pattern
at the beginning of the vector
x
.
To be specific,
if
transpose
is true (false),
for
k = 0, ..., nnz-1
,
@(@
A_{j,i} (x)
@)@ ( @(@
A_{i,j} (x)
@)@ ) is equal to
@(@
x[k]
@)@ where
i = row[k]
and
j = col[k]
.
x
; i.e. its j
-th element is
@(@
b_j (x) = x[ nnz + j ]
@)@
m
to denote the size of the vector
y(x)
.
This is the number of equations in the ODE.
base_solver
,
y
is a CppAD vector with elements of type
Base
.
The input value of its elements does not matter.
Upon return it contains the value @(@
y(x)
@)@.
lin_ode
,
ax
is a simple vector with elements of type
AD<Base>
.
The elements of
ax
have the same meaning as
x
.
lin_ode
,
ay
is a simple vector with elements of type
AD<Base>
.
The input value of its elements does not matter.
Upon return it represents the solution
y(ax)
.
atomic_four_lin_ode_implement | Implementing Atomic Linear ODE |
atomic_four_lin_ode_forward.cpp | Atomic Linear ODE Forward Mode: Example and Test |
atomic_four_lin_ode_reverse.cpp | Atomic Linear ODE Reverse Mode: Example and Test |
atomic_four_lin_ode_sparsity.cpp | Atomic Linear ODE Sparsity Calculations: Example and Test |
atomic_four_lin_ode_rev_depend.cpp | Atomic Linear ODE Reverse Dependency Analysis: Example and Test |