]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/numeric/ublas/doc/products.html
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / numeric / ublas / doc / products.html
CommitLineData
7c673cae
FG
1?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5 <title>Special Products</title>
6 <meta name="GENERATOR" content="Quanta Plus" />
7 <meta name="AUTHOR" content="Gunter Winkler" />
8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
9 <link rel="stylesheet" href="../../../../boost.css" type="text/css"/>
10 <link rel="stylesheet" href="ublas.css" type="text/css" />
11 <script type="text/javascript" src="js/jquery-1.3.2.min.js" async="async" ></script>
12 <script type="text/javascript" src="js/jquery.toc-gw.js" async="async" ></script>
13</head>
14<body>
15
16<h1><img src="../../../../boost.png" align="middle" />Special Products </h1>
17<div class="toc" id="toc"></div>
18
19<h2>Functions</h2>
20
21<table summary="" border=0 cellpadding=0 cellspacing=0>
22<tr>
23<td class="memItemLeft" nowrap align=right valign=top>template&lt;class V, class E1, class E2&gt; BOOST_UBLAS_INLINE V &amp;&nbsp;</td>
24<td class="memItemRight" valign=bottom><a class="el" href="#ga8">axpy_prod</a> (const matrix_expression&lt; E1 &gt; &amp;e1, const vector_expression&lt; E2 &gt; &amp;e2, V &amp;v, bool init=true)</td></tr>
25
26<tr>
27<td class="mdescLeft">&nbsp;</td>
28<td class="mdescRight">computes <code>v += A x</code> or <code>v = A x</code> in an optimized fashion. <a href="#ga8"></a><br /><br /></td></tr>
29<tr>
30<td class="memItemLeft" nowrap align=right valign=top>template&lt;class V, class E1, class E2&gt; BOOST_UBLAS_INLINE V &amp;&nbsp;</td>
31<td class="memItemRight" valign=bottom><a class="el" href="#ga9">axpy_prod</a> (const vector_expression&lt; E1 &gt; &amp;e1, const matrix_expression&lt; E2 &gt; &amp;e2, V &amp;v, bool init=true)</td></tr>
32
33<tr>
34<td class="mdescLeft">&nbsp;</td>
35<td class="mdescRight">computes <code>v += A<sup>T</sup> x</code> or <code>v = A<sup>T</sup> x</code> in an optimized fashion. <a href="#ga9"></a><br /><br /></td></tr>
36<tr>
37<td class="memItemLeft" nowrap align=right valign=top>template&lt;class M, class E1, class E2&gt; BOOST_UBLAS_INLINE M &amp;&nbsp;</td>
38<td class="memItemRight" valign=bottom><a class="el" href="#ga7">axpy_prod</a> (const matrix_expression&lt; E1 &gt; &amp;e1, const matrix_expression&lt; E2 &gt; &amp;e2, M &amp;m, bool init=true)</td></tr>
39
40<tr>
41<td class="mdescLeft">&nbsp;</td>
42<td class="mdescRight">computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion. <a href="#ga7"></a><br /><br /></td></tr>
43<tr>
44<td class="memItemLeft" nowrap align=right valign=top>template&lt;class M, class E1, class E2&gt; BOOST_UBLAS_INLINE M &amp;&nbsp;</td>
45<td class="memItemRight" valign=bottom><a class="el" href="#ga6">opb_prod</a> (const matrix_expression&lt; E1 &gt; &amp;e1, const matrix_expression&lt; E2 &gt; &amp;e2, M &amp;m, bool init=true)</td></tr>
46
47<tr>
48<td class="mdescLeft">&nbsp;</td>
49<td class="mdescRight">computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion. <a href="#ga6"></a><br /><br /></td></tr>
50</table>
51
52<hr />
53
54<a class="anchor" name="ga8" doxytag="boost::numeric::ublas::axpy_prod" ></a>
55<table summary="" class="mdTable" width="95%" cellpadding="2" cellspacing="0">
56 <tr>
57 <td class="mdRow">
58 <table summary="" cellpadding="0" cellspacing="0" border="0">
59 <tr>
60 <td class="md" nowrap valign="top"> BOOST_UBLAS_INLINE V&amp; axpy_prod </td>
61 <td class="md" valign="top">(&nbsp;</td>
62 <td class="md" nowrap valign="top">const matrix_expression&lt; E1 &gt; &amp;&nbsp;</td>
63 <td class="mdname" nowrap> <em>e1</em>, </td>
64 </tr>
65 <tr>
66 <td class="md" nowrap align="right"></td>
67 <td></td>
68 <td class="md" nowrap>const vector_expression&lt; E2 &gt; &amp;&nbsp;</td>
69 <td class="mdname" nowrap> <em>e2</em>, </td>
70 </tr>
71 <tr>
72 <td class="md" nowrap align="right"></td>
73 <td></td>
74 <td class="md" nowrap>V &amp;&nbsp;</td>
75 <td class="mdname" nowrap> <em>v</em>, </td>
76 </tr>
77 <tr>
78 <td class="md" nowrap align="right"></td>
79 <td></td>
80 <td class="md" nowrap>bool&nbsp;</td>
81 <td class="mdname" nowrap> <em>init</em> = <code>true</code></td>
82 </tr>
83 <tr>
84 <td></td>
85 <td class="md">)&nbsp;</td>
86 <td class="md" colspan="2"></td>
87 </tr>
88 </table>
89 </td>
90 </tr>
91</table>
92<table summary="" cellspacing=5 cellpadding=0 border=0>
93 <tr>
94 <td>
95 &nbsp;
96 </td>
97 <td>
98
99<p>
100computes <code>v += A x</code> or <code>v = A x</code> in an optimized fashion.
101</p>
102<dl compact><dt><b>Parameters:</b></dt><dd>
103 <table summary="" border="0" cellspacing="2" cellpadding="0">
104 <tr><td></td><td valign=top><em>e1</em>&nbsp;</td><td>the matrix expression <code>A</code> </td></tr>
105 <tr><td></td><td valign=top><em>e2</em>&nbsp;</td><td>the vector expression <code>x</code> </td></tr>
106 <tr><td></td><td valign=top><em>v</em>&nbsp;</td><td>the result vector <code>v</code> </td></tr>
107 <tr><td></td><td valign=top><em>init</em>&nbsp;</td><td>a boolean parameter</td></tr>
108 </table>
109</dl>
110<code>axpy_prod(A, x, v, init)</code> implements the well known axpy-product. Setting <em>init</em> to <code>true</code> is equivalent to call <code>v.clear()</code> before <code>axpy_prod</code>. Currently <em>init</em> defaults to <code>true</code>, but this may change in the future.<p>
111Up to now there are some specialisation for compressed matrices that give a large speed up compared to prod. </td>
112 </tr>
113</table>
114
115
116<a class="anchor" name="ga9" doxytag="boost::numeric::ublas::axpy_prod" ></a>
117<table summary="" class="mdTable" width="95%" cellpadding="2" cellspacing="0">
118 <tr>
119 <td class="mdRow">
120 <table summary="" cellpadding="0" cellspacing="0" border="0">
121 <tr>
122 <td class="md" nowrap valign="top"> BOOST_UBLAS_INLINE V&amp; axpy_prod </td>
123 <td class="md" valign="top">(&nbsp;</td>
124 <td class="md" nowrap valign="top">const vector_expression&lt; E1 &gt; &amp;&nbsp;</td>
125 <td class="mdname" nowrap> <em>e1</em>, </td>
126 </tr>
127 <tr>
128 <td class="md" nowrap align="right"></td>
129 <td></td>
130 <td class="md" nowrap>const matrix_expression&lt; E2 &gt; &amp;&nbsp;</td>
131 <td class="mdname" nowrap> <em>e2</em>, </td>
132 </tr>
133 <tr>
134 <td class="md" nowrap align="right"></td>
135 <td></td>
136 <td class="md" nowrap>V &amp;&nbsp;</td>
137 <td class="mdname" nowrap> <em>v</em>, </td>
138 </tr>
139 <tr>
140 <td class="md" nowrap align="right"></td>
141 <td></td>
142 <td class="md" nowrap>bool&nbsp;</td>
143 <td class="mdname" nowrap> <em>init</em> = <code>true</code></td>
144 </tr>
145 <tr>
146 <td></td>
147 <td class="md">)&nbsp;</td>
148 <td class="md" colspan="2"></td>
149 </tr>
150 </table>
151 </td>
152 </tr>
153</table>
154<table summary="" cellspacing=5 cellpadding=0 border=0>
155 <tr>
156 <td>
157 &nbsp;
158 </td>
159 <td>
160
161<p>
162computes <code>v += A<sup>T</sup> x</code> or <code>v = A<sup>T</sup> x</code> in an optimized fashion.
163</p>
164<dl compact><dt><b>Parameters:</b></dt><dd>
165 <table summary="" border="0" cellspacing="2" cellpadding="0">
166 <tr><td></td><td valign=top><em>e1</em>&nbsp;</td><td>the vector expression <code>x</code> </td></tr>
167 <tr><td></td><td valign=top><em>e2</em>&nbsp;</td><td>the matrix expression <code>A</code> </td></tr>
168 <tr><td></td><td valign=top><em>v</em>&nbsp;</td><td>the result vector <code>v</code> </td></tr>
169 <tr><td></td><td valign=top><em>init</em>&nbsp;</td><td>a boolean parameter</td></tr>
170 </table>
171</dl>
172<code>axpy_prod(x, A, v, init)</code> implements the well known axpy-product. Setting <em>init</em> to <code>true</code> is equivalent to call <code>v.clear()</code> before <code>axpy_prod</code>. Currently <em>init</em> defaults to <code>true</code>, but this may change in the future.<p>
173Up to now there are some specialisation for compressed matrices that give a large speed up compared to prod. </td>
174 </tr>
175</table>
176
177<a class="anchor" name="ga7" doxytag="boost::numeric::ublas::axpy_prod" ></a>
178<table summary="" class="mdTable" width="95%" cellpadding="2" cellspacing="0">
179 <tr>
180 <td class="mdRow">
181 <table summary="" cellpadding="0" cellspacing="0" border="0">
182 <tr>
183 <td class="md" nowrap valign="top"> BOOST_UBLAS_INLINE M&amp; axpy_prod </td>
184 <td class="md" valign="top">(&nbsp;</td>
185 <td class="md" nowrap valign="top">const matrix_expression&lt; E1 &gt; &amp;&nbsp;</td>
186 <td class="mdname" nowrap> <em>e1</em>, </td>
187 </tr>
188 <tr>
189 <td class="md" nowrap align="right"></td>
190 <td></td>
191 <td class="md" nowrap>const matrix_expression&lt; E2 &gt; &amp;&nbsp;</td>
192 <td class="mdname" nowrap> <em>e2</em>, </td>
193 </tr>
194 <tr>
195 <td class="md" nowrap align="right"></td>
196 <td></td>
197 <td class="md" nowrap>M &amp;&nbsp;</td>
198 <td class="mdname" nowrap> <em>m</em>, </td>
199 </tr>
200 <tr>
201 <td class="md" nowrap align="right"></td>
202 <td></td>
203 <td class="md" nowrap>bool&nbsp;</td>
204 <td class="mdname" nowrap> <em>init</em> = <code>true</code></td>
205 </tr>
206 <tr>
207 <td></td>
208 <td class="md">)&nbsp;</td>
209 <td class="md" colspan="2"></td>
210 </tr>
211 </table>
212 </td>
213 </tr>
214</table>
215<table summary="" cellspacing=5 cellpadding=0 border=0>
216 <tr>
217 <td>
218 &nbsp;
219 </td>
220 <td>
221
222<p>
223computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion.
224</p>
225<dl compact><dt><b>Parameters:</b></dt><dd>
226 <table summary="" border="0" cellspacing="2" cellpadding="0">
227 <tr><td></td><td valign=top><em>e1</em>&nbsp;</td><td>the matrix expression <code>A</code> </td></tr>
228 <tr><td></td><td valign=top><em>e2</em>&nbsp;</td><td>the matrix expression <code>X</code> </td></tr>
229 <tr><td></td><td valign=top><em>m</em>&nbsp;</td><td>the result matrix <code>M</code> </td></tr>
230 <tr><td></td><td valign=top><em>init</em>&nbsp;</td><td>a boolean parameter</td></tr>
231 </table>
232</dl>
233<code>axpy_prod(A, X, M, init)</code> implements the well known axpy-product. Setting <em>init</em> to <code>true</code> is equivalent to call <code>M.clear()</code> before <code>axpy_prod</code>. Currently <em>init</em> defaults to <code>true</code>, but this may change in the future.<p>
234Up to now there are no specialisations. </td>
235 </tr>
236</table>
237
238<a class="anchor" name="ga6" doxytag="boost::numeric::ublas::opb_prod" ></a>
239
240<table summary="" class="mdTable" width="95%" cellpadding="2" cellspacing="0">
241 <tr>
242 <td class="mdRow">
243 <table summary="" cellpadding="0" cellspacing="0" border="0">
244 <tr>
245 <td class="md" nowrap valign="top"> BOOST_UBLAS_INLINE M&amp; opb_prod </td>
246 <td class="md" valign="top">(&nbsp;</td>
247 <td class="md" nowrap valign="top">const matrix_expression&lt; E1 &gt; &amp;&nbsp;</td>
248 <td class="mdname" nowrap> <em>e1</em>, </td>
249 </tr>
250 <tr>
251 <td class="md" nowrap align="right"></td>
252 <td></td>
253 <td class="md" nowrap>const matrix_expression&lt; E2 &gt; &amp;&nbsp;</td>
254 <td class="mdname" nowrap> <em>e2</em>, </td>
255 </tr>
256 <tr>
257 <td class="md" nowrap align="right"></td>
258 <td></td>
259 <td class="md" nowrap>M &amp;&nbsp;</td>
260 <td class="mdname" nowrap> <em>m</em>, </td>
261 </tr>
262 <tr>
263 <td class="md" nowrap align="right"></td>
264 <td></td>
265 <td class="md" nowrap>bool&nbsp;</td>
266 <td class="mdname" nowrap> <em>init</em> = <code>true</code></td>
267 </tr>
268 <tr>
269 <td></td>
270 <td class="md">)&nbsp;</td>
271 <td class="md" colspan="2"></td>
272 </tr>
273 </table>
274 </td>
275 </tr>
276</table>
277<table summary="" cellspacing=5 cellpadding=0 border=0>
278 <tr>
279 <td>
280 &nbsp;
281 </td>
282 <td>
283
284<p>
285computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion.
286</p>
287<dl compact><dt><b>Parameters:</b></dt><dd>
288 <table summary="" border="0" cellspacing="2" cellpadding="0">
289 <tr><td></td><td valign=top><em>e1</em>&nbsp;</td><td>the matrix expression <code>A</code> </td></tr>
290 <tr><td></td><td valign=top><em>e2</em>&nbsp;</td><td>the matrix expression <code>X</code> </td></tr>
291 <tr><td></td><td valign=top><em>m</em>&nbsp;</td><td>the result matrix <code>M</code> </td></tr>
292 <tr><td></td><td valign=top><em>init</em>&nbsp;</td><td>a boolean parameter</td></tr>
293 </table>
294</dl>
295<code>opb_prod(A, X, M, init)</code> implements the well known axpy-product. Setting <em>init</em> to <code>true</code> is equivalent to call <code>M.clear()</code> before <code>opb_prod</code>. Currently <em>init</em> defaults to <code>true</code>, but this may change in the future.<p>
296This function may give a speedup if <code>A</code> has less columns than rows, because the product is computed as a sum of outer products. </td>
297 </tr>
298</table>
299
300
301
302<hr />
303<p>Copyright (&copy;) 2000-2004 Michael Stevens, Mathias Koch,
304Joerg Walter, Gunter Winkler<br />
305 Use, modification and distribution are subject to the
306 Boost Software License, Version 1.0.
307 (See accompanying file LICENSE_1_0.txt
308 or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
309 http://www.boost.org/LICENSE_1_0.txt
310 </a>).
311</p>
312<script type="text/javascript">
313(function($) {
314 $('#toc').toc();
315})(jQuery);
316</script>
317</body>
318</html>