<!-- HTML header for doxygen 1.8.3.1-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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.6"/>
<title>Templates -- Meow: meowpp/math/Vector.h Source File</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="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<link href="custom.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="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">Templates -- Meow
   &#160;<span id="projectnumber">1.1.4</span>
   </div>
   <div id="projectbrief">A C++ template which is unable and also not allowed to compile to obj-file first.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
</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">
$(document).ready(function(){initNavTree('Vector_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Vector.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="Vector_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="preprocessor">#ifndef   math_Vector_H__</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define   math_Vector_H__</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="preprocessor">#include &quot;../Self.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="Matrix_8h.html">Matrix.h</a>&quot;</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;</div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#include &lt;vector&gt;</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;</div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="preprocessor">#include &lt;cmath&gt;</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;</div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="keyword">namespace </span>meow {</div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="keyword">template</span>&lt;<span class="keyword">class</span> Scalar&gt;</div>
<div class="line"><a name="l00019"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html">   19</a></span>&#160;<span class="keyword">class </span><a class="code" href="classmeow_1_1Vector.html">Vector</a> {</div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ac7464dd163607b1a6417e438a639d050">   21</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classmeow_1_1Matrix.html">Matrix&lt;Scalar&gt;::EntryRefK</a> <a class="code" href="classmeow_1_1Vector.html#ac7464dd163607b1a6417e438a639d050">ScalarRefK</a>;</div>
<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a29e75e2dd5e46da4c7b95354c8787a30">   22</a></span>&#160;  <span class="keyword">typedef</span> <span class="keyword">typename</span> <a class="code" href="classmeow_1_1Matrix.html">Matrix&lt;Scalar&gt;::EntryRef</a>  <a class="code" href="classmeow_1_1Vector.html#a29e75e2dd5e46da4c7b95354c8787a30">ScalarRef</a> ;</div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;  <a class="code" href="classmeow_1_1Matrix.html">Matrix&lt;Scalar&gt;</a> matrix_;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">   31</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>() {</div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;  }</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a7def8437ada844cc6b6dc9769aba1ee6">   41</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a7def8437ada844cc6b6dc9769aba1ee6">Vector</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v): matrix_(v.matrix_) {</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;  }</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a34ca34c834e47288894cec2445e5b073">   51</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a34ca34c834e47288894cec2445e5b073">Vector</a>(<a class="code" href="classmeow_1_1Matrix.html">Matrix&lt;Scalar&gt;</a> <span class="keyword">const</span>&amp; m): matrix_(m.col(0)) {</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;  }</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;</div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a58f997cdc6b98a76ae13bba6d685d815">   61</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a58f997cdc6b98a76ae13bba6d685d815">Vector</a>(std::vector&lt;Scalar&gt; <span class="keyword">const</span>&amp; v): matrix_(v.size(), 1, Scalar(0)) {</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0, I = v.size(); i &lt; I; i++) {</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;      matrix_.<a class="code" href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">entry</a>(i, 0, v[i]);</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    }</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  }</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a5589e07881f9f6a7bb7c43630d30ecdd">   75</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a5589e07881f9f6a7bb7c43630d30ecdd">Vector</a>(<span class="keywordtype">size_t</span> d, Scalar <span class="keyword">const</span>&amp; e): matrix_(d, 1, e) {</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;  }</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div>
<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#aee0da81d6a393d2abf7bf20c2ef260c3">   79</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#aee0da81d6a393d2abf7bf20c2ef260c3">~Vector</a>() {</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;  }</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;</div>
<div class="line"><a name="l00083"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a52540cc03073243026770587c35beba0">   83</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a>&amp; <a class="code" href="classmeow_1_1Vector.html#a52540cc03073243026770587c35beba0">copyFrom</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v) {</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    matrix_.<a class="code" href="classmeow_1_1Matrix.html#afb81446984f7c27458ccef86be2de413">copyFrom</a>(v.matrix_);</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;  }</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ad46346bcc2250cbf91803d38df9d538e">   89</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a>&amp; <a class="code" href="classmeow_1_1Vector.html#ad46346bcc2250cbf91803d38df9d538e">referenceFrom</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v) {</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    matrix_.<a class="code" href="classmeow_1_1Matrix.html#a1dbef5b1a46df480f7fa3e118fd12bec">referenceFrom</a>(v.matrix_);</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</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;</div>
<div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ad3b1665885c683f41b94fd59b0f5e084">   95</a></span>&#160;  <a class="code" href="classmeow_1_1Matrix.html">Matrix&lt;Scalar&gt;</a> <span class="keyword">const</span>&amp; <a class="code" href="classmeow_1_1Vector.html#ad3b1665885c683f41b94fd59b0f5e084">matrix</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <span class="keywordflow">return</span> matrix_;</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;  }</div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a554bb098d8af7ef1458624e8b1f47e6a">  100</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classmeow_1_1Vector.html#a554bb098d8af7ef1458624e8b1f47e6a">dimension</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    <span class="keywordflow">return</span> matrix_.<a class="code" href="classmeow_1_1Matrix.html#a560adbe0b39f52bfb016edddc2955178">rows</a>();</div>
<div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;  }</div>
<div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ada37bc2df18e7c892d4b5e2ac34bf025">  111</a></span>&#160;  <span class="keywordtype">size_t</span> <a class="code" href="classmeow_1_1Vector.html#ada37bc2df18e7c892d4b5e2ac34bf025">dimension</a>(<span class="keywordtype">size_t</span> d, Scalar <span class="keyword">const</span>&amp; s) {</div>
<div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;    matrix_.<a class="code" href="classmeow_1_1Matrix.html#a560adbe0b39f52bfb016edddc2955178">rows</a>(d, s);</div>
<div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a554bb098d8af7ef1458624e8b1f47e6a">dimension</a>();</div>
<div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;  }</div>
<div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;</div>
<div class="line"><a name="l00120"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a98f150719042e458d52a1476ae9fd52e">  120</a></span>&#160;  <span class="keywordtype">bool</span> <a class="code" href="classmeow_1_1Vector.html#a98f150719042e458d52a1476ae9fd52e">valid</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;    <span class="keywordflow">return</span> (<a class="code" href="classmeow_1_1Vector.html#a554bb098d8af7ef1458624e8b1f47e6a">dimension</a>() &gt; 0);</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;  }</div>
<div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#af5ecb8d9cc811a2d56e1725c4bfd30e8">  125</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#af5ecb8d9cc811a2d56e1725c4bfd30e8">entry</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;    <span class="keywordflow">return</span> matrix_.<a class="code" href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">entry</a>(i, 0);</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;  }</div>
<div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div>
<div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a5050e9117204a6dbdcc7cf5038845c00">  135</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#a5050e9117204a6dbdcc7cf5038845c00">entry</a>(<span class="keywordtype">size_t</span> i, Scalar <span class="keyword">const</span>&amp; s) {</div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    matrix_.<a class="code" href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">entry</a>(i, 0, s);</div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#af5ecb8d9cc811a2d56e1725c4bfd30e8">entry</a>(i);</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="l00141"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a35b4e136e93445279372f70e4caf00fe">  141</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html#a29e75e2dd5e46da4c7b95354c8787a30">ScalarRef</a> <a class="code" href="classmeow_1_1Vector.html#a35b4e136e93445279372f70e4caf00fe">entryGet</a>(<span class="keywordtype">size_t</span> i) {</div>
<div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    <span class="keywordflow">return</span> matrix_.<a class="code" href="classmeow_1_1Matrix.html#ab49fa7564c37c6bc164dc368a94fed6b">entryGet</a>(i);</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;  }</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;</div>
<div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#adc55ef7402cf4114ea5696df18545618">  152</a></span>&#160;  <span class="keywordtype">void</span> <a class="code" href="classmeow_1_1Vector.html#adc55ef7402cf4114ea5696df18545618">entries</a>(<span class="keywordtype">size_t</span> i, <span class="keywordtype">size_t</span> j, Scalar <span class="keyword">const</span>&amp; s) {</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> it = i; it &lt;= j; ++it) {</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;      matrix_.<a class="code" href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">entry</a>(it, 0, s);</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    }</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;</div>
<div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a70c2620d25f6a36dc6d6aa38851b1c7a">  159</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a70c2620d25f6a36dc6d6aa38851b1c7a">subVector</a>(<span class="keywordtype">size_t</span> i, <span class="keywordtype">size_t</span> j) {</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#a93ff4579b7cb950868cad7a62bcf9fe8">subMatrix</a>(i, 0, j, 0));</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;  }</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a200453ad223a040147a2dc92e4222589">  164</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a200453ad223a040147a2dc92e4222589">positive</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;  }</div>
<div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#abefb870f27490906e326a6f94a896f7c">  169</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#abefb870f27490906e326a6f94a896f7c">negative</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#a581dbd8ba10d054596a3d11eaf47f274">negative</a>());</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;  }</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div>
<div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a43f91063553124efdd23d7f3db1599ac">  174</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a43f91063553124efdd23d7f3db1599ac">add</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#ac1030360f1f48119128d99428930cce6">add</a>(v.matrix_));</div>
<div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;  }</div>
<div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ad2e490231e4b624ef86f958b99c94533">  179</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#ad2e490231e4b624ef86f958b99c94533">sub</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#ae89a9a7646f7b7c0f23756809c65dc8c">sub</a>(v.matrix_));</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;  }</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a45bd0b9c27a2fc83f1d00106c976751c">  184</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a45bd0b9c27a2fc83f1d00106c976751c">mul</a>(Scalar <span class="keyword">const</span>&amp; s)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#a30fdb794e5966585e93cf715646210dd">mul</a>(s));</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;</div>
<div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ac813d8c46325f8ec4771a7cc315c8908">  189</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#ac813d8c46325f8ec4771a7cc315c8908">div</a>(Scalar <span class="keyword">const</span>&amp; s)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">Vector</a>(matrix_.<a class="code" href="classmeow_1_1Matrix.html#aed17cc829d1e766d2c905d65cbae48ce">div</a>(s));</div>
<div class="line"><a name="l00191"></a><span class="lineno">  191</span>&#160;  }</div>
<div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a9228c4b935c57cd2af9cb07218eca452">  194</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#a9228c4b935c57cd2af9cb07218eca452">dot</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;    <span class="keywordflow">return</span> matrix_.<a class="code" href="classmeow_1_1Matrix.html#a869be60b593d7ce7101ee7ac788b0dd0">transpose</a>().<a class="code" href="classmeow_1_1Matrix.html#a30fdb794e5966585e93cf715646210dd">mul</a>(v.matrix_).<a class="code" href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">entry</a>(0, 0);</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;  }</div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;</div>
<div class="line"><a name="l00199"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#afc7cc691dd00ab41fd56d798c13a6a27">  199</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#afc7cc691dd00ab41fd56d798c13a6a27">length</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00200"></a><span class="lineno">  200</span>&#160;    <span class="keywordflow">return</span> Scalar(sqrt((<span class="keywordtype">double</span>)<a class="code" href="classmeow_1_1Vector.html#a71b56938e01de730490e722824f4b53e">length2</a>()));</div>
<div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;  }</div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;</div>
<div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a71b56938e01de730490e722824f4b53e">  204</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#a71b56938e01de730490e722824f4b53e">length2</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a9228c4b935c57cd2af9cb07218eca452">dot</a>(*<span class="keyword">this</span>);</div>
<div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;  }</div>
<div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div>
<div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ab675b777186dd4903367bc77922893ee">  209</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#ab675b777186dd4903367bc77922893ee">normalize</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00210"></a><span class="lineno">  210</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#ac813d8c46325f8ec4771a7cc315c8908">div</a>(<a class="code" href="classmeow_1_1Vector.html#afc7cc691dd00ab41fd56d798c13a6a27">length</a>());</div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;  }</div>
<div class="line"><a name="l00212"></a><span class="lineno">  212</span>&#160;</div>
<div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#aadbed69a847ce560210d0513c2156448">  214</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a>&amp; <a class="code" href="classmeow_1_1Vector.html#aadbed69a847ce560210d0513c2156448">normalized</a>() {</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;    <a class="code" href="classmeow_1_1Vector.html#a52540cc03073243026770587c35beba0">copyFrom</a>(<a class="code" href="classmeow_1_1Vector.html#ab675b777186dd4903367bc77922893ee">normalize</a>());</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;    <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160;  }</div>
<div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;</div>
<div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a8cad36b5fab47f3d50b840ff26260623">  220</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a>&amp; <a class="code" href="classmeow_1_1Vector.html#a8cad36b5fab47f3d50b840ff26260623">operator=</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v) {</div>
<div class="line"><a name="l00221"></a><span class="lineno">  221</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a52540cc03073243026770587c35beba0">copyFrom</a>(v);</div>
<div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;  }</div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;</div>
<div class="line"><a name="l00225"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a6591f95bda6b9724d2f66fc1254bfa7a">  225</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#a6591f95bda6b9724d2f66fc1254bfa7a">operator()</a>(<span class="keywordtype">size_t</span> i)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#af5ecb8d9cc811a2d56e1725c4bfd30e8">entry</a>(i);</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;  }</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;</div>
<div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#af10156730c992a5597ca674940157fe8">  230</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#af10156730c992a5597ca674940157fe8">operator+</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a200453ad223a040147a2dc92e4222589">positive</a>();</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;  }</div>
<div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;</div>
<div class="line"><a name="l00235"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a510da6e6a0470bf2312e62c1b43a310a">  235</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a510da6e6a0470bf2312e62c1b43a310a">operator-</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#abefb870f27490906e326a6f94a896f7c">negative</a>();</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;  }</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div>
<div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a0a6eade258af4979692fa325dd59429c">  240</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a0a6eade258af4979692fa325dd59429c">operator+</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a43f91063553124efdd23d7f3db1599ac">add</a>(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="l00245"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#ac3e4b43822b9091c3eab7215c52b140d">  245</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#ac3e4b43822b9091c3eab7215c52b140d">operator-</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#ad2e490231e4b624ef86f958b99c94533">sub</a>(v);</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160;  }</div>
<div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;</div>
<div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a8180db77db8e6ef30a15f4bd1fcb7ef1">  250</a></span>&#160;  Scalar <a class="code" href="classmeow_1_1Vector.html#a8180db77db8e6ef30a15f4bd1fcb7ef1">operator*</a>(<a class="code" href="classmeow_1_1Vector.html">Vector</a> <span class="keyword">const</span>&amp; v)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a9228c4b935c57cd2af9cb07218eca452">dot</a>(v);</div>
<div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;  }</div>
<div class="line"><a name="l00253"></a><span class="lineno">  253</span>&#160;</div>
<div class="line"><a name="l00255"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a3fdb5ccf26fe0602f7bd08e1ecfc940c">  255</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a3fdb5ccf26fe0602f7bd08e1ecfc940c">operator*</a>(Scalar <span class="keyword">const</span>&amp; s)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#a45bd0b9c27a2fc83f1d00106c976751c">mul</a>(s);</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="l00260"></a><span class="lineno"><a class="line" href="classmeow_1_1Vector.html#a74e4cf085fd43a51c50872ea9b42c47e">  260</a></span>&#160;  <a class="code" href="classmeow_1_1Vector.html">Vector</a> <a class="code" href="classmeow_1_1Vector.html#a74e4cf085fd43a51c50872ea9b42c47e">operator/</a>(Scalar <span class="keyword">const</span>&amp; s)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;    <span class="keywordflow">return</span> <a class="code" href="classmeow_1_1Vector.html#ac813d8c46325f8ec4771a7cc315c8908">div</a>(s);</div>
<div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;  }</div>
<div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;};</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;} <span class="comment">// meow</span></div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
<div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="preprocessor">#endif // math_Vector_H__</span></div>
<div class="ttc" id="classmeow_1_1Vector_html_af10156730c992a5597ca674940157fe8"><div class="ttname"><a href="classmeow_1_1Vector.html#af10156730c992a5597ca674940157fe8">meow::Vector::operator+</a></div><div class="ttdeci">Vector operator+() const </div><div class="ttdoc">same as positive() </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00230">Vector.h:230</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a554bb098d8af7ef1458624e8b1f47e6a"><div class="ttname"><a href="classmeow_1_1Vector.html#a554bb098d8af7ef1458624e8b1f47e6a">meow::Vector::dimension</a></div><div class="ttdeci">size_t dimension() const </div><div class="ttdoc">return dimension </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00100">Vector.h:100</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a1dbef5b1a46df480f7fa3e118fd12bec"><div class="ttname"><a href="classmeow_1_1Matrix.html#a1dbef5b1a46df480f7fa3e118fd12bec">meow::Matrix::referenceFrom</a></div><div class="ttdeci">Matrix &amp; referenceFrom(Matrix const &amp;m)</div><div class="ttdoc">reference </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00101">Matrix.h:101</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a560adbe0b39f52bfb016edddc2955178"><div class="ttname"><a href="classmeow_1_1Matrix.html#a560adbe0b39f52bfb016edddc2955178">meow::Matrix::rows</a></div><div class="ttdeci">size_t rows() const </div><div class="ttdoc">Return number of rows. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00120">Matrix.h:120</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_afc7cc691dd00ab41fd56d798c13a6a27"><div class="ttname"><a href="classmeow_1_1Vector.html#afc7cc691dd00ab41fd56d798c13a6a27">meow::Vector::length</a></div><div class="ttdeci">Scalar length() const </div><div class="ttdoc">sqrt of length2 </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00199">Vector.h:199</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a71b56938e01de730490e722824f4b53e"><div class="ttname"><a href="classmeow_1_1Vector.html#a71b56938e01de730490e722824f4b53e">meow::Vector::length2</a></div><div class="ttdeci">Scalar length2() const </div><div class="ttdoc">same as (*this).dot(*this) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00204">Vector.h:204</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a45bd0b9c27a2fc83f1d00106c976751c"><div class="ttname"><a href="classmeow_1_1Vector.html#a45bd0b9c27a2fc83f1d00106c976751c">meow::Vector::mul</a></div><div class="ttdeci">Vector mul(Scalar const &amp;s) const </div><div class="ttdoc">return (*this)*s , where s is a scalar </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00184">Vector.h:184</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_aed17cc829d1e766d2c905d65cbae48ce"><div class="ttname"><a href="classmeow_1_1Matrix.html#aed17cc829d1e766d2c905d65cbae48ce">meow::Matrix::div</a></div><div class="ttdeci">Matrix div(Entry const &amp;s) const </div><div class="ttdoc">return (*this) / s. s is a scalar </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00328">Matrix.h:328</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ad3b1665885c683f41b94fd59b0f5e084"><div class="ttname"><a href="classmeow_1_1Vector.html#ad3b1665885c683f41b94fd59b0f5e084">meow::Vector::matrix</a></div><div class="ttdeci">Matrix&lt; Scalar &gt; const &amp; matrix() const </div><div class="ttdoc">Return a dimension x 1 matrix form of it. </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00095">Vector.h:95</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_af5ecb8d9cc811a2d56e1725c4bfd30e8"><div class="ttname"><a href="classmeow_1_1Vector.html#af5ecb8d9cc811a2d56e1725c4bfd30e8">meow::Vector::entry</a></div><div class="ttdeci">Scalar entry(size_t i) const </div><div class="ttdoc">return i -th entry </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00125">Vector.h:125</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a510da6e6a0470bf2312e62c1b43a310a"><div class="ttname"><a href="classmeow_1_1Vector.html#a510da6e6a0470bf2312e62c1b43a310a">meow::Vector::operator-</a></div><div class="ttdeci">Vector operator-() const </div><div class="ttdoc">same as negative() </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00235">Vector.h:235</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a7def8437ada844cc6b6dc9769aba1ee6"><div class="ttname"><a href="classmeow_1_1Vector.html#a7def8437ada844cc6b6dc9769aba1ee6">meow::Vector::Vector</a></div><div class="ttdeci">Vector(Vector const &amp;v)</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00041">Vector.h:41</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_aee0da81d6a393d2abf7bf20c2ef260c3"><div class="ttname"><a href="classmeow_1_1Vector.html#aee0da81d6a393d2abf7bf20c2ef260c3">meow::Vector::~Vector</a></div><div class="ttdeci">~Vector()</div><div class="ttdoc">destructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00079">Vector.h:79</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ad2e490231e4b624ef86f958b99c94533"><div class="ttname"><a href="classmeow_1_1Vector.html#ad2e490231e4b624ef86f958b99c94533">meow::Vector::sub</a></div><div class="ttdeci">Vector sub(Vector const &amp;v) const </div><div class="ttdoc">return (*this)-v </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00179">Vector.h:179</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ada37bc2df18e7c892d4b5e2ac34bf025"><div class="ttname"><a href="classmeow_1_1Vector.html#ada37bc2df18e7c892d4b5e2ac34bf025">meow::Vector::dimension</a></div><div class="ttdeci">size_t dimension(size_t d, Scalar const &amp;s)</div><div class="ttdoc">resize the dimension </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00111">Vector.h:111</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_adc55ef7402cf4114ea5696df18545618"><div class="ttname"><a href="classmeow_1_1Vector.html#adc55ef7402cf4114ea5696df18545618">meow::Vector::entries</a></div><div class="ttdeci">void entries(size_t i, size_t j, Scalar const &amp;s)</div><div class="ttdoc">change i -th to j -th entries </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00152">Vector.h:152</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a93ff4579b7cb950868cad7a62bcf9fe8"><div class="ttname"><a href="classmeow_1_1Matrix.html#a93ff4579b7cb950868cad7a62bcf9fe8">meow::Matrix::subMatrix</a></div><div class="ttdeci">Matrix subMatrix(size_t rFirst, size_t rLast, size_t cFirst, size_t cLast) const </div><div class="ttdoc">Return a rLast-rFirst+1 x cLast-cFirst+1 matrix. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00239">Matrix.h:239</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ac7464dd163607b1a6417e438a639d050"><div class="ttname"><a href="classmeow_1_1Vector.html#ac7464dd163607b1a6417e438a639d050">meow::Vector::ScalarRefK</a></div><div class="ttdeci">Matrix&lt; Scalar &gt;::EntryRefK ScalarRefK</div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00021">Vector.h:21</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a5050e9117204a6dbdcc7cf5038845c00"><div class="ttname"><a href="classmeow_1_1Vector.html#a5050e9117204a6dbdcc7cf5038845c00">meow::Vector::entry</a></div><div class="ttdeci">Scalar entry(size_t i, Scalar const &amp;s)</div><div class="ttdoc">change i -th entry </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00135">Vector.h:135</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a52540cc03073243026770587c35beba0"><div class="ttname"><a href="classmeow_1_1Vector.html#a52540cc03073243026770587c35beba0">meow::Vector::copyFrom</a></div><div class="ttdeci">Vector &amp; copyFrom(Vector const &amp;v)</div><div class="ttdoc">copy from ... </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00083">Vector.h:83</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_afb81446984f7c27458ccef86be2de413"><div class="ttname"><a href="classmeow_1_1Matrix.html#afb81446984f7c27458ccef86be2de413">meow::Matrix::copyFrom</a></div><div class="ttdeci">Matrix &amp; copyFrom(Matrix const &amp;m)</div><div class="ttdoc">copy </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00088">Matrix.h:88</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html"><div class="ttname"><a href="classmeow_1_1Vector.html">meow::Vector</a></div><div class="ttdoc">vector </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00019">Vector.h:19</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a8cad36b5fab47f3d50b840ff26260623"><div class="ttname"><a href="classmeow_1_1Vector.html#a8cad36b5fab47f3d50b840ff26260623">meow::Vector::operator=</a></div><div class="ttdeci">Vector &amp; operator=(Vector const &amp;v)</div><div class="ttdoc">same as copyFrom </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00220">Vector.h:220</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a70c2620d25f6a36dc6d6aa38851b1c7a"><div class="ttname"><a href="classmeow_1_1Vector.html#a70c2620d25f6a36dc6d6aa38851b1c7a">meow::Vector::subVector</a></div><div class="ttdeci">Vector subVector(size_t i, size_t j)</div><div class="ttdoc">subvector form i-th to j-th </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00159">Vector.h:159</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a8180db77db8e6ef30a15f4bd1fcb7ef1"><div class="ttname"><a href="classmeow_1_1Vector.html#a8180db77db8e6ef30a15f4bd1fcb7ef1">meow::Vector::operator*</a></div><div class="ttdeci">Scalar operator*(Vector const &amp;v) const </div><div class="ttdoc">same as dot(v) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00250">Vector.h:250</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a58f997cdc6b98a76ae13bba6d685d815"><div class="ttname"><a href="classmeow_1_1Vector.html#a58f997cdc6b98a76ae13bba6d685d815">meow::Vector::Vector</a></div><div class="ttdeci">Vector(std::vector&lt; Scalar &gt; const &amp;v)</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00061">Vector.h:61</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a5589e07881f9f6a7bb7c43630d30ecdd"><div class="ttname"><a href="classmeow_1_1Vector.html#a5589e07881f9f6a7bb7c43630d30ecdd">meow::Vector::Vector</a></div><div class="ttdeci">Vector(size_t d, Scalar const &amp;e)</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00075">Vector.h:75</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a869be60b593d7ce7101ee7ac788b0dd0"><div class="ttname"><a href="classmeow_1_1Matrix.html#a869be60b593d7ce7101ee7ac788b0dd0">meow::Matrix::transpose</a></div><div class="ttdeci">Matrix transpose() const </div><div class="ttdoc">return itself&#39;s transpose matrix </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00416">Matrix.h:416</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a0a6eade258af4979692fa325dd59429c"><div class="ttname"><a href="classmeow_1_1Vector.html#a0a6eade258af4979692fa325dd59429c">meow::Vector::operator+</a></div><div class="ttdeci">Vector operator+(Vector const &amp;v) const </div><div class="ttdoc">same as add(v) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00240">Vector.h:240</a></div></div>
<div class="ttc" id="Matrix_8h_html"><div class="ttname"><a href="Matrix_8h.html">Matrix.h</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a200453ad223a040147a2dc92e4222589"><div class="ttname"><a href="classmeow_1_1Vector.html#a200453ad223a040147a2dc92e4222589">meow::Vector::positive</a></div><div class="ttdeci">Vector positive() const </div><div class="ttdoc">return +(*this) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00164">Vector.h:164</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a30fdb794e5966585e93cf715646210dd"><div class="ttname"><a href="classmeow_1_1Matrix.html#a30fdb794e5966585e93cf715646210dd">meow::Matrix::mul</a></div><div class="ttdeci">Matrix mul(Matrix const &amp;m) const </div><div class="ttdoc">return (*this) times m. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00308">Matrix.h:308</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_ab49fa7564c37c6bc164dc368a94fed6b"><div class="ttname"><a href="classmeow_1_1Matrix.html#ab49fa7564c37c6bc164dc368a94fed6b">meow::Matrix::entryGet</a></div><div class="ttdeci">EntryRef entryGet(size_t r, size_t c)</div><div class="ttdoc">Get the entry at r x c. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00204">Matrix.h:204</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a6591f95bda6b9724d2f66fc1254bfa7a"><div class="ttname"><a href="classmeow_1_1Vector.html#a6591f95bda6b9724d2f66fc1254bfa7a">meow::Vector::operator()</a></div><div class="ttdeci">Scalar operator()(size_t i) const </div><div class="ttdoc">same as entry(i) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00225">Vector.h:225</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_ae89a9a7646f7b7c0f23756809c65dc8c"><div class="ttname"><a href="classmeow_1_1Matrix.html#ae89a9a7646f7b7c0f23756809c65dc8c">meow::Matrix::sub</a></div><div class="ttdeci">Matrix sub(Matrix const &amp;m) const </div><div class="ttdoc">return (*this) - m. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00295">Matrix.h:295</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html"><div class="ttname"><a href="classmeow_1_1Matrix.html">meow::Matrix</a></div><div class="ttdoc">matrix </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00018">Matrix.h:18</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a34ca34c834e47288894cec2445e5b073"><div class="ttname"><a href="classmeow_1_1Vector.html#a34ca34c834e47288894cec2445e5b073">meow::Vector::Vector</a></div><div class="ttdeci">Vector(Matrix&lt; Scalar &gt; const &amp;m)</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00051">Vector.h:51</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a46a12f45237e654e0140387d7290eb8b"><div class="ttname"><a href="classmeow_1_1Matrix.html#a46a12f45237e654e0140387d7290eb8b">meow::Matrix::entry</a></div><div class="ttdeci">Entry entry(size_t r, size_t c) const </div><div class="ttdoc">Access the entry at r x c. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00193">Matrix.h:193</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_a581dbd8ba10d054596a3d11eaf47f274"><div class="ttname"><a href="classmeow_1_1Matrix.html#a581dbd8ba10d054596a3d11eaf47f274">meow::Matrix::negative</a></div><div class="ttdeci">Matrix negative() const </div><div class="ttdoc">return -(*this) </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00270">Matrix.h:270</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_abefb870f27490906e326a6f94a896f7c"><div class="ttname"><a href="classmeow_1_1Vector.html#abefb870f27490906e326a6f94a896f7c">meow::Vector::negative</a></div><div class="ttdeci">Vector negative() const </div><div class="ttdoc">return -(*this) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00169">Vector.h:169</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ac3e4b43822b9091c3eab7215c52b140d"><div class="ttname"><a href="classmeow_1_1Vector.html#ac3e4b43822b9091c3eab7215c52b140d">meow::Vector::operator-</a></div><div class="ttdeci">Vector operator-(Vector const &amp;v) const </div><div class="ttdoc">same as sub(v) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00245">Vector.h:245</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ac813d8c46325f8ec4771a7cc315c8908"><div class="ttname"><a href="classmeow_1_1Vector.html#ac813d8c46325f8ec4771a7cc315c8908">meow::Vector::div</a></div><div class="ttdeci">Vector div(Scalar const &amp;s) const </div><div class="ttdoc">return (*this)/s , where s is a scalar </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00189">Vector.h:189</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a43f91063553124efdd23d7f3db1599ac"><div class="ttname"><a href="classmeow_1_1Vector.html#a43f91063553124efdd23d7f3db1599ac">meow::Vector::add</a></div><div class="ttdeci">Vector add(Vector const &amp;v) const </div><div class="ttdoc">return (*this)+v </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00174">Vector.h:174</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a3fdb5ccf26fe0602f7bd08e1ecfc940c"><div class="ttname"><a href="classmeow_1_1Vector.html#a3fdb5ccf26fe0602f7bd08e1ecfc940c">meow::Vector::operator*</a></div><div class="ttdeci">Vector operator*(Scalar const &amp;s) const </div><div class="ttdoc">same as mul(s) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00255">Vector.h:255</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_aadbed69a847ce560210d0513c2156448"><div class="ttname"><a href="classmeow_1_1Vector.html#aadbed69a847ce560210d0513c2156448">meow::Vector::normalized</a></div><div class="ttdeci">Vector &amp; normalized()</div><div class="ttdoc">Let itself be normalize form. </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00214">Vector.h:214</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a29e75e2dd5e46da4c7b95354c8787a30"><div class="ttname"><a href="classmeow_1_1Vector.html#a29e75e2dd5e46da4c7b95354c8787a30">meow::Vector::ScalarRef</a></div><div class="ttdeci">Matrix&lt; Scalar &gt;::EntryRef ScalarRef</div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00022">Vector.h:22</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a98f150719042e458d52a1476ae9fd52e"><div class="ttname"><a href="classmeow_1_1Vector.html#a98f150719042e458d52a1476ae9fd52e">meow::Vector::valid</a></div><div class="ttdeci">bool valid() const </div><div class="ttdoc">Return whether dimension&gt;0 is true or not. </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00120">Vector.h:120</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a74e4cf085fd43a51c50872ea9b42c47e"><div class="ttname"><a href="classmeow_1_1Vector.html#a74e4cf085fd43a51c50872ea9b42c47e">meow::Vector::operator/</a></div><div class="ttdeci">Vector operator/(Scalar const &amp;s) const </div><div class="ttdoc">same as div(s) </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00260">Vector.h:260</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a35b4e136e93445279372f70e4caf00fe"><div class="ttname"><a href="classmeow_1_1Vector.html#a35b4e136e93445279372f70e4caf00fe">meow::Vector::entryGet</a></div><div class="ttdeci">ScalarRef entryGet(size_t i)</div><div class="ttdoc">return i -th entry with non-constant type </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00141">Vector.h:141</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ad46346bcc2250cbf91803d38df9d538e"><div class="ttname"><a href="classmeow_1_1Vector.html#ad46346bcc2250cbf91803d38df9d538e">meow::Vector::referenceFrom</a></div><div class="ttdeci">Vector &amp; referenceFrom(Vector const &amp;v)</div><div class="ttdoc">reference from ... </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00089">Vector.h:89</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a9228c4b935c57cd2af9cb07218eca452"><div class="ttname"><a href="classmeow_1_1Vector.html#a9228c4b935c57cd2af9cb07218eca452">meow::Vector::dot</a></div><div class="ttdeci">Scalar dot(Vector const &amp;v) const </div><div class="ttdoc">dot </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00194">Vector.h:194</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_a68530affccd332248e476cc3e188cd61"><div class="ttname"><a href="classmeow_1_1Vector.html#a68530affccd332248e476cc3e188cd61">meow::Vector::Vector</a></div><div class="ttdeci">Vector()</div><div class="ttdoc">constructor </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00031">Vector.h:31</a></div></div>
<div class="ttc" id="classmeow_1_1Matrix_html_ac1030360f1f48119128d99428930cce6"><div class="ttname"><a href="classmeow_1_1Matrix.html#ac1030360f1f48119128d99428930cce6">meow::Matrix::add</a></div><div class="ttdeci">Matrix add(Matrix const &amp;m) const </div><div class="ttdoc">return (*this) + m. </div><div class="ttdef"><b>Definition:</b> <a href="Matrix_8h_source.html#l00282">Matrix.h:282</a></div></div>
<div class="ttc" id="classmeow_1_1Vector_html_ab675b777186dd4903367bc77922893ee"><div class="ttname"><a href="classmeow_1_1Vector.html#ab675b777186dd4903367bc77922893ee">meow::Vector::normalize</a></div><div class="ttdeci">Vector normalize() const </div><div class="ttdoc">return a normalize form of itself </div><div class="ttdef"><b>Definition:</b> <a href="Vector_8h_source.html#l00209">Vector.h:209</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.3.1-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_92fecd8d02dd5e7a67429447fdf0f60f.html">meowpp</a></li><li class="navelem"><a class="el" href="dir_77e0ab67466b1e7d76f50725a5ab9910.html">math</a></li><li class="navelem"><a class="el" href="Vector_8h.html">Vector.h</a></li>
    <li class="footer">Generated on Mon Jun 23 2014 17:02:02 for Templates -- Meow by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 </li>
  </ul>
</div>
</body>
</html>