相关疑难解决方法(0)

Numpy:将矩阵与3d张量相乘 - 建议

我有一个矩阵P与形状MxN和三维张量T与形状KxNxR.我想P与每个NxR矩阵相乘T,产生一个KxMxR3d张量.

P.dot(T).transpose(1,0,2)给出了期望的结果.有没有更好的解决方案(即摆脱transpose)这个问题?这必须是一个非常常见的操作,所以我假设,其他人已经找到了不同的方法,例如使用tensordot(我试过但未能获得所需的结果).意见/观点将受到高度赞赏!

python numpy matrix linear-algebra scipy

13
推荐指数
1
解决办法
3969
查看次数

Python多维稀疏数组

我正在开发一个需要处理三维大阵列的项目.我使用的是numpy 3d数组,但我的大多数条目都是零,所以这是很多内存的浪费.Scipy稀疏似乎只允许2D矩阵.有没有其他方法可以存储3D稀疏数组?

python scipy

11
推荐指数
2
解决办法
5617
查看次数

如何有效地将元素分配到 3d 矩阵的对角线上?

a=np.zeros((3,3,3))
b=np.arange(3)
c=np.arange(9).reshape(3,3)
Run Code Online (Sandbox Code Playgroud)

我想将数组的元素bc沿着 3d 矩阵(张量)的对角线(或对角线上方/下方)a相对于特定轴放置。

我累了numpy.diagflat,但它只适用于二维矩阵。

例如,如何制作以下矩阵?

array([[[ 0.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  2.]],

       [[ 0.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  2.]],

       [[ 0.,  0.,  0.],
        [ 0.,  1.,  0.],
        [ 0.,  0.,  2.]]])
Run Code Online (Sandbox Code Playgroud)

python numpy matrix scipy diagonal

0
推荐指数
1
解决办法
674
查看次数

标签 统计

python ×3

scipy ×3

matrix ×2

numpy ×2

diagonal ×1

linear-algebra ×1