Pruned 3D FFT from PlanewaveΒΆ

n := 8;
k := 1;
np := 2;
pl1d := [0..np-1]::[n-np..n-1];

opts := SpiralDefaults;

t := PrunedMDDFT([n, n, n], k, 1, [pl1d, pl1d, pl1d]);
tm := MatSPL(t);

rt := RandomRuleTree(t, opts);

spl := SPLRuleTree(rt);
sm := MatSPL(spl);

InfinityNormMat(sm-tm);

c := CodeRuleTree(rt, opts);
cm := CMatrix(c, opts);

trm := MatSPL(RC(t));
InfinityNormMat(cm-trm);