Так что моя цель заключается в следующем, учитывая размер матрицы s
, я пытаюсь создать матрицу, которая выглядит следующим образом, но размер sxs
:Построение специальной матрицы в NumPy динамически
[1 1 0]
[1 1 1]
[0 1 1]
Для размера 4x4, это будет выглядеть примерно так:
[1 1 0 0]
[1 1 1 0]
[0 1 1 1]
[0 0 1 1]
Поэтому вы можете наблюдать картину: есть s-1
количество перекрывающихся MINI 2x2
ОДНИ матриц.
Я думал о создании матрицы 2x2
одни, а затем с помощью динамического реферирования (для цикла?) Как B[:-1,:-1] = ones_matrix
, где B
является Нули матрицей размера sxs
. Но я не уверен, как включить цикл for здесь, потому что если мы возьмем матрицу 4x4
, тогда нам нужно будет ссылаться на B
тремя способами: B[:-1,:-1] = ones_matrix, B[1:-1,1:-1] = ones_matrix, B[2:,2:]=ones_matrix
. И я не могу найти способ сделать это динамически для нулевой матрицы n
. Есть ли другой способ сделать это?
Я думаю, что знаю, как это сделать. Я могу фактически использовать динамическую ссылку –
Это просто [тридиагональная матрица] (https://en.wikipedia.org/wiki/Tridiagonal_matrix), может упростить объяснения в будущем. – Daniel