I want to create a NxN circulant matrix of a system with fixed boundaries. This is an idea of what I'm trying to do (but it doesn't work):
> N := 8;
> A := Matrix(N, shape = Circulant[[2, VectorCalculus[`-`](1), ZeroVector[row](VectorCalculus[`+`](N, VectorCalculus[`-`](3))), VectorCalculus[`-`](1)]]);
In other words, I want to make a circulant matrix of the elements 2, -1, 0, 0, ..., -1 (with N-3 zeros). Then I want to set the top right and bottom left elements to zero (that's the fixed boundary portion). The first command almost works for N=4 -- except with extra square brackets in the matrix -- but doesn't work for N=8 or 16 (N is always a power of 2). The second and third commands seem to be bad syntax (I haven't really tried to figure them out yet).