linalg.
cholesky
胆汁分解。
恢复了胆怯的分解, L * L.H ,平方矩阵的 a 在哪里 L 是下三角形,.h是共轭转置运算符(它是普通转置if a 是真正有价值的)。 a 必须是埃尔米特(对称如果实值)和正定。不执行任何检查来验证 a 是不是隐士。另外,只有下三角形和对角线元素 a 使用。仅限 L 实际返回。
Hermitian(对称,如果所有元素都是实的),正定输入矩阵。
上或下三角胆石系数 a . 返回矩阵对象,如果 a 是矩阵对象。
例如,如果分解失败, a 不是肯定的。
参见
scipy.linalg.cholesky
在SciPy中有类似的功能。
scipy.linalg.cholesky_banded
Cholesky分解带状Hermitian正定矩阵。
scipy.linalg.cho_factor
矩阵的Cholesky分解,用于 scipy.linalg.cho_solve .
scipy.linalg.cho_solve
笔记
1.8.0 新版功能.
广播规则适用,见 numpy.linalg 有关详细信息的文档。
numpy.linalg
胆怯分解常被用作快速解决问题的方法。
(什么时候 A 是厄米提安的/对称的和正定的)。
首先,我们解决 在里面
System Message: WARNING/2 (L\MathBF Y=\MathBF B,)
latex exited with error [stdout] This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./math.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo)) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/anyfontsize/anyfontsize.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/bm.sty) (./math.aux) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) ! Undefined control sequence. <argument> \split@tag \begin {split}L\MathBF Y=\MathBF B,\end {split} l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} ! Undefined control sequence. <argument> ...ag \begin {split}L\MathBF Y=\MathBF B,\end {split} l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} ! Package inputenc Error: Unicode character , (U+FF0C) (inputenc) not set up for use with LaTeX. See the inputenc package documentation for explanation. Type H <return> for immediate help. ... l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} ! Undefined control sequence. <argument> \split@tag \begin {split}L\MathBF Y=\MathBF B,\end {split} l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} ! Undefined control sequence. <argument> ...ag \begin {split}L\MathBF Y=\MathBF B,\end {split} l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} ! Package inputenc Error: Unicode character , (U+FF0C) (inputenc) not set up for use with LaTeX. See the inputenc package documentation for explanation. Type H <return> for immediate help. ... l.14 ...n{split}L\MathBF Y=\MathBF B,\end{split} [1] (./math.aux) ) (see the transcript file for additional information) Output written on math.dvi (1 page, 292 bytes). Transcript written on math.log.
然后为了 在里面
System Message: WARNING/2 (L.H\MathBF X=\MathBF Y。)
latex exited with error [stdout] This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=latex) restricted \write18 enabled. entering extended mode (./math.tex LaTeX2e <2018-12-01> (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls Document Class: article 2018/09/03 v1.4i Standard LaTeX document class (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo)) (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty For additional information on amsmath, use the `?' option. (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty)) (/usr/share/texlive/texmf-dist/tex/latex/amscls/amsthm.sty) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty)) (/usr/share/texlive/texmf-dist/tex/latex/anyfontsize/anyfontsize.sty) (/usr/share/texlive/texmf-dist/tex/latex/tools/bm.sty) (./math.aux) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd) (/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd) ! Undefined control sequence. <argument> \split@tag \begin {split}L.H\MathBF X=\MathBF Y。\end {split} l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} ! Undefined control sequence. <argument> ... \begin {split}L.H\MathBF X=\MathBF Y。\end {split} l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} ! Package inputenc Error: Unicode character 。 (U+3002) (inputenc) not set up for use with LaTeX. See the inputenc package documentation for explanation. Type H <return> for immediate help. ... l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} ! Undefined control sequence. <argument> \split@tag \begin {split}L.H\MathBF X=\MathBF Y。\end {split} l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} ! Undefined control sequence. <argument> ... \begin {split}L.H\MathBF X=\MathBF Y。\end {split} l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} ! Package inputenc Error: Unicode character 。 (U+3002) (inputenc) not set up for use with LaTeX. See the inputenc package documentation for explanation. Type H <return> for immediate help. ... l.14 ...split}L.H\MathBF X=\MathBF Y。\end{split} [1] (./math.aux) ) (see the transcript file for additional information) Output written on math.dvi (1 page, 296 bytes). Transcript written on math.log.
实例
>>> A = np.array([[1,-2j],[2j,5]]) >>> A array([[ 1.+0.j, -0.-2.j], [ 0.+2.j, 5.+0.j]]) >>> L = np.linalg.cholesky(A) >>> L array([[1.+0.j, 0.+0.j], [0.+2.j, 1.+0.j]]) >>> np.dot(L, L.T.conj()) # verify that L * L.H = A array([[1.+0.j, 0.-2.j], [0.+2.j, 5.+0.j]]) >>> A = [[1,-2j],[2j,5]] # what happens if A is only array_like? >>> np.linalg.cholesky(A) # an ndarray object is returned array([[1.+0.j, 0.+0.j], [0.+2.j, 1.+0.j]]) >>> # But a matrix object is returned if A is a matrix object >>> np.linalg.cholesky(np.matrix(A)) matrix([[ 1.+0.j, 0.+0.j], [ 0.+2.j, 1.+0.j]])