]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/numeric/ublas/doc/blas.html
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / numeric / ublas / doc / blas.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>BLAS</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
17<h1>Level 3 BLAS</h1>
18<div class="toc" id="toc"></div>
19<hr />
20<a name="_details"></a>
21
22<table summary="" border=0 cellpadding=0 cellspacing=0>
23<tr><td></td></tr>
24<tr><td colspan=2><br /><h2>Functions</h2></td></tr>
25<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T, class M2, class M3&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga0">boost::numeric::ublas::blas_3::tmm</a> (M1 &amp;m1, const T &amp;t, const M2 &amp;m2, const M3 &amp;m3)</td></tr>
26
27<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">triangular matrix multiplication <a href="#ga0"></a><br /><br /></td></tr>
28<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T, class M2, class C&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga1">boost::numeric::ublas::blas_3::tsm</a> (M1 &amp;m1, const T &amp;t, const M2 &amp;m2, C)</td></tr>
29
30<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">triangular solve <em>m2</em> * <em>x</em> = <em>t</em> * <em>m1</em> in place, <em>m2</em> is a triangular matrix <a href="#ga1"></a><br /><br /></td></tr>
31<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T1, class T2, class M2, class M3&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga2">boost::numeric::ublas::blas_3::gmm</a> (M1 &amp;m1, const T1 &amp;t1, const T2 &amp;t2, const M2 &amp;m2, const M3 &amp;m3)</td></tr>
32
33<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">general matrix multiplication <a href="#ga2"></a><br /><br /></td></tr>
34<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T1, class T2, class M2&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga3">boost::numeric::ublas::blas_3::srk</a> (M1 &amp;m1, const T1 &amp;t1, const T2 &amp;t2, const M2 &amp;m2)</td></tr>
35
36<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">symmetric rank k update: <em>m1</em> = <em>t</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m2<sup>T</sup></em>) <a href="#ga3"></a><br /><br /></td></tr>
37<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T1, class T2, class M2&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga4">boost::numeric::ublas::blas_3::hrk</a> (M1 &amp;m1, const T1 &amp;t1, const T2 &amp;t2, const M2 &amp;m2)</td></tr>
38
39<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">hermitian rank k update: <em>m1</em> = <em>t</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m2<sup>H</sup></em>) <a href="#ga4"></a><br /><br /></td></tr>
40<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T1, class T2, class M2, class M3&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga5">boost::numeric::ublas::blas_3::sr2k</a> (M1 &amp;m1, const T1 &amp;t1, const T2 &amp;t2, const M2 &amp;m2, const M3 &amp;m3)</td></tr>
41
42<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generalized symmetric rank k update: <em>m1</em> = <em>t1</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m3<sup>T</sup></em>) + <em>t2</em> * (<em>m3</em> * <em>m2<sup>T</sup></em>) <a href="#ga5"></a><br /><br /></td></tr>
43<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M1, class T1, class T2, class M2, class M3&gt; M1 &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="#ga6">boost::numeric::ublas::blas_3::hr2k</a> (M1 &amp;m1, const T1 &amp;t1, const T2 &amp;t2, const M2 &amp;m2, const M3 &amp;m3)</td></tr>
44
45<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">generalized hermitian rank k update: <em>m1</em> = <em>t1</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m3<sup>H</sup></em>) + (<em>m3</em> * (<em>t2</em> * <em>m2</em>)<sup>H</sup>) <a href="#ga6"></a><br /><br /></td></tr>
46<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M, class E1, class E2&gt; BOOST_UBLAS_INLINE M &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="products.html#ga7">boost::numeric::ublas::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>
47
48<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion. <a href="products.html#ga7"></a><br /><br /></td></tr>
49<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class M, class E1, class E2&gt; BOOST_UBLAS_INLINE M &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="products.html#ga8">boost::numeric::ublas::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>
50
51<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">computes <code>M += A X</code> or <code>M = A X</code> in an optimized fashion. <a href="products.html#ga8"></a><br /><br /></td></tr>
52</table>
53
54<hr />
55
56<h2>Function Documentation</h2>
57
58<a class="anchor" name="ga0" doxytag="boost::numeric::ublas::blas_3::tmm" ></a>
59<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
60 <tr>
61 <td class="mdRow">
62 <table summary="" cellpadding="0" cellspacing="0" border="0">
63 <tr>
64 <td class="md" nowrap valign="top"> M1&amp; tmm </td>
65 <td class="md" valign="top">(&nbsp;</td>
66 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
67 <td class="mdname" nowrap> <em>m1</em>, </td>
68 </tr>
69 <tr>
70 <td class="md" nowrap align="right"></td>
71 <td></td>
72 <td class="md" nowrap>const T &amp;&nbsp;</td>
73 <td class="mdname" nowrap> <em>t</em>, </td>
74 </tr>
75 <tr>
76 <td class="md" nowrap align="right"></td>
77 <td></td>
78 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
79 <td class="mdname" nowrap> <em>m2</em>, </td>
80 </tr>
81 <tr>
82 <td class="md" nowrap align="right"></td>
83 <td></td>
84 <td class="md" nowrap>const M3 &amp;&nbsp;</td>
85 <td class="mdname" nowrap> <em>m3</em></td>
86 </tr>
87 <tr>
88 <td></td>
89 <td class="md">)&nbsp;</td>
90 <td class="md" colspan="2"></td>
91 </tr>
92 </table>
93 </td>
94 </tr>
95</table>
96<table summary="" cellspacing=5 cellpadding=0 border=0>
97 <tr>
98 <td>
99 &nbsp;
100 </td>
101 <td>
102<p>triangular matrix multiplication </p>
103 </td>
104 </tr>
105</table>
106<a class="anchor" name="ga1" doxytag="boost::numeric::ublas::blas_3::tsm" ></a>
107<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
108 <tr>
109 <td class="mdRow">
110 <table summary="" cellpadding="0" cellspacing="0" border="0">
111 <tr>
112 <td class="md" nowrap valign="top"> M1&amp; tsm </td>
113 <td class="md" valign="top">(&nbsp;</td>
114 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
115 <td class="mdname" nowrap> <em>m1</em>, </td>
116 </tr>
117 <tr>
118 <td class="md" nowrap align="right"></td>
119 <td></td>
120 <td class="md" nowrap>const T &amp;&nbsp;</td>
121 <td class="mdname" nowrap> <em>t</em>, </td>
122 </tr>
123 <tr>
124 <td class="md" nowrap align="right"></td>
125 <td></td>
126 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
127 <td class="mdname" nowrap> <em>m2</em>, </td>
128 </tr>
129 <tr>
130 <td class="md" nowrap align="right"></td>
131 <td></td>
132 <td class="md" nowrap>C&nbsp;</td>
133 <td class="mdname" nowrap></td>
134 </tr>
135 <tr>
136 <td></td>
137 <td class="md">)&nbsp;</td>
138 <td class="md" colspan="2"></td>
139 </tr>
140 </table>
141 </td>
142 </tr>
143</table>
144<table summary="" cellspacing=5 cellpadding=0 border=0>
145 <tr>
146 <td>
147 &nbsp;
148 </td>
149 <td>
150
151<p>
152triangular solve <em>m2</em> * <em>x</em> = <em>t</em> * <em>m1</em> in place, <em>m2</em> is a triangular matrix
153</p>
154 </td>
155 </tr>
156</table>
157<a class="anchor" name="ga2" doxytag="boost::numeric::ublas::blas_3::gmm" ></a>
158<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
159 <tr>
160 <td class="mdRow">
161 <table summary="" cellpadding="0" cellspacing="0" border="0">
162 <tr>
163 <td class="md" nowrap valign="top"> M1&amp; gmm </td>
164 <td class="md" valign="top">(&nbsp;</td>
165 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
166 <td class="mdname" nowrap> <em>m1</em>, </td>
167 </tr>
168 <tr>
169 <td class="md" nowrap align="right"></td>
170 <td></td>
171 <td class="md" nowrap>const T1 &amp;&nbsp;</td>
172 <td class="mdname" nowrap> <em>t1</em>, </td>
173 </tr>
174 <tr>
175 <td class="md" nowrap align="right"></td>
176 <td></td>
177 <td class="md" nowrap>const T2 &amp;&nbsp;</td>
178 <td class="mdname" nowrap> <em>t2</em>, </td>
179 </tr>
180 <tr>
181 <td class="md" nowrap align="right"></td>
182 <td></td>
183 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
184 <td class="mdname" nowrap> <em>m2</em>, </td>
185 </tr>
186 <tr>
187 <td class="md" nowrap align="right"></td>
188 <td></td>
189 <td class="md" nowrap>const M3 &amp;&nbsp;</td>
190 <td class="mdname" nowrap> <em>m3</em></td>
191 </tr>
192 <tr>
193 <td></td>
194 <td class="md">)&nbsp;</td>
195 <td class="md" colspan="2"></td>
196 </tr>
197 </table>
198 </td>
199 </tr>
200</table>
201<table summary="" cellspacing=5 cellpadding=0 border=0>
202 <tr>
203 <td>
204 &nbsp;
205 </td>
206 <td>
207
208<p>
209general matrix multiplication
210</p>
211 </td>
212 </tr>
213</table>
214<a class="anchor" name="ga3" doxytag="boost::numeric::ublas::blas_3::srk" ></a>
215<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
216 <tr>
217 <td class="mdRow">
218 <table summary="" cellpadding="0" cellspacing="0" border="0">
219 <tr>
220 <td class="md" nowrap valign="top"> M1&amp; srk </td>
221 <td class="md" valign="top">(&nbsp;</td>
222 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
223 <td class="mdname" nowrap> <em>m1</em>, </td>
224 </tr>
225 <tr>
226 <td class="md" nowrap align="right"></td>
227 <td></td>
228 <td class="md" nowrap>const T1 &amp;&nbsp;</td>
229 <td class="mdname" nowrap> <em>t1</em>, </td>
230 </tr>
231 <tr>
232 <td class="md" nowrap align="right"></td>
233 <td></td>
234 <td class="md" nowrap>const T2 &amp;&nbsp;</td>
235 <td class="mdname" nowrap> <em>t2</em>, </td>
236 </tr>
237 <tr>
238 <td class="md" nowrap align="right"></td>
239 <td></td>
240 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
241 <td class="mdname" nowrap> <em>m2</em></td>
242 </tr>
243 <tr>
244 <td></td>
245 <td class="md">)&nbsp;</td>
246 <td class="md" colspan="2"></td>
247 </tr>
248 </table>
249 </td>
250 </tr>
251</table>
252<table summary="" cellspacing=5 cellpadding=0 border=0>
253 <tr>
254 <td>
255 &nbsp;
256 </td>
257 <td>
258
259<p>
260symmetric rank k update: <em>m1</em> = <em>t</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m2<sup>T</sup></em>)
261</p>
262<dl compact><dt><b>Todo:</b></dt><dd>use opb_prod() </dd></dl>
263 </td>
264 </tr>
265</table>
266<a class="anchor" name="ga4" doxytag="boost::numeric::ublas::blas_3::hrk" ></a>
267<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
268 <tr>
269 <td class="mdRow">
270 <table summary="" cellpadding="0" cellspacing="0" border="0">
271 <tr>
272 <td class="md" nowrap valign="top"> M1&amp; hrk </td>
273 <td class="md" valign="top">(&nbsp;</td>
274 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
275 <td class="mdname" nowrap> <em>m1</em>, </td>
276 </tr>
277 <tr>
278 <td class="md" nowrap align="right"></td>
279 <td></td>
280 <td class="md" nowrap>const T1 &amp;&nbsp;</td>
281 <td class="mdname" nowrap> <em>t1</em>, </td>
282 </tr>
283 <tr>
284 <td class="md" nowrap align="right"></td>
285 <td></td>
286 <td class="md" nowrap>const T2 &amp;&nbsp;</td>
287 <td class="mdname" nowrap> <em>t2</em>, </td>
288 </tr>
289 <tr>
290 <td class="md" nowrap align="right"></td>
291 <td></td>
292 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
293 <td class="mdname" nowrap> <em>m2</em></td>
294 </tr>
295 <tr>
296 <td></td>
297 <td class="md">)&nbsp;</td>
298 <td class="md" colspan="2"></td>
299 </tr>
300 </table>
301 </td>
302 </tr>
303</table>
304<table summary="" cellspacing=5 cellpadding=0 border=0>
305 <tr>
306 <td>
307 &nbsp;
308 </td>
309 <td>
310
311<p>
312hermitian rank k update: <em>m1</em> = <em>t</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m2<sup>H</sup></em>)
313</p>
314<dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
315 </td>
316 </tr>
317</table>
318<a class="anchor" name="ga5" doxytag="boost::numeric::ublas::blas_3::sr2k" ></a>
319<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
320 <tr>
321 <td class="mdRow">
322 <table summary="" cellpadding="0" cellspacing="0" border="0">
323 <tr>
324 <td class="md" nowrap valign="top"> M1&amp; sr2k </td>
325 <td class="md" valign="top">(&nbsp;</td>
326 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
327 <td class="mdname" nowrap> <em>m1</em>, </td>
328 </tr>
329 <tr>
330 <td class="md" nowrap align="right"></td>
331 <td></td>
332 <td class="md" nowrap>const T1 &amp;&nbsp;</td>
333 <td class="mdname" nowrap> <em>t1</em>, </td>
334 </tr>
335 <tr>
336 <td class="md" nowrap align="right"></td>
337 <td></td>
338 <td class="md" nowrap>const T2 &amp;&nbsp;</td>
339 <td class="mdname" nowrap> <em>t2</em>, </td>
340 </tr>
341 <tr>
342 <td class="md" nowrap align="right"></td>
343 <td></td>
344 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
345 <td class="mdname" nowrap> <em>m2</em>, </td>
346 </tr>
347 <tr>
348 <td class="md" nowrap align="right"></td>
349 <td></td>
350 <td class="md" nowrap>const M3 &amp;&nbsp;</td>
351 <td class="mdname" nowrap> <em>m3</em></td>
352 </tr>
353 <tr>
354 <td></td>
355 <td class="md">)&nbsp;</td>
356 <td class="md" colspan="2"></td>
357 </tr>
358 </table>
359 </td>
360 </tr>
361</table>
362<table summary="" cellspacing=5 cellpadding=0 border=0>
363 <tr>
364 <td>
365 &nbsp;
366 </td>
367 <td>
368
369<p>
370generalized symmetric rank k update: <em>m1</em> = <em>t1</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m3<sup>T</sup></em>) + <em>t2</em> * (<em>m3</em> * <em>m2<sup>T</sup></em>)
371</p>
372<dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
373 </td>
374 </tr>
375</table>
376<a class="anchor" name="ga6" doxytag="boost::numeric::ublas::blas_3::hr2k" ></a>
377<table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
378 <tr>
379 <td class="mdRow">
380 <table summary="" cellpadding="0" cellspacing="0" border="0">
381 <tr>
382 <td class="md" nowrap valign="top"> M1&amp; hr2k </td>
383 <td class="md" valign="top">(&nbsp;</td>
384 <td class="md" nowrap valign="top">M1 &amp;&nbsp;</td>
385 <td class="mdname" nowrap> <em>m1</em>, </td>
386 </tr>
387 <tr>
388 <td class="md" nowrap align="right"></td>
389 <td></td>
390 <td class="md" nowrap>const T1 &amp;&nbsp;</td>
391 <td class="mdname" nowrap> <em>t1</em>, </td>
392 </tr>
393 <tr>
394 <td class="md" nowrap align="right"></td>
395 <td></td>
396 <td class="md" nowrap>const T2 &amp;&nbsp;</td>
397 <td class="mdname" nowrap> <em>t2</em>, </td>
398 </tr>
399 <tr>
400 <td class="md" nowrap align="right"></td>
401 <td></td>
402 <td class="md" nowrap>const M2 &amp;&nbsp;</td>
403 <td class="mdname" nowrap> <em>m2</em>, </td>
404 </tr>
405 <tr>
406 <td class="md" nowrap align="right"></td>
407 <td></td>
408 <td class="md" nowrap>const M3 &amp;&nbsp;</td>
409 <td class="mdname" nowrap> <em>m3</em></td>
410 </tr>
411 <tr>
412 <td></td>
413 <td class="md">)&nbsp;</td>
414 <td class="md" colspan="2"></td>
415 </tr>
416 </table>
417 </td>
418 </tr>
419</table>
420<table summary="" cellspacing=5 cellpadding=0 border=0>
421 <tr>
422 <td>
423 &nbsp;
424 </td>
425 <td>
426
427<p>
428generalized hermitian rank k update: <em>m1</em> = <em>t1</em> * <em>m1</em> + <em>t2</em> * (<em>m2</em> * <em>m3<sup>H</sup></em>) + (<em>m3</em> * (<em>t2</em> * <em>m2</em>)<sup>H</sup>)
429</p>
430<dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
431 </td>
432 </tr>
433</table>
434
435
436
437<hr />
438<p>Copyright (&copy;) 2000-2004 Michael Stevens, Mathias Koch,
439Joerg Walter, Gunter Winkler<br />
440Use, modification and distribution are subject to the
441Boost Software License, Version 1.0.
442(See accompanying file LICENSE_1_0.txt
443or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
444http://www.boost.org/LICENSE_1_0.txt</a>).
445</p>
446<script type="text/javascript">
447(function($) {
448 $('#toc').toc();
449})(jQuery);
450</script>
451</body>
452</html>