def tangent_vector_f(f, helpers, n, n_lyap, delays, zero_padding=0, simplify=True):
if f:
def f_lyap():
yield from f()
for i in range(n_lyap):
jacs = [_jac(f, helpers, delay, n) for delay in delays]
for _ in range(n):
expression = 0
for delay,jac in zip(delays,jacs):
for k,entry in enumerate(next(jac)):
expression += entry * y(k+(i+1)*n,t-delay)
if simplify:
expression = expression.simplify(ratio=1.0)
yield expression
for _ in range(zero_padding):
yield symengine.sympify(0)
else:
return []
return f_lyap
评论列表
文章目录