创建 numpy 矩阵数组

Luc*_*uca 5 python numpy

我正在尝试创建一个多维 numpy 数组,其中数据类型是矩阵。所以,我希望能够将 3x3 numpy 矩阵存储到多维数组中。例如,我想创建一个大小为 100 x 100 x 100 的 numpy 数组,因此当我引用如下索引时:

x [10, 10, 10] <- should return a 3x3 numpy matrix
Run Code Online (Sandbox Code Playgroud)

我可以做类似的事情:

x = np.array((100, 100, 100), np.matrix)
Run Code Online (Sandbox Code Playgroud)

但是,我不确定在这种情况下如何定义矩阵的大小。另一种选择是执行以下操作:

x = np.array((100, 100, 100, 3, 3))
Run Code Online (Sandbox Code Playgroud)

但是,这样我就无法利用矩阵对象类及其函数。

[编辑]

我现在意识到的一件事是我可以将数组转换为 numpy 矩阵。所以,使用类似的东西:

x = np.array((100, 100, 100, 3, 3))
a = np.matrix(x[1, 1, 1])
Run Code Online (Sandbox Code Playgroud)

不过我想知道是否有更直接的方法。

[更多编辑]

阅读评论后,似乎 numpy 矩阵类并不是那么有用。我可以执行类似以下操作来计算逆函数,例如:

x = np.array((100, 100, 100, 3, 3))
a = np.matrix(x[1, 1, 1])
a_inv = np.linalg.inv(a)
Run Code Online (Sandbox Code Playgroud)