OFFSET
0,12
COMMENTS
A sigmoidal transfer function sigma_n: R->[0,1] can be defined as sigma_n(x) = 1 if x>1, sigma_n(x) = s_n(x) if x in [0,1] and sigma_n(x) = 1-sigma_n(-x) if x<0.
REFERENCES
A. P. Heinz: Yes, trees may have neurons. In Computer Science in Perspective, R. Klein, H. Six and L. Wegner, Editors Lecture Notes In Computer Science 2598. Springer-Verlag New York, New York, NY, 2003, pages 179-190.
LINKS
Alois P. Heinz, Rows n = 0..114, flattened
Alois P. Heinz, Animation of sigma_n(x) and their derivatives for n=0..15
FORMULA
See program.
EXAMPLE
1/2, 1/2, 1/2, 1, -1/2, 1/2, 1, 0, -1, 1/2, 1/2, 5/4, 0, -5/2, 5/2, -3/4, 1/2, 21/16, 0, -35/16, 0, 63/16, -7/2, 15/16, 1/2, 3/2, 0, -7/2, 0, 21/2, -14, 15/2, -3/2 ... = A144702/A144703
As triangle:
1/2 1/2
1/2 1 -1/2
1/2 1 0 -1 1/2
1/2 5/4 0 -5/2 5/2 -3/4
1/2 21/16 0 -35/16 0 63/16 -7/2 15/16
1/2 3/2 0 -7/2 0 21/2 -14 15/2 -3/2
1/2 25/16 0 -15/4 0 63/8 0 -75/4 45/2 -175/16 2
...
MAPLE
s:= proc(n) option remember; local t, u, f, i, x; u:= floor(n/2); t:= u+n+1; f:= unapply(simplify(1/2 +sum('cat(a||i) *x^i', 'i'=1..t) -sum('cat(a||(2*i)) *x^(2*i)', 'i'=1..u)), x); unapply(subs(solve({f(1)=1, seq((D@@i)(f)(1)=0, i=1..n)}, {seq(cat(a||i), i=1..t)}), 1/2 +sum('cat(a||i) *x^i', 'i'=1..t) -sum('cat(a||(2*i)) *x^(2*i)', 'i'=1..u)), x); end: seq(seq(numer(coeff(s(n)(x), x, k)), k=0..ceil((3*n+1)/2)), n=0..10);
MATHEMATICA
s[n_] := s[n] = Module[{t, u, f, i, x, a}, u = Floor[n/2]; t = u+n+1; f = Function[x, 1/2+Sum[a[i]*x^i, {i, 1, t}] - Sum[a[2*i]*x^(2i), {i, 1, u}]]; Function[x, 1/2+Sum[a[i]*x^i, {i, 1, t}] - Sum[a[2*i]*x^(2i), {i, 1, u}] /. First @ Solve[{f[1] == 1, Sequence @@ Table[Derivative[i][f][1] == 0, {i, 1, n}]}]]]; Table[Table[Numerator[Coefficient[s[n][x], x, k]], {k, 0, Ceiling[(3*n+1)/2]}], {n, 0, 10}] // Flatten (* Jean-François Alcover, Feb 13 2014, after Maple *)
CROSSREFS
KEYWORD
AUTHOR
Alois P. Heinz, Sep 19 2008
STATUS
approved