-- lol. laughably slow! ie, you are doing it wrong! I think we need real matrices for this! -- learn some short cut aliases: ul |*> #=> up left |_self> u |*> #=> up |_self> ur |*> #=> up right |_self> l |*> #=> left |_self> r |*> #=> right |_self> dl |*> #=> down left |_self> d |*> #=> down |_self> dr |*> #=> down right |_self> -- learn our difference operators: smooth-R |*> #=> pos( dr 0.0625 R0 ul |_self> + d 0.0625 R0 u |_self> + dl 0.0625 R0 ur |_self> + r 0.0625 R0 l |_self> + 0.5 R0 |_self> + l 0.0625 R0 r |_self> + ur 0.0625 R0 dl |_self> + u 0.0625 R0 d |_self> + ul 0.0625 R0 dr |_self>) smooth-G |*> #=> pos( dr 0.0625 G0 ul |_self> + d 0.0625 G0 u |_self> + dl 0.0625 G0 ur |_self> + r 0.0625 G0 l |_self> + 0.5 G0 |_self> + l 0.0625 G0 r |_self> + ur 0.0625 G0 dl |_self> + u 0.0625 G0 d |_self> + ul 0.0625 G0 dr |_self>) smooth-B |*> #=> pos( dr 0.0625 B0 ul |_self> + d 0.0625 B0 u |_self> + dl 0.0625 B0 ur |_self> + r 0.0625 B0 l |_self> + 0.5 B0 |_self> + l 0.0625 B0 r |_self> + ur 0.0625 B0 dl |_self> + u 0.0625 B0 d |_self> + ul 0.0625 B0 dr |_self>) -- copy values to old-values: |null> => map[R,R0] rel-kets[R] |> |null> => map[G,G0] rel-kets[G] |> |null> => map[B,B0] rel-kets[B] |> -- apply our operators: |null> => map[smooth-R,R1] rel-kets[R0] |> |null> => map[smooth-G,G1] rel-kets[G0] |> |null> => map[smooth-B,B1] rel-kets[B0] |> -- learn our difference operators: smooth-R |*> #=> pos( dr 0.0625 R1 ul |_self> + d 0.0625 R1 u |_self> + dl 0.0625 R1 ur |_self> + r 0.0625 R1 l |_self> + 0.5 R1 |_self> + l 0.0625 R1 r |_self> + ur 0.0625 R1 dl |_self> + u 0.0625 R1 d |_self> + ul 0.0625 R1 dr |_self>) smooth-G |*> #=> pos( dr 0.0625 G1 ul |_self> + d 0.0625 G1 u |_self> + dl 0.0625 G1 ur |_self> + r 0.0625 G1 l |_self> + 0.5 G1 |_self> + l 0.0625 G1 r |_self> + ur 0.0625 G1 dl |_self> + u 0.0625 G1 d |_self> + ul 0.0625 G1 dr |_self>) smooth-B |*> #=> pos( dr 0.0625 B1 ul |_self> + d 0.0625 B1 u |_self> + dl 0.0625 B1 ur |_self> + r 0.0625 B1 l |_self> + 0.5 B1 |_self> + l 0.0625 B1 r |_self> + ur 0.0625 B1 dl |_self> + u 0.0625 B1 d |_self> + ul 0.0625 B1 dr |_self>) -- apply our operators: |null> => map[smooth-R,R2] rel-kets[R1] |> |null> => map[smooth-G,G2] rel-kets[G1] |> |null> => map[smooth-B,B2] rel-kets[B1] |> -- learn our difference operators: smooth-R |*> #=> pos( dr 0.0625 R2 ul |_self> + d 0.0625 R2 u |_self> + dl 0.0625 R2 ur |_self> + r 0.0625 R2 l |_self> + 0.5 R2 |_self> + l 0.0625 R2 r |_self> + ur 0.0625 R2 dl |_self> + u 0.0625 R2 d |_self> + ul 0.0625 R2 dr |_self>) smooth-G |*> #=> pos( dr 0.0625 G2 ul |_self> + d 0.0625 G2 u |_self> + dl 0.0625 G2 ur |_self> + r 0.0625 G2 l |_self> + 0.5 G2 |_self> + l 0.0625 G2 r |_self> + ur 0.0625 G2 dl |_self> + u 0.0625 G2 d |_self> + ul 0.0625 G2 dr |_self>) smooth-B |*> #=> pos( dr 0.0625 B2 ul |_self> + d 0.0625 B2 u |_self> + dl 0.0625 B2 ur |_self> + r 0.0625 B2 l |_self> + 0.5 B2 |_self> + l 0.0625 B2 r |_self> + ur 0.0625 B2 dl |_self> + u 0.0625 B2 d |_self> + ul 0.0625 B2 dr |_self>) -- apply our operators: |null> => map[smooth-R,R3] rel-kets[R2] |> |null> => map[smooth-G,G3] rel-kets[G2] |> |null> => map[smooth-B,B3] rel-kets[B2] |> -- learn our difference operators: smooth-R |*> #=> pos( dr 0.0625 R3 ul |_self> + d 0.0625 R3 u |_self> + dl 0.0625 R3 ur |_self> + r 0.0625 R3 l |_self> + 0.5 R3 |_self> + l 0.0625 R3 r |_self> + ur 0.0625 R3 dl |_self> + u 0.0625 R3 d |_self> + ul 0.0625 R3 dr |_self>) smooth-G |*> #=> pos( dr 0.0625 G3 ul |_self> + d 0.0625 G3 u |_self> + dl 0.0625 G3 ur |_self> + r 0.0625 G3 l |_self> + 0.5 G3 |_self> + l 0.0625 G3 r |_self> + ur 0.0625 G3 dl |_self> + u 0.0625 G3 d |_self> + ul 0.0625 G3 dr |_self>) smooth-B |*> #=> pos( dr 0.0625 B3 ul |_self> + d 0.0625 B3 u |_self> + dl 0.0625 B3 ur |_self> + r 0.0625 B3 l |_self> + 0.5 B3 |_self> + l 0.0625 B3 r |_self> + ur 0.0625 B3 dl |_self> + u 0.0625 B3 d |_self> + ul 0.0625 B3 dr |_self>) -- apply our operators: |null> => map[smooth-R,R4] rel-kets[R3] |> |null> => map[smooth-G,G4] rel-kets[G3] |> |null> => map[smooth-B,B4] rel-kets[B3] |> -- learn our difference operators: smooth-R |*> #=> pos( dr 0.0625 R4 ul |_self> + d 0.0625 R4 u |_self> + dl 0.0625 R4 ur |_self> + r 0.0625 R4 l |_self> + 0.5 R4 |_self> + l 0.0625 R4 r |_self> + ur 0.0625 R4 dl |_self> + u 0.0625 R4 d |_self> + ul 0.0625 R4 dr |_self>) smooth-G |*> #=> pos( dr 0.0625 G4 ul |_self> + d 0.0625 G4 u |_self> + dl 0.0625 G4 ur |_self> + r 0.0625 G4 l |_self> + 0.5 G4 |_self> + l 0.0625 G4 r |_self> + ur 0.0625 G4 dl |_self> + u 0.0625 G4 d |_self> + ul 0.0625 G4 dr |_self>) smooth-B |*> #=> pos( dr 0.0625 B4 ul |_self> + d 0.0625 B4 u |_self> + dl 0.0625 B4 ur |_self> + r 0.0625 B4 l |_self> + 0.5 B4 |_self> + l 0.0625 B4 r |_self> + ur 0.0625 B4 dl |_self> + u 0.0625 B4 d |_self> + ul 0.0625 B4 dr |_self>) -- apply our operators: |null> => map[smooth-R,R] rel-kets[R4] |> |null> => map[smooth-G,G] rel-kets[G4] |> |null> => map[smooth-B,B] rel-kets[B4] |>