2014-09-05 2 views
0

Мне нужно получить новую матрицу, сгенерированную путем выбора поднабора столбцов из другой матрицы, учитывая список индексов столбцов (или кортежей).создать матрицу как имеющую подмножество столбцов из другой матрицы

Ниже приведен код, над которым я работаю (есть немного больше, чем просто попытка создать новую матрицу, но может быть интересна для вас иметь некоторый контекст).

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 петель и избыточного кода)

спасибо!

ответ

1

Просто нашел, как это сделать в наиболее простым и лаконичным образом:

A[:,p] 
3

Вы можете использовать matrix_from_columns метод: A.matrix_from_columns(p).

 Смежные вопросы

  • Нет связанных вопросов^_^