Binomial transform: Difference between revisions
Content added Content deleted
m (→{{header|jq}}: shorten) |
|||
Line 661: | Line 661: | ||
def forward: |
def forward: |
||
. as $a |
. as $a |
||
| ($a|length) as $ |
| reduce range(0; $a|length) as $n (null; |
||
| reduce range(0;$c) as $n (null; |
|||
reduce range(0;$n+1) as $k (.; |
reduce range(0;$n+1) as $k (.; |
||
.[$n] += binomial($n; $k) * $a[$k] ) ); |
.[$n] += binomial($n; $k) * $a[$k] ) ); |
||
Line 668: | Line 667: | ||
def inverse: |
def inverse: |
||
. as $b |
. as $b |
||
| ($b|length) as $ |
| reduce range (0; $b|length) as $n (null; |
||
| reduce range (0;$c) as $n (null; |
|||
reduce range(0; $n+1) as $k (.; |
reduce range(0; $n+1) as $k (.; |
||
(if (($n - $k) % 2 == 0) then 1 else -1 end) as $sign |
(if (($n - $k) % 2 == 0) then 1 else -1 end) as $sign |
||
Line 676: | Line 674: | ||
def selfInverting: |
def selfInverting: |
||
. as $a |
. as $a |
||
| ($a|length) as $ |
| reduce range(0; $a|length) as $n (null; |
||
| reduce range(0;$c) as $n (null; |
|||
reduce range(0; $n+1) as $k (.; |
reduce range(0; $n+1) as $k (.; |
||
(if $k % 2 == 0 then 1 else -1 end) as $sign |
(if $k % 2 == 0 then 1 else -1 end) as $sign |