mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-25 14:23:03 +08:00
Documentation for c26eea874d
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
||||
<meta name="generator" content="Doxygen 1.12.0"/>
|
||||
<meta name="generator" content="Doxygen 1.13.2"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>TheAlgorithms/C++: qr_algorithm Namespace Reference</title>
|
||||
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
|
||||
@@ -60,7 +60,7 @@ window.MathJax = {
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.12.0 -->
|
||||
<!-- Generated by Doxygen 1.13.2 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
|
||||
@@ -132,22 +132,22 @@ $(function(){initNavTree('d2/d3b/namespaceqr__algorithm.html','../../'); initRes
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
|
||||
Functions</h2></td></tr>
|
||||
<tr class="memitem:adfbdf47277c8cfee229b05b72f1f7834" id="r_adfbdf47277c8cfee229b05b72f1f7834"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:adfbdf47277c8cfee229b05b72f1f7834" id="r_adfbdf47277c8cfee229b05b72f1f7834"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:adfbdf47277c8cfee229b05b72f1f7834"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#adfbdf47277c8cfee229b05b72f1f7834">operator<<</a> (std::ostream &out, std::valarray< std::valarray< T > > const &v)</td></tr>
|
||||
<tr class="separator:adfbdf47277c8cfee229b05b72f1f7834"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a257425cb2365359da51c6fe6741834d8" id="r_a257425cb2365359da51c6fe6741834d8"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a257425cb2365359da51c6fe6741834d8" id="r_a257425cb2365359da51c6fe6741834d8"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:a257425cb2365359da51c6fe6741834d8"><td class="memTemplItemLeft" align="right" valign="top">std::ostream & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a257425cb2365359da51c6fe6741834d8">operator<<</a> (std::ostream &out, std::valarray< T > const &v)</td></tr>
|
||||
<tr class="separator:a257425cb2365359da51c6fe6741834d8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8ea313a1a1b5f9d0e3e332c29c6446ec" id="r_a8ea313a1a1b5f9d0e3e332c29c6446ec"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a8ea313a1a1b5f9d0e3e332c29c6446ec" id="r_a8ea313a1a1b5f9d0e3e332c29c6446ec"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:a8ea313a1a1b5f9d0e3e332c29c6446ec"><td class="memTemplItemLeft" align="right" valign="top">double </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a8ea313a1a1b5f9d0e3e332c29c6446ec">vector_dot</a> (const std::valarray< T > &a, const std::valarray< T > &b)</td></tr>
|
||||
<tr class="separator:a8ea313a1a1b5f9d0e3e332c29c6446ec"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad16da2183db22378435042f26af43d5f" id="r_ad16da2183db22378435042f26af43d5f"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:ad16da2183db22378435042f26af43d5f" id="r_ad16da2183db22378435042f26af43d5f"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:ad16da2183db22378435042f26af43d5f"><td class="memTemplItemLeft" align="right" valign="top">double </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ad16da2183db22378435042f26af43d5f">vector_mag</a> (const std::valarray< T > &a)</td></tr>
|
||||
<tr class="separator:ad16da2183db22378435042f26af43d5f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6d3c7dce1f142141f509d09f6c0e25dc" id="r_a6d3c7dce1f142141f509d09f6c0e25dc"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a6d3c7dce1f142141f509d09f6c0e25dc" id="r_a6d3c7dce1f142141f509d09f6c0e25dc"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:a6d3c7dce1f142141f509d09f6c0e25dc"><td class="memTemplItemLeft" align="right" valign="top">std::valarray< T > </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a6d3c7dce1f142141f509d09f6c0e25dc">vector_proj</a> (const std::valarray< T > &a, const std::valarray< T > &b)</td></tr>
|
||||
<tr class="separator:a6d3c7dce1f142141f509d09f6c0e25dc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a73ce637634fc49e1d10d190eb388ebf1" id="r_a73ce637634fc49e1d10d190eb388ebf1"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:a73ce637634fc49e1d10d190eb388ebf1" id="r_a73ce637634fc49e1d10d190eb388ebf1"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
||||
<tr class="memitem:a73ce637634fc49e1d10d190eb388ebf1"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#a73ce637634fc49e1d10d190eb388ebf1">qr_decompose</a> (const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)</td></tr>
|
||||
<tr class="separator:a73ce637634fc49e1d10d190eb388ebf1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a28e2fa3e803abaea6c568dc45d69d8cc" id="r_a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memItemLeft" align="right" valign="top">std::valarray< double > </td><td class="memItemRight" valign="bottom"><a class="el" href="#a28e2fa3e803abaea6c568dc45d69d8cc">eigen_values</a> (std::valarray< std::valarray< double > > *A, bool print_intermediates=false)</td></tr>
|
||||
@@ -229,7 +229,7 @@ Functions</h2></td></tr>
|
||||
<div class="line"><span class="lineno"> 123</span> A[0][i][i] -= last_eig; <span class="comment">/* A - cI */</span></div>
|
||||
<div class="line"><span class="lineno"> 124</span> }</div>
|
||||
<div class="line"><span class="lineno"> 125</span> </div>
|
||||
<div class="line"><span class="lineno"> 126</span> qr_decompose(*A, &Q, &R);</div>
|
||||
<div class="line"><span class="lineno"> 126</span> <a class="code hl_function" href="#a73ce637634fc49e1d10d190eb388ebf1">qr_decompose</a>(*A, &Q, &R);</div>
|
||||
<div class="line"><span class="lineno"> 127</span> </div>
|
||||
<div class="line"><span class="lineno"> 128</span> <span class="keywordflow">if</span> (print_intermediates) {</div>
|
||||
<div class="line"><span class="lineno"> 129</span> std::cout << *A << <span class="stringliteral">"\n"</span>;</div>
|
||||
@@ -269,6 +269,7 @@ Functions</h2></td></tr>
|
||||
<div class="line"><span class="lineno"> 163</span> </div>
|
||||
<div class="line"><span class="lineno"> 164</span> <span class="keywordflow">return</span> eigen_vals;</div>
|
||||
<div class="line"><span class="lineno"> 165</span>}</div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html_a73ce637634fc49e1d10d190eb388ebf1"><div class="ttname"><a href="#a73ce637634fc49e1d10d190eb388ebf1">qr_algorithm::qr_decompose</a></div><div class="ttdeci">void qr_decompose(const std::valarray< std::valarray< T > > &A, std::valarray< std::valarray< T > > *Q, std::valarray< std::valarray< T > > *R)</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d68/qr__decompose_8h_source.html#l00146">qr_decompose.h:146</a></div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_abb8bf4c55e10685a5eb2ad3797fde1ae"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a></div><div class="ttdeci">void mat_mul(const std::valarray< std::valarray< double > > &A, const std::valarray< std::valarray< double > > &B, std::valarray< std::valarray< double > > *OUT)</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00054">qr_eigen_values.cpp:54</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
@@ -279,7 +280,7 @@ Functions</h2></td></tr>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::ostream & qr_algorithm::operator<< </td>
|
||||
@@ -319,7 +320,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::ostream & qr_algorithm::operator<< </td>
|
||||
@@ -357,7 +358,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void qr_algorithm::qr_decompose </td>
|
||||
@@ -378,8 +379,7 @@ template<typename T > </div>
|
||||
</div><div class="memdoc">
|
||||
<p>Decompose matrix \(A\) using <a href="https://en.wikipedia.org/wiki/QR_decomposition" target="_blank">Gram-Schmidt process</a>.</p>
|
||||
<p class="formulaDsp">
|
||||
\begin{eqnarray*}
|
||||
\text{given that}\quad A &=&
|
||||
\begin{eqnarray*} \text{given that}\quad A &=&
|
||||
*\left[\mathbf{a}_1,\mathbf{a}_2,\ldots,\mathbf{a}_{N-1},\right]\\
|
||||
\text{where}\quad\mathbf{a}_i &=&
|
||||
\left[a_{0i},a_{1i},a_{2i},\ldots,a_{(M-1)i}\right]^T\quad\ldots\mbox{(column
|
||||
@@ -397,7 +397,7 @@ template<typename T > </div>
|
||||
0 & 0 & \langle\mathbf{e}_2\,,\mathbf{a}_2\rangle &
|
||||
\dots\\ \vdots & \vdots & \vdots & \ddots
|
||||
\end{bmatrix}\\
|
||||
\end{eqnarray*}
|
||||
\end{eqnarray*}
|
||||
</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
@@ -471,7 +471,7 @@ template<typename T > </div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html_a6f1c98c016ad34ff3d9f39372161bd35"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">machine_learning::sum</a></div><div class="ttdeci">T sum(const std::vector< std::valarray< T > > &A)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d95/vector__ops_8hpp_source.html#l00232">vector_ops.hpp:232</a></div></div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html_a6d3c7dce1f142141f509d09f6c0e25dc"><div class="ttname"><a href="#a6d3c7dce1f142141f509d09f6c0e25dc">qr_algorithm::vector_proj</a></div><div class="ttdeci">std::valarray< T > vector_proj(const std::valarray< T > &a, const std::valarray< T > &b)</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d68/qr__decompose_8h_source.html#l00104">qr_decompose.h:104</a></div></div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html_ad16da2183db22378435042f26af43d5f"><div class="ttname"><a href="#ad16da2183db22378435042f26af43d5f">qr_algorithm::vector_mag</a></div><div class="ttdeci">double vector_mag(const std::valarray< T > &a)</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d68/qr__decompose_8h_source.html#l00092">qr_decompose.h:92</a></div></div>
|
||||
<div class="ttc" id="avector__cross__product_8cpp_html_a4b2a9757a87c18e1642d72410ecfaba8"><div class="ttname"><a href="../../df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8">math::vector_cross::mag</a></div><div class="ttdeci">double mag(const std::array< double, 3 > &vec)</div><div class="ttdoc">Calculates the magnitude of the mathematical vector from it's direction ratios.</div><div class="ttdef"><b>Definition</b> <a href="../../df/d66/vector__cross__product_8cpp_source.html#l00083">vector_cross_product.cpp:83</a></div></div>
|
||||
<div class="ttc" id="avector__cross__product_8cpp_html_a4b2a9757a87c18e1642d72410ecfaba8"><div class="ttname"><a href="../../df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8">math::vector_cross::mag</a></div><div class="ttdeci">double mag(const std::array< double, 3 > &vec)</div><div class="ttdoc">Calculates the magnitude of the mathematical vector from it's direction ratios.</div><div class="ttdef"><b>Definition</b> <a href="../../df/d66/vector__cross__product_8cpp_source.html#l00083">vector_cross_product.cpp:83</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -481,7 +481,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -499,7 +499,7 @@ template<typename T > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -523,7 +523,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
@@ -537,7 +537,7 @@ template<typename T > </div>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
<span class="mlabels"><span class="mlabel inline">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
@@ -560,7 +560,7 @@ template<typename T > </div>
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
template<typename T> </div>
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">std::valarray< T > qr_algorithm::vector_proj </td>
|
||||
@@ -584,7 +584,7 @@ template<typename T > </div>
|
||||
<div class="fragment"><div class="line"><span class="lineno"> 105</span> {</div>
|
||||
<div class="line"><span class="lineno"> 106</span> <span class="keywordtype">double</span> num = <a class="code hl_function" href="#a8ea313a1a1b5f9d0e3e332c29c6446ec">vector_dot</a>(a, b);</div>
|
||||
<div class="line"><span class="lineno"> 107</span> <span class="keywordtype">double</span> deno = <a class="code hl_function" href="#a8ea313a1a1b5f9d0e3e332c29c6446ec">vector_dot</a>(b, b);</div>
|
||||
<div class="line"><span class="lineno"> 108</span> </div>
|
||||
<div class="line"><span class="lineno"> 108</span></div>
|
||||
<div class="line"><span class="lineno"> 110</span> <span class="keywordflow">if</span> (deno <= std::numeric_limits<double>::epsilon()) {</div>
|
||||
<div class="line"><span class="lineno"> 111</span> std::cerr << <span class="stringliteral">"["</span> << __func__ << <span class="stringliteral">"] Possible division by zero\n"</span>;</div>
|
||||
<div class="line"><span class="lineno"> 112</span> <span class="keywordflow">return</span> a; <span class="comment">// return vector a back</span></div>
|
||||
@@ -603,7 +603,7 @@ template<typename T > </div>
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0 </li>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.13.2 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user