Nic*_*s H 5 arrays numpy python-3.x numpy-einsum numpy-ndarray
假设我们在下面有一个一维数组
arr = np.array([a,b,c])
Run Code Online (Sandbox Code Playgroud)
我需要做的第一件事是制作所有元素的产品,即
[ab,ac,bc]
Run Code Online (Sandbox Code Playgroud)
然后用这个元素构造一个二维三角形数组
[
[a,ab,ac],
[0,b,bc],
[0,0,c]
]
Run Code Online (Sandbox Code Playgroud)
用你的一维数组创建一个对角线,并用 的上三角形填充它的上三角形outer:
out = np.diag(arr)
#upper triangle indices
uidx = np.triu_indices(arr.size,k=1)
#replacing upper triangle with outer
out[uidx]=np.outer(arr,arr)[uidx]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |