Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/libs/numeric/ublas/doc/blas.htm @ 12

Last change on this file since 12 was 12, checked in by landauf, 18 years ago

added boost

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