Functor for the TOEPLITZ projector.
>>> from numpy.random import rand, seed
>>> import numpy as np
>>> M = np.round(
rand(5,5), decimals=2)
>>> M
array([[0.37, 0.95, 0.73, 0.6 , 0.16],
[0.16, 0.06, 0.87, 0.6 , 0.71],
[0.02, 0.97, 0.83, 0.21, 0.18],
[0.18, 0.3 , 0.52, 0.43, 0.29],
[0.61, 0.14, 0.29, 0.37, 0.46]])
>>> p(M)
array([[0.18366651, 0.24773622, 0.21498948, 0.27977108, 0.06834103],
[0.21570136, 0.18366651, 0.24773622, 0.21498948, 0.27977108],
[0.08685005, 0.21570136, 0.18366651, 0.24773622, 0.21498948],
[0.06834103, 0.08685005, 0.21570136, 0.18366651, 0.24773622],
[0.26055016, 0.06834103, 0.08685005, 0.21570136, 0.18366651]])