root/library/doc/html/classbdm_1_1fsqmat.html @ 661

Revision 661, 28.1 kB (checked in by smidl, 15 years ago)

doc

Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>mixpp: bdm::fsqmat Class Reference</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<script type="text/javascript">
12<!--
13function changeDisplayState (e){
14  var num=this.id.replace(/[^[0-9]/g,'');
15  var button=this.firstChild;
16  var sectionDiv=document.getElementById('dynsection'+num);
17  if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
18    sectionDiv.style.display='block';
19    button.src='open.gif';
20  }else{
21    sectionDiv.style.display='none';
22    button.src='closed.gif';
23  }
24}
25function initDynSections(){
26  var divs=document.getElementsByTagName('div');
27  var sectionCounter=1;
28  for(var i=0;i<divs.length-1;i++){
29    if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
30      var header=divs[i];
31      var section=divs[i+1];
32      var button=header.firstChild;
33      if (button!='IMG'){
34        divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
35        button=document.createElement('img');
36        divs[i].insertBefore(button,divs[i].firstChild);
37      }
38      header.style.cursor='pointer';
39      header.onclick=changeDisplayState;
40      header.id='dynheader'+sectionCounter;
41      button.src='closed.gif';
42      section.id='dynsection'+sectionCounter;
43      section.style.display='none';
44      section.style.marginLeft='14px';
45      sectionCounter++;
46    }
47  }
48}
49window.onload = initDynSections;
50-->
51</script>
52<div class="navigation" id="top">
53  <div class="tabs">
54    <ul>
55      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
56      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
57      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
58      <li><a href="files.html"><span>Files</span></a></li>
59    </ul>
60  </div>
61  <div class="tabs">
62    <ul>
63      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
64      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
65      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
66      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
67    </ul>
68  </div>
69  <div class="navpath"><b>bdm</b>::<a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a>
70  </div>
71</div>
72<div class="contents">
73<h1>bdm::fsqmat Class Reference</h1><!-- doxytag: class="bdm::fsqmat" --><!-- doxytag: inherits="bdm::sqmat" -->
74<p>Fake <a class="el" href="classbdm_1_1sqmat.html" title="Abstract class for representation of double symmetric matrices in square-root form...">sqmat</a>. This class maps <a class="el" href="classbdm_1_1sqmat.html" title="Abstract class for representation of double symmetric matrices in square-root form...">sqmat</a> operations to operations on full matrix. 
75<a href="#_details">More...</a></p>
76<hr/><a name="_details"></a><h2>Detailed Description</h2>
77<p>Fake <a class="el" href="classbdm_1_1sqmat.html" title="Abstract class for representation of double symmetric matrices in square-root form...">sqmat</a>. This class maps <a class="el" href="classbdm_1_1sqmat.html" title="Abstract class for representation of double symmetric matrices in square-root form...">sqmat</a> operations to operations on full matrix. </p>
78<p>This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; </p>
79
80<p><code>#include &lt;<a class="el" href="square__mat_8h_source.html">square_mat.h</a>&gt;</code></p>
81
82<p><a href="classbdm_1_1fsqmat-members.html">List of all members.</a></p>
83<table border="0" cellpadding="0" cellspacing="0">
84<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
85<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#aa41b3686a77d1f9657b6942b01cfd8be">opupdt</a> (const vec &amp;v, double w)</td></tr>
86<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c27d47cd0fa7ae686d4519f89a3c9b0"></a><!-- doxytag: member="bdm::fsqmat::to_mat" ref="a5c27d47cd0fa7ae686d4519f89a3c9b0" args="() const " -->
87mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a5c27d47cd0fa7ae686d4519f89a3c9b0">to_mat</a> () const </td></tr>
88<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Conversion to full matrix. <br/></td></tr>
89<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#afca713af3f74677fd7fbafe723590112">mult_sym</a> (const mat &amp;C)</td></tr>
90<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE matrix <img class="formulaInl" alt="$C$" src="form_61.png"/>, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_62.png"/><a href="#afca713af3f74677fd7fbafe723590112"></a><br/></td></tr>
91<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a0f6b7cf09daf484f29ea99a144a27039">mult_sym_t</a> (const mat &amp;C)</td></tr>
92<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inplace symmetric multiplication by a SQUARE transpose of matrix <img class="formulaInl" alt="$C$" src="form_61.png"/>, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_63.png"/><a href="#a0f6b7cf09daf484f29ea99a144a27039"></a><br/></td></tr>
93<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a75ff12a4d7d7ef50a812529e6e994cd1"></a><!-- doxytag: member="bdm::fsqmat::mult_sym" ref="a75ff12a4d7d7ef50a812529e6e994cd1" args="(const mat &amp;C, fsqmat &amp;U) const " -->
94void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a75ff12a4d7d7ef50a812529e6e994cd1">mult_sym</a> (const mat &amp;C, <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;U) const </td></tr>
95<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">store result of <code>mult_sym</code> in external matrix <img class="formulaInl" alt="$U$" src="form_67.png"/> <br/></td></tr>
96<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06d0f00ce05ad0349bef754ba94ee6c9"></a><!-- doxytag: member="bdm::fsqmat::mult_sym_t" ref="a06d0f00ce05ad0349bef754ba94ee6c9" args="(const mat &amp;C, fsqmat &amp;U) const " -->
97void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a06d0f00ce05ad0349bef754ba94ee6c9">mult_sym_t</a> (const mat &amp;C, <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;U) const </td></tr>
98<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">store result of <code>mult_sym_t</code> in external matrix <img class="formulaInl" alt="$U$" src="form_67.png"/> <br/></td></tr>
99<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ba3bc2f92b3fc6cfc90f21b3a5a5ada"></a><!-- doxytag: member="bdm::fsqmat::clear" ref="a8ba3bc2f92b3fc6cfc90f21b3a5a5ada" args="()" -->
100void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a8ba3bc2f92b3fc6cfc90f21b3a5a5ada">clear</a> ()</td></tr>
101<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clearing matrix so that it corresponds to zeros. <br/></td></tr>
102<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9461412d5087d685a3213671446f143"></a><!-- doxytag: member="bdm::fsqmat::fsqmat" ref="ad9461412d5087d685a3213671446f143" args="()" -->
103&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ad9461412d5087d685a3213671446f143">fsqmat</a> ()</td></tr>
104<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default initialization. <br/></td></tr>
105<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c1e23070177ec386ec80ae3ba3f29f5"></a><!-- doxytag: member="bdm::fsqmat::fsqmat" ref="a5c1e23070177ec386ec80ae3ba3f29f5" args="(const int dim0)" -->
106&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a5c1e23070177ec386ec80ae3ba3f29f5">fsqmat</a> (const int dim0)</td></tr>
107<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default initialization with proper size. <br/></td></tr>
108<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab74cf8cabe8ac3b2b232c3de6ad070b0"></a><!-- doxytag: member="bdm::fsqmat::fsqmat" ref="ab74cf8cabe8ac3b2b232c3de6ad070b0" args="(const mat &amp;M)" -->
109&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ab74cf8cabe8ac3b2b232c3de6ad070b0">fsqmat</a> (const mat &amp;<a class="el" href="classbdm_1_1fsqmat.html#aae9e9d807cd320ec265df81022eb9f03">M</a>)</td></tr>
110<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br/></td></tr>
111<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a8168a96449b2126dfc117c136fdf39d5">fsqmat</a> (const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;<a class="el" href="classbdm_1_1fsqmat.html#aae9e9d807cd320ec265df81022eb9f03">M</a>, const ivec &amp;perm)</td></tr>
112<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6203529db9dab639f2c123aac9fb6a6c"></a><!-- doxytag: member="bdm::fsqmat::fsqmat" ref="a6203529db9dab639f2c123aac9fb6a6c" args="(const vec &amp;d)" -->
113&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a6203529db9dab639f2c123aac9fb6a6c">fsqmat</a> (const vec &amp;d)</td></tr>
114<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor. <br/></td></tr>
115<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26d4037b787aa9cd63742393e6bd334f"></a><!-- doxytag: member="bdm::fsqmat::~fsqmat" ref="a26d4037b787aa9cd63742393e6bd334f" args="()" -->
116virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a26d4037b787aa9cd63742393e6bd334f">~fsqmat</a> ()</td></tr>
117<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destructor for future use;. <br/></td></tr>
118<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ad17495888ab35e09ebb9b4e789f586d5">inv</a> (<a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;Inv) const </td></tr>
119<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Matrix inversion preserving the chosen form.  <a href="#ad17495888ab35e09ebb9b4e789f586d5"></a><br/></td></tr>
120<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a15de11fa1e280d4caa7cb010711881a0"></a><!-- doxytag: member="bdm::fsqmat::logdet" ref="a15de11fa1e280d4caa7cb010711881a0" args="() const " -->
121double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a15de11fa1e280d4caa7cb010711881a0">logdet</a> () const </td></tr>
122<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Logarithm of a determinant. <br/></td></tr>
123<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a766faafcf138610840a6975f8a28d0b6"></a><!-- doxytag: member="bdm::fsqmat::qform" ref="a766faafcf138610840a6975f8a28d0b6" args="(const vec &amp;v) const " -->
124double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a766faafcf138610840a6975f8a28d0b6">qform</a> (const vec &amp;v) const </td></tr>
125<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*V*v$" src="form_65.png"/>;. <br/></td></tr>
126<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a967cbb3a58a0a6f7bd974f2c6ff5d520"></a><!-- doxytag: member="bdm::fsqmat::invqform" ref="a967cbb3a58a0a6f7bd974f2c6ff5d520" args="(const vec &amp;v) const " -->
127double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a967cbb3a58a0a6f7bd974f2c6ff5d520">invqform</a> (const vec &amp;v) const </td></tr>
128<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evaluates quadratic form <img class="formulaInl" alt="$x= v'*inv(V)*v$" src="form_66.png"/>;. <br/></td></tr>
129<tr><td class="memItemLeft" align="right" valign="top">vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#aab240f84ea1685bc95df0446f948abfd">sqrt_mult</a> (const vec &amp;v) const </td></tr>
130<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multiplies square <a class="el" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a> of <img class="formulaInl" alt="$V$" src="form_64.png"/> by vector <img class="formulaInl" alt="$x$" src="form_1.png"/><a href="#aab240f84ea1685bc95df0446f948abfd"></a><br/></td></tr>
131<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1a01433460718f7b8a9fa6ba9a911b8a"></a><!-- doxytag: member="bdm::fsqmat::add" ref="a1a01433460718f7b8a9fa6ba9a911b8a" args="(const fsqmat &amp;fsq2, double w=1.0)" -->
132void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a1a01433460718f7b8a9fa6ba9a911b8a">add</a> (const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;fsq2, double w=1.0)</td></tr>
133<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add another matrix in fsq form with weight w. <br/></td></tr>
134<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad36cb40feaa7079d8687d60bd33e50a5"></a><!-- doxytag: member="bdm::fsqmat::setD" ref="ad36cb40feaa7079d8687d60bd33e50a5" args="(const vec &amp;nD)" -->
135void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ad36cb40feaa7079d8687d60bd33e50a5">setD</a> (const vec &amp;nD)</td></tr>
136<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access functions. <br/></td></tr>
137<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad94e0156c4d15a756b23fa70ab181904"></a><!-- doxytag: member="bdm::fsqmat::getD" ref="ad94e0156c4d15a756b23fa70ab181904" args="()" -->
138vec&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ad94e0156c4d15a756b23fa70ab181904">getD</a> ()</td></tr>
139<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access functions. <br/></td></tr>
140<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19f6f73679a09315babba64a95d89085"></a><!-- doxytag: member="bdm::fsqmat::setD" ref="a19f6f73679a09315babba64a95d89085" args="(const vec &amp;nD, int i)" -->
141void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a19f6f73679a09315babba64a95d89085">setD</a> (const vec &amp;nD, int i)</td></tr>
142<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Access functions. <br/></td></tr>
143<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83db17577372a459433cc56aef712583"></a><!-- doxytag: member="bdm::fsqmat::operator+=" ref="a83db17577372a459433cc56aef712583" args="(const fsqmat &amp;A)" -->
144<a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a83db17577372a459433cc56aef712583">operator+=</a> (const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;A)</td></tr>
145<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">add another <a class="el" href="classbdm_1_1fsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> matrix <br/></td></tr>
146<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a019ee2145f7ef263bfb9a72e8e0532d9"></a><!-- doxytag: member="bdm::fsqmat::operator&#45;=" ref="a019ee2145f7ef263bfb9a72e8e0532d9" args="(const fsqmat &amp;A)" -->
147<a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a019ee2145f7ef263bfb9a72e8e0532d9">operator-=</a> (const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;A)</td></tr>
148<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">subtrack another <a class="el" href="classbdm_1_1fsqmat.html" title="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</a> matrix <br/></td></tr>
149<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a093d62d05f04b97d91084ed97194560b"></a><!-- doxytag: member="bdm::fsqmat::operator*=" ref="a093d62d05f04b97d91084ed97194560b" args="(double x)" -->
150<a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a093d62d05f04b97d91084ed97194560b">operator*=</a> (double x)</td></tr>
151<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">multiply by a scalar <br/></td></tr>
152<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a296faede93e2143abd3a4f1f7b4974c7"></a><!-- doxytag: member="bdm::fsqmat::operator mat &amp;" ref="a296faede93e2143abd3a4f1f7b4974c7" args="()" -->
153&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#a296faede93e2143abd3a4f1f7b4974c7">operator mat &amp;</a> ()</td></tr>
154<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">cast to normal mat <br/></td></tr>
155<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a445ef762cf5d2d6cfdf53c72942363cf"></a><!-- doxytag: member="bdm::fsqmat::cols" ref="a445ef762cf5d2d6cfdf53c72942363cf" args="() const " -->
156int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf">cols</a> () const </td></tr>
157<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#a445ef762cf5d2d6cfdf53c72942363cf" title="Reimplementing common functions of mat: cols().">cols()</a>. <br/></td></tr>
158<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73e639221343dcce76c3305524d67590"></a><!-- doxytag: member="bdm::fsqmat::rows" ref="a73e639221343dcce76c3305524d67590" args="() const " -->
159int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590">rows</a> () const </td></tr>
160<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reimplementing common functions of mat: <a class="el" href="classbdm_1_1sqmat.html#a73e639221343dcce76c3305524d67590" title="Reimplementing common functions of mat: rows().">rows()</a>. <br/></td></tr>
161<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
162<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae9e9d807cd320ec265df81022eb9f03"></a><!-- doxytag: member="bdm::fsqmat::M" ref="aae9e9d807cd320ec265df81022eb9f03" args="" -->
163mat&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#aae9e9d807cd320ec265df81022eb9f03">M</a></td></tr>
164<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Full matrix on which the operations are performed. <br/></td></tr>
165<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05111b5744a494880e62cb0f3d42293f"></a><!-- doxytag: member="bdm::fsqmat::dim" ref="a05111b5744a494880e62cb0f3d42293f" args="" -->
166int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1sqmat.html#a05111b5744a494880e62cb0f3d42293f">dim</a></td></tr>
167<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">dimension of the square matrix <br/></td></tr>
168<tr><td colspan="2"><h2>Friends</h2></td></tr>
169<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae06aba54d61e807b41bd68b5ee6ac22f"></a><!-- doxytag: member="bdm::fsqmat::operator&lt;&lt;" ref="ae06aba54d61e807b41bd68b5ee6ac22f" args="(std::ostream &amp;os, const fsqmat &amp;sq)" -->
170std::ostream &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classbdm_1_1fsqmat.html#ae06aba54d61e807b41bd68b5ee6ac22f">operator&lt;&lt;</a> (std::ostream &amp;os, const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;sq)</td></tr>
171<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">print full matrix <br/></td></tr>
172</table>
173<hr/><h2>Constructor &amp; Destructor Documentation</h2>
174<a class="anchor" id="a8168a96449b2126dfc117c136fdf39d5"></a><!-- doxytag: member="bdm::fsqmat::fsqmat" ref="a8168a96449b2126dfc117c136fdf39d5" args="(const fsqmat &amp;M, const ivec &amp;perm)" -->
175<div class="memitem">
176<div class="memproto">
177      <table class="memname">
178        <tr>
179          <td class="memname">bdm::fsqmat::fsqmat </td>
180          <td>(</td>
181          <td class="paramtype">const <a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;&nbsp;</td>
182          <td class="paramname"> <em>M</em>, </td>
183        </tr>
184        <tr>
185          <td class="paramkey"></td>
186          <td></td>
187          <td class="paramtype">const ivec &amp;&nbsp;</td>
188          <td class="paramname"> <em>perm</em></td><td>&nbsp;</td>
189        </tr>
190        <tr>
191          <td></td>
192          <td>)</td>
193          <td></td><td></td><td><code> [inline]</code></td>
194        </tr>
195      </table>
196</div>
197<div class="memdoc">
198<p>Some templates require this constructor to compile, but it shouldn't actually be called. </p>
199
200<p>References <a class="el" href="bdmerror_8h_source.html#l00051">bdm_error</a>.</p>
201
202</div>
203</div>
204<hr/><h2>Member Function Documentation</h2>
205<a class="anchor" id="ad17495888ab35e09ebb9b4e789f586d5"></a><!-- doxytag: member="bdm::fsqmat::inv" ref="ad17495888ab35e09ebb9b4e789f586d5" args="(fsqmat &amp;Inv) const " -->
206<div class="memitem">
207<div class="memproto">
208      <table class="memname">
209        <tr>
210          <td class="memname">void bdm::fsqmat::inv </td>
211          <td>(</td>
212          <td class="paramtype"><a class="el" href="classbdm_1_1fsqmat.html">fsqmat</a> &amp;&nbsp;</td>
213          <td class="paramname"> <em>Inv</em></td>
214          <td>&nbsp;)&nbsp;</td>
215          <td> const</td>
216        </tr>
217      </table>
218</div>
219<div class="memdoc">
220
221<p>Matrix inversion preserving the chosen form. </p>
222<dl><dt><b>Parameters:</b></dt><dd>
223  <table border="0" cellspacing="2" cellpadding="0">
224    <tr><td valign="top"></td><td valign="top"><em>Inv</em>&nbsp;</td><td>a space where the inverse is stored. </td></tr>
225  </table>
226  </dd>
227</dl>
228
229<p>References <a class="el" href="square__mat_8h_source.html#l00123">M</a>.</p>
230
231<p>Referenced by <a class="el" href="exp__family_8cpp_source.html#l00039">bdm::egiw::evallog_nn()</a>.</p>
232
233</div>
234</div>
235<a class="anchor" id="afca713af3f74677fd7fbafe723590112"></a><!-- doxytag: member="bdm::fsqmat::mult_sym" ref="afca713af3f74677fd7fbafe723590112" args="(const mat &amp;C)" -->
236<div class="memitem">
237<div class="memproto">
238      <table class="memname">
239        <tr>
240          <td class="memname">void bdm::fsqmat::mult_sym </td>
241          <td>(</td>
242          <td class="paramtype">const mat &amp;&nbsp;</td>
243          <td class="paramname"> <em>C</em></td>
244          <td>&nbsp;)&nbsp;</td>
245          <td><code> [virtual]</code></td>
246        </tr>
247      </table>
248</div>
249<div class="memdoc">
250
251<p>Inplace symmetric multiplication by a SQUARE matrix <img class="formulaInl" alt="$C$" src="form_61.png"/>, i.e. <img class="formulaInl" alt="$V = C*V*C'$" src="form_62.png"/>. </p>
252<dl><dt><b>Parameters:</b></dt><dd>
253  <table border="0" cellspacing="2" cellpadding="0">
254    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
255  </table>
256  </dd>
257</dl>
258
259<p>Reimplemented from <a class="el" href="classbdm_1_1sqmat.html#af8b513b6ac0e54d6fe47afda8b254b29">bdm::sqmat</a>.</p>
260
261<p>References <a class="el" href="square__mat_8h_source.html#l00123">M</a>.</p>
262
263</div>
264</div>
265<a class="anchor" id="a0f6b7cf09daf484f29ea99a144a27039"></a><!-- doxytag: member="bdm::fsqmat::mult_sym_t" ref="a0f6b7cf09daf484f29ea99a144a27039" args="(const mat &amp;C)" -->
266<div class="memitem">
267<div class="memproto">
268      <table class="memname">
269        <tr>
270          <td class="memname">void bdm::fsqmat::mult_sym_t </td>
271          <td>(</td>
272          <td class="paramtype">const mat &amp;&nbsp;</td>
273          <td class="paramname"> <em>C</em></td>
274          <td>&nbsp;)&nbsp;</td>
275          <td><code> [virtual]</code></td>
276        </tr>
277      </table>
278</div>
279<div class="memdoc">
280
281<p>Inplace symmetric multiplication by a SQUARE transpose of matrix <img class="formulaInl" alt="$C$" src="form_61.png"/>, i.e. <img class="formulaInl" alt="$V = C'*V*C$" src="form_63.png"/>. </p>
282<dl><dt><b>Parameters:</b></dt><dd>
283  <table border="0" cellspacing="2" cellpadding="0">
284    <tr><td valign="top"></td><td valign="top"><em>C</em>&nbsp;</td><td>multiplying matrix, </td></tr>
285  </table>
286  </dd>
287</dl>
288
289<p>Reimplemented from <a class="el" href="classbdm_1_1sqmat.html#aba45b96855264178ab67648bbc7cead5">bdm::sqmat</a>.</p>
290
291<p>References <a class="el" href="square__mat_8h_source.html#l00123">M</a>.</p>
292
293</div>
294</div>
295<a class="anchor" id="aa41b3686a77d1f9657b6942b01cfd8be"></a><!-- doxytag: member="bdm::fsqmat::opupdt" ref="aa41b3686a77d1f9657b6942b01cfd8be" args="(const vec &amp;v, double w)" -->
296<div class="memitem">
297<div class="memproto">
298      <table class="memname">
299        <tr>
300          <td class="memname">void bdm::fsqmat::opupdt </td>
301          <td>(</td>
302          <td class="paramtype">const vec &amp;&nbsp;</td>
303          <td class="paramname"> <em>v</em>, </td>
304        </tr>
305        <tr>
306          <td class="paramkey"></td>
307          <td></td>
308          <td class="paramtype">double&nbsp;</td>
309          <td class="paramname"> <em>w</em></td><td>&nbsp;</td>
310        </tr>
311        <tr>
312          <td></td>
313          <td>)</td>
314          <td></td><td></td><td><code> [virtual]</code></td>
315        </tr>
316      </table>
317</div>
318<div class="memdoc">
319<p>Perfroms a rank-1 update by outer product of vectors: <img class="formulaInl" alt="$V = V + w v v'$" src="form_60.png"/>. </p>
320<dl><dt><b>Parameters:</b></dt><dd>
321  <table border="0" cellspacing="2" cellpadding="0">
322    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>Vector forming the outer product to be added </td></tr>
323    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>weight of updating; can be negative</td></tr>
324  </table>
325  </dd>
326</dl>
327<p>BLAS-2b operation. </p>
328
329<p>Reimplemented from <a class="el" href="classbdm_1_1sqmat.html#a12298b1cc5a6f35876291e876b0e2993">bdm::sqmat</a>.</p>
330
331<p>References <a class="el" href="square__mat_8h_source.html#l00123">M</a>.</p>
332
333</div>
334</div>
335<a class="anchor" id="aab240f84ea1685bc95df0446f948abfd"></a><!-- doxytag: member="bdm::fsqmat::sqrt_mult" ref="aab240f84ea1685bc95df0446f948abfd" args="(const vec &amp;v) const " -->
336<div class="memitem">
337<div class="memproto">
338      <table class="memname">
339        <tr>
340          <td class="memname">vec bdm::fsqmat::sqrt_mult </td>
341          <td>(</td>
342          <td class="paramtype">const vec &amp;&nbsp;</td>
343          <td class="paramname"> <em>v</em></td>
344          <td>&nbsp;)&nbsp;</td>
345          <td> const<code> [inline, virtual]</code></td>
346        </tr>
347      </table>
348</div>
349<div class="memdoc">
350
351<p>Multiplies square <a class="el" href="classbdm_1_1root.html" title="Root class of BDM objects.">root</a> of <img class="formulaInl" alt="$V$" src="form_64.png"/> by vector <img class="formulaInl" alt="$x$" src="form_1.png"/>. </p>
352<p>Used e.g. in generating normal samples. </p>
353
354<p>Reimplemented from <a class="el" href="classbdm_1_1sqmat.html#abcacd85ec5d128ebbb663ae4433c75b3">bdm::sqmat</a>.</p>
355
356<p>References <a class="el" href="square__mat_8h_source.html#l00123">M</a>.</p>
357
358</div>
359</div>
360<hr/>The documentation for this class was generated from the following files:<ul>
361<li><a class="el" href="square__mat_8h_source.html">square_mat.h</a></li>
362<li>square_mat.cpp</li>
363</ul>
364</div>
365<hr size="1"/><address style="text-align: right;"><small>Generated on Thu Oct 15 00:07:50 2009 for mixpp by&nbsp;
366<a href="http://www.doxygen.org/index.html">
367<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
368</body>
369</html>
Note: See TracBrowser for help on using the browser.