Documentation for 8b1eab204b

This commit is contained in:
realstealthninja
2024-11-04 12:43:05 +00:00
parent 4fb6e622e9
commit a7bccf7d01
6732 changed files with 153919 additions and 365711 deletions

View File

@@ -1,3 +1,4 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
@@ -5,10 +6,15 @@
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: numerical_methods/qr_eigen_values.cpp File Reference</title>
<title>TheAlgorithms/C++: numerical_methods/qr_eigen_values.cpp File Reference</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
@@ -18,14 +24,24 @@
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
@@ -33,10 +49,11 @@ MathJax.Hub.Config({
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
@@ -125,7 +142,9 @@ Include dependency graph for qr_eigen_values.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d4/d72/qr__eigen__values_8cpp__incl.svg" width="626" height="199"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div><table class="memberdecls">
</div>
<p><a href="../../de/d75/qr__eigen__values_8cpp_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></td></tr>
@@ -139,11 +158,11 @@ Macros</h2></td></tr>
</table><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:a9bbf469d5525a816b0d6ca812119093d" id="r_a9bbf469d5525a816b0d6ca812119093d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *A)</td></tr>
<tr class="memitem:a9bbf469d5525a816b0d6ca812119093d" id="r_a9bbf469d5525a816b0d6ca812119093d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a> (std::valarray&lt; std::valarray&lt; double &gt; &gt; *A)</td></tr>
<tr class="separator:a9bbf469d5525a816b0d6ca812119093d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb8bf4c55e10685a5eb2ad3797fde1ae" id="r_abb8bf4c55e10685a5eb2ad3797fde1ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;A, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;B, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *OUT)</td></tr>
<tr class="memitem:abb8bf4c55e10685a5eb2ad3797fde1ae" id="r_abb8bf4c55e10685a5eb2ad3797fde1ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a> (const std::valarray&lt; std::valarray&lt; double &gt; &gt; &amp;A, const std::valarray&lt; std::valarray&lt; double &gt; &gt; &amp;B, std::valarray&lt; std::valarray&lt; double &gt; &gt; *OUT)</td></tr>
<tr class="separator:abb8bf4c55e10685a5eb2ad3797fde1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e2fa3e803abaea6c568dc45d69d8cc" id="r_a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *A, bool print_intermediates=false)</td></tr>
<tr class="memitem:a28e2fa3e803abaea6c568dc45d69d8cc" id="r_a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memItemLeft" align="right" valign="top">std::valarray&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a> (std::valarray&lt; std::valarray&lt; double &gt; &gt; *A, bool print_intermediates=false)</td></tr>
<tr class="separator:a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1440a7779ac56f47a3f355ce4a8c7da0" id="r_a1440a7779ac56f47a3f355ce4a8c7da0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a> ()</td></tr>
<tr class="separator:a1440a7779ac56f47a3f355ce4a8c7da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -155,6 +174,8 @@ Functions</h2></td></tr>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition" target="_blank">QR decomposition</a> method. </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a> </dd></dl>
<p class="definition">Definition in file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aee57a411f07599034f5ceb8cc7d65b40" name="aee57a411f07599034f5ceb8cc7d65b40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee57a411f07599034f5ceb8cc7d65b40">&#9670;&#160;</a></span>LIMS</h2>
@@ -169,6 +190,8 @@ Functions</h2></td></tr>
</div><div class="memdoc">
<p>limit of range of matrix values </p>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00020">20</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
@@ -181,7 +204,7 @@ Functions</h2></td></tr>
<tr>
<td class="memname">void create_matrix </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>A</em></span></td><td>)</td>
<td class="paramtype">std::valarray&lt; std::valarray&lt; double &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>A</em></span></td><td>)</td>
<td></td>
</tr>
</table>
@@ -193,6 +216,8 @@ Functions</h2></td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00028">28</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 28</span> {</div>
<div class="line"><span class="lineno"> 29</span> <span class="keywordtype">int</span> i, j, tmp, lim2 = <a class="code hl_define" href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a> &gt;&gt; 1;</div>
<div class="line"><span class="lineno"> 30</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a> = A-&gt;size();</div>
@@ -201,23 +226,17 @@ Functions</h2></td></tr>
<div class="line"><span class="lineno"> 33</span><span class="preprocessor">#pragma omp for</span></div>
<div class="line"><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
<div class="line"><span class="lineno"> 35</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; i++) {</div>
<div class="line"><span class="lineno"> 36</span> A[0][i][i] = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code hl_define" href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><span class="lineno"> 36</span> A[0][i][i] = (std::rand() % <a class="code hl_define" href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><span class="lineno"> 37</span> <span class="keywordflow">for</span> (j = i + 1; j &lt; <a class="code hl_variable" href="../../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; j++) {</div>
<div class="line"><span class="lineno"> 38</span> tmp = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code hl_define" href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><span class="lineno"> 38</span> tmp = (std::rand() % <a class="code hl_define" href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><span class="lineno"> 39</span> A[0][i][j] = tmp; <span class="comment">// summetrically distribute random values</span></div>
<div class="line"><span class="lineno"> 40</span> A[0][j][i] = tmp;</div>
<div class="line"><span class="lineno"> 41</span> }</div>
<div class="line"><span class="lineno"> 42</span> }</div>
<div class="line"><span class="lineno"> 43</span>}</div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_aee57a411f07599034f5ceb8cc7d65b40"><div class="ttname"><a href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a></div><div class="ttdeci">#define LIMS</div><div class="ttdef"><b>Definition</b> qr_eigen_values.cpp:20</div></div>
<div class="ttc" id="arand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a></div><div class="ttdeci">T rand(T... args)</div></div>
<div class="ttc" id="asparse__table_8cpp_html_a10f3ffb3f6f7e1b83d556b9c8de89a5d"><div class="ttname"><a href="../../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">data_structures::sparse_table::N</a></div><div class="ttdeci">constexpr uint32_t N</div><div class="ttdoc">A struct to represent sparse table for min() as their invariant function, for the given array A....</div><div class="ttdef"><b>Definition</b> sparse_table.cpp:48</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg" width="232" height="36"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_aee57a411f07599034f5ceb8cc7d65b40"><div class="ttname"><a href="#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a></div><div class="ttdeci">#define LIMS</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00020">qr_eigen_values.cpp:20</a></div></div>
<div class="ttc" id="asparse__table_8cpp_html_a10f3ffb3f6f7e1b83d556b9c8de89a5d"><div class="ttname"><a href="../../d8/dab/sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">data_structures::sparse_table::N</a></div><div class="ttdeci">constexpr uint32_t N</div><div class="ttdoc">A struct to represent sparse table for min() as their invariant function, for the given array A....</div><div class="ttdef"><b>Definition</b> <a href="../../d8/dab/sparse__table_8cpp_source.html#l00048">sparse_table.cpp:48</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a3c04138a5bfe5d72780bb7e82a18e627" name="a3c04138a5bfe5d72780bb7e82a18e627"></a>
@@ -239,66 +258,56 @@ Here is the call graph for this function:</div>
</table>
</div><div class="memdoc">
<p>main function </p>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00243">243</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 243</span> {</div>
<div class="line"><span class="lineno"> 244</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = 5;</div>
<div class="line"><span class="lineno"> 245</span> <span class="keywordflow">if</span> (argc == 2) {</div>
<div class="line"><span class="lineno"> 246</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/atoi.html">atoi</a>(argv[1]);</div>
<div class="line"><span class="lineno"> 246</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = atoi(argv[1]);</div>
<div class="line"><span class="lineno"> 247</span> } <span class="keywordflow">else</span> { <span class="comment">// if invalid input argument is given run tests</span></div>
<div class="line"><span class="lineno"> 248</span> <a class="code hl_function" href="#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>();</div>
<div class="line"><span class="lineno"> 249</span> <a class="code hl_function" href="#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><span class="lineno"> 250</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Usage: ./qr_eigen_values [mat_size]\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 250</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Usage: ./qr_eigen_values [mat_size]\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 251</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 252</span> }</div>
<div class="line"><span class="lineno"> 253</span> </div>
<div class="line"><span class="lineno"> 254</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> &lt; 2) {</div>
<div class="line"><span class="lineno"> 255</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">fprintf</a>(stderr, <span class="stringliteral">&quot;Matrix size should be &gt; 2\n&quot;</span>);</div>
<div class="line"><span class="lineno"> 255</span> fprintf(stderr, <span class="stringliteral">&quot;Matrix size should be &gt; 2\n&quot;</span>);</div>
<div class="line"><span class="lineno"> 256</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><span class="lineno"> 257</span> }</div>
<div class="line"><span class="lineno"> 258</span> </div>
<div class="line"><span class="lineno"> 259</span> <span class="comment">// initialize random number generator</span></div>
<div class="line"><span class="lineno"> 260</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><span class="lineno"> 260</span> std::srand(std::time(<span class="keyword">nullptr</span>));</div>
<div class="line"><span class="lineno"> 261</span> </div>
<div class="line"><span class="lineno"> 262</span> <span class="keywordtype">int</span> i, rows = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>, columns = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><span class="lineno"> 263</span> </div>
<div class="line"><span class="lineno"> 264</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; A(rows);</div>
<div class="line"><span class="lineno"> 264</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; A(rows);</div>
<div class="line"><span class="lineno"> 265</span> </div>
<div class="line"><span class="lineno"> 266</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><span class="lineno"> 267</span> A[i] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a>(columns);</div>
<div class="line"><span class="lineno"> 267</span> A[i] = std::valarray&lt;double&gt;(columns);</div>
<div class="line"><span class="lineno"> 268</span> }</div>
<div class="line"><span class="lineno"> 269</span> </div>
<div class="line"><span class="lineno"> 270</span> <span class="comment">/* create a random matrix */</span></div>
<div class="line"><span class="lineno"> 271</span> <a class="code hl_function" href="#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a>(&amp;A);</div>
<div class="line"><span class="lineno"> 272</span> </div>
<div class="line"><span class="lineno"> 273</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 273</span> std::cout &lt;&lt; A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 274</span> </div>
<div class="line"><span class="lineno"> 275</span> clock_t t1 = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>();</div>
<div class="line"><span class="lineno"> 276</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eigen_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;A);</div>
<div class="line"><span class="lineno"> 277</span> <span class="keywordtype">double</span> dtime = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>() - t1) / CLOCKS_PER_SEC;</div>
<div class="line"><span class="lineno"> 275</span> clock_t t1 = clock();</div>
<div class="line"><span class="lineno"> 276</span> std::valarray&lt;double&gt; eigen_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;A);</div>
<div class="line"><span class="lineno"> 277</span> <span class="keywordtype">double</span> dtime = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(clock() - t1) / CLOCKS_PER_SEC;</div>
<div class="line"><span class="lineno"> 278</span> </div>
<div class="line"><span class="lineno"> 279</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Eigen vals: &quot;</span>;</div>
<div class="line"><span class="lineno"> 280</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; eigen_vals[i] &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><span class="lineno"> 281</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\nTime taken to compute: &quot;</span> &lt;&lt; dtime &lt;&lt; <span class="stringliteral">&quot; sec\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 279</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Eigen vals: &quot;</span>;</div>
<div class="line"><span class="lineno"> 280</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) std::cout &lt;&lt; eigen_vals[i] &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><span class="lineno"> 281</span> std::cout &lt;&lt; <span class="stringliteral">&quot;\nTime taken to compute: &quot;</span> &lt;&lt; dtime &lt;&lt; <span class="stringliteral">&quot; sec\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 282</span> </div>
<div class="line"><span class="lineno"> 283</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><span class="lineno"> 284</span>}</div>
<div class="ttc" id="aatoi_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/atoi.html">std::atoi</a></div><div class="ttdeci">T atoi(T... args)</div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">std::clock</a></div><div class="ttdeci">T clock(T... args)</div></div>
<div class="ttc" id="afprintf_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">std::fprintf</a></div><div class="ttdeci">T fprintf(T... args)</div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition</b> matrix_exponentiation.cpp:45</div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a28e2fa3e803abaea6c568dc45d69d8cc"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition</b> qr_eigen_values.cpp:98</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition</b> qr_eigen_values.cpp:210</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a1440a7779ac56f47a3f355ce4a8c7da0"><div class="ttname"><a href="#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a></div><div class="ttdeci">void test1()</div><div class="ttdef"><b>Definition</b> qr_eigen_values.cpp:177</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a9bbf469d5525a816b0d6ca812119093d"><div class="ttname"><a href="#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A)</div><div class="ttdef"><b>Definition</b> qr_eigen_values.cpp:28</div></div>
<div class="ttc" id="asrand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a></div><div class="ttdeci">T srand(T... args)</div></div>
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
<div class="ttc" id="avalarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a></div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../de/d75/qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph.svg" width="100%" height="514"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00045">matrix_exponentiation.cpp:45</a></div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a28e2fa3e803abaea6c568dc45d69d8cc"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00098">qr_eigen_values.cpp:98</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00210">qr_eigen_values.cpp:210</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a1440a7779ac56f47a3f355ce4a8c7da0"><div class="ttname"><a href="#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a></div><div class="ttdeci">void test1()</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00177">qr_eigen_values.cpp:177</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a9bbf469d5525a816b0d6ca812119093d"><div class="ttname"><a href="#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A)</div><div class="ttdef"><b>Definition</b> <a href="../../de/d75/qr__eigen__values_8cpp_source.html#l00028">qr_eigen_values.cpp:28</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="abb8bf4c55e10685a5eb2ad3797fde1ae" name="abb8bf4c55e10685a5eb2ad3797fde1ae"></a>
@@ -310,17 +319,17 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">void mat_mul </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
<td class="paramtype">const std::valarray&lt; std::valarray&lt; double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>A</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>B</em></span>, </td>
<td class="paramtype">const std::valarray&lt; std::valarray&lt; double &gt; &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>B</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>OUT</em></span>&#160;)</td>
<td class="paramtype">std::valarray&lt; std::valarray&lt; double &gt; &gt; *</td> <td class="paramname"><span class="paramname"><em>OUT</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
@@ -337,13 +346,15 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>pointer to resultant matrix </dd></dl>
</li>
</ul>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00054">54</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 56</span> {</div>
<div class="line"><span class="lineno"> 57</span> <span class="keywordtype">int</span> R1 = A.size();</div>
<div class="line"><span class="lineno"> 58</span> <span class="keywordtype">int</span> C1 = A[0].size();</div>
<div class="line"><span class="lineno"> 59</span> <span class="keywordtype">int</span> R2 = B.size();</div>
<div class="line"><span class="lineno"> 60</span> <span class="keywordtype">int</span> C2 = B[0].size();</div>
<div class="line"><span class="lineno"> 61</span> <span class="keywordflow">if</span> (C1 != R2) {</div>
<div class="line"><span class="lineno"> 62</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/perror.html">perror</a>(<span class="stringliteral">&quot;Matrix dimensions mismatch!&quot;</span>);</div>
<div class="line"><span class="lineno"> 62</span> perror(<span class="stringliteral">&quot;Matrix dimensions mismatch!&quot;</span>);</div>
<div class="line"><span class="lineno"> 63</span> <span class="keywordflow">return</span>;</div>
<div class="line"><span class="lineno"> 64</span> }</div>
<div class="line"><span class="lineno"> 65</span> </div>
@@ -356,8 +367,7 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 72</span> }</div>
<div class="line"><span class="lineno"> 73</span> }</div>
<div class="line"><span class="lineno"> 74</span>}</div>
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> composite_simpson_rule.cpp:117</div></div>
<div class="ttc" id="aperror_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/perror.html">std::perror</a></div><div class="ttdeci">T perror(T... args)</div></div>
<div class="ttc" id="acomposite__simpson__rule_8cpp_html_a1b74d828b33760094906797042b89442"><div class="ttname"><a href="../../d4/d18/composite__simpson__rule_8cpp.html#a1b74d828b33760094906797042b89442">numerical_methods::simpson_method::k</a></div><div class="ttdeci">double k(double x)</div><div class="ttdoc">Another test function.</div><div class="ttdef"><b>Definition</b> <a href="../../d4/d18/composite__simpson__rule_8cpp_source.html#l00117">composite_simpson_rule.cpp:117</a></div></div>
</div><!-- fragment -->
</div>
</div>
@@ -382,35 +392,31 @@ Here is the call graph for this function:</div>
\end{bmatrix}\]
</p>
<p> which are approximately, {15.56158, 0.384227} </p>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00177">177</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 177</span> {</div>
<div class="line"><span class="lineno"> 178</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{5, 7}, {7, 11}};</div>
<div class="line"><span class="lineno"> 178</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; X = {{5, 7}, {7, 11}};</div>
<div class="line"><span class="lineno"> 179</span> <span class="keywordtype">double</span> y[] = {15.56158, 0.384227}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><span class="lineno"> 180</span> </div>
<div class="line"><span class="lineno"> 181</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;------- Test 1 -------&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 182</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><span class="lineno"> 181</span> std::cout &lt;&lt; <span class="stringliteral">&quot;------- Test 1 -------&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 182</span> std::valarray&lt;double&gt; eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><span class="lineno"> 183</span> </div>
<div class="line"><span class="lineno"> 184</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 2; i++) {</div>
<div class="line"><span class="lineno"> 185</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/2 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><span class="lineno"> 185</span> std::cout &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/2 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><span class="lineno"> 186</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 187</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 2 &amp;&amp; !<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><span class="lineno"> 188</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><span class="lineno"> 189</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 190</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><span class="lineno"> 190</span> std::cout &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><span class="lineno"> 191</span> }</div>
<div class="line"><span class="lineno"> 192</span> }</div>
<div class="line"><span class="lineno"> 193</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><span class="lineno"> 194</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 194</span> std::cout &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 195</span> }</div>
<div class="line"><span class="lineno"> 196</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed\n\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 196</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed\n\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 197</span>}</div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition</b> fibonacci_sum.cpp:77</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../de/d75/qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph.svg" width="100%" height="388"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
<div class="ttc" id="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition</b> <a href="../../de/dc3/fibonacci__sum_8cpp_source.html#l00077">fibonacci_sum.cpp:77</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a0283886819c7c140a023582b7269e2d0" name="a0283886819c7c140a023582b7269e2d0"></a>
@@ -437,8 +443,10 @@ Here is the call graph for this function:</div>
\end{bmatrix}\]
</p>
<p> which are approximately, {9.27648, -9.26948, 2.0181, -1.03516, -5.98994} </p>
<p class="definition">Definition at line <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html#l00210">210</a> of file <a class="el" href="../../de/d75/qr__eigen__values_8cpp_source.html">qr_eigen_values.cpp</a>.</p>
<div class="fragment"><div class="line"><span class="lineno"> 210</span> {</div>
<div class="line"><span class="lineno"> 211</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{-4, 4, 2, 0, -3},</div>
<div class="line"><span class="lineno"> 211</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; X = {{-4, 4, 2, 0, -3},</div>
<div class="line"><span class="lineno"> 212</span> {4, -4, 4, -3, -1},</div>
<div class="line"><span class="lineno"> 213</span> {2, 4, 4, 3, -3},</div>
<div class="line"><span class="lineno"> 214</span> {0, -3, 3, -1, -3},</div>
@@ -446,32 +454,27 @@ Here is the call graph for this function:</div>
<div class="line"><span class="lineno"> 216</span> <span class="keywordtype">double</span> y[] = {9.27648, -9.26948, 2.0181, -1.03516,</div>
<div class="line"><span class="lineno"> 217</span> -5.98994}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><span class="lineno"> 218</span> </div>
<div class="line"><span class="lineno"> 219</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;------- Test 2 -------&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><span class="lineno"> 220</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><span class="lineno"> 219</span> std::cout &lt;&lt; <span class="stringliteral">&quot;------- Test 2 -------&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><span class="lineno"> 220</span> std::valarray&lt;double&gt; eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><span class="lineno"> 221</span> </div>
<div class="line"><span class="lineno"> 222</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; X &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div>
<div class="line"><span class="lineno"> 222</span> std::cout &lt;&lt; X &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div>
<div class="line"><span class="lineno"> 223</span> &lt;&lt; <span class="stringliteral">&quot;Eigen values: &quot;</span> &lt;&lt; eig_vals &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 224</span> </div>
<div class="line"><span class="lineno"> 225</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 5; i++) {</div>
<div class="line"><span class="lineno"> 226</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/5 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><span class="lineno"> 226</span> std::cout &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/5 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><span class="lineno"> 227</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><span class="lineno"> 228</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 5 &amp;&amp; !<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><span class="lineno"> 229</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><span class="lineno"> 230</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><span class="lineno"> 231</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><span class="lineno"> 231</span> std::cout &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><span class="lineno"> 232</span> }</div>
<div class="line"><span class="lineno"> 233</span> }</div>
<div class="line"><span class="lineno"> 234</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><span class="lineno"> 235</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 235</span> std::cout &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 236</span> }</div>
<div class="line"><span class="lineno"> 237</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed\n\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 237</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed\n\n&quot;</span>;</div>
<div class="line"><span class="lineno"> 238</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../de/d75/qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph.svg" width="100%" height="388"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div></div>
</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->

View File

@@ -1,20 +0,0 @@
<map id="test2" name="test2">
<area shape="rect" id="Node000001" title=" " alt="" coords="5,59,56,84"/>
<area shape="rect" id="Node000002" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="104,22,235,62"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="56,64,88,57,89,62,57,69"/>
<area shape="rect" id="Node000009" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="134,87,205,112"/>
<area shape="poly" id="edge9_Node000001_Node000009" title=" " alt="" coords="57,74,119,87,118,92,56,79"/>
<area shape="rect" id="Node000003" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="340,5,411,31"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="235,32,325,21,325,27,235,37"/>
<area shape="rect" id="Node000004" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="283,55,468,80"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="235,48,268,52,267,57,235,53"/>
<area shape="rect" id="Node000005" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="516,29,685,55"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="468,54,501,51,501,56,469,60"/>
<area shape="rect" id="Node000008" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="518,79,683,104"/>
<area shape="poly" id="edge7_Node000004_Node000008" title=" " alt="" coords="469,75,503,78,502,84,468,80"/>
<area shape="rect" id="Node000006" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="779,29,848,55"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="685,40,763,40,763,45,685,45"/>
<area shape="rect" id="Node000007" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="733,79,894,104"/>
<area shape="poly" id="edge6_Node000005_Node000007" title=" " alt="" coords="660,53,741,72,739,77,659,58"/>
<area shape="poly" id="edge8_Node000008_Node000007" title=" " alt="" coords="683,89,717,89,717,94,683,94"/>
</map>

View File

@@ -1 +0,0 @@
f59cea11e5cbb6d520cc654b2095871e

View File

@@ -1,258 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: test2 Pages: 1 -->
<!--zoomable 88 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 675;
var viewHeight = 88;
var sectionId = 'dynsection-4';
</script>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>test2</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37.75,-40.25 0,-40.25 0,-21 37.75,-21 37.75,-40.25"/>
<text text-anchor="middle" x="18.88" y="-26.75" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="172.25,-67.88 73.75,-67.88 73.75,-37.38 172.25,-37.38 172.25,-67.88"/>
<text text-anchor="start" x="81.75" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="123" y="-43.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-34.56C45.15,-36.07 53.61,-37.89 62.41,-39.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="61.67,-43.21 72.18,-41.89 63.14,-36.37 61.67,-43.21"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="149.75,-19.25 96.25,-19.25 96.25,0 149.75,0 149.75,-19.25"/>
<text text-anchor="middle" x="123" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-26.87C51.06,-24.21 68.85,-20.55 84.72,-17.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.27,-20.75 94.36,-15.31 83.86,-13.89 85.27,-20.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="304.5,-80.25 251,-80.25 251,-61 304.5,-61 304.5,-80.25"/>
<text text-anchor="middle" x="277.75" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-58.32C194.1,-60.89 219.41,-63.87 239.65,-66.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="239.08,-69.71 249.42,-67.4 239.9,-62.76 239.08,-69.71"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="347.25,-43.25 208.25,-43.25 208.25,-24 347.25,-24 347.25,-43.25"/>
<text text-anchor="middle" x="277.75" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-46.61C180.08,-45.65 188.28,-44.63 196.54,-43.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.81,-47.1 206.3,-42.39 195.95,-40.15 196.81,-47.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="509.5,-62.25 383.25,-62.25 383.25,-43 509.5,-43 509.5,-62.25"/>
<text text-anchor="middle" x="446.38" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-41.46C355.47,-42.37 363.63,-43.3 371.68,-44.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.1,-47.68 381.44,-45.33 371.9,-40.72 371.1,-47.68"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="508,-25.25 384.75,-25.25 384.75,-6 508,-6 508,-25.25"/>
<text text-anchor="middle" x="446.38" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-26.2C355.87,-25.29 364.45,-24.37 372.89,-23.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="373.19,-26.94 382.76,-22.39 372.44,-19.98 373.19,-26.94"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="632,-62.25 580,-62.25 580,-43 632,-43 632,-62.25"/>
<text text-anchor="middle" x="606" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M509.67,-52.62C529.53,-52.62 550.85,-52.62 568.28,-52.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.15,-56.13 578.15,-52.63 568.15,-49.13 568.15,-56.13"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="666.5,-25.25 545.5,-25.25 545.5,-6 666.5,-6 666.5,-25.25"/>
<text text-anchor="middle" x="606" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.45,-42.51C509.13,-38.13 531.2,-32.95 550.97,-28.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.57,-31.76 560.51,-26.07 549.97,-24.95 551.57,-31.76"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node7 -->
<g id="edge8_Node000008_Node000007" class="edge">
<title>Node8&#45;&gt;Node7</title>
<g id="a_edge8_Node000008_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M508.32,-15.62C516.66,-15.62 525.28,-15.62 533.78,-15.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.74,-19.13 543.74,-15.63 533.74,-12.13 533.74,-19.13"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="qr__eigen__values_8cpp_a0283886819c7c140a023582b7269e2d0_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,175 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: test2 Pages: 1 -->
<svg width="675pt" height="88pt"
viewBox="0.00 0.00 674.50 88.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 84.25)">
<title>test2</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37.75,-40.25 0,-40.25 0,-21 37.75,-21 37.75,-40.25"/>
<text text-anchor="middle" x="18.88" y="-26.75" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="172.25,-67.88 73.75,-67.88 73.75,-37.38 172.25,-37.38 172.25,-67.88"/>
<text text-anchor="start" x="81.75" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="123" y="-43.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-34.56C45.15,-36.07 53.61,-37.89 62.41,-39.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="61.67,-43.21 72.18,-41.89 63.14,-36.37 61.67,-43.21"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="149.75,-19.25 96.25,-19.25 96.25,0 149.75,0 149.75,-19.25"/>
<text text-anchor="middle" x="123" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-26.87C51.06,-24.21 68.85,-20.55 84.72,-17.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.27,-20.75 94.36,-15.31 83.86,-13.89 85.27,-20.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="304.5,-80.25 251,-80.25 251,-61 304.5,-61 304.5,-80.25"/>
<text text-anchor="middle" x="277.75" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-58.32C194.1,-60.89 219.41,-63.87 239.65,-66.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="239.08,-69.71 249.42,-67.4 239.9,-62.76 239.08,-69.71"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="347.25,-43.25 208.25,-43.25 208.25,-24 347.25,-24 347.25,-43.25"/>
<text text-anchor="middle" x="277.75" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-46.61C180.08,-45.65 188.28,-44.63 196.54,-43.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.81,-47.1 206.3,-42.39 195.95,-40.15 196.81,-47.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="509.5,-62.25 383.25,-62.25 383.25,-43 509.5,-43 509.5,-62.25"/>
<text text-anchor="middle" x="446.38" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-41.46C355.47,-42.37 363.63,-43.3 371.68,-44.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.1,-47.68 381.44,-45.33 371.9,-40.72 371.1,-47.68"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="508,-25.25 384.75,-25.25 384.75,-6 508,-6 508,-25.25"/>
<text text-anchor="middle" x="446.38" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-26.2C355.87,-25.29 364.45,-24.37 372.89,-23.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="373.19,-26.94 382.76,-22.39 372.44,-19.98 373.19,-26.94"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="632,-62.25 580,-62.25 580,-43 632,-43 632,-62.25"/>
<text text-anchor="middle" x="606" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M509.67,-52.62C529.53,-52.62 550.85,-52.62 568.28,-52.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.15,-56.13 578.15,-52.63 568.15,-49.13 568.15,-56.13"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="666.5,-25.25 545.5,-25.25 545.5,-6 666.5,-6 666.5,-25.25"/>
<text text-anchor="middle" x="606" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.45,-42.51C509.13,-38.13 531.2,-32.95 550.97,-28.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.57,-31.76 560.51,-26.07 549.97,-24.95 551.57,-31.76"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node7 -->
<g id="edge8_Node000008_Node000007" class="edge">
<title>Node8&#45;&gt;Node7</title>
<g id="a_edge8_Node000008_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M508.32,-15.62C516.66,-15.62 525.28,-15.62 533.78,-15.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.74,-19.13 543.74,-15.63 533.74,-12.13 533.74,-19.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1,20 +0,0 @@
<map id="test1" name="test1">
<area shape="rect" id="Node000001" title=" " alt="" coords="5,59,56,84"/>
<area shape="rect" id="Node000002" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="104,22,235,62"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="56,64,88,57,89,62,57,69"/>
<area shape="rect" id="Node000009" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="134,87,205,112"/>
<area shape="poly" id="edge9_Node000001_Node000009" title=" " alt="" coords="57,74,119,87,118,92,56,79"/>
<area shape="rect" id="Node000003" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="340,5,411,31"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="235,32,325,21,325,27,235,37"/>
<area shape="rect" id="Node000004" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="283,55,468,80"/>
<area shape="poly" id="edge3_Node000002_Node000004" title=" " alt="" coords="235,48,268,52,267,57,235,53"/>
<area shape="rect" id="Node000005" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="516,29,685,55"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="468,54,501,51,501,56,469,60"/>
<area shape="rect" id="Node000008" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="518,79,683,104"/>
<area shape="poly" id="edge7_Node000004_Node000008" title=" " alt="" coords="469,75,503,78,502,84,468,80"/>
<area shape="rect" id="Node000006" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="779,29,848,55"/>
<area shape="poly" id="edge5_Node000005_Node000006" title=" " alt="" coords="685,40,763,40,763,45,685,45"/>
<area shape="rect" id="Node000007" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="733,79,894,104"/>
<area shape="poly" id="edge6_Node000005_Node000007" title=" " alt="" coords="660,53,741,72,739,77,659,58"/>
<area shape="poly" id="edge8_Node000008_Node000007" title=" " alt="" coords="683,89,717,89,717,94,683,94"/>
</map>

View File

@@ -1 +0,0 @@
82b96e201f101c1f6837004774113e6b

View File

@@ -1,258 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: test1 Pages: 1 -->
<!--zoomable 88 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 675;
var viewHeight = 88;
var sectionId = 'dynsection-3';
</script>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>test1</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37.75,-40.25 0,-40.25 0,-21 37.75,-21 37.75,-40.25"/>
<text text-anchor="middle" x="18.88" y="-26.75" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="172.25,-67.88 73.75,-67.88 73.75,-37.38 172.25,-37.38 172.25,-67.88"/>
<text text-anchor="start" x="81.75" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="123" y="-43.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-34.56C45.15,-36.07 53.61,-37.89 62.41,-39.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="61.67,-43.21 72.18,-41.89 63.14,-36.37 61.67,-43.21"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="149.75,-19.25 96.25,-19.25 96.25,0 149.75,0 149.75,-19.25"/>
<text text-anchor="middle" x="123" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-26.87C51.06,-24.21 68.85,-20.55 84.72,-17.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.27,-20.75 94.36,-15.31 83.86,-13.89 85.27,-20.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="304.5,-80.25 251,-80.25 251,-61 304.5,-61 304.5,-80.25"/>
<text text-anchor="middle" x="277.75" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-58.32C194.1,-60.89 219.41,-63.87 239.65,-66.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="239.08,-69.71 249.42,-67.4 239.9,-62.76 239.08,-69.71"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="347.25,-43.25 208.25,-43.25 208.25,-24 347.25,-24 347.25,-43.25"/>
<text text-anchor="middle" x="277.75" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-46.61C180.08,-45.65 188.28,-44.63 196.54,-43.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.81,-47.1 206.3,-42.39 195.95,-40.15 196.81,-47.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="509.5,-62.25 383.25,-62.25 383.25,-43 509.5,-43 509.5,-62.25"/>
<text text-anchor="middle" x="446.38" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-41.46C355.47,-42.37 363.63,-43.3 371.68,-44.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.1,-47.68 381.44,-45.33 371.9,-40.72 371.1,-47.68"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="508,-25.25 384.75,-25.25 384.75,-6 508,-6 508,-25.25"/>
<text text-anchor="middle" x="446.38" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-26.2C355.87,-25.29 364.45,-24.37 372.89,-23.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="373.19,-26.94 382.76,-22.39 372.44,-19.98 373.19,-26.94"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="632,-62.25 580,-62.25 580,-43 632,-43 632,-62.25"/>
<text text-anchor="middle" x="606" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M509.67,-52.62C529.53,-52.62 550.85,-52.62 568.28,-52.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.15,-56.13 578.15,-52.63 568.15,-49.13 568.15,-56.13"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="666.5,-25.25 545.5,-25.25 545.5,-6 666.5,-6 666.5,-25.25"/>
<text text-anchor="middle" x="606" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.45,-42.51C509.13,-38.13 531.2,-32.95 550.97,-28.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.57,-31.76 560.51,-26.07 549.97,-24.95 551.57,-31.76"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node7 -->
<g id="edge8_Node000008_Node000007" class="edge">
<title>Node8&#45;&gt;Node7</title>
<g id="a_edge8_Node000008_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M508.32,-15.62C516.66,-15.62 525.28,-15.62 533.78,-15.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.74,-19.13 543.74,-15.63 533.74,-12.13 533.74,-19.13"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="qr__eigen__values_8cpp_a1440a7779ac56f47a3f355ce4a8c7da0_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -1,175 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: test1 Pages: 1 -->
<svg width="675pt" height="88pt"
viewBox="0.00 0.00 674.50 88.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 84.25)">
<title>test1</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37.75,-40.25 0,-40.25 0,-21 37.75,-21 37.75,-40.25"/>
<text text-anchor="middle" x="18.88" y="-26.75" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="172.25,-67.88 73.75,-67.88 73.75,-37.38 172.25,-37.38 172.25,-67.88"/>
<text text-anchor="start" x="81.75" y="-54.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="123" y="-43.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-34.56C45.15,-36.07 53.61,-37.89 62.41,-39.79"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="61.67,-43.21 72.18,-41.89 63.14,-36.37 61.67,-43.21"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="149.75,-19.25 96.25,-19.25 96.25,0 149.75,0 149.75,-19.25"/>
<text text-anchor="middle" x="123" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge9_Node000001_Node000009" class="edge">
<title>Node1&#45;&gt;Node9</title>
<g id="a_edge9_Node000001_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M38.13,-26.87C51.06,-24.21 68.85,-20.55 84.72,-17.29"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="85.27,-20.75 94.36,-15.31 83.86,-13.89 85.27,-20.75"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="304.5,-80.25 251,-80.25 251,-61 304.5,-61 304.5,-80.25"/>
<text text-anchor="middle" x="277.75" y="-66.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-58.32C194.1,-60.89 219.41,-63.87 239.65,-66.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="239.08,-69.71 249.42,-67.4 239.9,-62.76 239.08,-69.71"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="347.25,-43.25 208.25,-43.25 208.25,-24 347.25,-24 347.25,-43.25"/>
<text text-anchor="middle" x="277.75" y="-29.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M172.33,-46.61C180.08,-45.65 188.28,-44.63 196.54,-43.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.81,-47.1 206.3,-42.39 195.95,-40.15 196.81,-47.1"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="509.5,-62.25 383.25,-62.25 383.25,-43 509.5,-43 509.5,-62.25"/>
<text text-anchor="middle" x="446.38" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-41.46C355.47,-42.37 363.63,-43.3 371.68,-44.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.1,-47.68 381.44,-45.33 371.9,-40.72 371.1,-47.68"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="508,-25.25 384.75,-25.25 384.75,-6 508,-6 508,-25.25"/>
<text text-anchor="middle" x="446.38" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node8 -->
<g id="edge7_Node000004_Node000008" class="edge">
<title>Node4&#45;&gt;Node8</title>
<g id="a_edge7_Node000004_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M347.48,-26.2C355.87,-25.29 364.45,-24.37 372.89,-23.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="373.19,-26.94 382.76,-22.39 372.44,-19.98 373.19,-26.94"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="632,-62.25 580,-62.25 580,-43 632,-43 632,-62.25"/>
<text text-anchor="middle" x="606" y="-48.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5_Node000005_Node000006" class="edge">
<title>Node5&#45;&gt;Node6</title>
<g id="a_edge5_Node000005_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M509.67,-52.62C529.53,-52.62 550.85,-52.62 568.28,-52.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="568.15,-56.13 578.15,-52.63 568.15,-49.13 568.15,-56.13"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="666.5,-25.25 545.5,-25.25 545.5,-6 666.5,-6 666.5,-25.25"/>
<text text-anchor="middle" x="606" y="-11.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6_Node000005_Node000007" class="edge">
<title>Node5&#45;&gt;Node7</title>
<g id="a_edge6_Node000005_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M490.45,-42.51C509.13,-38.13 531.2,-32.95 550.97,-28.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="551.57,-31.76 560.51,-26.07 549.97,-24.95 551.57,-31.76"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node7 -->
<g id="edge8_Node000008_Node000007" class="edge">
<title>Node8&#45;&gt;Node7</title>
<g id="a_edge8_Node000008_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M508.32,-15.62C516.66,-15.62 525.28,-15.62 533.78,-15.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="533.74,-19.13 543.74,-15.63 533.74,-12.13 533.74,-19.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1,35 +0,0 @@
<map id="main" name="main">
<area shape="rect" id="Node000001" title=" " alt="" coords="5,132,55,158"/>
<area shape="rect" id="Node000002" href="$de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" title=" " alt="" coords="103,5,203,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="37,130,63,91,101,48,113,38,117,42,105,52,67,95,42,133"/>
<area shape="rect" id="Node000004" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="251,91,382,132"/>
<area shape="poly" id="edge3_Node000001_Node000004" title=" " alt="" coords="43,129,69,109,102,92,135,84,170,82,236,88,236,93,170,87,136,90,104,97,72,113,46,134"/>
<area shape="rect" id="Node000011" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/srand.html#" title=" " alt="" coords="113,205,192,231"/>
<area shape="poly" id="edge11_Node000001_Node000011" title=" " alt="" coords="51,156,104,192,111,196,108,200,101,196,48,160"/>
<area shape="rect" id="Node000012" href="$de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0" title=" " alt="" coords="128,107,178,132"/>
<area shape="poly" id="edge12_Node000001_Node000012" title=" " alt="" coords="55,137,112,125,113,130,56,142"/>
<area shape="rect" id="Node000014" href="$de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0" title=" " alt="" coords="128,156,178,182"/>
<area shape="poly" id="edge15_Node000001_Node000014" title=" " alt="" coords="56,147,113,158,112,164,55,152"/>
<area shape="rect" id="Node000015" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/chrono/c/time.html#" title=" " alt="" coords="117,255,189,280"/>
<area shape="poly" id="edge18_Node000001_Node000015" title=" " alt="" coords="40,157,66,198,84,221,104,242,108,244,104,248,101,245,80,224,61,201,36,160"/>
<area shape="rect" id="Node000003" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="280,5,353,31"/>
<area shape="poly" id="edge2_Node000002_Node000003" title=" " alt="" coords="203,16,265,16,265,21,203,21"/>
<area shape="rect" id="Node000005" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="487,75,559,100"/>
<area shape="poly" id="edge4_Node000004_Node000005" title=" " alt="" coords="382,101,472,91,473,96,383,107"/>
<area shape="rect" id="Node000006" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="430,124,616,150"/>
<area shape="poly" id="edge5_Node000004_Node000006" title=" " alt="" coords="383,117,415,121,414,126,382,122"/>
<area shape="rect" id="Node000007" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="664,99,832,124"/>
<area shape="poly" id="edge6_Node000006_Node000007" title=" " alt="" coords="616,124,648,120,649,125,616,129"/>
<area shape="rect" id="Node000010" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="666,148,830,174"/>
<area shape="poly" id="edge9_Node000006_Node000010" title=" " alt="" coords="616,144,650,148,650,153,616,149"/>
<area shape="rect" id="Node000008" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="926,99,995,124"/>
<area shape="poly" id="edge7_Node000007_Node000008" title=" " alt="" coords="832,109,910,109,910,114,832,114"/>
<area shape="rect" id="Node000009" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="880,148,1041,174"/>
<area shape="poly" id="edge8_Node000007_Node000009" title=" " alt="" coords="807,122,888,141,887,147,806,128"/>
<area shape="poly" id="edge10_Node000010_Node000009" title=" " alt="" coords="830,158,864,158,864,164,830,164"/>
<area shape="poly" id="edge13_Node000012_Node000004" title=" " alt="" coords="179,116,235,113,236,118,179,121"/>
<area shape="rect" id="Node000013" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="281,156,352,182"/>
<area shape="poly" id="edge14_Node000012_Node000013" title=" " alt="" coords="179,124,267,151,265,156,178,130"/>
<area shape="poly" id="edge16_Node000014_Node000004" title=" " alt="" coords="178,158,241,135,243,140,180,163"/>
<area shape="poly" id="edge17_Node000014_Node000013" title=" " alt="" coords="179,166,265,166,265,172,179,172"/>
</map>

View File

@@ -1 +0,0 @@
8c7c14997cb9918f91a4a0bb4ce9ee3d

View File

@@ -1,393 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 214 -->
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<defs>
<circle id="rim" cx="0" cy="0" r="7"/>
<circle id="rim2" cx="0" cy="0" r="3.5"/>
<g id="zoomPlus">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/></use>
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="zoomMin">
<use xlink:href="#rim" fill="#404040"><set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/></use>
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
</g>
<g id="arrowUp" transform="translate(30 24)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowRight" transform="rotate(90) translate(36 -43)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowDown" transform="rotate(180) translate(-30 -48)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="arrowLeft" transform="rotate(270) translate(-36 17)">
<use xlink:href="#rim"/>
<path pointer-events="none" fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
</g>
<g id="resetDef">
<use xlink:href="#rim2" fill="#404040"><set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/></use>
</g>
</defs>
<script type="application/ecmascript">
var viewWidth = 785;
var viewHeight = 214;
var sectionId = 'dynsection-2';
</script>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>main</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37,-111.25 0,-111.25 0,-92 37,-92 37,-111.25"/>
<text text-anchor="middle" x="18.5" y="-97.75" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="148.25,-206.25 73,-206.25 73,-187 148.25,-187 148.25,-206.25"/>
<text text-anchor="middle" x="110.62" y="-192.75" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M25.48,-111.66C34.51,-126.25 52.72,-153.64 73,-172.62 75.86,-175.3 79.06,-177.88 82.33,-180.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="80.08,-182.98 90.33,-185.69 84.01,-177.19 80.08,-182.98"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="282.75,-141.88 184.25,-141.88 184.25,-111.38 282.75,-111.38 282.75,-141.88"/>
<text text-anchor="start" x="192.25" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="233.5" y="-117.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M29.48,-111.66C39.49,-120.96 55.85,-134.15 73,-139.62 105.06,-149.85 142.49,-147.49 173.03,-142.16"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="173.29,-145.68 182.46,-140.37 171.98,-138.8 173.29,-145.68"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/srand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="140.38,-56.25 80.88,-56.25 80.88,-37 140.38,-37 140.38,-56.25"/>
<text text-anchor="middle" x="110.62" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::srand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge11_Node000001_Node000011" class="edge">
<title>Node1&#45;&gt;Node11</title>
<g id="a_edge11_Node000001_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M32.77,-91.63C43.38,-83.83 58.78,-72.97 73,-64.62 74.64,-63.66 76.33,-62.71 78.06,-61.76"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="79.44,-64.99 86.7,-57.27 76.21,-58.78 79.44,-64.99"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="129.5,-130.25 91.75,-130.25 91.75,-111 129.5,-111 129.5,-130.25"/>
<text text-anchor="middle" x="110.62" y="-116.75" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge12_Node000001_Node000012" class="edge">
<title>Node1&#45;&gt;Node12</title>
<g id="a_edge12_Node000001_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.31,-105.38C49.57,-107.96 66.15,-111.46 80.34,-114.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="79.56,-117.86 90.07,-116.5 81,-111.01 79.56,-117.86"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="129.5,-93.25 91.75,-93.25 91.75,-74 129.5,-74 129.5,-93.25"/>
<text text-anchor="middle" x="110.62" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node14 -->
<g id="edge15_Node000001_Node000014" class="edge">
<title>Node1&#45;&gt;Node14</title>
<g id="a_edge15_Node000001_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.31,-98.07C49.57,-95.62 66.15,-92.31 80.34,-89.47"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="80.94,-92.92 90.06,-87.53 79.57,-86.06 80.94,-92.92"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_Node000015"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/chrono/c/time.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="137.75,-19.25 83.5,-19.25 83.5,0 137.75,0 137.75,-19.25"/>
<text text-anchor="middle" x="110.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::time</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node15 -->
<g id="edge18_Node000001_Node000015" class="edge">
<title>Node1&#45;&gt;Node15</title>
<g id="a_edge18_Node000001_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M24.66,-91.57C33.02,-76.11 50.83,-46.33 73,-27.62 73.78,-26.97 74.59,-26.32 75.42,-25.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="77.09,-28.78 83.67,-20.48 73.35,-22.87 77.09,-28.78"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="260.62,-206.25 206.38,-206.25 206.38,-187 260.62,-187 260.62,-206.25"/>
<text text-anchor="middle" x="233.5" y="-192.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M148.55,-196.62C163.23,-196.62 180.11,-196.62 194.86,-196.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.64,-200.13 204.64,-196.63 194.64,-193.13 194.64,-200.13"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="415,-154.25 361.5,-154.25 361.5,-135 415,-135 415,-154.25"/>
<text text-anchor="middle" x="388.25" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M282.83,-132.32C304.6,-134.89 329.91,-137.87 350.15,-140.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="349.58,-143.71 359.92,-141.4 350.4,-136.76 349.58,-143.71"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="457.75,-117.25 318.75,-117.25 318.75,-98 457.75,-98 457.75,-117.25"/>
<text text-anchor="middle" x="388.25" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M282.83,-120.61C290.58,-119.65 298.78,-118.63 307.04,-117.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="307.31,-121.1 316.8,-116.39 306.45,-114.15 307.31,-121.1"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="620,-136.25 493.75,-136.25 493.75,-117 620,-117 620,-136.25"/>
<text text-anchor="middle" x="556.88" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M457.98,-115.46C465.97,-116.37 474.13,-117.3 482.18,-118.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="481.6,-121.68 491.94,-119.33 482.4,-114.72 481.6,-121.68"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="618.5,-99.25 495.25,-99.25 495.25,-80 618.5,-80 618.5,-99.25"/>
<text text-anchor="middle" x="556.88" y="-85.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node10 -->
<g id="edge9_Node000006_Node000010" class="edge">
<title>Node6&#45;&gt;Node10</title>
<g id="a_edge9_Node000006_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M457.98,-100.2C466.37,-99.29 474.95,-98.37 483.39,-97.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="483.69,-100.94 493.26,-96.39 482.94,-93.98 483.69,-100.94"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="742.5,-136.25 690.5,-136.25 690.5,-117 742.5,-117 742.5,-136.25"/>
<text text-anchor="middle" x="716.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge7_Node000007_Node000008" class="edge">
<title>Node7&#45;&gt;Node8</title>
<g id="a_edge7_Node000007_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M620.17,-126.62C640.03,-126.62 661.35,-126.62 678.78,-126.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="678.65,-130.13 688.65,-126.63 678.65,-123.13 678.65,-130.13"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="777,-99.25 656,-99.25 656,-80 777,-80 777,-99.25"/>
<text text-anchor="middle" x="716.5" y="-85.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node9 -->
<g id="edge8_Node000007_Node000009" class="edge">
<title>Node7&#45;&gt;Node9</title>
<g id="a_edge8_Node000007_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M600.95,-116.51C619.63,-112.13 641.7,-106.95 661.47,-102.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="662.07,-105.76 671.01,-100.07 660.47,-98.95 662.07,-105.76"/>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node9 -->
<g id="edge10_Node000010_Node000009" class="edge">
<title>Node10&#45;&gt;Node9</title>
<g id="a_edge10_Node000010_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M618.82,-89.62C627.16,-89.62 635.78,-89.62 644.28,-89.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="644.24,-93.13 654.24,-89.63 644.24,-86.13 644.24,-93.13"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node4 -->
<g id="edge13_Node000012_Node000004" class="edge">
<title>Node12&#45;&gt;Node4</title>
<g id="a_edge13_Node000012_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-121.54C141.52,-122.11 157.11,-122.88 172.65,-123.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="172.22,-127.14 182.38,-124.14 172.57,-120.15 172.22,-127.14"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="260.25,-93.25 206.75,-93.25 206.75,-74 260.25,-74 260.25,-93.25"/>
<text text-anchor="middle" x="233.5" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge14_Node000012_Node000013" class="edge">
<title>Node12&#45;&gt;Node13</title>
<g id="a_edge14_Node000012_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-115.01C147.31,-109.7 173.78,-101.6 195.49,-94.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.35,-98.35 204.89,-92.08 194.3,-91.66 196.35,-98.35"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node4 -->
<g id="edge16_Node000014_Node000004" class="edge">
<title>Node14&#45;&gt;Node4</title>
<g id="a_edge16_Node000014_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-90.16C142.78,-94.71 160.58,-101.04 177.75,-107.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.3,-110.35 186.89,-110.4 178.64,-103.75 176.3,-110.35"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node13 -->
<g id="edge17_Node000014_Node000013" class="edge">
<title>Node14&#45;&gt;Node13</title>
<g id="a_edge17_Node000014_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-83.62C147.15,-83.62 173.3,-83.62 194.89,-83.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.82,-87.13 204.82,-83.63 194.82,-80.13 194.82,-87.13"/>
</a>
</g>
</g>
</g>
</svg>
<g id="navigator" transform="translate(0 0)" fill="#404254">
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
<use id="arrowup" xlink:href="#arrowUp" x="0" y="0" onmousedown="handlePan(0,-1)"/>
<use id="arrowright" xlink:href="#arrowRight" x="0" y="0" onmousedown="handlePan(1,0)"/>
<use id="arrowdown" xlink:href="#arrowDown" x="0" y="0" onmousedown="handlePan(0,1)"/>
<use id="arrowleft" xlink:href="#arrowLeft" x="0" y="0" onmousedown="handlePan(-1,0)"/>
</g>
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
<g id="arrow_out" transform="scale(0.3 0.3)">
<a xlink:href="qr__eigen__values_8cpp_a3c04138a5bfe5d72780bb7e82a18e627_cgraph_org.svg" target="_base">
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
<path id="arrow"
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
style="fill:#404040;"/>
</a>
</g>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,310 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: main Pages: 1 -->
<svg width="785pt" height="214pt"
viewBox="0.00 0.00 785.00 214.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 210.25)">
<title>main</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="37,-111.25 0,-111.25 0,-92 37,-92 37,-111.25"/>
<text text-anchor="middle" x="18.5" y="-97.75" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="148.25,-206.25 73,-206.25 73,-187 148.25,-187 148.25,-206.25"/>
<text text-anchor="middle" x="110.62" y="-192.75" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M25.48,-111.66C34.51,-126.25 52.72,-153.64 73,-172.62 75.86,-175.3 79.06,-177.88 82.33,-180.28"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="80.08,-182.98 90.33,-185.69 84.01,-177.19 80.08,-182.98"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="282.75,-141.88 184.25,-141.88 184.25,-111.38 282.75,-111.38 282.75,-141.88"/>
<text text-anchor="start" x="192.25" y="-128.38" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="233.5" y="-117.12" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3_Node000001_Node000004" class="edge">
<title>Node1&#45;&gt;Node4</title>
<g id="a_edge3_Node000001_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M29.48,-111.66C39.49,-120.96 55.85,-134.15 73,-139.62 105.06,-149.85 142.49,-147.49 173.03,-142.16"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="173.29,-145.68 182.46,-140.37 171.98,-138.8 173.29,-145.68"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/srand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="140.38,-56.25 80.88,-56.25 80.88,-37 140.38,-37 140.38,-56.25"/>
<text text-anchor="middle" x="110.62" y="-42.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::srand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge11_Node000001_Node000011" class="edge">
<title>Node1&#45;&gt;Node11</title>
<g id="a_edge11_Node000001_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M32.77,-91.63C43.38,-83.83 58.78,-72.97 73,-64.62 74.64,-63.66 76.33,-62.71 78.06,-61.76"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="79.44,-64.99 86.7,-57.27 76.21,-58.78 79.44,-64.99"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="129.5,-130.25 91.75,-130.25 91.75,-111 129.5,-111 129.5,-130.25"/>
<text text-anchor="middle" x="110.62" y="-116.75" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge12_Node000001_Node000012" class="edge">
<title>Node1&#45;&gt;Node12</title>
<g id="a_edge12_Node000001_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.31,-105.38C49.57,-107.96 66.15,-111.46 80.34,-114.45"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="79.56,-117.86 90.07,-116.5 81,-111.01 79.56,-117.86"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="129.5,-93.25 91.75,-93.25 91.75,-74 129.5,-74 129.5,-93.25"/>
<text text-anchor="middle" x="110.62" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node14 -->
<g id="edge15_Node000001_Node000014" class="edge">
<title>Node1&#45;&gt;Node14</title>
<g id="a_edge15_Node000001_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M37.31,-98.07C49.57,-95.62 66.15,-92.31 80.34,-89.47"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="80.94,-92.92 90.06,-87.53 79.57,-86.06 80.94,-92.92"/>
</a>
</g>
</g>
<!-- Node15 -->
<g id="Node000015" class="node">
<title>Node15</title>
<g id="a_Node000015"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/chrono/c/time.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="137.75,-19.25 83.5,-19.25 83.5,0 137.75,0 137.75,-19.25"/>
<text text-anchor="middle" x="110.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::time</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node15 -->
<g id="edge18_Node000001_Node000015" class="edge">
<title>Node1&#45;&gt;Node15</title>
<g id="a_edge18_Node000001_Node000015"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M24.66,-91.57C33.02,-76.11 50.83,-46.33 73,-27.62 73.78,-26.97 74.59,-26.32 75.42,-25.7"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="77.09,-28.78 83.67,-20.48 73.35,-22.87 77.09,-28.78"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="260.62,-206.25 206.38,-206.25 206.38,-187 260.62,-187 260.62,-206.25"/>
<text text-anchor="middle" x="233.5" y="-192.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M148.55,-196.62C163.23,-196.62 180.11,-196.62 194.86,-196.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.64,-200.13 204.64,-196.63 194.64,-193.13 194.64,-200.13"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="415,-154.25 361.5,-154.25 361.5,-135 415,-135 415,-154.25"/>
<text text-anchor="middle" x="388.25" y="-140.75" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge4_Node000004_Node000005" class="edge">
<title>Node4&#45;&gt;Node5</title>
<g id="a_edge4_Node000004_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M282.83,-132.32C304.6,-134.89 329.91,-137.87 350.15,-140.25"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="349.58,-143.71 359.92,-141.4 350.4,-136.76 349.58,-143.71"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="457.75,-117.25 318.75,-117.25 318.75,-98 457.75,-98 457.75,-117.25"/>
<text text-anchor="middle" x="388.25" y="-103.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node6 -->
<g id="edge5_Node000004_Node000006" class="edge">
<title>Node4&#45;&gt;Node6</title>
<g id="a_edge5_Node000004_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M282.83,-120.61C290.58,-119.65 298.78,-118.63 307.04,-117.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="307.31,-121.1 316.8,-116.39 306.45,-114.15 307.31,-121.1"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="620,-136.25 493.75,-136.25 493.75,-117 620,-117 620,-136.25"/>
<text text-anchor="middle" x="556.88" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_mag</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6_Node000006_Node000007" class="edge">
<title>Node6&#45;&gt;Node7</title>
<g id="a_edge6_Node000006_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M457.98,-115.46C465.97,-116.37 474.13,-117.3 482.18,-118.22"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="481.6,-121.68 491.94,-119.33 482.4,-114.72 481.6,-121.68"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="618.5,-99.25 495.25,-99.25 495.25,-80 618.5,-80 618.5,-99.25"/>
<text text-anchor="middle" x="556.88" y="-85.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node10 -->
<g id="edge9_Node000006_Node000010" class="edge">
<title>Node6&#45;&gt;Node10</title>
<g id="a_edge9_Node000006_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M457.98,-100.2C466.37,-99.29 474.95,-98.37 483.39,-97.46"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="483.69,-100.94 493.26,-96.39 482.94,-93.98 483.69,-100.94"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="742.5,-136.25 690.5,-136.25 690.5,-117 742.5,-117 742.5,-136.25"/>
<text text-anchor="middle" x="716.5" y="-122.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::sqrt</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge7_Node000007_Node000008" class="edge">
<title>Node7&#45;&gt;Node8</title>
<g id="a_edge7_Node000007_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M620.17,-126.62C640.03,-126.62 661.35,-126.62 678.78,-126.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="678.65,-130.13 688.65,-126.63 678.65,-123.13 678.65,-130.13"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" target="_top" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="777,-99.25 656,-99.25 656,-80 777,-80 777,-99.25"/>
<text text-anchor="middle" x="716.5" y="-85.75" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_dot</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node9 -->
<g id="edge8_Node000007_Node000009" class="edge">
<title>Node7&#45;&gt;Node9</title>
<g id="a_edge8_Node000007_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M600.95,-116.51C619.63,-112.13 641.7,-106.95 661.47,-102.31"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="662.07,-105.76 671.01,-100.07 660.47,-98.95 662.07,-105.76"/>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node9 -->
<g id="edge10_Node000010_Node000009" class="edge">
<title>Node10&#45;&gt;Node9</title>
<g id="a_edge10_Node000010_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M618.82,-89.62C627.16,-89.62 635.78,-89.62 644.28,-89.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="644.24,-93.13 654.24,-89.63 644.24,-86.13 644.24,-93.13"/>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node4 -->
<g id="edge13_Node000012_Node000004" class="edge">
<title>Node12&#45;&gt;Node4</title>
<g id="a_edge13_Node000012_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-121.54C141.52,-122.11 157.11,-122.88 172.65,-123.65"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="172.22,-127.14 182.38,-124.14 172.57,-120.15 172.22,-127.14"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="260.25,-93.25 206.75,-93.25 206.75,-74 260.25,-74 260.25,-93.25"/>
<text text-anchor="middle" x="233.5" y="-79.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge14_Node000012_Node000013" class="edge">
<title>Node12&#45;&gt;Node13</title>
<g id="a_edge14_Node000012_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-115.01C147.31,-109.7 173.78,-101.6 195.49,-94.95"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="196.35,-98.35 204.89,-92.08 194.3,-91.66 196.35,-98.35"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node4 -->
<g id="edge16_Node000014_Node000004" class="edge">
<title>Node14&#45;&gt;Node4</title>
<g id="a_edge16_Node000014_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-90.16C142.78,-94.71 160.58,-101.04 177.75,-107.15"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="176.3,-110.35 186.89,-110.4 178.64,-103.75 176.3,-110.35"/>
</a>
</g>
</g>
<!-- Node14&#45;&gt;Node13 -->
<g id="edge17_Node000014_Node000013" class="edge">
<title>Node14&#45;&gt;Node13</title>
<g id="a_edge17_Node000014_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M129.98,-83.62C147.15,-83.62 173.3,-83.62 194.89,-83.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="194.82,-87.13 204.82,-83.63 194.82,-80.13 194.82,-87.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,5 +0,0 @@
<map id="create_matrix" name="create_matrix">
<area shape="rect" id="Node000001" title=" " alt="" coords="5,5,106,31"/>
<area shape="rect" id="Node000002" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="154,5,226,31"/>
<area shape="poly" id="edge1_Node000001_Node000002" title=" " alt="" coords="106,16,138,16,138,21,106,21"/>
</map>

View File

@@ -1 +0,0 @@
62794838fd2c4f12bc0bb5fd97ea8c65

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: create_matrix Pages: 1 -->
<svg width="174pt" height="27pt"
viewBox="0.00 0.00 173.50 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve">
<style type="text/css"><![CDATA[
.node, .edge {opacity: 0.7;}
.node.selected, .edge.selected {opacity: 1;}
.edge:hover path { stroke: red; }
.edge:hover polygon { stroke: red; fill: red; }
]]></style>
<script type="application/ecmascript" xlink:href="../../svg.min.js"/>
<svg id="graph" class="graph">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>create_matrix</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="75.25,-19.25 0,-19.25 0,0 75.25,0 75.25,-19.25"/>
<text text-anchor="middle" x="37.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="165.5,-19.25 111.25,-19.25 111.25,0 165.5,0 165.5,-19.25"/>
<text text-anchor="middle" x="138.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M75.68,-9.62C83.45,-9.62 91.67,-9.62 99.48,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="99.39,-13.13 109.39,-9.63 99.39,-6.13 99.39,-13.13"/>
</a>
</g>
</g>
</g>
</svg>
</svg>
<style type='text/css'>
<![CDATA[
[data-mouse-over-selected='false'] { opacity: 0.7; }
[data-mouse-over-selected='true'] { opacity: 1.0; }
]]>
</style>
<script type="application/ecmascript"><![CDATA[
document.addEventListener('DOMContentLoaded', (event) => {
highlightEdges();
highlightAdjacentNodes();
});
]]></script>
</svg>

Before

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,39 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 12.1.2 (20240928.0832)
-->
<!-- Title: create_matrix Pages: 1 -->
<svg width="174pt" height="27pt"
viewBox="0.00 0.00 173.50 27.25" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 23.25)">
<title>create_matrix</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title=" ">
<polygon fill="#999999" stroke="#666666" points="75.25,-19.25 0,-19.25 0,0 75.25,0 75.25,-19.25"/>
<text text-anchor="middle" x="37.62" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="#666666" points="165.5,-19.25 111.25,-19.25 111.25,0 165.5,0 165.5,-19.25"/>
<text text-anchor="middle" x="138.38" y="-5.75" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M75.68,-9.62C83.45,-9.62 91.67,-9.62 99.48,-9.62"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="99.39,-13.13 109.39,-9.63 99.39,-6.13 99.39,-13.13"/>
</a>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,379 @@
<!-- HTML header for doxygen 1.12.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<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="viewport" content="width=device-width, initial-scale=1"/>
<title>TheAlgorithms/C++: numerical_methods/qr_eigen_values.cpp Source File</title>
<link rel="icon" href="../../favicon.svg" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@xpack-3rd-party/doxygen-awesome-css@2.2.0-1/doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">
DoxygenAwesomeDarkModeToggle.init()
</script>
<script type="text/javascript" src="../../clipboard.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../cookie.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/javascript">
window.MathJax = {
options: {
ignoreHtmlClass: 'tex2jax_ignore',
processHtmlClass: 'tex2jax_process'
},
loader: {
load: ['[tex]/ams']
},
tex: {
macros: {},
packages: ['base','configmacros','ams']
}
};
</script>
<script type="text/javascript" id="MathJax-script" async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../doxygen-awesome.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectlogo"><img alt="Logo" src="../../project_logo.png"/></td>
<td id="projectalign">
<div id="projectname">TheAlgorithms/C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">All the algorithms implemented in C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(1); });
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search',true);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('de/d75/qr__eigen__values_8cpp_source.html','../../'); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">qr_eigen_values.cpp</div></div>
</div><!--header-->
<div class="contents">
<a href="../../de/d75/qr__eigen__values_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span> </div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="preprocessor">#include &lt;cassert&gt;</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="preprocessor">#include &lt;cstdlib&gt;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="preprocessor">#include &lt;ctime&gt;</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="preprocessor">#include &lt;iostream&gt;</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="preprocessor">#ifdef _OPENMP</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="preprocessor">#include &lt;omp.h&gt;</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> </div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="preprocessor">#include &quot;<a class="code" href="../../d4/d68/qr__decompose_8h.html">./qr_decompose.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="keyword">using </span>qr_algorithm::operator&lt;&lt;;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40"> 20</a></span><span class="preprocessor">#define LIMS 9 </span></div>
<div class="foldopen" id="foldopen00028" data-start="{" data-end="}">
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d"> 28</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a>(std::valarray&lt;std::valarray&lt;double&gt;&gt; *A) {</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">int</span> i, j, tmp, lim2 = <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a> &gt;&gt; 1;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">int</span> N = A-&gt;size();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#ifdef _OPENMP</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#pragma omp for</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">for</span> (i = 0; i &lt; N; i++) {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> A[0][i][i] = (std::rand() % <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">for</span> (j = i + 1; j &lt; N; j++) {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> tmp = (std::rand() % <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> A[0][i][j] = tmp; <span class="comment">// summetrically distribute random values</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> A[0][j][i] = tmp;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> }</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> </div>
<div class="foldopen" id="foldopen00054" data-start="{" data-end="}">
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae"> 54</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a>(<span class="keyword">const</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; &amp;A,</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keyword">const</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; &amp;B,</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; *OUT) {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> R1 = A.size();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> C1 = A[0].size();</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> R2 = B.size();</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> C2 = B[0].size();</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (C1 != R2) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> perror(<span class="stringliteral">&quot;Matrix dimensions mismatch!&quot;</span>);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; R1; i++) {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; C2; j++) {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> OUT[0][i][j] = 0.f;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; C1; k++) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> OUT[0][i][j] += A[i][k] * B[k][j];</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div>
</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> </div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="keyword">namespace </span><a class="code hl_namespace" href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a> {</div>
<div class="foldopen" id="foldopen00098" data-start="{" data-end="}">
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc"> 98</a></span>std::valarray&lt;double&gt; <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">eigen_values</a>(std::valarray&lt;std::valarray&lt;double&gt;&gt; *A,</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <span class="keywordtype">bool</span> print_intermediates = <span class="keyword">false</span>) {</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordtype">int</span> rows = A-&gt;size();</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <span class="keywordtype">int</span> columns = rows;</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordtype">int</span> counter = 0, num_eigs = rows - 1;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="keywordtype">double</span> last_eig = 0;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> </div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; Q(rows);</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; R(columns);</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="comment">/* number of eigen values = matrix size */</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> std::valarray&lt;double&gt; eigen_vals(rows);</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> Q[i] = std::valarray&lt;double&gt;(columns);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> R[i] = std::valarray&lt;double&gt;(columns);</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> }</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">/* continue till all eigen values are found */</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">while</span> (num_eigs &gt; 0) {</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="comment">/* iterate with QR decomposition */</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <span class="keywordflow">while</span> (std::abs(A[0][num_eigs][num_eigs - 1]) &gt;</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> std::numeric_limits&lt;double&gt;::epsilon()) {</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// initial approximation = last diagonal element</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> last_eig = A[0][num_eigs][num_eigs];</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> A[0][i][i] -= last_eig; <span class="comment">/* A - cI */</span></div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1">qr_decompose</a>(*A, &amp;Q, &amp;R);</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> </div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <span class="keywordflow">if</span> (print_intermediates) {</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> std::cout &lt;&lt; *A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> std::cout &lt;&lt; Q &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> std::cout &lt;&lt; R &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> printf(<span class="stringliteral">&quot;-------------------- %d ---------------------\n&quot;</span>,</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> ++counter);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> }</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> </div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="comment">// new approximation A&#39; = R * Q</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a>(R, Q, A);</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> A[0][i][i] += last_eig; <span class="comment">/* A + cI */</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> }</div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> }</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="comment">/* store the converged eigen value */</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> eigen_vals[num_eigs] = last_eig;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="comment">// A[0][num_eigs][num_eigs];</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <span class="keywordflow">if</span> (print_intermediates) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> std::cout &lt;&lt; <span class="stringliteral">&quot;========================\n&quot;</span>;</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Eigen value: &quot;</span> &lt;&lt; last_eig &lt;&lt; <span class="stringliteral">&quot;,\n&quot;</span>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> std::cout &lt;&lt; <span class="stringliteral">&quot;========================\n&quot;</span>;</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> num_eigs--;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span> rows--;</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span> columns--;</div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> }</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> eigen_vals[0] = A[0][0][0];</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> </div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <span class="keywordflow">if</span> (print_intermediates) {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> std::cout &lt;&lt; Q &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> std::cout &lt;&lt; R &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> }</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> </div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> <span class="keywordflow">return</span> eigen_vals;</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span>}</div>
</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span>} <span class="comment">// namespace qr_algorithm</span></div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"> 168</span> </div>
<div class="foldopen" id="foldopen00177" data-start="{" data-end="}">
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0"> 177</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>() {</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; X = {{5, 7}, {7, 11}};</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">double</span> y[] = {15.56158, 0.384227}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> std::cout &lt;&lt; <span class="stringliteral">&quot;------- Test 1 -------&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> std::valarray&lt;double&gt; eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 2; i++) {</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> std::cout &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/2 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">bool</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 2 &amp;&amp; !result; j++) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> std::cout &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> }</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> std::cout &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed\n\n&quot;</span>;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span>}</div>
</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> </div>
<div class="foldopen" id="foldopen00210" data-start="{" data-end="}">
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0"> 210</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>() {</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; X = {{-4, 4, 2, 0, -3},</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> {4, -4, 4, -3, -1},</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> {2, 4, 4, 3, -3},</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> {0, -3, 3, -1, -3},</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> {-3, -1, -3, -3, 0}};</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">double</span> y[] = {9.27648, -9.26948, 2.0181, -1.03516,</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> -5.98994}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> std::cout &lt;&lt; <span class="stringliteral">&quot;------- Test 2 -------&quot;</span> &lt;&lt; std::endl;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> std::valarray&lt;double&gt; eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> std::cout &lt;&lt; X &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> &lt;&lt; <span class="stringliteral">&quot;Eigen values: &quot;</span> &lt;&lt; eig_vals &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 5; i++) {</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> std::cout &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/5 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">bool</span> result = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 5 &amp;&amp; !result; j++) {</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> result = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> std::cout &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> }</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> std::cout &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> }</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed\n\n&quot;</span>;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span>}</div>
</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"> 239</span> </div>
<div class="foldopen" id="foldopen00243" data-start="{" data-end="}">
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="../../de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627"> 243</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> **argv) {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = 5;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (argc == 2) {</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = atoi(argv[1]);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> { <span class="comment">// if invalid input argument is given run tests</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>();</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Usage: ./qr_eigen_values [mat_size]\n&quot;</span>;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> }</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> &lt; 2) {</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> fprintf(stderr, <span class="stringliteral">&quot;Matrix size should be &gt; 2\n&quot;</span>);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// initialize random number generator</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> std::srand(std::time(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">int</span> i, rows = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>, columns = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> std::valarray&lt;std::valarray&lt;double&gt;&gt; A(rows);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> A[i] = std::valarray&lt;double&gt;(columns);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> }</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/* create a random matrix */</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a>(&amp;A);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> std::cout &lt;&lt; A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> clock_t t1 = clock();</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> std::valarray&lt;double&gt; eigen_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;A);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">double</span> dtime = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(clock() - t1) / CLOCKS_PER_SEC;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> std::cout &lt;&lt; <span class="stringliteral">&quot;Eigen vals: &quot;</span>;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) std::cout &lt;&lt; eigen_vals[i] &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> std::cout &lt;&lt; <span class="stringliteral">&quot;\nTime taken to compute: &quot;</span> &lt;&lt; dtime &lt;&lt; <span class="stringliteral">&quot; sec\n&quot;</span>;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>}</div>
</div>
<div class="ttc" id="agenerate__parentheses_8cpp_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dd/d1e/generate__parentheses_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdoc">Main function.</div><div class="ttdef"><b>Definition</b> <a href="../../dd/d1e/generate__parentheses_8cpp_source.html#l00110">generate_parentheses.cpp:110</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d35/matrix__exponentiation_8cpp_source.html#l00045">matrix_exponentiation.cpp:45</a></div></div>
<div class="ttc" id="anamespaceqr__algorithm_html"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></div><div class="ttdoc">Functions to compute QR decomposition of any rectangular matrix.</div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a28e2fa3e803abaea6c568dc45d69d8cc"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition</b> <a href="#l00098">qr_eigen_values.cpp:98</a></div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a73ce637634fc49e1d10d190eb388ebf1"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1">qr_algorithm::qr_decompose</a></div><div class="ttdeci">void qr_decompose(const std::valarray&lt; std::valarray&lt; T &gt; &gt; &amp;A, std::valarray&lt; std::valarray&lt; T &gt; &gt; *Q, std::valarray&lt; std::valarray&lt; T &gt; &gt; *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__decompose_8h_html"><div class="ttname"><a href="../../d4/d68/qr__decompose_8h.html">qr_decompose.h</a></div><div class="ttdoc">Library functions to compute QR decomposition of a given matrix.</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition</b> <a href="#l00210">qr_eigen_values.cpp:210</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a1440a7779ac56f47a3f355ce4a8c7da0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a></div><div class="ttdeci">void test1()</div><div class="ttdef"><b>Definition</b> <a href="#l00177">qr_eigen_values.cpp:177</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a9bbf469d5525a816b0d6ca812119093d"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A)</div><div class="ttdef"><b>Definition</b> <a href="#l00028">qr_eigen_values.cpp:28</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&lt; std::valarray&lt; double &gt; &gt; &amp;A, const std::valarray&lt; std::valarray&lt; double &gt; &gt; &amp;B, std::valarray&lt; std::valarray&lt; double &gt; &gt; *OUT)</div><div class="ttdef"><b>Definition</b> <a href="#l00054">qr_eigen_values.cpp:54</a></div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_aee57a411f07599034f5ceb8cc7d65b40"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a></div><div class="ttdeci">#define LIMS</div><div class="ttdef"><b>Definition</b> <a href="#l00020">qr_eigen_values.cpp:20</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9c6faab82c22511b50177aa2e38e2780.html">numerical_methods</a></li><li class="navelem"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html">qr_eigen_values.cpp</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>
</ul>
</div>
</body>
</html>