I don't know how matrix multiplication works, so I'm doing experiments.
More realistic.
Explanation.
more target cases
repair
stub triangular_multiply (I don't know if this is as optimized as it can be..)
>= maybe?
Yes, that fixed it.

Notice how the terms used for each entry go to [] in the upper triangle:

------------------- (4,4) x (4, 4)-----------------------------------

(1, 1)[1], (1, 2)[], (1, 3)[], (1, 4)[],  <ENDL>
(2, 1)[12], (2, 2)[2], (2, 3)[], (2, 4)[],  <ENDL>
(3, 1)[123], (3, 2)[23], (3, 3)[3], (3, 4)[],  <ENDL>
(4, 1)[1234], (4, 2)[234], (4, 3)[34], (4, 4)[4],  <ENDL>
Clean up so that we get plots instead of prints.
extend view; I can't tell just by looking whether triangular_multiply is ^2 or ^3
Theis longer-run chart suggests that triangular_multiply is indeed O(d^3)