Копирование только верхних треугольных значений Sympy Matrix в массив из numpy.triu()?Python

Программы на Python
Anonymous
Копирование только верхних треугольных значений Sympy Matrix в массив из numpy.triu()?

Сообщение Anonymous »

У меня есть квадратная матрица A (может быть любого размера), и я хочу взять верхнюю треугольную часть и поместить эти значения в массив без значений ниже центральной диагонали (k=0).

Код: Выделить всё

A = sympy.Matrix([[ 4,  0,  3],
[ 2,  4, -2],
[-2, -3,  7]])
использование A_upper = numpy.triu(A) позволяет мне

Код: Выделить всё

A_Upper = sympy.Matrix([[ 4,  0,  3],
[ 0,  4, -2],
[ 0,  0,  7]])
но как мне скопировать только верхние треугольные элементы в простой массив? Например:

Код: Выделить всё

[4, 0, 3, 4, -2, 7]
Я собирался просто выполнить итерацию и скопировать все ненулевые элементы, однако нули в верхнем треугольнике разрешены.

Подробнее здесь: https://stackoverflow.com/questions/206 ... numpy-triu

Вернуться в «Python»