-4
我需要創建一個對角線矩陣,其對角線從中心向左或向右移動任何幫助?如何製作對角線上有位移的冠層對角矩陣?
我需要創建一個對角線矩陣,其對角線從中心向左或向右移動任何幫助?如何製作對角線上有位移的冠層對角矩陣?
由於您的問題的反對建議,您應該嘗試以更好的方式解釋您的問題。話雖如此,我最好的猜測是你正在尋找超對角矩陣和次對角矩陣;即:
Superdiagonal:
0 1 0 0
0 0 1 0
0 0 0 1
0 0 0 0
次對角:
0 0 0 0
1 0 0 0
0 1 0 0
0 0 1 0
如果是這樣的話,那麼你可以使用numpy的的indices
:
import numpy as np
superdiagonal = np.zeros((4, 4))
i, j = np.indices(superdiagonal.shape)
superdiagonal[i == j-1] = 1
print(superdiagonal)
這將給你:
array([[ 0., 1., 0., 0.],
[ 0., 0., 1., 0.],
[ 0., 0., 0., 1.],
[ 0., 0., 0., 0.]])
對於次對角,你只需要在i == j-1
部分更改爲i == j+1
。
非常感謝你這就是我所問的 – Edsson