Love this paper :-) first time trying the code.
Here's my problem set up.

E = ½ ∫₀¹ ([x<a] - [x<t])² dx
∂E/∂t = t>a?+1:-1 = [0<t<1] - 2 [t<a]
I claim that ∂E/∂t = [0<t<1] - 2 [t < α] → if t is smaller (bigger) than α then I grow my energy by making it more smaller (bigger) than α. This is confirmed with F.D.
When I try this in Teg, I wrote:
from teg import TegVar, Var, Teg, IfElse
from teg.derivs import FwdDeriv
from teg.eval.numpy_eval import evaluate
x, a, t = TegVar('x'), Var('a', 0.5), Var('t', 0.25)
expr = 0.5*Teg(0,
1,
(IfElse(x<t,1,0) - IfElse(x<a,1,0))**2,
x)
deriv_expr = FwdDeriv(expr, [(t, 1)])
print(evaluate(deriv_expr))
x, a, t = TegVar('x'), Var('a', 0.5), Var('t', 0.75)
expr = 0.5*Teg(0,
1,
(IfElse(x<t,1,0) - IfElse(x<a,1,0))**2,
x)
deriv_expr = FwdDeriv(expr, [(t, 1)])
print(evaluate(deriv_expr))
Which prints
I'm confused by the 0 which I expected to be 1.0
cc @squidrice21
Love this paper :-) first time trying the code.
Here's my problem set up.

E = ½ ∫₀¹ ([x<a] - [x<t])² dx
∂E/∂t = t>a?+1:-1 = [0<t<1] - 2 [t<a]
I claim that ∂E/∂t = [0<t<1] - 2 [t < α] → if t is smaller (bigger) than α then I grow my energy by making it more smaller (bigger) than α. This is confirmed with F.D.
When I try this in Teg, I wrote:
Which prints
I'm confused by the
0which I expected to be1.0cc @squidrice21