123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>BLAS</title>
- <meta name="GENERATOR" content="Quanta Plus" />
- <meta name="AUTHOR" content="Gunter Winkler" />
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <link rel="stylesheet" href="../../../../boost.css" type="text/css"/>
- <link rel="stylesheet" href="ublas.css" type="text/css" />
- <script type="text/javascript" src="js/jquery-1.3.2.min.js" async="async" ></script>
- <script type="text/javascript" src="js/jquery.toc-gw.js" async="async" ></script>
- </head>
- <body>
- <h1>Level 3 BLAS</h1>
- <div class="toc" id="toc"></div>
- <hr />
- <a name="_details"></a>
- <table summary="" border=0 cellpadding=0 cellspacing=0>
- <tr><td></td></tr>
- <tr><td colspan=2><br /><h2>Functions</h2></td></tr>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T, class M2, class M3> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga0">boost::numeric::ublas::blas_3::tmm</a> (M1 &m1, const T &t, const M2 &m2, const M3 &m3)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">triangular matrix multiplication <a href="#ga0"></a><br /><br /></td></tr>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T, class M2, class C> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga1">boost::numeric::ublas::blas_3::tsm</a> (M1 &m1, const T &t, const M2 &m2, C)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T1, class T2, class M2, class M3> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga2">boost::numeric::ublas::blas_3::gmm</a> (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)</td></tr>
- <tr><td class="mdescLeft"> </td><td class="mdescRight">general matrix multiplication <a href="#ga2"></a><br /><br /></td></tr>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T1, class T2, class M2> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga3">boost::numeric::ublas::blas_3::srk</a> (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T1, class T2, class M2> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga4">boost::numeric::ublas::blas_3::hrk</a> (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T1, class T2, class M2, class M3> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga5">boost::numeric::ublas::blas_3::sr2k</a> (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M1, class T1, class T2, class M2, class M3> M1 & </td><td class="memItemRight" valign=bottom><a class="el" href="#ga6">boost::numeric::ublas::blas_3::hr2k</a> (M1 &m1, const T1 &t1, const T2 &t2, const M2 &m2, const M3 &m3)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M, class E1, class E2> BOOST_UBLAS_INLINE M & </td><td class="memItemRight" valign=bottom><a class="el" href="products.html#ga7">boost::numeric::ublas::axpy_prod</a> (const matrix_expression< E1 > &e1, const matrix_expression< E2 > &e2, M &m, bool init=true)</td></tr>
- <tr><td class="mdescLeft"> </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>
- <tr><td class="memItemLeft" nowrap align=right valign=top>template<class M, class E1, class E2> BOOST_UBLAS_INLINE M & </td><td class="memItemRight" valign=bottom><a class="el" href="products.html#ga8">boost::numeric::ublas::opb_prod</a> (const matrix_expression< E1 > &e1, const matrix_expression< E2 > &e2, M &m, bool init=true)</td></tr>
- <tr><td class="mdescLeft"> </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>
- </table>
- <hr />
- <h2>Function Documentation</h2>
- <a class="anchor" name="ga0" doxytag="boost::numeric::ublas::blas_3::tmm" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& tmm </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T & </td>
- <td class="mdname" nowrap> <em>t</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M3 & </td>
- <td class="mdname" nowrap> <em>m3</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>triangular matrix multiplication </p>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga1" doxytag="boost::numeric::ublas::blas_3::tsm" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& tsm </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T & </td>
- <td class="mdname" nowrap> <em>t</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>C </td>
- <td class="mdname" nowrap></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- triangular solve <em>m2</em> * <em>x</em> = <em>t</em> * <em>m1</em> in place, <em>m2</em> is a triangular matrix
- </p>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga2" doxytag="boost::numeric::ublas::blas_3::gmm" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& gmm </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T1 & </td>
- <td class="mdname" nowrap> <em>t1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T2 & </td>
- <td class="mdname" nowrap> <em>t2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M3 & </td>
- <td class="mdname" nowrap> <em>m3</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- general matrix multiplication
- </p>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga3" doxytag="boost::numeric::ublas::blas_3::srk" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& srk </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T1 & </td>
- <td class="mdname" nowrap> <em>t1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T2 & </td>
- <td class="mdname" nowrap> <em>t2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- 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>)
- </p>
- <dl compact><dt><b>Todo:</b></dt><dd>use opb_prod() </dd></dl>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga4" doxytag="boost::numeric::ublas::blas_3::hrk" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& hrk </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T1 & </td>
- <td class="mdname" nowrap> <em>t1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T2 & </td>
- <td class="mdname" nowrap> <em>t2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- 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>)
- </p>
- <dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga5" doxytag="boost::numeric::ublas::blas_3::sr2k" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& sr2k </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T1 & </td>
- <td class="mdname" nowrap> <em>t1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T2 & </td>
- <td class="mdname" nowrap> <em>t2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M3 & </td>
- <td class="mdname" nowrap> <em>m3</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- 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>)
- </p>
- <dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
- </td>
- </tr>
- </table>
- <a class="anchor" name="ga6" doxytag="boost::numeric::ublas::blas_3::hr2k" ></a>
- <table summary="" class="mdTable" width="100%" cellpadding="2" cellspacing="0">
- <tr>
- <td class="mdRow">
- <table summary="" cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td class="md" nowrap valign="top"> M1& hr2k </td>
- <td class="md" valign="top">( </td>
- <td class="md" nowrap valign="top">M1 & </td>
- <td class="mdname" nowrap> <em>m1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T1 & </td>
- <td class="mdname" nowrap> <em>t1</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const T2 & </td>
- <td class="mdname" nowrap> <em>t2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M2 & </td>
- <td class="mdname" nowrap> <em>m2</em>, </td>
- </tr>
- <tr>
- <td class="md" nowrap align="right"></td>
- <td></td>
- <td class="md" nowrap>const M3 & </td>
- <td class="mdname" nowrap> <em>m3</em></td>
- </tr>
- <tr>
- <td></td>
- <td class="md">) </td>
- <td class="md" colspan="2"></td>
- </tr>
- </table>
- </td>
- </tr>
- </table>
- <table summary="" cellspacing=5 cellpadding=0 border=0>
- <tr>
- <td>
-
- </td>
- <td>
- <p>
- 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>)
- </p>
- <dl compact><dt><b>Todo:</b></dt><dd>use opb_prod()</dd></dl>
- </td>
- </tr>
- </table>
- <hr />
- <p>Copyright (©) 2000-2004 Michael Stevens, Mathias Koch,
- Joerg Walter, Gunter Winkler<br />
- Use, modification and distribution are subject to the
- Boost Software License, Version 1.0.
- (See accompanying file LICENSE_1_0.txt
- or copy at <a href="http://www.boost.org/LICENSE_1_0.txt">
- http://www.boost.org/LICENSE_1_0.txt</a>).
- </p>
- <script type="text/javascript">
- (function($) {
- $('#toc').toc();
- })(jQuery);
- </script>
- </body>
- </html>
|