线性代数与 np.linalg

从版本 1.8 开始,np.linalg 中的几个例程可以在矩阵的堆栈上运行。也就是说,例程可以计算多个矩阵的结果,如果它们堆叠在一起的话。例如,A 在这里被解释为两个堆叠的 3×3 矩阵:

np.random.seed(123)
A = np.random.rand(2,3,3)
b = np.random.rand(2,3)
x = np.linalg.solve(A, b)

print np.dot(A[0,:,:], x[0,:])
# array([ 0.53155137,  0.53182759,  0.63440096])

print b[0,:]
# array([ 0.53155137,  0.53182759,  0.63440096])

官方 np 文档通过像 a : (..., M, M) array_like 这样的参数规范来指定。