Python 2.7 如何在python中使用numpy将矩阵拆分为4个象限

Python 2.7 如何在python中使用numpy将矩阵拆分为4个象限,python-2.7,numpy,matrix,divide,strassen,Python 2.7,Numpy,Matrix,Divide,Strassen,我是Python新手。我试图实现斯特拉森的算法。在我的实现中,矩阵的大小始终是2的幂。那么,如何将矩阵划分为4个大小相等的象限?谢谢 >>> xs = np.arange(16) >>> xs array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]) >>> xs.reshape(4, 4) array([[ 0, 1, 2, 3], [

我是Python新手。我试图实现斯特拉森的算法。在我的实现中,矩阵的大小始终是2的幂。那么,如何将矩阵划分为4个大小相等的象限?谢谢

>>> xs = np.arange(16)
>>> xs
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15])
>>> xs.reshape(4, 4)
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
>>> xs = xs.reshape(4, 4)
>>> a, b, c, d = xs[:2, :2], xs[2:, :2], xs[:2, 2:], xs[2:, 2:]
>>> print(a, b, c, d, sep='\n')
[[0 1]
 [4 5]]
[[ 8  9]
 [12 13]]
[[2 3]
 [6 7]]
[[10 11]
 [14 15]]

将2替换为
len(xs)//2

谢谢您的回答。你能解释一下计算a、b、c、d时的“:”符号吗?它应该在值之前还是之后(上例中为2)?