]>
Commit | Line | Data |
---|---|---|
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<class V, class E1, class E2> BOOST_UBLAS_INLINE V & </td> | |
24 | <td class="memItemRight" valign=bottom><a class="el" href="#ga8">axpy_prod</a> (const matrix_expression< E1 > &e1, const vector_expression< E2 > &e2, V &v, bool init=true)</td></tr> | |
25 | ||
26 | <tr> | |
27 | <td class="mdescLeft"> </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<class V, class E1, class E2> BOOST_UBLAS_INLINE V & </td> | |
31 | <td class="memItemRight" valign=bottom><a class="el" href="#ga9">axpy_prod</a> (const vector_expression< E1 > &e1, const matrix_expression< E2 > &e2, V &v, bool init=true)</td></tr> | |
32 | ||
33 | <tr> | |
34 | <td class="mdescLeft"> </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<class M, class E1, class E2> BOOST_UBLAS_INLINE M & </td> | |
38 | <td class="memItemRight" valign=bottom><a class="el" href="#ga7">axpy_prod</a> (const matrix_expression< E1 > &e1, const matrix_expression< E2 > &e2, M &m, bool init=true)</td></tr> | |
39 | ||
40 | <tr> | |
41 | <td class="mdescLeft"> </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<class M, class E1, class E2> BOOST_UBLAS_INLINE M & </td> | |
45 | <td class="memItemRight" valign=bottom><a class="el" href="#ga6">opb_prod</a> (const matrix_expression< E1 > &e1, const matrix_expression< E2 > &e2, M &m, bool init=true)</td></tr> | |
46 | ||
47 | <tr> | |
48 | <td class="mdescLeft"> </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& axpy_prod </td> | |
61 | <td class="md" valign="top">( </td> | |
62 | <td class="md" nowrap valign="top">const matrix_expression< E1 > & </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< E2 > & </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 & </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 </td> | |
81 | <td class="mdname" nowrap> <em>init</em> = <code>true</code></td> | |
82 | </tr> | |
83 | <tr> | |
84 | <td></td> | |
85 | <td class="md">) </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 | | |
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> </td><td>the matrix expression <code>A</code> </td></tr> | |
105 | <tr><td></td><td valign=top><em>e2</em> </td><td>the vector expression <code>x</code> </td></tr> | |
106 | <tr><td></td><td valign=top><em>v</em> </td><td>the result vector <code>v</code> </td></tr> | |
107 | <tr><td></td><td valign=top><em>init</em> </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& axpy_prod </td> | |
123 | <td class="md" valign="top">( </td> | |
124 | <td class="md" nowrap valign="top">const vector_expression< E1 > & </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< E2 > & </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 & </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 </td> | |
143 | <td class="mdname" nowrap> <em>init</em> = <code>true</code></td> | |
144 | </tr> | |
145 | <tr> | |
146 | <td></td> | |
147 | <td class="md">) </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 | | |
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> </td><td>the vector expression <code>x</code> </td></tr> | |
167 | <tr><td></td><td valign=top><em>e2</em> </td><td>the matrix expression <code>A</code> </td></tr> | |
168 | <tr><td></td><td valign=top><em>v</em> </td><td>the result vector <code>v</code> </td></tr> | |
169 | <tr><td></td><td valign=top><em>init</em> </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& axpy_prod </td> | |
184 | <td class="md" valign="top">( </td> | |
185 | <td class="md" nowrap valign="top">const matrix_expression< E1 > & </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< E2 > & </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 & </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 </td> | |
204 | <td class="mdname" nowrap> <em>init</em> = <code>true</code></td> | |
205 | </tr> | |
206 | <tr> | |
207 | <td></td> | |
208 | <td class="md">) </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 | | |
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> </td><td>the matrix expression <code>A</code> </td></tr> | |
228 | <tr><td></td><td valign=top><em>e2</em> </td><td>the matrix expression <code>X</code> </td></tr> | |
229 | <tr><td></td><td valign=top><em>m</em> </td><td>the result matrix <code>M</code> </td></tr> | |
230 | <tr><td></td><td valign=top><em>init</em> </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& opb_prod </td> | |
246 | <td class="md" valign="top">( </td> | |
247 | <td class="md" nowrap valign="top">const matrix_expression< E1 > & </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< E2 > & </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 & </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 </td> | |
266 | <td class="mdname" nowrap> <em>init</em> = <code>true</code></td> | |
267 | </tr> | |
268 | <tr> | |
269 | <td></td> | |
270 | <td class="md">) </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 | | |
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> </td><td>the matrix expression <code>A</code> </td></tr> | |
290 | <tr><td></td><td valign=top><em>e2</em> </td><td>the matrix expression <code>X</code> </td></tr> | |
291 | <tr><td></td><td valign=top><em>m</em> </td><td>the result matrix <code>M</code> </td></tr> | |
292 | <tr><td></td><td valign=top><em>init</em> </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 (©) 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> |