Create structural tensor view based on pointers

The goal is to create a doubly circulant matrix based on an original kernel tensor. This operation is costly, suffering particularly from slow rolling. Problematically, the operation in theory needs to be repeated every step because the original tensor is changing. However, the process of restructuring the tensor will be always the same.

Is it possible to create a tensor as only a view on the original tensor, such that as the original tensor changes using due to optimization, the values in the “view tensor” also change and thus the restructuring does not need to be repeated? (and just to clarify, by “view” I do not refer to torch.view() but to view in some sort of database sense).