Documentation for aaa08b0150

This commit is contained in:
github-actions
2020-06-19 16:07:44 +00:00
parent 4c261744f6
commit 93021161c2
1714 changed files with 114526 additions and 0 deletions

View File

@@ -0,0 +1,994 @@
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.18"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: numerical_methods/ordinary_least_squares_regressor.cpp File Reference</title>
<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>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.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/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</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>
<link href="../../doxygen.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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.18 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dc/d38/ordinary__least__squares__regressor_8cpp.html','../../'); initResizable(); });
/* @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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">ordinary_least_squares_regressor.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Linear regression example using <a href="https://en.wikipedia.org/wiki/Ordinary_least_squares">Ordinary least squares</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iomanip&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for ordinary_least_squares_regressor.cpp:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/d4b/ordinary__least__squares__regressor_8cpp__incl.svg" width="256" height="127"><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">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a98eb5807f21b783c341cab402ced6732"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a98eb5807f21b783c341cab402ced6732"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98eb5807f21b783c341cab402ced6732">operator&lt;&lt;</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;out, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;v)</td></tr>
<tr class="separator:a98eb5807f21b783c341cab402ced6732"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa799b4cec1681219887d89d037cfab50"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aa799b4cec1681219887d89d037cfab50"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#aa799b4cec1681219887d89d037cfab50">operator&lt;&lt;</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;out, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;v)</td></tr>
<tr class="separator:aa799b4cec1681219887d89d037cfab50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4921874435266592b222e3f2eda0e01f"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a4921874435266592b222e3f2eda0e01f"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f">is_square</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;A)</td></tr>
<tr class="separator:a4921874435266592b222e3f2eda0e01f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6171f4db68a5e50ae0f3500a63acd26"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ab6171f4db68a5e50ae0f3500a63acd26"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#ab6171f4db68a5e50ae0f3500a63acd26">operator*</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;A, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;B)</td></tr>
<tr class="separator:ab6171f4db68a5e50ae0f3500a63acd26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d9dd5c5816d6d907b00e5f4b0372a5"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a64d9dd5c5816d6d907b00e5f4b0372a5"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a64d9dd5c5816d6d907b00e5f4b0372a5">operator*</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;A, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;B)</td></tr>
<tr class="separator:a64d9dd5c5816d6d907b00e5f4b0372a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b2b5da35a6ba8ae203c33739ef0b91d"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a9b2b5da35a6ba8ae203c33739ef0b91d"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a9b2b5da35a6ba8ae203c33739ef0b91d">operator*</a> (float const scalar, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;A)</td></tr>
<tr class="separator:a9b2b5da35a6ba8ae203c33739ef0b91d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecef32c2a4f39a3f7398949256d180a6"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:aecef32c2a4f39a3f7398949256d180a6"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#aecef32c2a4f39a3f7398949256d180a6">operator*</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;A, float const scalar)</td></tr>
<tr class="separator:aecef32c2a4f39a3f7398949256d180a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30acf52af3184bc22274234ef5a73536"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a30acf52af3184bc22274234ef5a73536"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a30acf52af3184bc22274234ef5a73536">operator/</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;A, float const scalar)</td></tr>
<tr class="separator:a30acf52af3184bc22274234ef5a73536"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31be3fe36e76b87d5616ff8e7918cd24"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a31be3fe36e76b87d5616ff8e7918cd24"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a31be3fe36e76b87d5616ff8e7918cd24">operator-</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;A, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;B)</td></tr>
<tr class="separator:a31be3fe36e76b87d5616ff8e7918cd24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67249e31221231cf3aaf3cfd870372d0"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a67249e31221231cf3aaf3cfd870372d0"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a67249e31221231cf3aaf3cfd870372d0">operator+</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;A, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;B)</td></tr>
<tr class="separator:a67249e31221231cf3aaf3cfd870372d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98ab8f75d981088369b89b8be2182483"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a98ab8f75d981088369b89b8be2182483"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483">get_inverse</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;A)</td></tr>
<tr class="separator:a98ab8f75d981088369b89b8be2182483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a889f9de199fa793497c864d8e493af05"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a889f9de199fa793497c864d8e493af05"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05">get_transpose</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;A)</td></tr>
<tr class="separator:a889f9de199fa793497c864d8e493af05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ff1d954e9b7de93eb20e2dd101a045"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a38ff1d954e9b7de93eb20e2dd101a045"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045">fit_OLS_regressor</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;X, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;Y)</td></tr>
<tr class="separator:a38ff1d954e9b7de93eb20e2dd101a045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bcaaf41c66da4d3a471dacef133def7"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:a4bcaaf41c66da4d3a471dacef133def7"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7">predict_OLS_regressor</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;X, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt; const &amp;beta)</td></tr>
<tr class="separator:a4bcaaf41c66da4d3a471dacef133def7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Linear regression example using <a href="https://en.wikipedia.org/wiki/Ordinary_least_squares">Ordinary least squares</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala">Krishna Vedala</a> Program that gets the number of data samples and number of features per sample along with output per sample. It applies OLS regression to compute the regression output for additional test data samples. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a38ff1d954e9b7de93eb20e2dd101a045"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38ff1d954e9b7de93eb20e2dd101a045">&#9670;&nbsp;</a></span>fit_OLS_regressor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; fit_OLS_regressor </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>Y</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Perform Ordinary Least Squares curve fit. This operation is defined as </p><p class="formulaDsp">
\[\beta = \left(X^TXX^T\right)Y\]
</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>feature matrix with rows representing sample vector of features </td></tr>
<tr><td class="paramname">Y</td><td>known regression value for each sample </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>fitted regression model polynomial coefficients </dd></dl>
<div class="fragment"><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>&#160; {</div>
<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>&#160; <span class="comment">// NxF</span></div>
<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;T&gt;</a>&gt; X2 = X;</div>
<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; X2.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); i++)</div>
<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>&#160; <span class="comment">// add Y-intercept -&gt; Nx(F+1)</span></div>
<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>&#160; X2[i].push_back(1);</div>
<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>&#160; <span class="comment">// (F+1)xN</span></div>
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;T&gt;</a>&gt; Xt = <a class="code" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05">get_transpose</a>(X2);</div>
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>&#160; <span class="comment">// (F+1)x(F+1)</span></div>
<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;T&gt;</a>&gt; tmp = <a class="code" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483">get_inverse</a>(Xt * X2);</div>
<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>&#160; <span class="comment">// (F+1)xN</span></div>
<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;float&gt;</a>&gt; out = tmp * Xt;</div>
<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>&#160; <span class="comment">// cout &lt;&lt; endl</span></div>
<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>&#160; <span class="comment">// &lt;&lt; &quot;Projection matrix: &quot; &lt;&lt; X2 * out &lt;&lt; endl;</span></div>
<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>&#160; </div>
<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>&#160; <span class="comment">// Fx1,1 -&gt; (F+1)^th element is the independent constant</span></div>
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>&#160; <span class="keywordflow">return</span> out * Y;</div>
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a38ff1d954e9b7de93eb20e2dd101a045_cgraph.svg" width="428" height="164"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a98ab8f75d981088369b89b8be2182483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98ab8f75d981088369b89b8be2182483">&#9670;&nbsp;</a></span>get_inverse()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; &gt; get_inverse </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get matrix inverse using Row-trasnformations. Given matrix must be a square and non-singular. </p><dl class="section return"><dt>Returns</dt><dd>inverse matrix </dd></dl>
<div class="fragment"><div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; {</div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>&#160; <span class="comment">// Assuming A is square matrix</span></div>
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; <span class="keywordtype">size_t</span> N = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;float&gt;</a>&gt; inverse(N);</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N; row++) {</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; <span class="comment">// preallocatae a resultant identity matrix</span></div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; inverse[row] = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a>(N);</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; N; col++)</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; inverse[row][col] = (row == col) ? 1.f : 0.f;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; }</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; </div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f">is_square</a>(A)) {</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;A must be a square matrix!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; <span class="keywordflow">return</span> inverse;</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>&#160; <span class="comment">// preallocatae a temporary matrix identical to A</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;float&gt;</a>&gt; temp(N);</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N; row++) {</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> v(N);</div>
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; N; col++)</div>
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>&#160; v[col] = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(A[row][col]);</div>
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>&#160; temp[row] = v;</div>
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>&#160; }</div>
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; </div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="comment">// start transformations</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N; row++) {</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row2 = row; row2 &lt; N &amp;&amp; temp[row][row] == 0; row2++) {</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; <span class="comment">// this to ensure diagonal elements are not 0</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; temp[row] = temp[row] + temp[row2];</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; inverse[row] = inverse[row] + inverse[row2];</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>&#160; }</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; </div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col2 = row; col2 &lt; N &amp;&amp; temp[row][row] == 0; col2++) {</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; <span class="comment">// this to further ensure diagonal elements are not 0</span></div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row2 = 0; row2 &lt; N; row2++) {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; temp[row2][row] = temp[row2][row] + temp[row2][col2];</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; inverse[row2][row] = inverse[row2][row] + inverse[row2][col2];</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; }</div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; </div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <span class="keywordflow">if</span> (temp[row][row] == 0) {</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; <span class="comment">// Probably a low-rank matrix and hence singular</span></div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Low-rank matrix, no inverse!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; <span class="keywordflow">return</span> inverse;</div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; }</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="comment">// set diagonal to 1</span></div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; <span class="keywordtype">float</span> divisor = <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(temp[row][row]);</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; temp[row] = temp[row] / divisor;</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; inverse[row] = inverse[row] / divisor;</div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">// Row transformations</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row2 = 0; row2 &lt; N; row2++) {</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; <span class="keywordflow">if</span> (row2 == row)</div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; <span class="keywordtype">float</span> factor = temp[row2][row];</div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; temp[row2] = temp[row2] - factor * temp[row];</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; inverse[row2] = inverse[row2] - factor * inverse[row];</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; }</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; }</div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>&#160; </div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">return</span> inverse;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a98ab8f75d981088369b89b8be2182483_cgraph.svg" width="227" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a889f9de199fa793497c864d8e493af05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a889f9de199fa793497c864d8e493af05">&#9670;&nbsp;</a></span>get_transpose()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; &gt; get_transpose </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>matrix transpose </p><dl class="section return"><dt>Returns</dt><dd>resultant matrix </dd></dl>
<div class="fragment"><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>&#160; {</div>
<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;T&gt;</a>&gt; result(A[0].size());</div>
<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>&#160; </div>
<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; A[0].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); row++) {</div>
<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> v(A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); col++) v[col] = A[col][row];</div>
<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>&#160; </div>
<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>&#160; result[row] = v;</div>
<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>&#160; }</div>
<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a4921874435266592b222e3f2eda0e01f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4921874435266592b222e3f2eda0e01f">&#9670;&nbsp;</a></span>is_square()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool is_square </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>function to check if given matrix is a square matrix </p><dl class="section return"><dt>Returns</dt><dd>1 if true, 0 if false </dd></dl>
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="comment">// Assuming A is square matrix</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="keywordtype">size_t</span> N = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; N; i++)</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">if</span> (A[i].size() != N)</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>main function </p>
<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>&#160; {</div>
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>&#160; <span class="keywordtype">size_t</span> N, F;</div>
<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>&#160; </div>
<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter number of features: &quot;</span>;</div>
<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>&#160; <span class="comment">// number of features = columns</span></div>
<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; F;</div>
<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter number of samples: &quot;</span>;</div>
<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>&#160; <span class="comment">// number of samples = rows</span></div>
<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; N;</div>
<div class="line"><a name="l00366"></a><span class="lineno"> 366</span>&#160; </div>
<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;float&gt;</a>&gt; <a class="code" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>(N);</div>
<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> Y(N);</div>
<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div>
<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Enter training data. Per sample, provide features ad one output.&quot;</span></div>
<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>&#160; </div>
<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> rows = 0; rows &lt; N; rows++) {</div>
<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> v(F);</div>
<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Sample# &quot;</span> &lt;&lt; rows + 1 &lt;&lt; <span class="stringliteral">&quot;: &quot;</span>;</div>
<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> cols = 0; cols &lt; F; cols++)</div>
<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>&#160; <span class="comment">// get the F features</span></div>
<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; v[cols];</div>
<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>&#160; <a class="code" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>[rows] = v;</div>
<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>&#160; <span class="comment">// get the corresponding output</span></div>
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; Y[rows];</div>
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>&#160; }</div>
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>&#160; </div>
<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> beta = <a class="code" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045">fit_OLS_regressor</a>(<a class="code" href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a>, Y);</div>
<div class="line"><a name="l00386"></a><span class="lineno"> 386</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a> &lt;&lt; <span class="stringliteral">&quot;beta:&quot;</span> &lt;&lt; beta &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>&#160; </div>
<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>&#160; <span class="keywordtype">size_t</span> T;</div>
<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter number of test samples: &quot;</span>;</div>
<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>&#160; <span class="comment">// number of test sample inputs</span></div>
<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; T;</div>
<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;float&gt;</a>&gt; data2(T);</div>
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>&#160; <span class="comment">// vector&lt;float&gt; Y2(T);</span></div>
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>&#160; </div>
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> rows = 0; rows &lt; T; rows++) {</div>
<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Sample# &quot;</span> &lt;&lt; rows + 1 &lt;&lt; <span class="stringliteral">&quot;: &quot;</span>;</div>
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> v(F);</div>
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> cols = 0; cols &lt; F; cols++) std::cin &gt;&gt; v[cols];</div>
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>&#160; data2[rows] = v;</div>
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>&#160; }</div>
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>&#160; </div>
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> out = <a class="code" href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7">predict_OLS_regressor</a>(data2, beta);</div>
<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> rows = 0; rows &lt; T; rows++) <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; out[rows] &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="555" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a9b2b5da35a6ba8ae203c33739ef0b91d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b2b5da35a6ba8ae203c33739ef0b91d">&#9670;&nbsp;</a></span>operator*() <span class="overload">[1/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; operator* </td>
<td>(</td>
<td class="paramtype">float const&#160;</td>
<td class="paramname"><em>scalar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>pre-multiplication of a vector by a scalar </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160; {</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; <span class="keywordtype">size_t</span> N_A = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; </div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> result(N_A);</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; </div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N_A; row++) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; result[row] += A[row] * <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(scalar);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; }</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; </div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a9b2b5da35a6ba8ae203c33739ef0b91d_cgraph.svg" width="250" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="ab6171f4db68a5e50ae0f3500a63acd26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6171f4db68a5e50ae0f3500a63acd26">&#9670;&nbsp;</a></span>operator*() <span class="overload">[2/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; &gt; operator* </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Matrix multiplication such that if A is size (mxn) and B is of size (pxq) then the multiplication is defined only when n = p and the resultant matrix is of size (mxq)</p>
<dl class="section return"><dt>Returns</dt><dd>resultant matrix </dd></dl>
<div class="fragment"><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordtype">size_t</span> N_A = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="comment">// Number of columns in B</span></div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordtype">size_t</span> N_B = B[0].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; </div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;std::vector&lt;T&gt;</a>&gt; result(N_A);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (A[0].size() != B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Number of columns in A != Number of rows in B (&quot;</span></div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; &lt;&lt; A[0].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N_A; row++) {</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> v(N_B);</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; N_B; col++) {</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; v[col] = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0);</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j &lt; B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++)</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; v[col] += A[row][j] * B[j][col];</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; result[row] = v;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; }</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; </div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_ab6171f4db68a5e50ae0f3500a63acd26_cgraph.svg" width="206" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a64d9dd5c5816d6d907b00e5f4b0372a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d9dd5c5816d6d907b00e5f4b0372a5">&#9670;&nbsp;</a></span>operator*() <span class="overload">[3/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; operator* </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>multiplication of a matrix with a column vector </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">size_t</span> N_A = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; </div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> result(N_A);</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; </div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">if</span> (A[0].size() != B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()) {</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Number of columns in A != Number of rows in B (&quot;</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; &lt;&lt; A[0].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;, &quot;</span> &lt;&lt; B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; }</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; </div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N_A; row++) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; result[row] = <span class="keyword">static_cast&lt;</span>T<span class="keyword">&gt;</span>(0);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> j = 0; j &lt; B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); j++) result[row] += A[row][j] * B[j];</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; }</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; </div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a64d9dd5c5816d6d907b00e5f4b0372a5_cgraph.svg" width="250" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="aecef32c2a4f39a3f7398949256d180a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecef32c2a4f39a3f7398949256d180a6">&#9670;&nbsp;</a></span>operator*() <span class="overload">[4/4]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; operator* </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float const&#160;</td>
<td class="paramname"><em>scalar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>post-multiplication of a vector by a scalar </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; {</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordtype">size_t</span> N_A = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; </div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> result(N_A);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; </div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N_A; row++)</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; result[row] = A[row] * <span class="keyword">static_cast&lt;</span><span class="keywordtype">float</span><span class="keyword">&gt;</span>(scalar);</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; </div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_aecef32c2a4f39a3f7398949256d180a6_cgraph.svg" width="250" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a67249e31221231cf3aaf3cfd870372d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67249e31221231cf3aaf3cfd870372d0">&#9670;&nbsp;</a></span>operator+()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; operator+ </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>addition of two vectors of identical lengths </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; {</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160; <span class="keywordtype">size_t</span> N = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160; </div>
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> result(N);</div>
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160; </div>
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160; <span class="keywordflow">if</span> (B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != N) {</div>
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Vector dimensions shouldbe identical!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>&#160; <span class="keywordflow">return</span> A;</div>
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>&#160; }</div>
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>&#160; </div>
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N; row++) result[row] = A[row] + B[row];</div>
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>&#160; </div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a67249e31221231cf3aaf3cfd870372d0_cgraph.svg" width="252" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a31be3fe36e76b87d5616ff8e7918cd24"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31be3fe36e76b87d5616ff8e7918cd24">&#9670;&nbsp;</a></span>operator-()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; operator- </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>subtraction of two vectors of identical lengths </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; {</div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <span class="comment">// Number of rows in A</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <span class="keywordtype">size_t</span> N = A.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>();</div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; </div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> result(N);</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; </div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <span class="keywordflow">if</span> (B.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() != N) {</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;Vector dimensions shouldbe identical!&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160; <span class="keywordflow">return</span> A;</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; }</div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; </div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; N; row++) result[row] = A[row] - B[row];</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; </div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a31be3fe36e76b87d5616ff8e7918cd24_cgraph.svg" width="248" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a30acf52af3184bc22274234ef5a73536"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a30acf52af3184bc22274234ef5a73536">&#9670;&nbsp;</a></span>operator/()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; operator/ </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float const&#160;</td>
<td class="paramname"><em>scalar</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>division of a vector by a scalar </p><dl class="section return"><dt>Returns</dt><dd>resultant vector </dd></dl>
<div class="fragment"><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160; {</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="keywordflow">return</span> (1.<a class="code" href="../../d4/d32/fibonacci__fast_8cpp.html#a3ba232425d45f9e9c0b87a8cf7ab69d9">f</a> / scalar) * A;</div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a98eb5807f21b783c341cab402ced6732"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98eb5807f21b783c341cab402ced6732">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a>&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>operator to print a matrix </p>
<div class="fragment"><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; {</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> width = 10;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> separator = <span class="charliteral">&#39; &#39;</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; v.size(); row++) {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; v[row].size(); col++)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; out &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(width) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a>(separator)</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; &lt;&lt; v[row][col];</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; out &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; }</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; </div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_a98eb5807f21b783c341cab402ced6732_cgraph.svg" width="223" height="190"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="aa799b4cec1681219887d89d037cfab50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa799b4cec1681219887d89d037cfab50">&#9670;&nbsp;</a></span>operator&lt;&lt;() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a>&amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td>
<td class="paramname"><em>out</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>operator to print a vector </p>
<div class="fragment"><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; {</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> width = 15;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> separator = <span class="charliteral">&#39; &#39;</span>;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; v.size(); row++)</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; out &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(width) &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a>(separator)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; &lt;&lt; v[row];</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;}</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="../../dc/d38/ordinary__least__squares__regressor_8cpp_aa799b4cec1681219887d89d037cfab50_cgraph.svg" width="223" height="139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="a4bcaaf41c66da4d3a471dacef133def7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bcaaf41c66da4d3a471dacef133def7">&#9670;&nbsp;</a></span>predict_OLS_regressor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;float&gt; predict_OLS_regressor </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&gt; const &amp;&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; float &gt; const &amp;&#160;</td>
<td class="paramname"><em>beta</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Given data and OLS model coeffficients, predict regression estimates. This operation is defined as </p><p class="formulaDsp">
\[y_{\text{row}=i} = \sum_{j=\text{columns}}\beta_j\cdot X_{i,j}\]
</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">X</td><td>feature matrix with rows representing sample vector of features </td></tr>
<tr><td class="paramname">beta</td><td>fitted regression model </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>vector with regression values for each sample </dd></dl>
<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>&#160; {</div>
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;float&gt;</a> result(X.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>());</div>
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>&#160; </div>
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> rows = 0; rows &lt; X.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); rows++) {</div>
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>&#160; <span class="comment">// -&gt; start with constant term</span></div>
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>&#160; result[rows] = beta[X[0].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>()];</div>
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> cols = 0; cols &lt; X[0].size(); cols++)</div>
<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>&#160; result[rows] += beta[cols] * X[rows][cols];</div>
<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>&#160; }</div>
<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>&#160; <span class="comment">// Nx1</span></div>
<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>&#160; <span class="keywordflow">return</span> result;</div>
<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div class="ttc" id="afibonacci__fast_8cpp_html_a3ba232425d45f9e9c0b87a8cf7ab69d9"><div class="ttname"><a href="../../d4/d32/fibonacci__fast_8cpp.html#a3ba232425d45f9e9c0b87a8cf7ab69d9">f</a></div><div class="ttdeci">uint64_t f[MAX]</div><div class="ttdef"><b>Definition:</b> fibonacci_fast.cpp:27</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div><div class="ttdoc">STL class.</div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
<div class="ttc" id="asetfill_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a></div><div class="ttdeci">T setfill(T... args)</div></div>
<div class="ttc" id="aordinary__least__squares__regressor_8cpp_html_a4921874435266592b222e3f2eda0e01f"><div class="ttname"><a href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f">is_square</a></div><div class="ttdeci">bool is_square(std::vector&lt; std::vector&lt; T &gt;&gt; const &amp;A)</div><div class="ttdef"><b>Definition:</b> ordinary_least_squares_regressor.cpp:54</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::cerr</a></div></div>
<div class="ttc" id="aordinary__least__squares__regressor_8cpp_html_a4bcaaf41c66da4d3a471dacef133def7"><div class="ttname"><a href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7">predict_OLS_regressor</a></div><div class="ttdeci">std::vector&lt; float &gt; predict_OLS_regressor(std::vector&lt; std::vector&lt; T &gt;&gt; const &amp;X, std::vector&lt; float &gt; const &amp;beta)</div><div class="ttdef"><b>Definition:</b> ordinary_least_squares_regressor.cpp:339</div></div>
<div class="ttc" id="ahash__search_8cpp_html_a6e1a77282bc65ad359d753d25df23243"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a></div><div class="ttdeci">int data[MAX]</div><div class="ttdoc">test data</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:24</div></div>
<div class="ttc" id="aordinary__least__squares__regressor_8cpp_html_a38ff1d954e9b7de93eb20e2dd101a045"><div class="ttname"><a href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045">fit_OLS_regressor</a></div><div class="ttdeci">std::vector&lt; float &gt; fit_OLS_regressor(std::vector&lt; std::vector&lt; T &gt;&gt; const &amp;X, std::vector&lt; T &gt; const &amp;Y)</div><div class="ttdef"><b>Definition:</b> ordinary_least_squares_regressor.cpp:309</div></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="aordinary__least__squares__regressor_8cpp_html_a98ab8f75d981088369b89b8be2182483"><div class="ttname"><a href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483">get_inverse</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; float &gt; &gt; get_inverse(std::vector&lt; std::vector&lt; T &gt;&gt; const &amp;A)</div><div class="ttdef"><b>Definition:</b> ordinary_least_squares_regressor.cpp:217</div></div>
<div class="ttc" id="aleft_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a></div><div class="ttdeci">T left(T... args)</div></div>
<div class="ttc" id="asetw_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a></div><div class="ttdeci">T setw(T... args)</div></div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="aordinary__least__squares__regressor_8cpp_html_a889f9de199fa793497c864d8e493af05"><div class="ttname"><a href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05">get_transpose</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; T &gt; &gt; get_transpose(std::vector&lt; std::vector&lt; T &gt;&gt; const &amp;A)</div><div class="ttdef"><b>Definition:</b> ordinary_least_squares_regressor.cpp:288</div></div>
<!-- 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="../../dc/d38/ordinary__least__squares__regressor_8cpp.html">ordinary_least_squares_regressor.cpp</a></li>
<li class="footer">Generated on Fri Jun 19 2020 16:06:44 for Algorithms_in_C++ by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
</ul>
</div>
</body>
</html>

View File

@@ -0,0 +1,18 @@
var ordinary__least__squares__regressor_8cpp =
[
[ "fit_OLS_regressor", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045", null ],
[ "get_inverse", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483", null ],
[ "get_transpose", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05", null ],
[ "is_square", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f", null ],
[ "main", "dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "operator*", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a9b2b5da35a6ba8ae203c33739ef0b91d", null ],
[ "operator*", "dc/d38/ordinary__least__squares__regressor_8cpp.html#ab6171f4db68a5e50ae0f3500a63acd26", null ],
[ "operator*", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a64d9dd5c5816d6d907b00e5f4b0372a5", null ],
[ "operator*", "dc/d38/ordinary__least__squares__regressor_8cpp.html#aecef32c2a4f39a3f7398949256d180a6", null ],
[ "operator+", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a67249e31221231cf3aaf3cfd870372d0", null ],
[ "operator-", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a31be3fe36e76b87d5616ff8e7918cd24", null ],
[ "operator/", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a30acf52af3184bc22274234ef5a73536", null ],
[ "operator<<", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a98eb5807f21b783c341cab402ced6732", null ],
[ "operator<<", "dc/d38/ordinary__least__squares__regressor_8cpp.html#aa799b4cec1681219887d89d037cfab50", null ],
[ "predict_OLS_regressor", "dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7", null ]
];

View File

@@ -0,0 +1,5 @@
<map id="operator&#45;" name="operator&#45;">
<area shape="rect" id="node1" title=" " alt="" coords="5,31,79,57"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="149,5,221,32"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="127,56,243,83"/>
</map>

View File

@@ -0,0 +1 @@
2f3b031b202221f1b2541d0dcb9cbcc0

View File

@@ -0,0 +1,52 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator&#45; Pages: 1 -->
<svg width="186pt" height="66pt"
viewBox="0.00 0.00 186.00 66.00" 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 62)">
<title>operator&#45;</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 182,-62 182,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 55,-38.5 55,-19.5 0,-19.5"/>
<text text-anchor="middle" x="27.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator&#45;</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="107.5,-38.5 107.5,-57.5 161.5,-57.5 161.5,-38.5 107.5,-38.5"/>
<text text-anchor="middle" x="134.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M55.27,-33.84C67.95,-36.14 83.3,-38.92 97.03,-41.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="96.68,-44.89 107.14,-43.23 97.93,-38.01 96.68,-44.89"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="91,-0.5 91,-19.5 178,-19.5 178,-0.5 91,-0.5"/>
<text text-anchor="middle" x="134.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M55.27,-24.16C63.13,-22.73 72.01,-21.13 80.89,-19.52"/>
<polygon fill="midnightblue" stroke="midnightblue" points="81.65,-22.94 90.87,-17.71 80.4,-16.05 81.65,-22.94"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,8 @@
<map id="fit_OLS_regressor" name="fit_OLS_regressor">
<area shape="rect" id="node1" title=" " alt="" coords="5,81,132,108"/>
<area shape="rect" id="node2" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483" title=" " alt="" coords="193,31,283,57"/>
<area shape="rect" id="node5" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05" title=" " alt="" coords="186,81,290,108"/>
<area shape="rect" id="node6" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="180,132,296,159"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="347,5,419,32"/>
<area shape="rect" id="node4" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" title=" " alt="" coords="344,56,423,83"/>
</map>

View File

@@ -0,0 +1 @@
f7cdb2473afd1e28b5b5851eb8c61505

View File

@@ -0,0 +1,97 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: fit_OLS_regressor Pages: 1 -->
<svg width="321pt" height="123pt"
viewBox="0.00 0.00 321.00 123.00" 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 119)">
<title>fit_OLS_regressor</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-119 317,-119 317,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-38.5 0,-57.5 95,-57.5 95,-38.5 0,-38.5"/>
<text text-anchor="middle" x="47.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">fit_OLS_regressor</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="141,-76.5 141,-95.5 208,-95.5 208,-76.5 141,-76.5"/>
<text text-anchor="middle" x="174.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_inverse</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M80.04,-57.59C95.88,-62.4 115.27,-68.3 132.28,-73.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="131.38,-76.85 141.97,-76.41 133.42,-70.16 131.38,-76.85"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="135.5,-38.5 135.5,-57.5 213.5,-57.5 213.5,-38.5 135.5,-38.5"/>
<text text-anchor="middle" x="174.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_transpose</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M95.05,-48C104.94,-48 115.4,-48 125.35,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="125.49,-51.5 135.49,-48 125.49,-44.5 125.49,-51.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="131,-0.5 131,-19.5 218,-19.5 218,-0.5 131,-0.5"/>
<text text-anchor="middle" x="174.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M80.04,-38.41C95.88,-33.6 115.27,-27.7 132.28,-22.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="133.42,-25.84 141.97,-19.59 131.38,-19.15 133.42,-25.84"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="256.5,-95.5 256.5,-114.5 310.5,-114.5 310.5,-95.5 256.5,-95.5"/>
<text text-anchor="middle" x="283.5" y="-102.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M208.18,-91.8C220.28,-93.95 234.07,-96.4 246.45,-98.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="246,-102.07 256.45,-100.37 247.22,-95.18 246,-102.07"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="254,-57.5 254,-76.5 313,-76.5 313,-57.5 254,-57.5"/>
<text text-anchor="middle" x="283.5" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_square</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M208.18,-80.2C219.5,-78.19 232.28,-75.92 244.02,-73.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="244.76,-77.26 254,-72.06 243.54,-70.36 244.76,-77.26"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@@ -0,0 +1,5 @@
<map id="operator*" name="operator*">
<area shape="rect" id="node1" title=" " alt="" coords="5,31,80,57"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="150,5,222,32"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="128,56,244,83"/>
</map>

View File

@@ -0,0 +1 @@
64cbbb1df5c344a9a2abafce74132318

View File

@@ -0,0 +1,52 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator* Pages: 1 -->
<svg width="187pt" height="66pt"
viewBox="0.00 0.00 187.00 66.00" 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 62)">
<title>operator*</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 183,-62 183,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 56,-38.5 56,-19.5 0,-19.5"/>
<text text-anchor="middle" x="28" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator*</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="108.5,-38.5 108.5,-57.5 162.5,-57.5 162.5,-38.5 108.5,-38.5"/>
<text text-anchor="middle" x="135.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M56.17,-33.89C68.92,-36.19 84.29,-38.96 98.03,-41.43"/>
<polygon fill="midnightblue" stroke="midnightblue" points="97.69,-44.93 108.15,-43.25 98.93,-38.04 97.69,-44.93"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="92,-0.5 92,-19.5 179,-19.5 179,-0.5 92,-0.5"/>
<text text-anchor="middle" x="135.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M56.17,-24.11C64.06,-22.69 72.97,-21.08 81.87,-19.48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="82.64,-22.9 91.86,-17.68 81.4,-16.01 82.64,-22.9"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,5 @@
<map id="operator+" name="operator+">
<area shape="rect" id="node1" title=" " alt="" coords="5,31,83,57"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="153,5,225,32"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="131,56,247,83"/>
</map>

View File

@@ -0,0 +1 @@
d57610d3d7b0c5ac21d89b7326a3a580

View File

@@ -0,0 +1,52 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator+ Pages: 1 -->
<svg width="189pt" height="66pt"
viewBox="0.00 0.00 189.00 66.00" 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 62)">
<title>operator+</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 185,-62 185,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 58,-38.5 58,-19.5 0,-19.5"/>
<text text-anchor="middle" x="29" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator+</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="110.5,-38.5 110.5,-57.5 164.5,-57.5 164.5,-38.5 110.5,-38.5"/>
<text text-anchor="middle" x="137.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M58.26,-34.04C71.13,-36.34 86.51,-39.08 100.22,-41.53"/>
<polygon fill="midnightblue" stroke="midnightblue" points="99.84,-45.02 110.3,-43.33 101.07,-38.12 99.84,-45.02"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="94,-0.5 94,-19.5 181,-19.5 181,-0.5 94,-0.5"/>
<text text-anchor="middle" x="137.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M58.26,-23.96C66.14,-22.55 74.96,-20.98 83.77,-19.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="84.42,-22.85 93.65,-17.64 83.19,-15.95 84.42,-22.85"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,5 @@
<map id="get_inverse" name="get_inverse">
<area shape="rect" id="node1" title=" " alt="" coords="5,31,95,57"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="146,5,218,32"/>
<area shape="rect" id="node3" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" title=" " alt="" coords="143,56,221,83"/>
</map>

View File

@@ -0,0 +1 @@
1c8e663a07d91145beb8fb2008e86122

View File

@@ -0,0 +1,52 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: get_inverse Pages: 1 -->
<svg width="170pt" height="66pt"
viewBox="0.00 0.00 170.00 66.00" 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 62)">
<title>get_inverse</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 166,-62 166,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 67,-38.5 67,-19.5 0,-19.5"/>
<text text-anchor="middle" x="33.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_inverse</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="105.5,-38.5 105.5,-57.5 159.5,-57.5 159.5,-38.5 105.5,-38.5"/>
<text text-anchor="middle" x="132.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M67.07,-35.38C76.11,-37.15 85.97,-39.08 95.21,-40.89"/>
<polygon fill="midnightblue" stroke="midnightblue" points="94.81,-44.38 105.29,-42.87 96.15,-37.51 94.81,-44.38"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="103,-0.5 103,-19.5 162,-19.5 162,-0.5 103,-0.5"/>
<text text-anchor="middle" x="132.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_square</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M67.07,-22.62C75.29,-21.01 84.19,-19.27 92.68,-17.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="93.62,-20.99 102.76,-15.63 92.27,-14.12 93.62,-20.99"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,7 @@
<map id="operator&lt;&lt;" name="operator&lt;&lt;">
<area shape="rect" id="node1" title=" " alt="" coords="5,81,91,108"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="142,5,214,32"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/left.html#" title=" " alt="" coords="145,56,211,83"/>
<area shape="rect" id="node4" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setfill.html#" title=" " alt="" coords="139,107,217,133"/>
<area shape="rect" id="node5" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setw.html#" title=" " alt="" coords="140,157,216,184"/>
</map>

View File

@@ -0,0 +1 @@
5d572395cc614d4fe8d328f204366b12

View File

@@ -0,0 +1,82 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator&lt;&lt; Pages: 1 -->
<svg width="167pt" height="142pt"
viewBox="0.00 0.00 167.00 142.00" 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 138)">
<title>operator&lt;&lt;</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-138 163,-138 163,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-57.5 0,-76.5 64,-76.5 64,-57.5 0,-57.5"/>
<text text-anchor="middle" x="32" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator&lt;&lt;</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="102.5,-114.5 102.5,-133.5 156.5,-133.5 156.5,-114.5 102.5,-114.5"/>
<text text-anchor="middle" x="129.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M49.2,-76.67C64.11,-85.57 86.44,-98.9 103.61,-109.14"/>
<polygon fill="midnightblue" stroke="midnightblue" points="102.16,-112.35 112.54,-114.47 105.75,-106.34 102.16,-112.35"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/left.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="104.5,-76.5 104.5,-95.5 154.5,-95.5 154.5,-76.5 104.5,-76.5"/>
<text text-anchor="middle" x="129.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::left</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M64.01,-73.17C73.71,-75.1 84.46,-77.24 94.37,-79.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="93.81,-82.67 104.3,-81.19 95.18,-75.8 93.81,-82.67"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/setfill.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="100,-38.5 100,-57.5 159,-57.5 159,-38.5 100,-38.5"/>
<text text-anchor="middle" x="129.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setfill</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M64.01,-60.83C72.31,-59.18 81.38,-57.38 90.03,-55.65"/>
<polygon fill="midnightblue" stroke="midnightblue" points="90.79,-59.07 99.91,-53.69 89.42,-52.21 90.79,-59.07"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/setw.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="101,-0.5 101,-19.5 158,-19.5 158,-0.5 101,-0.5"/>
<text text-anchor="middle" x="129.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setw</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M49.2,-57.33C64.11,-48.43 86.44,-35.1 103.61,-24.86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="105.75,-27.66 112.54,-19.53 102.16,-21.65 105.75,-27.66"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,4 @@
<map id="operator*" name="operator*">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,80,32"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="128,5,244,32"/>
</map>

View File

@@ -0,0 +1 @@
853180b63c189d061d111dc9113e2b51

View File

@@ -0,0 +1,37 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator* Pages: 1 -->
<svg width="187pt" height="28pt"
viewBox="0.00 0.00 187.00 28.00" 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 24)">
<title>operator*</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 183,-24 183,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 56,-19.5 56,-0.5 0,-0.5"/>
<text text-anchor="middle" x="28" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator*</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="92,-0.5 92,-19.5 179,-19.5 179,-0.5 92,-0.5"/>
<text text-anchor="middle" x="135.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M56.17,-10C63.98,-10 72.78,-10 81.58,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="81.86,-13.5 91.86,-10 81.86,-6.5 81.86,-13.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,6 @@
<map id="operator&lt;&lt;" name="operator&lt;&lt;">
<area shape="rect" id="node1" title=" " alt="" coords="5,56,91,83"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/left.html#" title=" " alt="" coords="145,5,211,32"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setfill.html#" title=" " alt="" coords="139,56,217,83"/>
<area shape="rect" id="node4" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setw.html#" title=" " alt="" coords="140,107,216,133"/>
</map>

View File

@@ -0,0 +1 @@
25ec4718e406f531ef8a8f0cb804f843

View File

@@ -0,0 +1,67 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator&lt;&lt; Pages: 1 -->
<svg width="167pt" height="104pt"
viewBox="0.00 0.00 167.00 104.00" 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 100)">
<title>operator&lt;&lt;</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-100 163,-100 163,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-38.5 0,-57.5 64,-57.5 64,-38.5 0,-38.5"/>
<text text-anchor="middle" x="32" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator&lt;&lt;</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/left.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="104.5,-76.5 104.5,-95.5 154.5,-95.5 154.5,-76.5 104.5,-76.5"/>
<text text-anchor="middle" x="129.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::left</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M57.1,-57.59C68.52,-62.13 82.36,-67.64 94.8,-72.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="93.82,-75.97 104.41,-76.41 96.41,-69.46 93.82,-75.97"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/setfill.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="100,-38.5 100,-57.5 159,-57.5 159,-38.5 100,-38.5"/>
<text text-anchor="middle" x="129.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setfill</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M64.01,-48C72.21,-48 81.18,-48 89.74,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="89.91,-51.5 99.91,-48 89.91,-44.5 89.91,-51.5"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/setw.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="101,-0.5 101,-19.5 158,-19.5 158,-0.5 101,-0.5"/>
<text text-anchor="middle" x="129.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setw</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M57.1,-38.41C68.52,-33.87 82.36,-28.36 94.8,-23.41"/>
<polygon fill="midnightblue" stroke="midnightblue" points="96.41,-26.54 104.41,-19.59 93.82,-20.03 96.41,-26.54"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,4 @@
<map id="operator*" name="operator*">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,80,32"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="128,5,200,32"/>
</map>

View File

@@ -0,0 +1 @@
bdce570240e0de070c1169e752ba7ecb

View File

@@ -0,0 +1,37 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator* Pages: 1 -->
<svg width="154pt" height="28pt"
viewBox="0.00 0.00 154.00 28.00" 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 24)">
<title>operator*</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 150,-24 150,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 56,-19.5 56,-0.5 0,-0.5"/>
<text text-anchor="middle" x="28" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator*</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="92,-0.5 92,-19.5 146,-19.5 146,-0.5 92,-0.5"/>
<text text-anchor="middle" x="119" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M56.19,-10C64.25,-10 73.22,-10 81.77,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="81.89,-13.5 91.89,-10 81.89,-6.5 81.89,-13.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,10 @@
<map id="main" name="main">
<area shape="rect" id="node1" title=" " alt="" coords="5,81,56,108"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="474,5,546,32"/>
<area shape="rect" id="node3" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045" title=" " alt="" coords="118,81,245,108"/>
<area shape="rect" id="node8" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7" title=" " alt="" coords="104,132,259,159"/>
<area shape="rect" id="node4" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483" title=" " alt="" coords="320,56,409,83"/>
<area shape="rect" id="node6" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05" title=" " alt="" coords="313,107,417,133"/>
<area shape="rect" id="node7" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="307,157,423,184"/>
<area shape="rect" id="node5" href="$dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" title=" " alt="" coords="471,56,549,83"/>
</map>

View File

@@ -0,0 +1 @@
25d118c3503cf8d09b19ff9b6d6e3e43

View File

@@ -0,0 +1,133 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: main Pages: 1 -->
<svg width="416pt" height="142pt"
viewBox="0.00 0.00 416.00 142.00" 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 138)">
<title>main</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-138 412,-138 412,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-57.5 0,-76.5 38,-76.5 38,-57.5 0,-57.5"/>
<text text-anchor="middle" x="19" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="351.5,-114.5 351.5,-133.5 405.5,-133.5 405.5,-114.5 351.5,-114.5"/>
<text text-anchor="middle" x="378.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M38.2,-74.5C48.54,-78.48 61.81,-83.13 74,-86 168.88,-108.36 283.75,-118.19 341.15,-121.97"/>
<polygon fill="midnightblue" stroke="midnightblue" points="340.98,-125.46 351.18,-122.6 341.42,-118.48 340.98,-125.46"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a38ff1d954e9b7de93eb20e2dd101a045" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="84.5,-57.5 84.5,-76.5 179.5,-76.5 179.5,-57.5 84.5,-57.5"/>
<text text-anchor="middle" x="132" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">fit_OLS_regressor</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M38.33,-67C48.24,-67 61.08,-67 74.03,-67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="74.38,-70.5 84.38,-67 74.38,-63.5 74.38,-70.5"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4bcaaf41c66da4d3a471dacef133def7" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-19.5 74,-38.5 190,-38.5 190,-19.5 74,-19.5"/>
<text text-anchor="middle" x="132" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">predict_OLS_regressor</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M38.47,-60.42C48.89,-56.72 62.15,-52.06 74,-48 79.96,-45.96 86.28,-43.82 92.45,-41.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="93.6,-45.06 101.97,-38.57 91.38,-38.42 93.6,-45.06"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a98ab8f75d981088369b89b8be2182483" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="236,-76.5 236,-95.5 303,-95.5 303,-76.5 236,-76.5"/>
<text text-anchor="middle" x="269.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_inverse</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M179.63,-73.54C194.54,-75.63 210.96,-77.93 225.59,-79.98"/>
<polygon fill="midnightblue" stroke="midnightblue" points="225.49,-83.5 235.88,-81.43 226.46,-76.57 225.49,-83.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a889f9de199fa793497c864d8e493af05" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="230.5,-38.5 230.5,-57.5 308.5,-57.5 308.5,-38.5 230.5,-38.5"/>
<text text-anchor="middle" x="269.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">get_transpose</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node3&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M179.63,-60.46C192.68,-58.63 206.89,-56.64 220.04,-54.8"/>
<polygon fill="midnightblue" stroke="midnightblue" points="220.9,-58.21 230.32,-53.35 219.93,-51.28 220.9,-58.21"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="226,-0.5 226,-19.5 313,-19.5 313,-0.5 226,-0.5"/>
<text text-anchor="middle" x="269.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<title>Node3&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M164.7,-57.46C173.04,-54.67 181.94,-51.44 190,-48 206.64,-40.89 209.73,-36.92 226,-29 229.58,-27.26 233.35,-25.49 237.11,-23.76"/>
<polygon fill="midnightblue" stroke="midnightblue" points="238.65,-26.9 246.32,-19.59 235.76,-20.52 238.65,-26.9"/>
</g>
<!-- Node4&#45;&gt;Node2 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M297.5,-95.59C310.88,-100.34 327.22,-106.14 341.64,-111.26"/>
<polygon fill="midnightblue" stroke="midnightblue" points="340.65,-114.63 351.25,-114.68 343,-108.03 340.65,-114.63"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../dc/d38/ordinary__least__squares__regressor_8cpp.html#a4921874435266592b222e3f2eda0e01f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="349,-76.5 349,-95.5 408,-95.5 408,-76.5 349,-76.5"/>
<text text-anchor="middle" x="378.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">is_square</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node4&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M303.18,-86C314.38,-86 327.02,-86 338.66,-86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="339,-89.5 349,-86 339,-82.5 339,-89.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.5 KiB

View File

@@ -0,0 +1,4 @@
<map id="operator*" name="operator*">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,80,32"/>
<area shape="rect" id="node2" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="128,5,244,32"/>
</map>

View File

@@ -0,0 +1 @@
853180b63c189d061d111dc9113e2b51

View File

@@ -0,0 +1,37 @@
<?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 2.44.0 (20200408.0750)
-->
<!-- Title: operator* Pages: 1 -->
<svg width="187pt" height="28pt"
viewBox="0.00 0.00 187.00 28.00" 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 24)">
<title>operator*</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 183,-24 183,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 56,-19.5 56,-0.5 0,-0.5"/>
<text text-anchor="middle" x="28" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">operator*</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="92,-0.5 92,-19.5 179,-19.5 179,-0.5 92,-0.5"/>
<text text-anchor="middle" x="135.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M56.17,-10C63.98,-10 72.78,-10 81.58,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="81.86,-13.5 91.86,-10 81.86,-6.5 81.86,-13.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB