удалить нулевые строки 2-D массив numpy

Я запускаю факторизацию qrв numpy, которая возвращает список ndarrays. ] , а именно Qи R:

>>> [q,r] = np.linalg.qr(np.array([1,0,0,0,1,1,1,1,1]).reshape(3,3))

R— это двумерный массив, имеющий сводные нулевые линии внизу (даже доказано для всех примеров в моем тесте установить):

>>> print r
[[ 1.41421356  0.70710678  0.70710678]
 [ 0.          1.22474487  1.22474487]
 [ 0.          0.          0.        ]]

. Теперь я хочу разделить Rна две матрицы R_~:

[[ 1.41421356  0.70710678  0.70710678]
 [ 0.          1.22474487  1.22474487]]

и R_0:

[[ 0.          0.          0.        ]]

(извлекая все нулевые строки). Кажется, это близко к этому решению: удаление строк в массиве numpy.

РЕДАКТИРОВАТЬ:
Еще более интересно: np.linalg.qr()возвращает n x n-матрицу. Не то, что я ожидал:

A := n x m
Q := n x m
R := n x m

30
задан Community 23 May 2017 в 12:02
поделиться