Numpy:从较小的矩阵创建矩阵

时间:2016-10-24 19:19:47

标签: python numpy matrix

有没有办法使用numpy从较小的方阵M?

创建一个方阵M?

假设M的形状可以被m(2x2)的形状整除:

array([[ 1.,  2.,  1.,  2.],
       [ 3.,  4.,  3.,  4.],
       [ 1.,  2.,  1.,  2.],
       [ 3.,  4.,  3.,  4.]])

从m开始,我想构建一个形状为4x4的矩阵,这样:

numpy.full((4,4), 0, dtype=numpy.int)

已创建。

我知道如何创建特定形状的矩阵并使用标量初始化它:

{{1}}

在这里,我想用现有的数组构建。如何实现(并有效)?

2 个答案:

答案 0 :(得分:5)

我们可以使用NumPy's Kronecker product -

np.kron(np.ones((2, 2), dtype=int), m)

示例运行 -

In [140]: m
Out[140]: 
array([[1, 2],
       [3, 4]])

In [141]: np.kron(np.ones((2, 2), dtype=int), m)
Out[141]: 
array([[1, 2, 1, 2],
       [3, 4, 3, 4],
       [1, 2, 1, 2],
       [3, 4, 3, 4]])

答案 1 :(得分:4)

使用!function () {/* Stuff */}(); // The "!" can be any valid expression

np.tile