root/doc/html/classitpp_1_1Mat.html @ 353

Revision 353, 145.1 kB (checked in by smidl, 16 years ago)

doc

Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3<title>mixpp: itpp::Mat&lt; Num_T &gt; Class Template Reference</title>
4<link href="tabs.css" rel="stylesheet" type="text/css">
5<link href="doxygen.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.5.8 -->
8<script type="text/javascript">
9<!--
10function changeDisplayState (e){
11  var num=this.id.replace(/[^[0-9]/g,'');
12  var button=this.firstChild;
13  var sectionDiv=document.getElementById('dynsection'+num);
14  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
15    sectionDiv.style.display='block';
16    button.src='open.gif';
17  }else{
18    sectionDiv.style.display='none';
19    button.src='closed.gif';
20  }
21}
22function initDynSections(){
23  var divs=document.getElementsByTagName('div');
24  var sectionCounter=1;
25  for(var i=0;i<divs.length-1;i++){
26    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
27      var header=divs[i];
28      var section=divs[i+1];
29      var button=header.firstChild;
30      if (button!='IMG'){
31        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
32        button=document.createElement('img');
33        divs[i].insertBefore(button,divs[i].firstChild);
34      }
35      header.style.cursor='pointer';
36      header.onclick=changeDisplayState;
37      header.id='dynheader'+sectionCounter;
38      button.src='closed.gif';
39      section.id='dynsection'+sectionCounter;
40      section.style.display='none';
41      section.style.marginLeft='14px';
42      sectionCounter++;
43    }
44  }
45}
46window.onload = initDynSections;
47-->
48</script>
49<div class="navigation" id="top">
50  <div class="tabs">
51    <ul>
52      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
53      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
54      <li><a href="modules.html"><span>Modules</span></a></li>
55      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
56      <li><a href="files.html"><span>Files</span></a></li>
57    </ul>
58  </div>
59  <div class="tabs">
60    <ul>
61      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
62      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
63      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
64      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
65    </ul>
66  </div>
67  <div class="navpath"><b>itpp</b>::<a class="el" href="classitpp_1_1Mat.html">Mat</a>
68  </div>
69</div>
70<div class="contents">
71<h1>itpp::Mat&lt; Num_T &gt; Class Template Reference<br>
72<small>
73[<a class="el" href="group__arr__vec__mat.html">Array, Vector and Matrix Classes</a>]</small>
74</h1><!-- doxytag: class="itpp::Mat" -->Matrix Class (Templated). 
75<a href="#_details">More...</a>
76<p>
77<code>#include &lt;<a class="el" href="mat_8h-source.html">mat.h</a>&gt;</code>
78<p>
79
80<p>
81<a href="classitpp_1_1Mat-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
82<tr><td></td></tr>
83<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3993eea192920968a8261241eb4afea2"></a><!-- doxytag: member="itpp::Mat::value_type" ref="3993eea192920968a8261241eb4afea2" args="" -->
85typedef Num_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3993eea192920968a8261241eb4afea2">value_type</a></td></tr>
86
87<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The type of the matrix values. <br></td></tr>
88<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
89<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25a8fa7c68def28c45a96f29c703e457"></a><!-- doxytag: member="itpp::Mat::Mat" ref="25a8fa7c68def28c45a96f29c703e457" args="(const Factory &amp;f=DEFAULT_FACTORY)" -->
90&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#25a8fa7c68def28c45a96f29c703e457">Mat</a> (const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
91
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default constructor. An element factory <code>f</code> can be specified. <br></td></tr>
93<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="88c5b9fdd1f95478e4e1396f6afe4c31"></a><!-- doxytag: member="itpp::Mat::Mat" ref="88c5b9fdd1f95478e4e1396f6afe4c31" args="(int rows, int cols, const Factory &amp;f=DEFAULT_FACTORY)" -->
94&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#88c5b9fdd1f95478e4e1396f6afe4c31">Mat</a> (int rows, int cols, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
95
96<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a matrix of size (rows, cols). An element factory <code>f</code> can be specified. <br></td></tr>
97<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95952180814ec2b528d96083cee0ac13"></a><!-- doxytag: member="itpp::Mat::Mat" ref="95952180814ec2b528d96083cee0ac13" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
98&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#95952180814ec2b528d96083cee0ac13">Mat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
99
100<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor. <br></td></tr>
101<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc9432c8c1887f0f629c8bf4d25c16e9"></a><!-- doxytag: member="itpp::Mat::Mat" ref="cc9432c8c1887f0f629c8bf4d25c16e9" args="(const Mat&lt; Num_T &gt; &amp;m, const Factory &amp;f)" -->
102&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#cc9432c8c1887f0f629c8bf4d25c16e9">Mat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f)</td></tr>
103
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, similar to the copy constructor, but also takes an element factory <code>f</code> as argument. <br></td></tr>
105<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bbe090621543c57a5c1a8dbdbe8563d"></a><!-- doxytag: member="itpp::Mat::Mat" ref="6bbe090621543c57a5c1a8dbdbe8563d" args="(const Vec&lt; Num_T &gt; &amp;v, const Factory &amp;f=DEFAULT_FACTORY)" -->
106&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6bbe090621543c57a5c1a8dbdbe8563d">Mat</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
107
108<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a matrix from a column vector <code>v</code>. An element factory <code>f</code> can be specified. <br></td></tr>
109<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b82aa1e7c9136b650dd065943076d92"></a><!-- doxytag: member="itpp::Mat::Mat" ref="2b82aa1e7c9136b650dd065943076d92" args="(const std::string &amp;str, const Factory &amp;f=DEFAULT_FACTORY)" -->
110&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2b82aa1e7c9136b650dd065943076d92">Mat</a> (const std::string &amp;str, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
111
112<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in string <code>str</code>. An element factory <code>f</code> can be specified. <br></td></tr>
113<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e8be86914624837659dc5caaccd833a"></a><!-- doxytag: member="itpp::Mat::Mat" ref="4e8be86914624837659dc5caaccd833a" args="(const char *str, const Factory &amp;f=DEFAULT_FACTORY)" -->
114&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4e8be86914624837659dc5caaccd833a">Mat</a> (const char *str, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
115
116<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in string <code>str</code>. An element factory <code>f</code> can be specified. <br></td></tr>
117<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6aefdf3e74bf37447b8d91377c89ec68">Mat</a> (const Num_T *c_array, int rows, int cols, bool row_major=true, const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;f=DEFAULT_FACTORY)</td></tr>
118
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor taking a C-array as input. An element factory <code>f</code> can be specified.  <a href="#6aefdf3e74bf37447b8d91377c89ec68"></a><br></td></tr>
120<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d08209533b2284c65a4a46a7bd6c598f"></a><!-- doxytag: member="itpp::Mat::~Mat" ref="d08209533b2284c65a4a46a7bd6c598f" args="()" -->
121&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#d08209533b2284c65a4a46a7bd6c598f">~Mat</a> ()</td></tr>
122
123<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor. <br></td></tr>
124<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="49680ef454d1d75b737e3ce157f1ac7b"></a><!-- doxytag: member="itpp::Mat::cols" ref="49680ef454d1d75b737e3ce157f1ac7b" args="() const " -->
125int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b">cols</a> () const </td></tr>
126
127<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of columns. <br></td></tr>
128<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f3028609c01e08fb07c5bf0bcd4c4e03"></a><!-- doxytag: member="itpp::Mat::rows" ref="f3028609c01e08fb07c5bf0bcd4c4e03" args="() const " -->
129int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03">rows</a> () const </td></tr>
130
131<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of rows. <br></td></tr>
132<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9c0850a9a2fad79960498864226818a0"></a><!-- doxytag: member="itpp::Mat::size" ref="9c0850a9a2fad79960498864226818a0" args="() const " -->
133int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9c0850a9a2fad79960498864226818a0">size</a> () const </td></tr>
134
135<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The number of elements. <br></td></tr>
136<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1136d376109f2af8843593bccf9de88f"></a><!-- doxytag: member="itpp::Mat::set_size" ref="1136d376109f2af8843593bccf9de88f" args="(int rows, int cols, bool copy=false)" -->
137void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#1136d376109f2af8843593bccf9de88f">set_size</a> (int rows, int cols, bool copy=false)</td></tr>
138
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set size of matrix. If copy = true then keep the data before resizing. <br></td></tr>
140<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e61f25a461bbe8adfa6c885fa4c6c34"></a><!-- doxytag: member="itpp::Mat::zeros" ref="6e61f25a461bbe8adfa6c885fa4c6c34" args="()" -->
141void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6e61f25a461bbe8adfa6c885fa4c6c34">zeros</a> ()</td></tr>
142
143<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to the all zero matrix. <br></td></tr>
144<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1682c299a3a2a65fef1764136ea8f344"></a><!-- doxytag: member="itpp::Mat::clear" ref="1682c299a3a2a65fef1764136ea8f344" args="()" -->
145void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#1682c299a3a2a65fef1764136ea8f344">clear</a> ()</td></tr>
146
147<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to the all zero matrix. <br></td></tr>
148<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74b6b322adb0c3e4367d130e3a238d35"></a><!-- doxytag: member="itpp::Mat::ones" ref="74b6b322adb0c3e4367d130e3a238d35" args="()" -->
149void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#74b6b322adb0c3e4367d130e3a238d35">ones</a> ()</td></tr>
150
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to the all one matrix. <br></td></tr>
152<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="700f695526662f754c1804749c486922"></a><!-- doxytag: member="itpp::Mat::set" ref="700f695526662f754c1804749c486922" args="(const std::string &amp;str)" -->
153void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#700f695526662f754c1804749c486922">set</a> (const std::string &amp;str)</td></tr>
154
155<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in the string <code>str</code>. <br></td></tr>
156<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="gbecf650ef1762907448f20a2d21dacf2"></a><!-- doxytag: member="itpp::Mat::set" ref="gbecf650ef1762907448f20a2d21dacf2" args="(const char *str)" -->
157void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__fixed.html#gbecf650ef1762907448f20a2d21dacf2">set</a> (const char *str)</td></tr>
158
159<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in the string <code>str</code>. <br></td></tr>
160<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="92afc50f63f5c7d92955eacb5b36a2a8"></a><!-- doxytag: member="itpp::Mat::operator()" ref="92afc50f63f5c7d92955eacb5b36a2a8" args="(int r, int c) const " -->
161const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#92afc50f63f5c7d92955eacb5b36a2a8">operator()</a> (int r, int c) const </td></tr>
162
163<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element (r,c) from matrix. <br></td></tr>
164<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9710cc68b4f3687b5e7ab6997e14a657"></a><!-- doxytag: member="itpp::Mat::operator()" ref="9710cc68b4f3687b5e7ab6997e14a657" args="(int r, int c)" -->
165Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9710cc68b4f3687b5e7ab6997e14a657">operator()</a> (int r, int c)</td></tr>
166
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element (r,c) from matrix. <br></td></tr>
168<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9186a80a9f1a79eaaaafb2df300e48d7"></a><!-- doxytag: member="itpp::Mat::operator()" ref="9186a80a9f1a79eaaaafb2df300e48d7" args="(int i) const " -->
169const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9186a80a9f1a79eaaaafb2df300e48d7">operator()</a> (int i) const </td></tr>
170
171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element <code>i</code> using linear addressing (by rows). <br></td></tr>
172<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7ad807e7e81ea3a9e48101fe8fe55498"></a><!-- doxytag: member="itpp::Mat::operator()" ref="7ad807e7e81ea3a9e48101fe8fe55498" args="(int i)" -->
173Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7ad807e7e81ea3a9e48101fe8fe55498">operator()</a> (int i)</td></tr>
174
175<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element <code>i</code> using linear addressing (by rows). <br></td></tr>
176<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="088941a658c71918230229008e2d5e42"></a><!-- doxytag: member="itpp::Mat::get" ref="088941a658c71918230229008e2d5e42" args="(int r, int c) const " -->
177const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#088941a658c71918230229008e2d5e42">get</a> (int r, int c) const </td></tr>
178
179<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element (r,c) from matrix. <br></td></tr>
180<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="74a3e213db56d64dd8cc01fa183d9843"></a><!-- doxytag: member="itpp::Mat::get" ref="74a3e213db56d64dd8cc01fa183d9843" args="(int i) const " -->
181const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#74a3e213db56d64dd8cc01fa183d9843">get</a> (int i) const </td></tr>
182
183<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element <code>i</code> using linear addressing (by rows). <br></td></tr>
184<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e3b15f3e3ffc20ac8abd52e0ab36805"></a><!-- doxytag: member="itpp::Mat::set" ref="9e3b15f3e3ffc20ac8abd52e0ab36805" args="(int r, int c, Num_T t)" -->
185void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9e3b15f3e3ffc20ac8abd52e0ab36805">set</a> (int r, int c, Num_T t)</td></tr>
186
187<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set element (r,c) of matrix. <br></td></tr>
188<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b7bc4d1f82d2db7088838d502eb5ee39">operator()</a> (int r1, int r2, int c1, int c2) const </td></tr>
189
190<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sub-matrix from row <code>r1</code> to row <code>r2</code> and columns <code>c1</code> to <code>c2</code><a href="#b7bc4d1f82d2db7088838d502eb5ee39"></a><br></td></tr>
191<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#40320a22aa6452fb9a17f3b792939b9d">get</a> (int r1, int r2, int c1, int c2) const </td></tr>
192
193<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sub-matrix from row <code>r1</code> to row <code>r2</code> and columns <code>c1</code> to <code>c2</code><a href="#40320a22aa6452fb9a17f3b792939b9d"></a><br></td></tr>
194<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e840908b256dd1353845356b9ffacb2"></a><!-- doxytag: member="itpp::Mat::get_row" ref="9e840908b256dd1353845356b9ffacb2" args="(int r) const " -->
195<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9e840908b256dd1353845356b9ffacb2">get_row</a> (int r) const </td></tr>
196
197<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get row <code>r</code>. <br></td></tr>
198<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="653a653e6f1c40db7d26850a92d95747"></a><!-- doxytag: member="itpp::Mat::get_rows" ref="653a653e6f1c40db7d26850a92d95747" args="(int r1, int r2) const " -->
199<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#653a653e6f1c40db7d26850a92d95747">get_rows</a> (int r1, int r2) const </td></tr>
200
201<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get rows <code>r1</code> through <code>r2</code>. <br></td></tr>
202<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bd0dc85c279f1ba45c0284fa7298b4b3"></a><!-- doxytag: member="itpp::Mat::get_rows" ref="bd0dc85c279f1ba45c0284fa7298b4b3" args="(const Vec&lt; int &gt; &amp;indexlist) const " -->
203<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#bd0dc85c279f1ba45c0284fa7298b4b3">get_rows</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; int &gt; &amp;indexlist) const </td></tr>
204
205<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the rows specified by <code>indexlist</code>. <br></td></tr>
206<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="095a4e54f39932b62633f7f4f252ab46"></a><!-- doxytag: member="itpp::Mat::get_col" ref="095a4e54f39932b62633f7f4f252ab46" args="(int c) const " -->
207<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#095a4e54f39932b62633f7f4f252ab46">get_col</a> (int c) const </td></tr>
208
209<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get column <code>c</code>. <br></td></tr>
210<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aeda25d5f209a15b822886951bec6c29"></a><!-- doxytag: member="itpp::Mat::get_cols" ref="aeda25d5f209a15b822886951bec6c29" args="(int c1, int c2) const " -->
211<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#aeda25d5f209a15b822886951bec6c29">get_cols</a> (int c1, int c2) const </td></tr>
212
213<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get columns <code>c1</code> through <code>c2</code>. <br></td></tr>
214<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e297b61ab56dc52b864190d27d8a6632"></a><!-- doxytag: member="itpp::Mat::get_cols" ref="e297b61ab56dc52b864190d27d8a6632" args="(const Vec&lt; int &gt; &amp;indexlist) const " -->
215<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#e297b61ab56dc52b864190d27d8a6632">get_cols</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; int &gt; &amp;indexlist) const </td></tr>
216
217<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the columns specified by <code>indexlist</code>. <br></td></tr>
218<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce62337e887243e27c6c2d8b535146ec"></a><!-- doxytag: member="itpp::Mat::set_row" ref="ce62337e887243e27c6c2d8b535146ec" args="(int r, const Vec&lt; Num_T &gt; &amp;v)" -->
219void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ce62337e887243e27c6c2d8b535146ec">set_row</a> (int r, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
220
221<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set row <code>r</code> to vector <code>v</code>. <br></td></tr>
222<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4fb84a9b5cef1a6dc31bd7d5317bb077"></a><!-- doxytag: member="itpp::Mat::set_col" ref="4fb84a9b5cef1a6dc31bd7d5317bb077" args="(int c, const Vec&lt; Num_T &gt; &amp;v)" -->
223void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4fb84a9b5cef1a6dc31bd7d5317bb077">set_col</a> (int c, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
224
225<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set column <code>c</code> to vector <code>v</code>. <br></td></tr>
226<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9083bdade26755da1f04780b0dfcb9b3"></a><!-- doxytag: member="itpp::Mat::set_rows" ref="9083bdade26755da1f04780b0dfcb9b3" args="(int r, const Mat&lt; Num_T &gt; &amp;m)" -->
227void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9083bdade26755da1f04780b0dfcb9b3">set_rows</a> (int r, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
228
229<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set rows to matrix <code>m</code>, staring from row <code>r</code>. <br></td></tr>
230<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d957752246bf014ab2ec104e6a84e0e2"></a><!-- doxytag: member="itpp::Mat::set_cols" ref="d957752246bf014ab2ec104e6a84e0e2" args="(int c, const Mat&lt; Num_T &gt; &amp;m)" -->
231void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#d957752246bf014ab2ec104e6a84e0e2">set_cols</a> (int c, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
232
233<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set columns to matrix <code>m</code>, starting from column <code>c</code>. <br></td></tr>
234<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e8019a070c7fe19d493e3b0a3ffb3f8"></a><!-- doxytag: member="itpp::Mat::copy_row" ref="7e8019a070c7fe19d493e3b0a3ffb3f8" args="(int to, int from)" -->
235void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7e8019a070c7fe19d493e3b0a3ffb3f8">copy_row</a> (int to, int from)</td></tr>
236
237<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy row <code>from</code> onto row <code>to</code>. <br></td></tr>
238<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5b0a41a0c46ce8f9d750670a4903221c"></a><!-- doxytag: member="itpp::Mat::copy_col" ref="5b0a41a0c46ce8f9d750670a4903221c" args="(int to, int from)" -->
239void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#5b0a41a0c46ce8f9d750670a4903221c">copy_col</a> (int to, int from)</td></tr>
240
241<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy column <code>from</code> onto column <code>to</code>. <br></td></tr>
242<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0a4e5d2c1fe3b69e836ef14c3737c1a0"></a><!-- doxytag: member="itpp::Mat::swap_rows" ref="0a4e5d2c1fe3b69e836ef14c3737c1a0" args="(int r1, int r2)" -->
243void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0a4e5d2c1fe3b69e836ef14c3737c1a0">swap_rows</a> (int r1, int r2)</td></tr>
244
245<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Swap the rows <code>r1</code> and <code>r2</code>. <br></td></tr>
246<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b725e9a699251e11bad3fb41cefa3de7"></a><!-- doxytag: member="itpp::Mat::swap_cols" ref="b725e9a699251e11bad3fb41cefa3de7" args="(int c1, int c2)" -->
247void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b725e9a699251e11bad3fb41cefa3de7">swap_cols</a> (int c1, int c2)</td></tr>
248
249<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Swap the columns <code>c1</code> and <code>c2</code>. <br></td></tr>
250<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="73379f7980314d0dd64874fc4a92e8b1"></a><!-- doxytag: member="itpp::Mat::set_submatrix" ref="73379f7980314d0dd64874fc4a92e8b1" args="(int r1, int r2, int c1, int c2, const Mat&lt; Num_T &gt; &amp;m)" -->
251void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#73379f7980314d0dd64874fc4a92e8b1">set_submatrix</a> (int r1, int r2, int c1, int c2, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
252
253<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function is deprecated. Please use set_submatrix(int r, int c, const Mat&lt;&gt; &amp;m) instead. <br></td></tr>
254<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f176f2fddbf8a50f87b0eb049441717"></a><!-- doxytag: member="itpp::Mat::set_submatrix" ref="3f176f2fddbf8a50f87b0eb049441717" args="(int r, int c, const Mat&lt; Num_T &gt; &amp;m)" -->
255void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3f176f2fddbf8a50f87b0eb049441717">set_submatrix</a> (int r, int c, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
256
257<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set submatrix defined by upper-left element (r,c) and the size of matrix m to m. <br></td></tr>
258<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0f7f82b33cafd84832623a8433693fe"></a><!-- doxytag: member="itpp::Mat::set_submatrix" ref="d0f7f82b33cafd84832623a8433693fe" args="(int r1, int r2, int c1, int c2, Num_T t)" -->
259void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#d0f7f82b33cafd84832623a8433693fe">set_submatrix</a> (int r1, int r2, int c1, int c2, Num_T t)</td></tr>
260
261<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all elements of submatrix defined by rows r1,r2 and columns c1,c2 to value t. <br></td></tr>
262<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f4f49a495af9c2b4b8a466606112e338"></a><!-- doxytag: member="itpp::Mat::del_row" ref="f4f49a495af9c2b4b8a466606112e338" args="(int r)" -->
263void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f4f49a495af9c2b4b8a466606112e338">del_row</a> (int r)</td></tr>
264
265<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete row number <code>r</code>. <br></td></tr>
266<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68eca77c93b20eadc4220aa7825f335c"></a><!-- doxytag: member="itpp::Mat::del_rows" ref="68eca77c93b20eadc4220aa7825f335c" args="(int r1, int r2)" -->
267void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#68eca77c93b20eadc4220aa7825f335c">del_rows</a> (int r1, int r2)</td></tr>
268
269<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete rows from <code>r1</code> to <code>r2</code>. <br></td></tr>
270<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c436069f0a5414b274f6cc86bb8b2f4"></a><!-- doxytag: member="itpp::Mat::del_col" ref="0c436069f0a5414b274f6cc86bb8b2f4" args="(int c)" -->
271void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0c436069f0a5414b274f6cc86bb8b2f4">del_col</a> (int c)</td></tr>
272
273<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete column number <code>c</code>. <br></td></tr>
274<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9db4e8cd9c668041322a5270adddd1da"></a><!-- doxytag: member="itpp::Mat::del_cols" ref="9db4e8cd9c668041322a5270adddd1da" args="(int c1, int c2)" -->
275void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9db4e8cd9c668041322a5270adddd1da">del_cols</a> (int c1, int c2)</td></tr>
276
277<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete columns from <code>c1</code> to <code>c2</code>. <br></td></tr>
278<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6184b8080d715298c34371d98aaa5d7b"></a><!-- doxytag: member="itpp::Mat::ins_row" ref="6184b8080d715298c34371d98aaa5d7b" args="(int r, const Vec&lt; Num_T &gt; &amp;v)" -->
279void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6184b8080d715298c34371d98aaa5d7b">ins_row</a> (int r, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
280
281<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert vector <code>v</code> at row number <code>r</code>. The matrix can be empty. <br></td></tr>
282<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9a67081af2800047cbb2f2503d43a852"></a><!-- doxytag: member="itpp::Mat::ins_col" ref="9a67081af2800047cbb2f2503d43a852" args="(int c, const Vec&lt; Num_T &gt; &amp;v)" -->
283void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9a67081af2800047cbb2f2503d43a852">ins_col</a> (int c, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
284
285<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert vector <code>v</code> at column number <code>c</code>. The matrix can be empty. <br></td></tr>
286<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30a3c0aa4d253527e94f0f539db0e720"></a><!-- doxytag: member="itpp::Mat::append_row" ref="30a3c0aa4d253527e94f0f539db0e720" args="(const Vec&lt; Num_T &gt; &amp;v)" -->
287void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#30a3c0aa4d253527e94f0f539db0e720">append_row</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
288
289<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append vector <code>v</code> to the bottom of the matrix. The matrix can be empty. <br></td></tr>
290<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="afc302718319dbd3bb6e35b442a07cd8"></a><!-- doxytag: member="itpp::Mat::append_col" ref="afc302718319dbd3bb6e35b442a07cd8" args="(const Vec&lt; Num_T &gt; &amp;v)" -->
291void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#afc302718319dbd3bb6e35b442a07cd8">append_col</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
292
293<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append vector <code>v</code> to the right side of the matrix. The matrix can be empty. <br></td></tr>
294<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="801774659f45a4567f62710bb2237113"></a><!-- doxytag: member="itpp::Mat::transpose" ref="801774659f45a4567f62710bb2237113" args="() const " -->
295<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#801774659f45a4567f62710bb2237113">transpose</a> () const </td></tr>
296
297<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix transpose. <br></td></tr>
298<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3be8603ee4668eb467860875a1c5462c"></a><!-- doxytag: member="itpp::Mat::T" ref="3be8603ee4668eb467860875a1c5462c" args="() const " -->
299<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3be8603ee4668eb467860875a1c5462c">T</a> () const </td></tr>
300
301<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix transpose. <br></td></tr>
302<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2b7b7e7d1f281c6cdf00b21da9177b8f"></a><!-- doxytag: member="itpp::Mat::hermitian_transpose" ref="2b7b7e7d1f281c6cdf00b21da9177b8f" args="() const " -->
303<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2b7b7e7d1f281c6cdf00b21da9177b8f">hermitian_transpose</a> () const </td></tr>
304
305<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hermitian matrix transpose (conjugate transpose). <br></td></tr>
306<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="38c68bb449851504a4d5fcaa96fce1ad"></a><!-- doxytag: member="itpp::Mat::H" ref="38c68bb449851504a4d5fcaa96fce1ad" args="() const " -->
307<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#38c68bb449851504a4d5fcaa96fce1ad">H</a> () const </td></tr>
308
309<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hermitian matrix transpose (conjugate transpose). <br></td></tr>
310<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae16efad2e03ab9adf85ddfae890e445"></a><!-- doxytag: member="itpp::Mat::operator=" ref="ae16efad2e03ab9adf85ddfae890e445" args="(Num_T t)" -->
311<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ae16efad2e03ab9adf85ddfae890e445">operator=</a> (Num_T t)</td></tr>
312
313<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set all elements of the matrix equal to <code>t</code>. <br></td></tr>
314<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1d065d224ab5743809a7c10868f62dae"></a><!-- doxytag: member="itpp::Mat::operator=" ref="1d065d224ab5743809a7c10868f62dae" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
315<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#1d065d224ab5743809a7c10868f62dae">operator=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
316
317<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to <code>m</code>. <br></td></tr>
318<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="795f035181cdb544049499fcf4199dae"></a><!-- doxytag: member="itpp::Mat::operator=" ref="795f035181cdb544049499fcf4199dae" args="(const Vec&lt; Num_T &gt; &amp;v)" -->
319<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#795f035181cdb544049499fcf4199dae">operator=</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
320
321<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to the vector <code>v</code>, assuming column vector. <br></td></tr>
322<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ef6bd8bf932717bca39eda3b61618f7a"></a><!-- doxytag: member="itpp::Mat::operator=" ref="ef6bd8bf932717bca39eda3b61618f7a" args="(const std::string &amp;str)" -->
323<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ef6bd8bf932717bca39eda3b61618f7a">operator=</a> (const std::string &amp;str)</td></tr>
324
325<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in the string <code>str</code>. <br></td></tr>
326<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="94240d5cca2af8681c54845227419caa"></a><!-- doxytag: member="itpp::Mat::operator=" ref="94240d5cca2af8681c54845227419caa" args="(const char *str)" -->
327<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#94240d5cca2af8681c54845227419caa">operator=</a> (const char *str)</td></tr>
328
329<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set matrix equal to values in the string <code>str</code>. <br></td></tr>
330<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="552430c18b5ad4efd56d432a910da85a"></a><!-- doxytag: member="itpp::Mat::operator+=" ref="552430c18b5ad4efd56d432a910da85a" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
331<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#552430c18b5ad4efd56d432a910da85a">operator+=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
332
333<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition of matrices. <br></td></tr>
334<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0418d8cd8d9fe915ea3d117fc49f2361"></a><!-- doxytag: member="itpp::Mat::operator+=" ref="0418d8cd8d9fe915ea3d117fc49f2361" args="(Num_T t)" -->
335<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0418d8cd8d9fe915ea3d117fc49f2361">operator+=</a> (Num_T t)</td></tr>
336
337<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition of scalar to matrix. <br></td></tr>
338<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f682be7c1c4aff96820f1df3102c1ab"></a><!-- doxytag: member="itpp::Mat::operator&#45;=" ref="3f682be7c1c4aff96820f1df3102c1ab" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
339<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3f682be7c1c4aff96820f1df3102c1ab">operator-=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
340
341<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction of matrix. <br></td></tr>
342<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec46d523103874b2beef82b5f42ce40e"></a><!-- doxytag: member="itpp::Mat::operator&#45;=" ref="ec46d523103874b2beef82b5f42ce40e" args="(Num_T t)" -->
343<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ec46d523103874b2beef82b5f42ce40e">operator-=</a> (Num_T t)</td></tr>
344
345<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction of scalar from matrix. <br></td></tr>
346<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec8d607082ef791da383325022feced6"></a><!-- doxytag: member="itpp::Mat::operator*=" ref="ec8d607082ef791da383325022feced6" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
347<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ec8d607082ef791da383325022feced6">operator*=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
348
349<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix multiplication. <br></td></tr>
350<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a4f0596847fe360be7e01b00af8ea640"></a><!-- doxytag: member="itpp::Mat::operator*=" ref="a4f0596847fe360be7e01b00af8ea640" args="(Num_T t)" -->
351<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#a4f0596847fe360be7e01b00af8ea640">operator*=</a> (Num_T t)</td></tr>
352
353<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication by a scalar. <br></td></tr>
354<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="21d558f41a519ed477a30fc01a7b0c67"></a><!-- doxytag: member="itpp::Mat::operator/=" ref="21d558f41a519ed477a30fc01a7b0c67" args="(Num_T t)" -->
355<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#21d558f41a519ed477a30fc01a7b0c67">operator/=</a> (Num_T t)</td></tr>
356
357<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Division by a scalar. <br></td></tr>
358<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="95710edb5601c95a73e293a43a81bef4"></a><!-- doxytag: member="itpp::Mat::operator/=" ref="95710edb5601c95a73e293a43a81bef4" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
359<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#95710edb5601c95a73e293a43a81bef4">operator/=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
360
361<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element-wise division with the current matrix. <br></td></tr>
362<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="43e1622dffd50a9cd96f195c5f194255"></a><!-- doxytag: member="itpp::Mat::operator==" ref="43e1622dffd50a9cd96f195c5f194255" args="(const Mat&lt; Num_T &gt; &amp;m) const " -->
363bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#43e1622dffd50a9cd96f195c5f194255">operator==</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m) const </td></tr>
364
365<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two matrices. False if wrong sizes or different values. <br></td></tr>
366<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f1f48682a847f51a0c604a45f3cf3abf"></a><!-- doxytag: member="itpp::Mat::operator!=" ref="f1f48682a847f51a0c604a45f3cf3abf" args="(const Mat&lt; Num_T &gt; &amp;m) const " -->
367bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f1f48682a847f51a0c604a45f3cf3abf">operator!=</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m) const </td></tr>
368
369<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two matrices. True if different. <br></td></tr>
370<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f3b4faaaf4b7aa25c50e8dbe28c36cc"></a><!-- doxytag: member="itpp::Mat::_elem" ref="9f3b4faaaf4b7aa25c50e8dbe28c36cc" args="(int r, int c)" -->
371Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9f3b4faaaf4b7aa25c50e8dbe28c36cc">_elem</a> (int r, int c)</td></tr>
372
373<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element (r,c) from matrix without boundary check (not recommended to use). <br></td></tr>
374<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2a792a785bb099389904f4b603fec6bd"></a><!-- doxytag: member="itpp::Mat::_elem" ref="2a792a785bb099389904f4b603fec6bd" args="(int r, int c) const " -->
375const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2a792a785bb099389904f4b603fec6bd">_elem</a> (int r, int c) const </td></tr>
376
377<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element (r,c) from matrix without boundary check (not recommended to use). <br></td></tr>
378<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0d7cf36990178320d807a9006d9d57d1"></a><!-- doxytag: member="itpp::Mat::_elem" ref="0d7cf36990178320d807a9006d9d57d1" args="(int i)" -->
379Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0d7cf36990178320d807a9006d9d57d1">_elem</a> (int i)</td></tr>
380
381<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element <code>i</code> using linear addressing (by rows) without boundary check (not recommended to use). <br></td></tr>
382<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30b1aca3accd23ca06d2bc3077754ee3"></a><!-- doxytag: member="itpp::Mat::_elem" ref="30b1aca3accd23ca06d2bc3077754ee3" args="(int i) const " -->
383const Num_T &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#30b1aca3accd23ca06d2bc3077754ee3">_elem</a> (int i) const </td></tr>
384
385<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get element <code>i</code> using linear addressing (by rows) without boundary check (not recommended to use). <br></td></tr>
386<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e88c1da88027f1e597cb5eb34823b56c"></a><!-- doxytag: member="itpp::Mat::_data" ref="e88c1da88027f1e597cb5eb34823b56c" args="()" -->
387Num_T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#e88c1da88027f1e597cb5eb34823b56c">_data</a> ()</td></tr>
388
389<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access of the internal data structure (not recommended to use). <br></td></tr>
390<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e30019ec3a46b1fecd82848423dd517"></a><!-- doxytag: member="itpp::Mat::_data" ref="2e30019ec3a46b1fecd82848423dd517" args="() const " -->
391const Num_T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2e30019ec3a46b1fecd82848423dd517">_data</a> () const </td></tr>
392
393<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to the internal data structure (not recommended to use). <br></td></tr>
394<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="20119f290acfc60a8025a853ea00d366"></a><!-- doxytag: member="itpp::Mat::_datasize" ref="20119f290acfc60a8025a853ea00d366" args="() const " -->
395int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#20119f290acfc60a8025a853ea00d366">_datasize</a> () const </td></tr>
396
397<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access to the internal data structure (not recommended to use). <br></td></tr>
398<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
399<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c7d51b109b5fb0e73f37a6fa534416d4"></a><!-- doxytag: member="itpp::Mat::alloc" ref="c7d51b109b5fb0e73f37a6fa534416d4" args="(int rows, int cols)" -->
400void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#c7d51b109b5fb0e73f37a6fa534416d4">alloc</a> (int rows, int cols)</td></tr>
401
402<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate memory for the matrix. <br></td></tr>
403<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="12af60d57fcb400354da87a7b4517cb6"></a><!-- doxytag: member="itpp::Mat::free" ref="12af60d57fcb400354da87a7b4517cb6" args="()" -->
404void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#12af60d57fcb400354da87a7b4517cb6">free</a> ()</td></tr>
405
406<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the memory space of the matrix. <br></td></tr>
407<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
408<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7625e06c1080d04538d4d05d14dc6384"></a><!-- doxytag: member="itpp::Mat::data" ref="7625e06c1080d04538d4d05d14dc6384" args="" -->
409Num_T *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7625e06c1080d04538d4d05d14dc6384">data</a></td></tr>
410
411<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Protected data pointer. <br></td></tr>
412<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a53ad4a4ada865a905cd40f261eeb2d6"></a><!-- doxytag: member="itpp::Mat::factory" ref="a53ad4a4ada865a905cd40f261eeb2d6" args="" -->
413const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#a53ad4a4ada865a905cd40f261eeb2d6">factory</a></td></tr>
414
415<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element factory (set to DEFAULT_FACTORY to use Num_T default constructors only). <br></td></tr>
416<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
417<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#a41129a4b85c79ffd8955dab994c3545">datasize</a></td></tr>
418
419<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="51264a63cd1b67c248b1e6f2e4ab5e29"></a><!-- doxytag: member="itpp::Mat::no_rows" ref="51264a63cd1b67c248b1e6f2e4ab5e29" args="" -->
420int&nbsp;</td><td class="memItemRight" valign="bottom"><b>no_rows</b></td></tr>
421
422<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48da911d790e3505ab4afcfdf593bbcd"></a><!-- doxytag: member="itpp::Mat::no_cols" ref="48da911d790e3505ab4afcfdf593bbcd" args="" -->
423int&nbsp;</td><td class="memItemRight" valign="bottom"><b>no_cols</b></td></tr>
424
425<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
426<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="015c594deaec63fdcd8b476a5bc95ee2"></a><!-- doxytag: member="itpp::Mat::concat_horizontal" ref="015c594deaec63fdcd8b476a5bc95ee2" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
427<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#015c594deaec63fdcd8b476a5bc95ee2">concat_horizontal</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
428
429<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Concatenate the matrices <code>m1</code> and <code>m2</code> horizontally. <br></td></tr>
430<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78f5d4cc349275ecb18fb05475af74bd"></a><!-- doxytag: member="itpp::Mat::concat_vertical" ref="78f5d4cc349275ecb18fb05475af74bd" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
431<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#78f5d4cc349275ecb18fb05475af74bd">concat_vertical</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
432
433<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Concatenate the matrices <code>m1</code> and <code>m2</code> vertically. <br></td></tr>
434<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9fa0247f1f784683471acc66dd19527d"></a><!-- doxytag: member="itpp::Mat::operator+" ref="9fa0247f1f784683471acc66dd19527d" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
435<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9fa0247f1f784683471acc66dd19527d">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
436
437<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition of two matrices. <br></td></tr>
438<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3d880cacf7509167830af08668cf977a"></a><!-- doxytag: member="itpp::Mat::operator+" ref="3d880cacf7509167830af08668cf977a" args="(const Mat&lt; Num_T &gt; &amp;m, Num_T t)" -->
439<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3d880cacf7509167830af08668cf977a">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, Num_T t)</td></tr>
440
441<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition of matrix and scalar. <br></td></tr>
442<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2617ebf83d3995484dc4739192c23018"></a><!-- doxytag: member="itpp::Mat::operator+" ref="2617ebf83d3995484dc4739192c23018" args="(Num_T t, const Mat&lt; Num_T &gt; &amp;m)" -->
443<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2617ebf83d3995484dc4739192c23018">operator+</a> (Num_T t, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
444
445<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition of scalar and matrix. <br></td></tr>
446<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f9ba7f5014af9473e3ee8b5ded8c8e3"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="7f9ba7f5014af9473e3ee8b5ded8c8e3" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
447<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7f9ba7f5014af9473e3ee8b5ded8c8e3">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
448
449<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction of <code>m2</code> from <code>m1</code>. <br></td></tr>
450<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f04518c491cfed040f3772239a8b27a6"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="f04518c491cfed040f3772239a8b27a6" args="(const Mat&lt; Num_T &gt; &amp;m, Num_T t)" -->
451<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f04518c491cfed040f3772239a8b27a6">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, Num_T t)</td></tr>
452
453<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction of scalar from matrix. <br></td></tr>
454<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f037967900c188c523d772740356c9c8"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="f037967900c188c523d772740356c9c8" args="(Num_T t, const Mat&lt; Num_T &gt; &amp;m)" -->
455<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f037967900c188c523d772740356c9c8">operator-</a> (Num_T t, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
456
457<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtract matrix from scalar. <br></td></tr>
458<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8e23133d45d537e03a5025aca1682f0b"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="8e23133d45d537e03a5025aca1682f0b" args="(const Mat&lt; Num_T &gt; &amp;m)" -->
459<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#8e23133d45d537e03a5025aca1682f0b">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
460
461<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction of matrix. <br></td></tr>
462<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f16d43ceaf7d535b12f7aba610aa7ce0"></a><!-- doxytag: member="itpp::Mat::operator*" ref="f16d43ceaf7d535b12f7aba610aa7ce0" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
463<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f16d43ceaf7d535b12f7aba610aa7ce0">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
464
465<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication of two matrices. <br></td></tr>
466<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cab435371f51b3d2a6757d4ad4eed92"></a><!-- doxytag: member="itpp::Mat::operator*" ref="7cab435371f51b3d2a6757d4ad4eed92" args="(const Mat&lt; Num_T &gt; &amp;m, const Vec&lt; Num_T &gt; &amp;v)" -->
467<a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7cab435371f51b3d2a6757d4ad4eed92">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; Num_T &gt; &amp;v)</td></tr>
468
469<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication of matrix <code>m</code> and vector <code>v</code> (column vector). <br></td></tr>
470<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c95ac7d2ee7ab192fc142f2235295e8d"></a><!-- doxytag: member="itpp::Mat::operator*" ref="c95ac7d2ee7ab192fc142f2235295e8d" args="(const Mat&lt; Num_T &gt; &amp;m, Num_T t)" -->
471<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#c95ac7d2ee7ab192fc142f2235295e8d">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, Num_T t)</td></tr>
472
473<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication of matrix and scalar. <br></td></tr>
474<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa9dc37eb0f7e7ec66302711fafa7215"></a><!-- doxytag: member="itpp::Mat::operator*" ref="fa9dc37eb0f7e7ec66302711fafa7215" args="(Num_T t, const Mat&lt; Num_T &gt; &amp;m)" -->
475<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#fa9dc37eb0f7e7ec66302711fafa7215">operator*</a> (Num_T t, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
476
477<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication of scalar and matrix. <br></td></tr>
478<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0938b93b523ffdfcfb1788052f1905be"></a><!-- doxytag: member="itpp::Mat::elem_mult" ref="0938b93b523ffdfcfb1788052f1905be" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
479<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0938b93b523ffdfcfb1788052f1905be">elem_mult</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
480
481<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise multiplication of two matrices. <br></td></tr>
482<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="133ff580eaf80e7182c36b90376c9923"></a><!-- doxytag: member="itpp::Mat::elem_mult_out" ref="133ff580eaf80e7182c36b90376c9923" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2, Mat&lt; Num_T &gt; &amp;out)" -->
483void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#133ff580eaf80e7182c36b90376c9923">elem_mult_out</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;out)</td></tr>
484
485<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise multiplication of two matrices, storing the result in matrix <code>out</code>. <br></td></tr>
486<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0e659941a082ce072f0061f0826a2b4b"></a><!-- doxytag: member="itpp::Mat::elem_mult_out" ref="0e659941a082ce072f0061f0826a2b4b" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2, const Mat&lt; Num_T &gt; &amp;m3, Mat&lt; Num_T &gt; &amp;out)" -->
487void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0e659941a082ce072f0061f0826a2b4b">elem_mult_out</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m3, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;out)</td></tr>
488
489<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise multiplication of three matrices, storing the result in matrix <code>out</code>. <br></td></tr>
490<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4489d01ebfef29dbf81aeb27fc1557e2"></a><!-- doxytag: member="itpp::Mat::elem_mult_out" ref="4489d01ebfef29dbf81aeb27fc1557e2" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2, const Mat&lt; Num_T &gt; &amp;m3, const Mat&lt; Num_T &gt; &amp;m4, Mat&lt; Num_T &gt; &amp;out)" -->
491void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4489d01ebfef29dbf81aeb27fc1557e2">elem_mult_out</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m3, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m4, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;out)</td></tr>
492
493<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise multiplication of four matrices, storing the result in matrix <code>out</code>. <br></td></tr>
494<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a9d9068f95d5b19cf2b0c12c4e736d1"></a><!-- doxytag: member="itpp::Mat::elem_mult_inplace" ref="3a9d9068f95d5b19cf2b0c12c4e736d1" args="(const Mat&lt; Num_T &gt; &amp;m1, Mat&lt; Num_T &gt; &amp;m2)" -->
495void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3a9d9068f95d5b19cf2b0c12c4e736d1">elem_mult_inplace</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
496
497<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">In-place element wise multiplication of two matrices. Fast version of B = elem_mult(A, B). <br></td></tr>
498<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bf991c9103254fcfdeb51108f8ff7bb"></a><!-- doxytag: member="itpp::Mat::elem_mult_sum" ref="6bf991c9103254fcfdeb51108f8ff7bb" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
499Num_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6bf991c9103254fcfdeb51108f8ff7bb">elem_mult_sum</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
500
501<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise multiplication of two matrices, followed by summation of the resultant elements. Fast version of sumsum(elem_mult(A, B)). <br></td></tr>
502<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="53cbc300b909c8c1d9dd72a767826099"></a><!-- doxytag: member="itpp::Mat::operator/" ref="53cbc300b909c8c1d9dd72a767826099" args="(const Mat&lt; Num_T &gt; &amp;m, Num_T t)" -->
503<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#53cbc300b909c8c1d9dd72a767826099">operator/</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m, Num_T t)</td></tr>
504
505<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element-wise division by a scalar. <br></td></tr>
506<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="000476d57780d97610da48c9d22976f3"></a><!-- doxytag: member="itpp::Mat::operator/" ref="000476d57780d97610da48c9d22976f3" args="(Num_T t, const Mat&lt; Num_T &gt; &amp;m)" -->
507<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#000476d57780d97610da48c9d22976f3">operator/</a> (Num_T t, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
508
509<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element-wise division (<code>t</code> is the dividend, elements of <code>m</code> are divisors). <br></td></tr>
510<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71003e5ff01767a3e2114d91078006aa"></a><!-- doxytag: member="itpp::Mat::elem_div" ref="71003e5ff01767a3e2114d91078006aa" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
511<a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#71003e5ff01767a3e2114d91078006aa">elem_div</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
512
513<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise division of two matrices. <br></td></tr>
514<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b7767779959e62670db1dba72c433038"></a><!-- doxytag: member="itpp::Mat::elem_div_out" ref="b7767779959e62670db1dba72c433038" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2, Mat&lt; Num_T &gt; &amp;out)" -->
515void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b7767779959e62670db1dba72c433038">elem_div_out</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;out)</td></tr>
516
517<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise division of two matrices, storing the result in matrix <code>out</code>. <br></td></tr>
518<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="929d4cc55132808f2f3d08dc40b2a64c"></a><!-- doxytag: member="itpp::Mat::elem_div_sum" ref="929d4cc55132808f2f3d08dc40b2a64c" args="(const Mat&lt; Num_T &gt; &amp;m1, const Mat&lt; Num_T &gt; &amp;m2)" -->
519Num_T&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#929d4cc55132808f2f3d08dc40b2a64c">elem_div_sum</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m1, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m2)</td></tr>
520
521<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Element wise division of two matrices, followed by summation of the resultant elements. Fast version of sumsum(elem_div(A, B)). <br></td></tr>
522<tr><td colspan="2"><br><h2>Related Functions</h2></td></tr>
523<tr><td colspan="2">(Note that these are not member functions.) <br><br></td></tr>
524<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bba394f181c76fda12759568986c613"></a><!-- doxytag: member="itpp::Mat::mat" ref="6bba394f181c76fda12759568986c613" args="" -->
525typedef <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; double &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613">mat</a></td></tr>
526
527<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default Matrix Type. <br></td></tr>
528<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6fbac4b7184807da188e5b85d42f038b"></a><!-- doxytag: member="itpp::Mat::cmat" ref="6fbac4b7184807da188e5b85d42f038b" args="" -->
529typedef <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; std::complex<br class="typebreak">
530&lt; double &gt; &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6fbac4b7184807da188e5b85d42f038b">cmat</a></td></tr>
531
532<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default Complex Matrix Type. <br></td></tr>
533<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e0dd2f635e4bd0b28c09685d9c4f3bb"></a><!-- doxytag: member="itpp::Mat::imat" ref="9e0dd2f635e4bd0b28c09685d9c4f3bb" args="" -->
534typedef <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9e0dd2f635e4bd0b28c09685d9c4f3bb">imat</a></td></tr>
535
536<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Integer matrix. <br></td></tr>
537<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="debd320317a18c022d3ca856af6d3687"></a><!-- doxytag: member="itpp::Mat::smat" ref="debd320317a18c022d3ca856af6d3687" args="" -->
538typedef <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; short int &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#debd320317a18c022d3ca856af6d3687">smat</a></td></tr>
539
540<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">short int matrix <br></td></tr>
541<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g07f9bb235b54a35618f764d6e7894ce3"></a><!-- doxytag: member="itpp::Mat::to_bmat" ref="g07f9bb235b54a35618f764d6e7894ce3" args="(const Mat&lt; T &gt; &amp;m)" -->
542template&lt;class T &gt; </td></tr>
543<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#g07f9bb235b54a35618f764d6e7894ce3">to_bmat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;m)</td></tr>
544
545<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to bmat. <br></td></tr>
546<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gf713af60052f77c79cdb145311341e99"></a><!-- doxytag: member="itpp::Mat::to_smat" ref="gf713af60052f77c79cdb145311341e99" args="(const Mat&lt; T &gt; &amp;m)" -->
547template&lt;class T &gt; </td></tr>
548<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">smat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#gf713af60052f77c79cdb145311341e99">to_smat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;m)</td></tr>
549
550<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to smat. <br></td></tr>
551<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g029975a9d32a9b958f4ec9965f4f1acb"></a><!-- doxytag: member="itpp::Mat::to_imat" ref="g029975a9d32a9b958f4ec9965f4f1acb" args="(const Mat&lt; T &gt; &amp;m)" -->
552template&lt;class T &gt; </td></tr>
553<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">imat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#g029975a9d32a9b958f4ec9965f4f1acb">to_imat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;m)</td></tr>
554
555<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to imat. <br></td></tr>
556<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g7d8813d98735a505d262763fa149dd2d"></a><!-- doxytag: member="itpp::Mat::to_mat" ref="g7d8813d98735a505d262763fa149dd2d" args="(const Mat&lt; T &gt; &amp;m)" -->
557template&lt;class T &gt; </td></tr>
558<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#g7d8813d98735a505d262763fa149dd2d">to_mat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;m)</td></tr>
559
560<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to mat. <br></td></tr>
561<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge05e63fed8aadc8152a4c3990f110e73"></a><!-- doxytag: member="itpp::Mat::to_cmat" ref="ge05e63fed8aadc8152a4c3990f110e73" args="(const Mat&lt; T &gt; &amp;m)" -->
562template&lt;class T &gt; </td></tr>
563<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#ge05e63fed8aadc8152a4c3990f110e73">to_cmat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;m)</td></tr>
564
565<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts a <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to cmat. <br></td></tr>
566<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g6481e9c6a0c9ac248b634662e3b388ee"></a><!-- doxytag: member="itpp::Mat::to_cmat" ref="g6481e9c6a0c9ac248b634662e3b388ee" args="(const Mat&lt; T &gt; &amp;real, const Mat&lt; T &gt; &amp;imag)" -->
567template&lt;class T &gt; </td></tr>
568<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__convertfunc.html#g6481e9c6a0c9ac248b634662e3b388ee">to_cmat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;real, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;imag)</td></tr>
569
570<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts real and imaginary <a class="el" href="classitpp_1_1Mat.html">Mat&lt;T&gt;</a> to cmat. <br></td></tr>
571<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7558bf7d97745fa599059557980eb84c"></a><!-- doxytag: member="itpp::Mat::sub_v_vT_m" ref="7558bf7d97745fa599059557980eb84c" args="(mat &amp;m, const vec &amp;v)" -->
572void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7558bf7d97745fa599059557980eb84c">sub_v_vT_m</a> (<a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const vec &amp;v)</td></tr>
573
574<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates m=m-v*v'*m. <br></td></tr>
575<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68c7dd6c53565f3ad661d1edf23ddd12"></a><!-- doxytag: member="itpp::Mat::sub_m_v_vT" ref="68c7dd6c53565f3ad661d1edf23ddd12" args="(mat &amp;m, const vec &amp;v)" -->
576void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#68c7dd6c53565f3ad661d1edf23ddd12">sub_m_v_vT</a> (<a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const vec &amp;v)</td></tr>
577
578<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Calculates m=m-m*v*v'. <br></td></tr>
579<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f196cc2d6c64274059d82eec4563dd7b"></a><!-- doxytag: member="itpp::Mat::operator&lt;&lt;" ref="f196cc2d6c64274059d82eec4563dd7b" args="(std::ostream &amp;os, const Mat&lt; Num_T &gt; &amp;m)" -->
580template&lt;class Num_T &gt; </td></tr>
581<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::ostream &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f196cc2d6c64274059d82eec4563dd7b">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
582
583<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output stream for matrices. <br></td></tr>
584<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class Num_T &gt; </td></tr>
585<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">std::istream &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#58b14432f01ac1b729a81c2df6840354">operator&gt;&gt;</a> (std::istream &amp;is, <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;m)</td></tr>
586
587<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Input stream for matrices.  <a href="#58b14432f01ac1b729a81c2df6840354"></a><br></td></tr>
588<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T &gt; </td></tr>
589<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__matrix__functions.html#g608ecbac6ff6a1ce6d5e69c0dd789021">repmat</a> (const <a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt; &amp;<a class="el" href="classitpp_1_1Mat.html#7625e06c1080d04538d4d05d14dc6384">data</a>, int m, int n)</td></tr>
590
591<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a matrix with <code>m</code> by <code>n</code> copies of the matrix <code>data</code><a href="group__matrix__functions.html#g608ecbac6ff6a1ce6d5e69c0dd789021"></a><br></td></tr>
592<tr><td class="memTemplParams" nowrap colspan="2">template&lt;class T &gt; </td></tr>
593<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="group__matrix__functions.html#g8d9541af4bd11193689d3f30b1cd5a74">repmat</a> (const <a class="el" href="classitpp_1_1Vec.html">Vec</a>&lt; T &gt; &amp;v, int m, int n, bool transpose=false)</td></tr>
594
595<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a matrix with <code>m</code> by <code>n</code> copies of the vector <code>data</code><a href="group__matrix__functions.html#g8d9541af4bd11193689d3f30b1cd5a74"></a><br></td></tr>
596<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6022e389af859267943eff01843850fe"></a><!-- doxytag: member="itpp::Mat::operator+" ref="6022e389af859267943eff01843850fe" args="(const float &amp;s, const mat &amp;m)" -->
597<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6022e389af859267943eff01843850fe">operator+</a> (const float &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
598
599<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for float and mat. <br></td></tr>
600<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4a26a6ccac4615524b3b9e7c896fe228"></a><!-- doxytag: member="itpp::Mat::operator+" ref="4a26a6ccac4615524b3b9e7c896fe228" args="(const short &amp;s, const mat &amp;m)" -->
601<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4a26a6ccac4615524b3b9e7c896fe228">operator+</a> (const short &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
602
603<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for short and mat. <br></td></tr>
604<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a5e2e7ce060ec61ce0267869b754510"></a><!-- doxytag: member="itpp::Mat::operator+" ref="6a5e2e7ce060ec61ce0267869b754510" args="(const int &amp;s, const mat &amp;m)" -->
605<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6a5e2e7ce060ec61ce0267869b754510">operator+</a> (const int &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
606
607<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for int and mat. <br></td></tr>
608<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="db0daa17b7a67018366d0de3d9289050"></a><!-- doxytag: member="itpp::Mat::operator+" ref="db0daa17b7a67018366d0de3d9289050" args="(const mat &amp;m, const float &amp;s)" -->
609<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#db0daa17b7a67018366d0de3d9289050">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const float &amp;s)</td></tr>
610
611<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and float. <br></td></tr>
612<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a57255f111af68edaed4ae10fc3979fd"></a><!-- doxytag: member="itpp::Mat::operator+" ref="a57255f111af68edaed4ae10fc3979fd" args="(const mat &amp;m, const short &amp;s)" -->
613<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#a57255f111af68edaed4ae10fc3979fd">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const short &amp;s)</td></tr>
614
615<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and short. <br></td></tr>
616<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="26c70b276e84d401c63092fc8bda0df0"></a><!-- doxytag: member="itpp::Mat::operator+" ref="26c70b276e84d401c63092fc8bda0df0" args="(const mat &amp;m, const int &amp;s)" -->
617<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#26c70b276e84d401c63092fc8bda0df0">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const int &amp;s)</td></tr>
618
619<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and int. <br></td></tr>
620<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b81dbb94d1573b8aaee58f5ff0311341"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="b81dbb94d1573b8aaee58f5ff0311341" args="(const float &amp;s, const mat &amp;m)" -->
621<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b81dbb94d1573b8aaee58f5ff0311341">operator-</a> (const float &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
622
623<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for float and mat. <br></td></tr>
624<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dcae2695cc16cf763844adeb725bf238"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="dcae2695cc16cf763844adeb725bf238" args="(const short &amp;s, const mat &amp;m)" -->
625<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#dcae2695cc16cf763844adeb725bf238">operator-</a> (const short &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
626
627<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for short and mat. <br></td></tr>
628<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="999d4b703d3f6413c3654d7695acbac3"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="999d4b703d3f6413c3654d7695acbac3" args="(const int &amp;s, const mat &amp;m)" -->
629<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#999d4b703d3f6413c3654d7695acbac3">operator-</a> (const int &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
630
631<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for int and mat. <br></td></tr>
632<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="61d5af76701b54177492aa64e1ce2b9c"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="61d5af76701b54177492aa64e1ce2b9c" args="(const mat &amp;m, const float &amp;s)" -->
633<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#61d5af76701b54177492aa64e1ce2b9c">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const float &amp;s)</td></tr>
634
635<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and float. <br></td></tr>
636<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9758ca51febe98d83f48ec3ccc8819e7"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="9758ca51febe98d83f48ec3ccc8819e7" args="(const mat &amp;m, const short &amp;s)" -->
637<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9758ca51febe98d83f48ec3ccc8819e7">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const short &amp;s)</td></tr>
638
639<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and short. <br></td></tr>
640<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="50f11b507d524b7fec162ab12516871b"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="50f11b507d524b7fec162ab12516871b" args="(const mat &amp;m, const int &amp;s)" -->
641<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#50f11b507d524b7fec162ab12516871b">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const int &amp;s)</td></tr>
642
643<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and int. <br></td></tr>
644<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="65b1e101847ede5a3a9a36e041098e0d"></a><!-- doxytag: member="itpp::Mat::operator*" ref="65b1e101847ede5a3a9a36e041098e0d" args="(const float &amp;s, const mat &amp;m)" -->
645<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#65b1e101847ede5a3a9a36e041098e0d">operator*</a> (const float &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
646
647<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for float and mat. <br></td></tr>
648<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ea9f91ead21d7b60ce21bf2342ef0f44"></a><!-- doxytag: member="itpp::Mat::operator*" ref="ea9f91ead21d7b60ce21bf2342ef0f44" args="(const short &amp;s, const mat &amp;m)" -->
649<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ea9f91ead21d7b60ce21bf2342ef0f44">operator*</a> (const short &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
650
651<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for short and mat. <br></td></tr>
652<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4f65e3fe3a4da2a02b297c0f0e0a2af5"></a><!-- doxytag: member="itpp::Mat::operator*" ref="4f65e3fe3a4da2a02b297c0f0e0a2af5" args="(const int &amp;s, const mat &amp;m)" -->
653<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4f65e3fe3a4da2a02b297c0f0e0a2af5">operator*</a> (const int &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
654
655<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for int and mat. <br></td></tr>
656<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4c957fb3fbe3daa7316cb2f68838c133"></a><!-- doxytag: member="itpp::Mat::operator*" ref="4c957fb3fbe3daa7316cb2f68838c133" args="(const mat &amp;m, const float &amp;s)" -->
657<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4c957fb3fbe3daa7316cb2f68838c133">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const float &amp;s)</td></tr>
658
659<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for mat and float. <br></td></tr>
660<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ce2e9973de6ecac5ad5dc3df1e44f5ad"></a><!-- doxytag: member="itpp::Mat::operator*" ref="ce2e9973de6ecac5ad5dc3df1e44f5ad" args="(const mat &amp;m, const short &amp;s)" -->
661<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ce2e9973de6ecac5ad5dc3df1e44f5ad">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const short &amp;s)</td></tr>
662
663<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for mat and short. <br></td></tr>
664<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="af44c9cece775a002d1f398a16e9f6c8"></a><!-- doxytag: member="itpp::Mat::operator*" ref="af44c9cece775a002d1f398a16e9f6c8" args="(const mat &amp;m, const int &amp;s)" -->
665<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#af44c9cece775a002d1f398a16e9f6c8">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const int &amp;s)</td></tr>
666
667<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for mat and int. <br></td></tr>
668<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f46494bfc9fdf732b666cba7c7b0ec43"></a><!-- doxytag: member="itpp::Mat::operator/" ref="f46494bfc9fdf732b666cba7c7b0ec43" args="(const mat &amp;m, const float &amp;s)" -->
669<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f46494bfc9fdf732b666cba7c7b0ec43">operator/</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const float &amp;s)</td></tr>
670
671<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Division operator for mat and float. <br></td></tr>
672<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="82a91092a74e115dda75985e0a2dc8b3"></a><!-- doxytag: member="itpp::Mat::operator/" ref="82a91092a74e115dda75985e0a2dc8b3" args="(const mat &amp;m, const short &amp;s)" -->
673<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#82a91092a74e115dda75985e0a2dc8b3">operator/</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const short &amp;s)</td></tr>
674
675<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Division operator for mat and short. <br></td></tr>
676<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4f9d5d402ca9629f0a4c59e7b105c63"></a><!-- doxytag: member="itpp::Mat::operator/" ref="d4f9d5d402ca9629f0a4c59e7b105c63" args="(const mat &amp;m, const int &amp;s)" -->
677<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#d4f9d5d402ca9629f0a4c59e7b105c63">operator/</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const int &amp;s)</td></tr>
678
679<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Division operator for mat and int. <br></td></tr>
680<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="22d5270dc918c9d0abf1252af40e4499"></a><!-- doxytag: member="itpp::Mat::operator+" ref="22d5270dc918c9d0abf1252af40e4499" args="(const double &amp;s, const cmat &amp;m)" -->
681<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#22d5270dc918c9d0abf1252af40e4499">operator+</a> (const double &amp;s, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;m)</td></tr>
682
683<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for double and cmat. <br></td></tr>
684<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c2daa76a0e5b7b2e1043999f7d904cda"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="c2daa76a0e5b7b2e1043999f7d904cda" args="(const double &amp;s, const cmat &amp;m)" -->
685<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#c2daa76a0e5b7b2e1043999f7d904cda">operator-</a> (const double &amp;s, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;m)</td></tr>
686
687<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for double and cmat. <br></td></tr>
688<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96482bdf05639a5bf87a166ca5d2a300"></a><!-- doxytag: member="itpp::Mat::operator*" ref="96482bdf05639a5bf87a166ca5d2a300" args="(const double &amp;s, const cmat &amp;m)" -->
689<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#96482bdf05639a5bf87a166ca5d2a300">operator*</a> (const double &amp;s, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;m)</td></tr>
690
691<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for double and cmat. <br></td></tr>
692<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="62e3273ed9c264e4b2e6611f6490b944"></a><!-- doxytag: member="itpp::Mat::operator*" ref="62e3273ed9c264e4b2e6611f6490b944" args="(const std::complex&lt; double &gt; &amp;s, const mat &amp;m)" -->
693<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#62e3273ed9c264e4b2e6611f6490b944">operator*</a> (const std::complex&lt; double &gt; &amp;s, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m)</td></tr>
694
695<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for complex&lt;double&gt; and mat. <br></td></tr>
696<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4411c425f7a0904ca5beef6284275fe8"></a><!-- doxytag: member="itpp::Mat::operator*" ref="4411c425f7a0904ca5beef6284275fe8" args="(const mat &amp;m, const std::complex&lt; double &gt; &amp;s)" -->
697<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4411c425f7a0904ca5beef6284275fe8">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;m, const std::complex&lt; double &gt; &amp;s)</td></tr>
698
699<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for mat and complex&lt;double&gt;. <br></td></tr>
700<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9d42991d52887e93244f491b474147d5"></a><!-- doxytag: member="itpp::Mat::operator/" ref="9d42991d52887e93244f491b474147d5" args="(const cmat &amp;m, const double &amp;s)" -->
701<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#9d42991d52887e93244f491b474147d5">operator/</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;m, const double &amp;s)</td></tr>
702
703<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Division operator for cmat and double. <br></td></tr>
704<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd75c6686c0e254c0950cba50a542976"></a><!-- doxytag: member="itpp::Mat::operator+" ref="dd75c6686c0e254c0950cba50a542976" args="(const bmat &amp;a, const mat &amp;b)" -->
705<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#dd75c6686c0e254c0950cba50a542976">operator+</a> (const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
706
707<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for bmat and mat. <br></td></tr>
708<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e65358e654950a898275f42a44c0adfe"></a><!-- doxytag: member="itpp::Mat::operator+" ref="e65358e654950a898275f42a44c0adfe" args="(const smat &amp;a, const mat &amp;b)" -->
709<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#e65358e654950a898275f42a44c0adfe">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
710
711<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for smat and mat. <br></td></tr>
712<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae0d05ca2d913f0cc531c74d5c0a624d"></a><!-- doxytag: member="itpp::Mat::operator+" ref="ae0d05ca2d913f0cc531c74d5c0a624d" args="(const imat &amp;a, const mat &amp;b)" -->
713<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ae0d05ca2d913f0cc531c74d5c0a624d">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
714
715<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for imat and mat. <br></td></tr>
716<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="652cd7df1724cce2aeef5c5adc4b1265"></a><!-- doxytag: member="itpp::Mat::operator+" ref="652cd7df1724cce2aeef5c5adc4b1265" args="(const mat &amp;a, const bmat &amp;b)" -->
717<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#652cd7df1724cce2aeef5c5adc4b1265">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;b)</td></tr>
718
719<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and bmat. <br></td></tr>
720<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="00f26ad09b8eaa74f89caf7b9b96132a"></a><!-- doxytag: member="itpp::Mat::operator+" ref="00f26ad09b8eaa74f89caf7b9b96132a" args="(const mat &amp;a, const smat &amp;b)" -->
721<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#00f26ad09b8eaa74f89caf7b9b96132a">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;b)</td></tr>
722
723<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and smat. <br></td></tr>
724<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cdd3e63bb0c992ae27539593c1173b72"></a><!-- doxytag: member="itpp::Mat::operator+" ref="cdd3e63bb0c992ae27539593c1173b72" args="(const mat &amp;a, const imat &amp;b)" -->
725<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#cdd3e63bb0c992ae27539593c1173b72">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;b)</td></tr>
726
727<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and imat. <br></td></tr>
728<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fd7702cae4029943c9f19174f7548bcd"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="fd7702cae4029943c9f19174f7548bcd" args="(const bmat &amp;a, const mat &amp;b)" -->
729<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#fd7702cae4029943c9f19174f7548bcd">operator-</a> (const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
730
731<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for bmat and mat. <br></td></tr>
732<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c16f88f93b4b56b189ce930597258cf4"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="c16f88f93b4b56b189ce930597258cf4" args="(const smat &amp;a, const mat &amp;b)" -->
733<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#c16f88f93b4b56b189ce930597258cf4">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
734
735<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for smat and mat. <br></td></tr>
736<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5df37b65f4ad8618a64df0f11a7f9ae2"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="5df37b65f4ad8618a64df0f11a7f9ae2" args="(const imat &amp;a, const mat &amp;b)" -->
737<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#5df37b65f4ad8618a64df0f11a7f9ae2">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
738
739<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for imat and mat. <br></td></tr>
740<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="145dae0f24f3991a57ee3ef07f91f75b"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="145dae0f24f3991a57ee3ef07f91f75b" args="(const mat &amp;a, const bmat &amp;b)" -->
741<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#145dae0f24f3991a57ee3ef07f91f75b">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;b)</td></tr>
742
743<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and bmat. <br></td></tr>
744<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="299fd42d20c58c20114dff136c75e7ee"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="299fd42d20c58c20114dff136c75e7ee" args="(const mat &amp;a, const smat &amp;b)" -->
745<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#299fd42d20c58c20114dff136c75e7ee">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;b)</td></tr>
746
747<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and smat. <br></td></tr>
748<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6ebd1b529a4ef4c6b15cb0dcf2c059d"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="f6ebd1b529a4ef4c6b15cb0dcf2c059d" args="(const mat &amp;a, const imat &amp;b)" -->
749<a class="el" href="classitpp_1_1Mat.html">mat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#f6ebd1b529a4ef4c6b15cb0dcf2c059d">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;b)</td></tr>
750
751<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and imat. <br></td></tr>
752<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7dd4607d2ec5ea31066382c1df581855"></a><!-- doxytag: member="itpp::Mat::operator+" ref="7dd4607d2ec5ea31066382c1df581855" args="(const bmat &amp;a, const cmat &amp;b)" -->
753<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7dd4607d2ec5ea31066382c1df581855">operator+</a> (const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
754
755<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for bmat and cmat. <br></td></tr>
756<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57567e89872477d91be267b247ca3c8f"></a><!-- doxytag: member="itpp::Mat::operator+" ref="57567e89872477d91be267b247ca3c8f" args="(const smat &amp;a, const cmat &amp;b)" -->
757<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#57567e89872477d91be267b247ca3c8f">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
758
759<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for smat and cmat. <br></td></tr>
760<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4669aff84867819e2c8b39394a46cac0"></a><!-- doxytag: member="itpp::Mat::operator+" ref="4669aff84867819e2c8b39394a46cac0" args="(const imat &amp;a, const cmat &amp;b)" -->
761<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#4669aff84867819e2c8b39394a46cac0">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
762
763<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for imat and cmat. <br></td></tr>
764<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="494c748fedced1afd19a70232356693b"></a><!-- doxytag: member="itpp::Mat::operator+" ref="494c748fedced1afd19a70232356693b" args="(const mat &amp;a, const cmat &amp;b)" -->
765<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#494c748fedced1afd19a70232356693b">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
766
767<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for mat and cmat. <br></td></tr>
768<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="50134412b11dd113c87d79d289358b84"></a><!-- doxytag: member="itpp::Mat::operator+" ref="50134412b11dd113c87d79d289358b84" args="(const cmat &amp;a, const bmat &amp;b)" -->
769<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#50134412b11dd113c87d79d289358b84">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;b)</td></tr>
770
771<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for cmat and bmat. <br></td></tr>
772<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b661eb38aa9a1709f499d47b3649c554"></a><!-- doxytag: member="itpp::Mat::operator+" ref="b661eb38aa9a1709f499d47b3649c554" args="(const cmat &amp;a, const smat &amp;b)" -->
773<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b661eb38aa9a1709f499d47b3649c554">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;b)</td></tr>
774
775<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for cmat and smat. <br></td></tr>
776<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="32d56c021bbcc9d198326bda0ebca4b8"></a><!-- doxytag: member="itpp::Mat::operator+" ref="32d56c021bbcc9d198326bda0ebca4b8" args="(const cmat &amp;a, const imat &amp;b)" -->
777<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#32d56c021bbcc9d198326bda0ebca4b8">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;b)</td></tr>
778
779<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for cmat and imat. <br></td></tr>
780<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8d0dd929323f4f8398be28a0f2d601be"></a><!-- doxytag: member="itpp::Mat::operator+" ref="8d0dd929323f4f8398be28a0f2d601be" args="(const cmat &amp;a, const mat &amp;b)" -->
781<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#8d0dd929323f4f8398be28a0f2d601be">operator+</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
782
783<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Addition operator for cmat and mat. <br></td></tr>
784<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3bbbf1db7c520b63ee6f7ac869c90e8"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="a3bbbf1db7c520b63ee6f7ac869c90e8" args="(const bmat &amp;a, const cmat &amp;b)" -->
785<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#a3bbbf1db7c520b63ee6f7ac869c90e8">operator-</a> (const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
786
787<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for bmat and cmat. <br></td></tr>
788<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8109c9a32f5fe8e7fefccf0bf22619b8"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="8109c9a32f5fe8e7fefccf0bf22619b8" args="(const smat &amp;a, const cmat &amp;b)" -->
789<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#8109c9a32f5fe8e7fefccf0bf22619b8">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
790
791<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for smat and cmat. <br></td></tr>
792<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cf1236ed7ee5e3ad492cab09715e3c5d"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="cf1236ed7ee5e3ad492cab09715e3c5d" args="(const imat &amp;a, const cmat &amp;b)" -->
793<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#cf1236ed7ee5e3ad492cab09715e3c5d">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
794
795<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for imat and cmat. <br></td></tr>
796<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="690c8872c4d1322624dd6cb7b311bf54"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="690c8872c4d1322624dd6cb7b311bf54" args="(const mat &amp;a, const cmat &amp;b)" -->
797<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#690c8872c4d1322624dd6cb7b311bf54">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
798
799<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for mat and cmat. <br></td></tr>
800<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="76bdfbd0b832d023dd8194263715356d"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="76bdfbd0b832d023dd8194263715356d" args="(const cmat &amp;a, const bmat &amp;b)" -->
801<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#76bdfbd0b832d023dd8194263715356d">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;b)</td></tr>
802
803<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for cmat and bmat. <br></td></tr>
804<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b1656d113860528bebddaa8ae816aae8"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="b1656d113860528bebddaa8ae816aae8" args="(const cmat &amp;a, const smat &amp;b)" -->
805<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#b1656d113860528bebddaa8ae816aae8">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;b)</td></tr>
806
807<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for cmat and smat. <br></td></tr>
808<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5237f68b04a287846d7a7a9011a545b5"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="5237f68b04a287846d7a7a9011a545b5" args="(const cmat &amp;a, const imat &amp;b)" -->
809<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#5237f68b04a287846d7a7a9011a545b5">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;b)</td></tr>
810
811<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for cmat and imat. <br></td></tr>
812<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c0f7ead2946b6d9c5504d83a6cb4c862"></a><!-- doxytag: member="itpp::Mat::operator&#45;" ref="c0f7ead2946b6d9c5504d83a6cb4c862" args="(const cmat &amp;a, const mat &amp;b)" -->
813<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#c0f7ead2946b6d9c5504d83a6cb4c862">operator-</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
814
815<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Subtraction operator for cmat and mat. <br></td></tr>
816<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6bc7c1fb3f33ca779bc01178fb047a4e"></a><!-- doxytag: member="itpp::Mat::operator*" ref="6bc7c1fb3f33ca779bc01178fb047a4e" args="(const mat &amp;a, const cmat &amp;b)" -->
817<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6bc7c1fb3f33ca779bc01178fb047a4e">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
818
819<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for mat and cmat. <br></td></tr>
820<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2ba498dc1ca1de4c6fb1887b0d6af59c"></a><!-- doxytag: member="itpp::Mat::operator*" ref="2ba498dc1ca1de4c6fb1887b0d6af59c" args="(const bmat &amp;a, const cmat &amp;b)" -->
821<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#2ba498dc1ca1de4c6fb1887b0d6af59c">operator*</a> (const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
822
823<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for bmat and cmat. <br></td></tr>
824<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0e0fde00179bf59522a448b8ce7be70"></a><!-- doxytag: member="itpp::Mat::operator*" ref="d0e0fde00179bf59522a448b8ce7be70" args="(const smat &amp;a, const cmat &amp;b)" -->
825<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#d0e0fde00179bf59522a448b8ce7be70">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
826
827<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for smat and cmat. <br></td></tr>
828<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7cd639a86b46b4c83cbc4a6db0fb2d84"></a><!-- doxytag: member="itpp::Mat::operator*" ref="7cd639a86b46b4c83cbc4a6db0fb2d84" args="(const imat &amp;a, const cmat &amp;b)" -->
829<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7cd639a86b46b4c83cbc4a6db0fb2d84">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;b)</td></tr>
830
831<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for imat and cmat. <br></td></tr>
832<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3f082929bcb3b0ebf42fc6d448437d85"></a><!-- doxytag: member="itpp::Mat::operator*" ref="3f082929bcb3b0ebf42fc6d448437d85" args="(const cmat &amp;a, const mat &amp;b)" -->
833<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3f082929bcb3b0ebf42fc6d448437d85">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">mat</a> &amp;b)</td></tr>
834
835<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for cmat and mat. <br></td></tr>
836<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7398d9d5c7f5fee46c6ee961ebf58d37"></a><!-- doxytag: member="itpp::Mat::operator*" ref="7398d9d5c7f5fee46c6ee961ebf58d37" args="(const cmat &amp;a, const bmat &amp;b)" -->
837<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#7398d9d5c7f5fee46c6ee961ebf58d37">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="mat_8h.html#f90acd1af41bf2d1d8a4bb23662fff69">bmat</a> &amp;b)</td></tr>
838
839<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for cmat and bmat. <br></td></tr>
840<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="464158ba820f8ca7158522edef8724d6"></a><!-- doxytag: member="itpp::Mat::operator*" ref="464158ba820f8ca7158522edef8724d6" args="(const cmat &amp;a, const smat &amp;b)" -->
841<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#464158ba820f8ca7158522edef8724d6">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">smat</a> &amp;b)</td></tr>
842
843<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for cmat and smat. <br></td></tr>
844<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="96633dd5e420f543dee53eb5396ac6d6"></a><!-- doxytag: member="itpp::Mat::operator*" ref="96633dd5e420f543dee53eb5396ac6d6" args="(const cmat &amp;a, const imat &amp;b)" -->
845<a class="el" href="classitpp_1_1Mat.html">cmat</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#96633dd5e420f543dee53eb5396ac6d6">operator*</a> (const <a class="el" href="classitpp_1_1Mat.html">cmat</a> &amp;a, const <a class="el" href="classitpp_1_1Mat.html">imat</a> &amp;b)</td></tr>
846
847<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplication operator for cmat and imat. <br></td></tr>
848<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1901f6273b19e2fbaeb19713aac7b475"></a><!-- doxytag: member="itpp::Mat::mat_1x1" ref="1901f6273b19e2fbaeb19713aac7b475" args="(T m00)" -->
849template&lt;class T &gt; </td></tr>
850<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#1901f6273b19e2fbaeb19713aac7b475">mat_1x1</a> (T m00)</td></tr>
851
852<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 1 by 1. <br></td></tr>
853<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0fa7701a41fe2d94b66198e116a76467"></a><!-- doxytag: member="itpp::Mat::mat_1x2" ref="0fa7701a41fe2d94b66198e116a76467" args="(T m00, T m01)" -->
854template&lt;class T &gt; </td></tr>
855<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#0fa7701a41fe2d94b66198e116a76467">mat_1x2</a> (T m00, T m01)</td></tr>
856
857<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 1 by 2. <br></td></tr>
858<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ecc67614d88981dfccb8e4e1b1769a8a"></a><!-- doxytag: member="itpp::Mat::mat_2x1" ref="ecc67614d88981dfccb8e4e1b1769a8a" args="(T m00, T m10)" -->
859template&lt;class T &gt; </td></tr>
860<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#ecc67614d88981dfccb8e4e1b1769a8a">mat_2x1</a> (T m00, T m10)</td></tr>
861
862<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 2 by 1. <br></td></tr>
863<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="e42dd32f4ba193e4e6304c4044115457"></a><!-- doxytag: member="itpp::Mat::mat_2x2" ref="e42dd32f4ba193e4e6304c4044115457" args="(T m00, T m01, T m10, T m11)" -->
864template&lt;class T &gt; </td></tr>
865<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#e42dd32f4ba193e4e6304c4044115457">mat_2x2</a> (T m00, T m01, T m10, T m11)</td></tr>
866
867<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 2 by 2. <br></td></tr>
868<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="6833fa0a2870fb0599ad9cfee24716c7"></a><!-- doxytag: member="itpp::Mat::mat_1x3" ref="6833fa0a2870fb0599ad9cfee24716c7" args="(T m00, T m01, T m02)" -->
869template&lt;class T &gt; </td></tr>
870<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#6833fa0a2870fb0599ad9cfee24716c7">mat_1x3</a> (T m00, T m01, T m02)</td></tr>
871
872<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 1 by 3. <br></td></tr>
873<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="fdd7dc8c7a7b7f299894b3b70bd2d8a9"></a><!-- doxytag: member="itpp::Mat::mat_3x1" ref="fdd7dc8c7a7b7f299894b3b70bd2d8a9" args="(T m00, T m10, T m20)" -->
874template&lt;class T &gt; </td></tr>
875<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#fdd7dc8c7a7b7f299894b3b70bd2d8a9">mat_3x1</a> (T m00, T m10, T m20)</td></tr>
876
877<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 3 by 1. <br></td></tr>
878<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="06677d35e1f7772905e8b66e9023258c"></a><!-- doxytag: member="itpp::Mat::mat_2x3" ref="06677d35e1f7772905e8b66e9023258c" args="(T m00, T m01, T m02, T m10, T m11, T m12)" -->
879template&lt;class T &gt; </td></tr>
880<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#06677d35e1f7772905e8b66e9023258c">mat_2x3</a> (T m00, T m01, T m02, T m10, T m11, T m12)</td></tr>
881
882<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 2 by 3. <br></td></tr>
883<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3dd8118ba3e1456a24d7c888c76e899a"></a><!-- doxytag: member="itpp::Mat::mat_3x2" ref="3dd8118ba3e1456a24d7c888c76e899a" args="(T m00, T m01, T m10, T m11, T m20, T m21)" -->
884template&lt;class T &gt; </td></tr>
885<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3dd8118ba3e1456a24d7c888c76e899a">mat_3x2</a> (T m00, T m01, T m10, T m11, T m20, T m21)</td></tr>
886
887<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 3 by 2. <br></td></tr>
888<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3aa6b5a1bc2d9d5e970578917630e78b"></a><!-- doxytag: member="itpp::Mat::mat_3x3" ref="3aa6b5a1bc2d9d5e970578917630e78b" args="(T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)" -->
889template&lt;class T &gt; </td></tr>
890<tr><td class="memTemplItemLeft" nowrap align="right" valign="top"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; T &gt;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classitpp_1_1Mat.html#3aa6b5a1bc2d9d5e970578917630e78b">mat_3x3</a> (T m00, T m01, T m02, T m10, T m11, T m12, T m20, T m21, T m22)</td></tr>
891
892<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix of size 3 by 3. <br></td></tr>
893</table>
894<hr><a name="_details"></a><h2>Detailed Description</h2>
895<h3>template&lt;class Num_T&gt;<br>
896 class itpp::Mat&lt; Num_T &gt;</h3>
897
898Matrix Class (Templated).
899<p>
900<dl class="author" compact><dt><b>Author:</b></dt><dd>Tony Ottosson, Tobias Ringstrom, Adam Piatyszek and Conrad Sanderson</dd></dl>
901Matrices can be of arbitrarily types, but conversions and functions are prepared for <code><a class="el" href="classitpp_1_1bin.html" title="Binary arithmetic (boolean) class.">bin</a></code>, <code>short</code>, <code>int</code>, <code>double</code>, and <code>complex&lt;double&gt;</code> vectors and these are predefined as: <code>bmat</code>, <code>smat</code>, <code>imat</code>, <code>mat</code>, and <code>cmat</code>. <code>double</code> and <code>complex&lt;double&gt;</code> are usually <code>double</code> and <code>complex&lt;double&gt;</code> respectively. However, this can be changed when compiling the it++ (see installation notes for more details). (Note: for binary matrices, an alternative to the bmat class is <code><a class="el" href="classitpp_1_1GF2mat.html" title="Class for dense GF(2) matrices.">GF2mat</a></code> and <code>GF2mat_dense</code>, which offer a more memory efficient representation and additional functions for linear algebra.)<p>
902Examples:<p>
903Matrix Constructors: When constructing a matrix without dimensions (memory) use <div class="fragment"><pre class="fragment"> <a class="code" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613" title="Default Matrix Type.">mat</a> temp;
904</pre></div> For construction of a matrix of a given size use <div class="fragment"><pre class="fragment"> <a class="code" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613" title="Default Matrix Type.">mat</a> temp(<a class="code" href="classitpp_1_1Mat.html#f3028609c01e08fb07c5bf0bcd4c4e03" title="The number of rows.">rows</a>, <a class="code" href="classitpp_1_1Mat.html#49680ef454d1d75b737e3ce157f1ac7b" title="The number of columns.">cols</a>);
905</pre></div> It is also possible to assign the constructed matrix the value and dimension of another matrix by <div class="fragment"><pre class="fragment"> vec temp(inmatrix);
906</pre></div> If you have explicit values you would like to assign to the matrix it is possible to do this using strings as: <div class="fragment"><pre class="fragment">  <a class="code" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613" title="Default Matrix Type.">mat</a> a(<span class="stringliteral">"0 0.7;5 9.3"</span>); <span class="comment">// that is a = [0, 0.7; 5, 9.3]</span>
907  <a class="code" href="classitpp_1_1Mat.html#6bba394f181c76fda12759568986c613" title="Default Matrix Type.">mat</a> a=<span class="stringliteral">"0 0.7;5 9.3"</span><span class="comment">// the constructor are called implicitly</span>
908</pre></div> It is also possible to change dimension by <div class="fragment"><pre class="fragment"> temp.set_size(new_rows, new_cols, <span class="keyword">false</span>);
909</pre></div> where <code>false</code> is used to indicate that the old values in <code>temp</code> is not copied. If you like to preserve the values use <code>true</code>.<p>
910There are a number of methods to access parts of a matrix. Examples are <div class="fragment"><pre class="fragment">  a(5,3);     <span class="comment">// Element number (5,3)</span>
911  a(5,9,3,5);  <span class="comment">// Sub-matrix from rows 5, 6, 7, 8, 9 the columns 3, 4, and 5</span>
912  a.get_row(10);  <span class="comment">// Row 10</span>
913  a.get_col(10); <span class="comment">// Column 10</span>
914</pre></div><p>
915It is also possible to modify parts of a vector as e.g. in <div class="fragment"><pre class="fragment">  a.set_row(5, invector);    <span class="comment">// Set row 5 to \c invector</span>
916  a.set_col(3, invector); <span class="comment">// Set column 3 to \c invector</span>
917  a.copy_col(1, 5); <span class="comment">// Copy column 5 to column 1</span>
918  a.swap_cols(1, 5); <span class="comment">// Swap the contents of columns 1 and 5</span>
919</pre></div><p>
920It is of course also possible to perform the common linear algebra methods such as addition, subtraction, and matrix multiplication. Observe though, that vectors are assumed to be column-vectors in operations with matrices.<p>
921Most elementary functions such as <a class="el" href="group__trifunc.html#g04eb00778bdb524ad2f5ed808caddb7e" title="Sine function.">sin()</a>, <a class="el" href="group__hypfunc.html#gd8c581c3fc2b05e390f90e411159409f" title="Cosine hyperbolic function.">cosh()</a>, <a class="el" href="group__logexpfunc.html#g60e39caa21db1b5f9f6006cf7508fbcb" title="The natural logarithm of the elements.">log()</a>, abs(), ..., are available as operations on the individual elements of the matrices. Please see the individual functions for more details.<p>
922By default, the <a class="el" href="classitpp_1_1Mat.html" title="Matrix Class (Templated).">Mat</a> elements are created using the default constructor for the element type. This can be changed by specifying a suitable <a class="el" href="classitpp_1_1Factory.html" title="Base class for class factories.">Factory</a> in the <a class="el" href="classitpp_1_1Mat.html" title="Matrix Class (Templated).">Mat</a> constructor call; see Detailed Description for <a class="el" href="classitpp_1_1Factory.html" title="Base class for class factories.">Factory</a>. <hr><h2>Constructor &amp; Destructor Documentation</h2>
923<a class="anchor" name="6aefdf3e74bf37447b8d91377c89ec68"></a><!-- doxytag: member="itpp::Mat::Mat" ref="6aefdf3e74bf37447b8d91377c89ec68" args="(const Num_T *c_array, int rows, int cols, bool row_major=true, const Factory &amp;f=DEFAULT_FACTORY)" -->
924<div class="memitem">
925<div class="memproto">
926<div class="memtemplate">
927template&lt;class Num_T&gt; </div>
928      <table class="memname">
929        <tr>
930          <td class="memname"><a class="el" href="classitpp_1_1Mat.html">itpp::Mat</a>&lt; Num_T &gt;::<a class="el" href="classitpp_1_1Mat.html">Mat</a>           </td>
931          <td>(</td>
932          <td class="paramtype">const Num_T *&nbsp;</td>
933          <td class="paramname"> <em>c_array</em>, </td>
934        </tr>
935        <tr>
936          <td class="paramkey"></td>
937          <td></td>
938          <td class="paramtype">int&nbsp;</td>
939          <td class="paramname"> <em>rows</em>, </td>
940        </tr>
941        <tr>
942          <td class="paramkey"></td>
943          <td></td>
944          <td class="paramtype">int&nbsp;</td>
945          <td class="paramname"> <em>cols</em>, </td>
946        </tr>
947        <tr>
948          <td class="paramkey"></td>
949          <td></td>
950          <td class="paramtype">bool&nbsp;</td>
951          <td class="paramname"> <em>row_major</em> = <code>true</code>, </td>
952        </tr>
953        <tr>
954          <td class="paramkey"></td>
955          <td></td>
956          <td class="paramtype">const <a class="el" href="classitpp_1_1Factory.html">Factory</a> &amp;&nbsp;</td>
957          <td class="paramname"> <em>f</em> = <code>DEFAULT_FACTORY</code></td><td>&nbsp;</td>
958        </tr>
959        <tr>
960          <td></td>
961          <td>)</td>
962          <td></td><td></td><td><code> [inline]</code></td>
963        </tr>
964      </table>
965</div>
966<div class="memdoc">
967
968<p>
969Constructor taking a C-array as input. An element factory <code>f</code> can be specified.
970<p>
971By default the matrix is stored as a row-major matrix (i.e. listing elements in sequence beginning with the first column).
972<p>References <a class="el" href="mat_8h-source.html#l00562">itpp::Mat&lt; Num_T &gt;::alloc()</a>, <a class="el" href="mat_8h-source.html#l00471">itpp::Mat&lt; Num_T &gt;::data</a>, and <a class="el" href="mat_8h-source.html#l00468">itpp::Mat&lt; Num_T &gt;::datasize</a>.</p>
973
974</div>
975</div><p>
976<hr><h2>Member Function Documentation</h2>
977<a class="anchor" name="40320a22aa6452fb9a17f3b792939b9d"></a><!-- doxytag: member="itpp::Mat::get" ref="40320a22aa6452fb9a17f3b792939b9d" args="(int r1, int r2, int c1, int c2) const " -->
978<div class="memitem">
979<div class="memproto">
980<div class="memtemplate">
981template&lt;class Num_T &gt; </div>
982      <table class="memname">
983        <tr>
984          <td class="memname"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; <a class="el" href="classitpp_1_1Mat.html">itpp::Mat</a>&lt; Num_T &gt;::get           </td>
985          <td>(</td>
986          <td class="paramtype">int&nbsp;</td>
987          <td class="paramname"> <em>r1</em>, </td>
988        </tr>
989        <tr>
990          <td class="paramkey"></td>
991          <td></td>
992          <td class="paramtype">int&nbsp;</td>
993          <td class="paramname"> <em>r2</em>, </td>
994        </tr>
995        <tr>
996          <td class="paramkey"></td>
997          <td></td>
998          <td class="paramtype">int&nbsp;</td>
999          <td class="paramname"> <em>c1</em>, </td>
1000        </tr>
1001        <tr>
1002          <td class="paramkey"></td>
1003          <td></td>
1004          <td class="paramtype">int&nbsp;</td>
1005          <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
1006        </tr>
1007        <tr>
1008          <td></td>
1009          <td>)</td>
1010          <td></td><td></td><td> const<code> [inline]</code></td>
1011        </tr>
1012      </table>
1013</div>
1014<div class="memdoc">
1015
1016<p>
1017Sub-matrix from row <code>r1</code> to row <code>r2</code> and columns <code>c1</code> to <code>c2</code>.
1018<p>
1019Value -1 indicates the last row and column, respectively.
1020</div>
1021</div><p>
1022<a class="anchor" name="b7bc4d1f82d2db7088838d502eb5ee39"></a><!-- doxytag: member="itpp::Mat::operator()" ref="b7bc4d1f82d2db7088838d502eb5ee39" args="(int r1, int r2, int c1, int c2) const " -->
1023<div class="memitem">
1024<div class="memproto">
1025<div class="memtemplate">
1026template&lt;class Num_T &gt; </div>
1027      <table class="memname">
1028        <tr>
1029          <td class="memname"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; <a class="el" href="classitpp_1_1Mat.html">itpp::Mat</a>&lt; Num_T &gt;::operator()           </td>
1030          <td>(</td>
1031          <td class="paramtype">int&nbsp;</td>
1032          <td class="paramname"> <em>r1</em>, </td>
1033        </tr>
1034        <tr>
1035          <td class="paramkey"></td>
1036          <td></td>
1037          <td class="paramtype">int&nbsp;</td>
1038          <td class="paramname"> <em>r2</em>, </td>
1039        </tr>
1040        <tr>
1041          <td class="paramkey"></td>
1042          <td></td>
1043          <td class="paramtype">int&nbsp;</td>
1044          <td class="paramname"> <em>c1</em>, </td>
1045        </tr>
1046        <tr>
1047          <td class="paramkey"></td>
1048          <td></td>
1049          <td class="paramtype">int&nbsp;</td>
1050          <td class="paramname"> <em>c2</em></td><td>&nbsp;</td>
1051        </tr>
1052        <tr>
1053          <td></td>
1054          <td>)</td>
1055          <td></td><td></td><td> const<code> [inline]</code></td>
1056        </tr>
1057      </table>
1058</div>
1059<div class="memdoc">
1060
1061<p>
1062Sub-matrix from row <code>r1</code> to row <code>r2</code> and columns <code>c1</code> to <code>c2</code>.
1063<p>
1064Value -1 indicates the last row and column, respectively.
1065<p>References <a class="el" href="mat_8h-source.html#l00471">itpp::Mat&lt; Num_T &gt;::data</a>, <a class="el" href="itassert_8h-source.html#l00107">it_assert_debug</a>, <a class="el" href="mat_8h-source.html#l00468">itpp::Mat&lt; Num_T &gt;::no_cols</a>, and <a class="el" href="mat_8h-source.html#l00468">itpp::Mat&lt; Num_T &gt;::no_rows</a>.</p>
1066
1067</div>
1068</div><p>
1069<hr><h2>Friends And Related Function Documentation</h2>
1070<a class="anchor" name="58b14432f01ac1b729a81c2df6840354"></a><!-- doxytag: member="itpp::Mat::operator&gt;&gt;" ref="58b14432f01ac1b729a81c2df6840354" args="(std::istream &amp;is, Mat&lt; Num_T &gt; &amp;m)" -->
1071<div class="memitem">
1072<div class="memproto">
1073<div class="memtemplate">
1074template&lt;class Num_T &gt; </div>
1075      <table class="memname">
1076        <tr>
1077          <td class="memname">std::istream &amp; operator&gt;&gt;           </td>
1078          <td>(</td>
1079          <td class="paramtype">std::istream &amp;&nbsp;</td>
1080          <td class="paramname"> <em>is</em>, </td>
1081        </tr>
1082        <tr>
1083          <td class="paramkey"></td>
1084          <td></td>
1085          <td class="paramtype"><a class="el" href="classitpp_1_1Mat.html">Mat</a>&lt; Num_T &gt; &amp;&nbsp;</td>
1086          <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
1087        </tr>
1088        <tr>
1089          <td></td>
1090          <td>)</td>
1091          <td></td><td></td><td><code> [related]</code></td>
1092        </tr>
1093      </table>
1094</div>
1095<div class="memdoc">
1096
1097<p>
1098Input stream for matrices.
1099<p>
1100The input can be on the form "1 2 3; 4 5 6" or "[[1 2 3][4 5 6]]", i.e. with brackets or semicolons as row delimiters. The first form is compatible with the set method, while the second form is compatible with the ostream operator. The elements on a row can be separated by blank space or commas. Rows that are shorter than the longest row are padded with zero elements. "[]" means an empty matrix.
1101</div>
1102</div><p>
1103<hr><h2>Member Data Documentation</h2>
1104<a class="anchor" name="a41129a4b85c79ffd8955dab994c3545"></a><!-- doxytag: member="itpp::Mat::datasize" ref="a41129a4b85c79ffd8955dab994c3545" args="" -->
1105<div class="memitem">
1106<div class="memproto">
1107<div class="memtemplate">
1108template&lt;class Num_T&gt; </div>
1109      <table class="memname">
1110        <tr>
1111          <td class="memname">int <a class="el" href="classitpp_1_1Mat.html">itpp::Mat</a>&lt; Num_T &gt;::<a class="el" href="classitpp_1_1Mat.html#a41129a4b85c79ffd8955dab994c3545">datasize</a><code> [protected]</code>          </td>
1112        </tr>
1113      </table>
1114</div>
1115<div class="memdoc">
1116
1117<p>
1118Protected integer variables
1119<p>Referenced by <a class="el" href="mat_8h-source.html#l00458">itpp::Mat&lt; bin &gt;::_datasize()</a>, <a class="el" href="mat_8h-source.html#l00562">itpp::Mat&lt; Num_T &gt;::alloc()</a>, <a class="el" href="mat_8h-source.html#l00579">itpp::Mat&lt; Num_T &gt;::free()</a>, <a class="el" href="mat_8h-source.html#l00601">itpp::Mat&lt; Num_T &gt;::Mat()</a>, <a class="el" href="mat_8h-source.html#l00719">itpp::Mat&lt; Num_T &gt;::ones()</a>, <a class="el" href="mat_8h-source.html#l01741">itpp::Mat&lt; Num_T &gt;::operator!=()</a>, <a class="el" href="mat_8h-source.html#l01507">itpp::Mat&lt; Num_T &gt;::operator*=()</a>, <a class="el" href="mat_8h-source.html#l01297">itpp::Mat&lt; Num_T &gt;::operator+=()</a>, <a class="el" href="mat_8h-source.html#l01367">itpp::Mat&lt; Num_T &gt;::operator-=()</a>, <a class="el" href="mat_8h-source.html#l01660">itpp::Mat&lt; Num_T &gt;::operator/=()</a>, <a class="el" href="mat_8h-source.html#l01251">itpp::Mat&lt; Num_T &gt;::operator=()</a>, <a class="el" href="mat_8h-source.html#l01731">itpp::Mat&lt; Num_T &gt;::operator==()</a>, <a class="el" href="mat_8h-source.html#l00661">itpp::Mat&lt; Num_T &gt;::set_size()</a>, <a class="el" href="mat_8h-source.html#l00245">itpp::Mat&lt; bin &gt;::size()</a>, and <a class="el" href="mat_8h-source.html#l00712">itpp::Mat&lt; Num_T &gt;::zeros()</a>.</p>
1120
1121</div>
1122</div><p>
1123<hr>The documentation for this class was generated from the following files:<ul>
1124<li><a class="el" href="mat_8h-source.html">mat.h</a><li><a class="el" href="converters_8h-source.html">converters.h</a><li><a class="el" href="fastmath_8h-source.html">fastmath.h</a><li><a class="el" href="matfunc_8h-source.html">matfunc.h</a><li><a class="el" href="operators_8h-source.html">operators.h</a><li><a class="el" href="specmat_8h-source.html">specmat.h</a><li><a class="el" href="cfix_8cpp.html">cfix.cpp</a><li><a class="el" href="cfix_8h-source.html">cfix.h</a><li><a class="el" href="fix_8cpp.html">fix.cpp</a><li><a class="el" href="fix_8h-source.html">fix.h</a></ul>
1125</div>
1126<hr size="1"><address style="text-align: right;"><small>Generated on Tue Jun 2 10:02:19 2009 for mixpp by&nbsp;
1127<a href="http://www.doxygen.org/index.html">
1128<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
1129</body>
1130</html>
Note: See TracBrowser for help on using the browser.