Mam matrycę A
i chcę 2 macierze U
i L
takie, że U
zawiera górne trójkątne elementy A (wszystkie elementy powyżej i bez przekątnej) i podobnie dla L
(wszystkie elementy poniżej i bez przekątnej). Czy jest to metoda numpy
?Wyciąg górną/dolną trójkątną część macierzy?
np
A = array([[ 4., 9., -3.],
[ 2., 4., -2.],
[-2., -3., 7.]])
U = array([[ 0., 9., -3.],
[ 0., 0., -2.],
[ 0., 0., 0.]])
L = array([[ 0., 0., 0.],
[ 2., 0., 0.],
[-2., -3., 0.]])
Do OP: Często warto wiedzieć, że biorą również argument "k", dla którego przekątna wyodrębnia się powyżej lub poniżej (która może być _właśnie użyteczna, kiedy jej potrzebujesz!). Dodatkowo istnieją funkcje 'np.triu_indices',' np.tril_indices', 'np.triu_indices_from' oraz' np.tril_indices_from', aby wygenerować indeksy do indeksowania górnego lub dolnego trójkąta z. (Wersje "od" po prostu pobierają tablicę wejściową zamiast kształtu) –