]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/numeric/ublas/doc/products.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / numeric / ublas / doc / products.html
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>
100 computes <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>
111 Up 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>
162 computes <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>
173 Up 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>
223 computes <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>
234 Up 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>
285 computes <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>
296 This 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,
304 Joerg 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>