给定列索引的列表(或元组),我需要通过从另一个矩阵中选择列的子集来生成一个新矩阵。
以下是我正在处理的代码(不仅仅是尝试创建一个新矩阵,但可能对您有一些上下文感兴趣)。
A = matrix(QQ,[
[2,1,4,-1,2],
[1,-1,5,1,1],
[-1,2,-7,0,1],
[2,-1,8,-1,2]
])
print "A\n",A
print "A rref\n",A.rref()
p = A.pivots()
print "A pivots",p
具有以下输出:
A
[ 2 1 4 -1 2]
[ 1 -1 5 1 1]
[-1 2 -7 0 1]
[ 2 -1 8 -1 2]
A rref
[ 1 0 3 0 0]
[ 0 1 -2 0 0]
[ 0 0 0 1 0]
[ 0 0 0 0 1]
A pivots (0, 1, 3, 4)
现在我希望从对象中轻松找到一种方法,该方法matrix
允许通过仅将元组p
作为参数来构造具有列子集的新矩阵,但找不到类似的东西。
关于如何以圣人友好的方式优雅地解决这个问题的任何想法?(避免for
循环和多余的代码)
谢谢!