numpy.linalg — Rutiny lineární algebry¶
Podmodul numpy.linalg poskytuje malý výběr rutin lineární algebry, které pracují s objekty numpy.ndarray. Funkce pracující s maticemi vyžadují dvourozměrná pole; předání polí jiné dimenzionality vyvolá výjimku ValueError. Komplexní datové typy tento podmodul nepodporuje.
Funkce¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Vypočítá Choleského rozklad pozitivně definitní, symetrické čtvercové matice.
- Parametry:
A – pozitivně definitní, symetrická, dvourozměrná čtvercová matice.
- Vrací:
dolní trojúhelníkový objekt
numpy.ndarrayLtakový, žeA = L @ L.T.- Vyvolá:
ValueError – pokud A není čtvercová, není symetrická nebo není pozitivně definitní.
- numpy.linalg.det(m: ndarray) float¶
Vypočítá determinant čtvercové matice.
- Parametry:
m – dvourozměrná čtvercová matice.
- Vrací:
determinant m jako Python
float. Návratová hodnota je vždy float, i když je vstupem celočíselné pole.- Vyvolá:
ValueError – pokud m není čtvercová.
Výpočet se provádí Gaussovou eliminací s částečnou volbou hlavního prvku.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Vypočítá vlastní čísla a vlastní vektory reálné symetrické čtvercové matice.
- Parametry:
m – dvourozměrná, reálná, symetrická čtvercová matice.
- Vrací:
dvojice
(eigenvalues, eigenvectors).eigenvaluesje jednorozměrné pole délkyN;eigenvectorsje pole o rozměrechN-krát-N, jehož sloupce jsou odpovídající vlastní vektory.- Vyvolá:
ValueError – pokud m není čtvercová, není symetrická nebo pokud iterace Jacobiho rotace nekonverguje.
- numpy.linalg.inv(m: ndarray) ndarray¶
Vypočítá inverzi čtvercové matice.
- Parametry:
m – dvourozměrná čtvercová matice.
- Vrací:
inverze m jako float
numpy.ndarray.- Vyvolá:
ValueError – pokud m není čtvercová nebo je singulární.
Inverze se provádí Gauss-Jordanovou eliminací.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Vypočítá 2-normu vektoru nebo matice.
- Parametry:
x – objekt
numpy.ndarray,tuple,listneborange.axis – volitelná osa, podél které se norma počítá. Pokud je
None(výchozí), norma se bere přes zploštělý vstup a vrací se jedinýfloat. Jinak se norma redukuje podél této osy a vrací senumpy.ndarray.
- Vrací:
buď Python
float(když je axisNonenebo když je x iterovatelný objekt jiný než ndarray), nebonumpy.ndarrays odebranou touto osou.
2-norma se vypočítá jako
sqrt(sum(x*x))pomocí numericky stabilního klouzavého průměru, takže operace nevyžaduje dodatečné úložiště úměrné velikosti vstupu.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Rozloží matici na součin ortonormální matice a horní trojúhelníkové matice.
- Parametry:
m – dvourozměrná matice tvaru
(M, N).mode – buď
'reduced'(výchozí), nebo'complete'. V režimu'complete'máQtvar(M, M)aRmá tvar(M, N). V režimu'reduced'jsouQaRoříznuty na vedoucíchmin(M, N)sloupců, resp. řádků.
- Vrací:
dvojice
(Q, R)objektůnumpy.ndarraytaková, žem == Q @ R, kdeQje ortonormální aRje horní trojúhelníková.- Vyvolá:
TypeError – pokud m není
numpy.ndarray.ValueError – pokud m není dvourozměrná nebo mode není jednou z přípustných hodnot.
Rozklad je implementován pomocí postupných Givensových rotací.