root/doc/xml/libDC_8h.xml @ 234

Revision 187, 64.4 kB (checked in by smidl, 16 years ago)

doc

Line 
1<?xml version='1.0' encoding='UTF-8' standalone='no'?>
2<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
3  <compounddef id="libDC_8h" kind="file">
4    <compoundname>libDC.h</compoundname>
5    <includes local="no">itpp/itbase.h</includes>
6    <includedby refid="libEF_8h" local="yes">work/git/mixpp/bdm/stat/libEF.h</includedby>
7    <includedby refid="chmat_8h" local="yes">work/git/mixpp/bdm/math/chmat.h</includedby>
8    <includedby refid="libPF_8h" local="yes">work/git/mixpp/bdm/estim/libPF.h</includedby>
9    <includedby refid="libDC_8cpp" local="yes">work/git/mixpp/bdm/math/libDC.cpp</includedby>
10    <includedby refid="fsqmat__test_8cpp" local="no">work/git/mixpp/tests/fsqmat_test.cpp</includedby>
11    <includedby refid="ldmat__test_8cpp" local="no">work/git/mixpp/tests/ldmat_test.cpp</includedby>
12    <includedby refid="rv__test_8cpp" local="yes">work/git/mixpp/tests/rv_test.cpp</includedby>
13    <includedby refid="test0_8cpp" local="yes">work/git/mixpp/tests/test0.cpp</includedby>
14    <includedby refid="testPF_8cpp" local="no">work/git/mixpp/tests/testPF.cpp</includedby>
15    <includedby refid="testResample_8cpp" local="no">work/git/mixpp/tests/testResample.cpp</includedby>
16    <incdepgraph>
17      <node id="304">
18        <label>itpp/itbase.h</label>
19      </node>
20      <node id="303">
21        <label>work/git/mixpp/bdm/math/libDC.h</label>
22        <link refid="libDC.h"/>
23        <childnode refid="304" relation="include">
24        </childnode>
25      </node>
26    </incdepgraph>
27    <invincdepgraph>
28      <node id="316">
29        <label>work/git/mixpp/bdm/stat/merger.h</label>
30        <link refid="merger_8h"/>
31      </node>
32      <node id="315">
33        <label>work/git/mixpp/bdm/stat/emix.h</label>
34        <link refid="emix_8h"/>
35        <childnode refid="316" relation="include">
36        </childnode>
37        <childnode refid="311" relation="include">
38        </childnode>
39      </node>
40      <node id="310">
41        <label>work/git/mixpp/bdm/estim/ekf_templ.h</label>
42        <link refid="ekf__templ_8h"/>
43        <childnode refid="311" relation="include">
44        </childnode>
45      </node>
46      <node id="306">
47        <label>work/git/mixpp/bdm/stat/libEF.h</label>
48        <link refid="libEF_8h"/>
49        <childnode refid="307" relation="include">
50        </childnode>
51        <childnode refid="309" relation="include">
52        </childnode>
53        <childnode refid="314" relation="include">
54        </childnode>
55        <childnode refid="315" relation="include">
56        </childnode>
57        <childnode refid="316" relation="include">
58        </childnode>
59      </node>
60      <node id="314">
61        <label>work/git/mixpp/bdm/estim/libPF.h</label>
62        <link refid="libPF_8h"/>
63        <childnode refid="311" relation="include">
64        </childnode>
65      </node>
66      <node id="307">
67        <label>work/git/mixpp/bdm/estim/arx.h</label>
68        <link refid="arx_8h"/>
69        <childnode refid="308" relation="include">
70        </childnode>
71      </node>
72      <node id="308">
73        <label>work/git/mixpp/pmsm/sim_var_arx.cpp</label>
74        <link refid="sim__var__arx_8cpp"/>
75      </node>
76      <node id="312">
77        <label>work/git/mixpp/pmsm/sim_var.cpp</label>
78        <link refid="sim__var_8cpp"/>
79      </node>
80      <node id="317">
81        <label>work/git/mixpp/bdm/math/chmat.h</label>
82        <link refid="chmat_8h"/>
83        <childnode refid="309" relation="include">
84        </childnode>
85        <childnode refid="312" relation="include">
86        </childnode>
87      </node>
88      <node id="309">
89        <label>work/git/mixpp/bdm/estim/libKF.h</label>
90        <link refid="libKF_8h"/>
91        <childnode refid="310" relation="include">
92        </childnode>
93        <childnode refid="312" relation="include">
94        </childnode>
95        <childnode refid="313" relation="include">
96        </childnode>
97      </node>
98      <node id="305">
99        <label>work/git/mixpp/bdm/math/libDC.h</label>
100        <link refid="libDC.h"/>
101        <childnode refid="306" relation="include">
102        </childnode>
103        <childnode refid="317" relation="include">
104        </childnode>
105        <childnode refid="314" relation="include">
106        </childnode>
107      </node>
108      <node id="313">
109        <label>work/git/mixpp/pmsm/simulator_zdenek/ekf_example/ekf_obj.h</label>
110        <link refid="ekf__obj_8h"/>
111      </node>
112      <node id="311">
113        <label>work/git/mixpp/pmsm/pmsm_mix.cpp</label>
114        <link refid="pmsm__mix_8cpp"/>
115      </node>
116    </invincdepgraph>
117    <innerclass refid="classsqmat" prot="public">sqmat</innerclass>
118    <innerclass refid="classfsqmat" prot="public">fsqmat</innerclass>
119    <innerclass refid="classldmat" prot="public">ldmat</innerclass>
120      <sectiondef kind="func">
121      <memberdef kind="function" id="libDC_8h_14ed56e73b49db8e7f4a63fa926a8dca4" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
122        <type>void</type>
123        <definition>void dydr</definition>
124        <argsstring>(double *r, double *f, double *Dr, double *Df, double *R, int jl, int jh, double *kr, int m, int mx)</argsstring>
125        <name>dydr</name>
126        <param>
127          <type>double *</type>
128          <declname>r</declname>
129        </param>
130        <param>
131          <type>double *</type>
132          <declname>f</declname>
133        </param>
134        <param>
135          <type>double *</type>
136          <declname>Dr</declname>
137        </param>
138        <param>
139          <type>double *</type>
140          <declname>Df</declname>
141        </param>
142        <param>
143          <type>double *</type>
144          <declname>R</declname>
145        </param>
146        <param>
147          <type>int</type>
148          <declname>jl</declname>
149        </param>
150        <param>
151          <type>int</type>
152          <declname>jh</declname>
153        </param>
154        <param>
155          <type>double *</type>
156          <declname>kr</declname>
157        </param>
158        <param>
159          <type>int</type>
160          <declname>m</declname>
161        </param>
162        <param>
163          <type>int</type>
164          <declname>mx</declname>
165        </param>
166        <briefdescription>
167<para>Auxiliary function dydr; dyadic reduction. </para>        </briefdescription>
168        <detaileddescription>
169        </detaileddescription>
170        <inbodydescription>
171        </inbodydescription>
172        <location file="/home/smidl/work/git/mixpp/bdm/math/libDC.h" line="21" bodyfile="/home/smidl/work/git/mixpp/bdm/math/libDC.cpp" bodystart="322" bodyend="382"/>
173      </memberdef>
174      <memberdef kind="function" id="libDC_8h_16715d039e6d5d97005cf9e2522dfa474" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
175        <type>mat</type>
176        <definition>mat ltuinv</definition>
177        <argsstring>(const mat &amp;L)</argsstring>
178        <name>ltuinv</name>
179        <param>
180          <type>const mat &amp;</type>
181          <declname>L</declname>
182        </param>
183        <briefdescription>
184<para>Auxiliary function ltuinv; inversion of a triangular matrix;. </para>        </briefdescription>
185        <detaileddescription>
186        </detaileddescription>
187        <inbodydescription>
188        </inbodydescription>
189        <location file="/home/smidl/work/git/mixpp/bdm/math/libDC.h" line="25" bodyfile="/home/smidl/work/git/mixpp/bdm/math/libDC.cpp" bodystart="301" bodyend="320"/>
190        <references refid="classsqmat_10abed904bdc0882373ba9adba919689d" compoundref="libDC_8h" startline="99">sqmat::dim</references>
191        <references refid="classldmat_1f74a64b99fe58a75ebd37bb679e121ea" compoundref="libDC_8h" startline="266">ldmat::L</references>
192      </memberdef>
193      </sectiondef>
194    <briefdescription>
195<para>Matrices in decomposed forms (LDL&apos;, LU, UDU&apos;, etc). </para>    </briefdescription>
196    <detaileddescription>
197<para><simplesect kind="author"><para>Vaclav Smidl.</para></simplesect>
198----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty</para><para>Using IT++ for numerical operations ----------------------------------- </para>    </detaileddescription>
199    <programlisting>
200<codeline lineno="1"></codeline>
201<codeline lineno="13"><highlight class="preprocessor">#ifndef<sp/>DC_H</highlight></codeline>
202<codeline lineno="14"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>DC_H</highlight></codeline>
203<codeline lineno="15"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
204<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;itpp/itbase.h&gt;</highlight><highlight class="normal"></highlight></codeline>
205<codeline lineno="17"><highlight class="normal"></highlight></codeline>
206<codeline lineno="18"><highlight class="normal"></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">itpp;</highlight></codeline>
207<codeline lineno="19"><highlight class="normal"></highlight></codeline>
208<codeline lineno="21"><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>dydr(<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*<sp/>r,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*f,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*Dr,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*Df,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*R,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>jl,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>jh,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>*kr,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>mx<sp/>);</highlight></codeline>
209<codeline lineno="22"><highlight class="normal"></highlight></codeline>
210<codeline lineno="24"><highlight class="comment">//TODO<sp/>can<sp/>be<sp/>done<sp/>via:<sp/>dtrtri.f<sp/>from<sp/>lapack</highlight><highlight class="normal"></highlight></codeline>
211<codeline lineno="25"><highlight class="normal">mat<sp/>ltuinv(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;L<sp/>);</highlight></codeline>
212<codeline lineno="26"><highlight class="normal"></highlight></codeline>
213<codeline lineno="31" refid="classsqmat" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref></highlight></codeline>
214<codeline lineno="32"><highlight class="normal">{</highlight></codeline>
215<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
216<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classsqmat_1b223484796661f2dadb5607a86ce0581" kindref="member">opupdt</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w<sp/>)<sp/>=0;</highlight></codeline>
217<codeline lineno="42"><highlight class="normal"></highlight></codeline>
218<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/>mat<sp/><ref refid="classsqmat_19a5b6fddfeb42339e1dc9b978a2590fc" kindref="member" tooltip="Conversion to full matrix.">to_mat</ref>()<sp/>=0;</highlight></codeline>
219<codeline lineno="47"><highlight class="normal"></highlight></codeline>
220<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classsqmat_160fbbfa9e483b8187c135f787ee53afa" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C<sp/>)<sp/>=0;</highlight></codeline>
221<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
222<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classsqmat_16909e906da17725b1b80f3cae7cf3325" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C<sp/>)<sp/>=0;</highlight></codeline>
223<codeline lineno="57"><highlight class="normal"></highlight></codeline>
224<codeline lineno="58"><highlight class="normal"></highlight></codeline>
225<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10a772b396750eeeed85d69fa72478b45" kindref="member" tooltip="Logarithm of a determinant.">logdet</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>=0;</highlight></codeline>
226<codeline lineno="64"><highlight class="normal"></highlight></codeline>
227<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/>vec<sp/><ref refid="classsqmat_16b79438b5d7544a9c8e110a145355d8f" kindref="member" tooltip="Multiplies square root of  by vector .">sqrt_mult</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>=0;</highlight></codeline>
228<codeline lineno="71"><highlight class="normal"></highlight></codeline>
229<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classsqmat_1fc026312eb02ba09f85d5aacd6f05ab3" kindref="member" tooltip="Evaluates quadratic form ;.">qform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>=0;</highlight></codeline>
230<codeline lineno="77"><highlight class="normal"></highlight></codeline>
231<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classsqmat_16230e8e8a9341866aaa0ce008691aac2" kindref="member" tooltip="Evaluates quadratic form ;.">invqform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>=0;</highlight></codeline>
232<codeline lineno="83"><highlight class="normal"></highlight></codeline>
233<codeline lineno="84"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/>//!<sp/>easy<sp/>version<sp/>of<sp/>the</highlight><highlight class="normal"></highlight></codeline>
234<codeline lineno="85"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/>sqmat<sp/>inv();</highlight><highlight class="normal"></highlight></codeline>
235<codeline lineno="86"><highlight class="normal"></highlight></codeline>
236<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classsqmat_16fca246f9eabbdeb8cac03030e826b5e" kindref="member" tooltip="Clearing matrix so that it corresponds to zeros.">clear</ref>()<sp/>=0;</highlight></codeline>
237<codeline lineno="89"><highlight class="normal"></highlight></codeline>
238<codeline lineno="91" refid="classsqmat_1ecc2e2540f95a04f4449842588170f5b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classsqmat_1ecc2e2540f95a04f4449842588170f5b" kindref="member" tooltip="Reimplementing common functions of mat: cols().">cols</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>;};</highlight></codeline>
239<codeline lineno="92"><highlight class="normal"></highlight></codeline>
240<codeline lineno="94" refid="classsqmat_1071e80ced9cc3b8cbb360fa7462eb646" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classsqmat_1071e80ced9cc3b8cbb360fa7462eb646" kindref="member" tooltip="Reimplementing common functions of mat: cols().">rows</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>;};</highlight></codeline>
241<codeline lineno="95"><highlight class="normal"></highlight></codeline>
242<codeline lineno="97" refid="classsqmat_10481f2067bb32aaea7e6d4f27e46b656" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10481f2067bb32aaea7e6d4f27e46b656" kindref="member" tooltip="Destructor for future use;.">~sqmat</ref>(){};</highlight></codeline>
243<codeline lineno="99" refid="classsqmat_14268750c040c716b2c05037f725078a2" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classsqmat_14268750c040c716b2c05037f725078a2" kindref="member" tooltip="Default constructor.">sqmat</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dim0):<sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>(dim0){};</highlight></codeline>
244<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
245<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>;</highlight></codeline>
246<codeline lineno="103"><highlight class="normal">};</highlight></codeline>
247<codeline lineno="104"><highlight class="normal"></highlight></codeline>
248<codeline lineno="105"><highlight class="normal"></highlight></codeline>
249<codeline lineno="110" refid="classfsqmat" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref></highlight></codeline>
250<codeline lineno="111"><highlight class="normal">{</highlight></codeline>
251<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
252<codeline lineno="114" refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/><ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>;</highlight></codeline>
253<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
254<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1b36530e155667fe9f1bd58394e50c65a" kindref="member">opupdt</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w<sp/>);</highlight></codeline>
255<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/><ref refid="classfsqmat_1cedf4f048309056f4262c930914dfda8" kindref="member" tooltip="Conversion to full matrix.">to_mat</ref>()<sp/>;</highlight></codeline>
256<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_15530d2756b5d991de755e6121c9a452e" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C);</highlight></codeline>
257<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_192052a8adc2054b63e42d1373d145c89" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C);</highlight></codeline>
258<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_15530d2756b5d991de755e6121c9a452e" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C,<sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;U)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
259<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_192052a8adc2054b63e42d1373d145c89" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C,<sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;U)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
260<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1cfa4c359483d2322f32d1d50050f8ac4" kindref="member" tooltip="Clearing matrix so that it corresponds to zeros.">clear</ref>();</highlight></codeline>
261<codeline lineno="125"><highlight class="normal"></highlight></codeline>
262<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat_179e3f73e0ccd663c7f7e08083d272940" kindref="member" tooltip="Default initialization.">fsqmat</ref>();<sp/></highlight><highlight class="comment">//<sp/>mat<sp/>will<sp/>be<sp/>initialized<sp/>OK</highlight></codeline>
263<codeline lineno="129"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat_179e3f73e0ccd663c7f7e08083d272940" kindref="member" tooltip="Default initialization.">fsqmat</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dim0);<sp/></highlight><highlight class="comment">//<sp/>mat<sp/>will<sp/>be<sp/>initialized<sp/>OK</highlight></codeline>
264<codeline lineno="131"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat_179e3f73e0ccd663c7f7e08083d272940" kindref="member" tooltip="Default initialization.">fsqmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref><sp/>);</highlight></codeline>
265<codeline lineno="133" refid="classfsqmat_1c01f3e9bb590f2a2921369d672f3ce1e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat_179e3f73e0ccd663c7f7e08083d272940" kindref="member" tooltip="Default initialization.">fsqmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;d<sp/>):<ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref>(d.length()){<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>=diag(d);};</highlight></codeline>
266<codeline lineno="134"><highlight class="normal"></highlight></codeline>
267<codeline lineno="136" refid="classfsqmat_12a8f104e4befbc2aa90d8b11edfedb2e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_12a8f104e4befbc2aa90d8b11edfedb2e" kindref="member" tooltip="Destructor for future use;.">~fsqmat</ref>(){};</highlight></codeline>
268<codeline lineno="137"><highlight class="normal"></highlight></codeline>
269<codeline lineno="138"><highlight class="normal"></highlight></codeline>
270<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_19fa853e1ca28f2a1a1c43377e798ecb1" kindref="member" tooltip="Matrix inversion preserving the chosen form.">inv</ref><sp/>(<sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;Inv<sp/>);</highlight></codeline>
271<codeline lineno="145"><highlight class="normal"></highlight></codeline>
272<codeline lineno="146" refid="classfsqmat_1eb0d1358f536e4453b5f99d0418ca1e5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1eb0d1358f536e4453b5f99d0418ca1e5" kindref="member" tooltip="Logarithm of a determinant.">logdet</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>log<sp/>(<sp/>det<sp/>(<sp/><ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref><sp/>)<sp/>);};</highlight></codeline>
273<codeline lineno="147" refid="classfsqmat_1a6c91b0389e73404324b2314b08d6e87" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1a6c91b0389e73404324b2314b08d6e87" kindref="member" tooltip="Evaluates quadratic form ;.">qform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><sp/>vec<sp/>&amp;v<sp/>)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<sp/>v*<sp/>(<sp/><ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>*v<sp/>)<sp/>);};</highlight></codeline>
274<codeline lineno="148" refid="classfsqmat_158075da64ddadd4df40654c35b928c6f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_158075da64ddadd4df40654c35b928c6f" kindref="member" tooltip="Evaluates quadratic form ;.">invqform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><sp/>vec<sp/>&amp;v<sp/>)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<sp/>v*<sp/>(<sp/>itpp::inv(<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>)*v<sp/>)<sp/>);};</highlight></codeline>
275<codeline lineno="149" refid="classfsqmat_1842a774077ee34ac3c36d180ab33e103" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classfsqmat_1842a774077ee34ac3c36d180ab33e103" kindref="member" tooltip="Multiplies square root of  by vector .">sqrt_mult</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{mat<sp/>Ch=chol(<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>);<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>Ch*v;};</highlight></codeline>
276<codeline lineno="150"><highlight class="normal"></highlight></codeline>
277<codeline lineno="152" refid="classfsqmat_1a2e0bf7dbbbbe1d3358064c4ad455f1f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;fsq2,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w=1.0<sp/>){<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>+=fsq2.M;};</highlight></codeline>
278<codeline lineno="153"><highlight class="normal"></highlight></codeline>
279<codeline lineno="155" refid="classfsqmat_1922f8190c13987cbcdb33ec2bf5cf105" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1922f8190c13987cbcdb33ec2bf5cf105" kindref="member" tooltip="Access functions.">setD</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD){<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>=diag(nD);}</highlight></codeline>
280<codeline lineno="157" refid="classfsqmat_1bcf837b2956745e8986044f5600dbd6e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classfsqmat_1bcf837b2956745e8986044f5600dbd6e" kindref="member" tooltip="Access functions.">getD</ref><sp/>(){</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>diag(<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>);}</highlight></codeline>
281<codeline lineno="159" refid="classfsqmat_103a8f49eb4d38a054ecc522be59cd2ad" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classfsqmat_1922f8190c13987cbcdb33ec2bf5cf105" kindref="member" tooltip="Access functions.">setD</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i){</highlight><highlight class="keywordflow">for</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>j=i;j&lt;nD.length();j++){<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>(j,j)=nD(j-i);}}<sp/></highlight><highlight class="comment">//Fixme<sp/>can<sp/>be<sp/>more<sp/>general</highlight><highlight class="normal"></highlight></codeline>
282<codeline lineno="160"><highlight class="normal"></highlight></codeline>
283<codeline lineno="161"><highlight class="normal"></highlight></codeline>
284<codeline lineno="163" refid="classfsqmat_1514d1fdd8a382dbd6a774f2cf1ebd3de" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref>&amp;<sp/><ref refid="classfsqmat_1514d1fdd8a382dbd6a774f2cf1ebd3de" kindref="member" tooltip="add another fsqmat matrix">operator += </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;A<sp/>)<sp/>{<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>+=A.<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>;</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;};</highlight></codeline>
285<codeline lineno="165" refid="classfsqmat_1e976bc9d899961e1d2087b0630ed33b7" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref>&amp;<sp/><ref refid="classfsqmat_1e976bc9d899961e1d2087b0630ed33b7" kindref="member" tooltip="subtrack another fsqmat matrix">operator -= </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;A<sp/>)<sp/>{<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>-=A.<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>;</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;};</highlight></codeline>
286<codeline lineno="167" refid="classfsqmat_1af800e7b2146da5e60897255dde80059" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref>&amp;<sp/><ref refid="classfsqmat_1af800e7b2146da5e60897255dde80059" kindref="member" tooltip="multiply by a scalar">operator *= </ref>(<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>x<sp/>)<sp/>{<ref refid="classfsqmat_1a7a1fcb9aae19d1e4daddfc9c22ce453" kindref="member" tooltip="Full matrix on which the operations are performed.">M</ref>*=x;</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;};</highlight></codeline>
287<codeline lineno="168"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>fsqmat&amp;<sp/>operator<sp/>=<sp/>(<sp/>const<sp/>fsqmat<sp/>&amp;A)<sp/>{M=A.M;<sp/>return<sp/>*this;};</highlight></codeline>
288<codeline lineno="170"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/>std::ostream<sp/>&amp;<ref refid="classfsqmat_1e06aba54d61e807b41bd68b5ee6ac22f" kindref="member" tooltip="print full matrix">operator&lt;&lt; </ref>(<sp/>std::ostream<sp/>&amp;os,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&amp;sq<sp/>);</highlight></codeline>
289<codeline lineno="171"><highlight class="normal"></highlight></codeline>
290<codeline lineno="172"><highlight class="normal">};</highlight></codeline>
291<codeline lineno="173"><highlight class="normal"></highlight></codeline>
292<codeline lineno="179" refid="classldmat" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>:<sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref></highlight></codeline>
293<codeline lineno="180"><highlight class="normal">{</highlight></codeline>
294<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
295<codeline lineno="182"><highlight class="normal"></highlight></codeline>
296<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat_1a12dda6f529580b0377cc45226b43303" kindref="member" tooltip="Default constructor.">ldmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;<ref refid="classldmat_1f74a64b99fe58a75ebd37bb679e121ea" kindref="member" tooltip="Lower-triangular matrix .">L</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;<ref refid="classldmat_14cce04824539c4a8d062d9a36d6e014e" kindref="member" tooltip="Positive vector .">D</ref><sp/>);</highlight></codeline>
297<codeline lineno="186"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat_1a12dda6f529580b0377cc45226b43303" kindref="member" tooltip="Default constructor.">ldmat</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;V<sp/>);</highlight></codeline>
298<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat_1a12dda6f529580b0377cc45226b43303" kindref="member" tooltip="Default constructor.">ldmat</ref><sp/>(<sp/>vec<sp/>D0<sp/>);</highlight></codeline>
299<codeline lineno="190"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat_1a12dda6f529580b0377cc45226b43303" kindref="member" tooltip="Default constructor.">ldmat</ref><sp/>();</highlight></codeline>
300<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat_1a12dda6f529580b0377cc45226b43303" kindref="member" tooltip="Default constructor.">ldmat</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dim0);</highlight></codeline>
301<codeline lineno="193"><highlight class="normal"></highlight></codeline>
302<codeline lineno="195" refid="classldmat_11e2734c0164ce5233c4d709679555138" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classldmat_11e2734c0164ce5233c4d709679555138" kindref="member" tooltip="Destructor for future use;.">~ldmat</ref>(){};</highlight></codeline>
303<codeline lineno="196"><highlight class="normal"></highlight></codeline>
304<codeline lineno="197"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Reimplementation<sp/>of<sp/>compulsory<sp/>operatios</highlight><highlight class="normal"></highlight></codeline>
305<codeline lineno="198"><highlight class="normal"></highlight></codeline>
306<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_10f0f6e083e6d947cf58097ffce3ccd1a" kindref="member">opupdt</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w<sp/>);</highlight></codeline>
307<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/><ref refid="classldmat_15b0515da8dc2293d9e4360b74cc26c9e" kindref="member" tooltip="Conversion to full matrix.">to_mat</ref>();</highlight></codeline>
308<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_1e967b9425007f0cb6cd59b845f9756d8" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C);</highlight></codeline>
309<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_14fd155f38eb6dd5af4bdf9c98a7999a9" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C);</highlight></codeline>
310<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;ld2,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w=1.0<sp/>);</highlight></codeline>
311<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classldmat_12b42750ba4962d439aa52a77ae12949b" kindref="member" tooltip="Logarithm of a determinant.">logdet</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
312<codeline lineno="206"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classldmat_1d64f331b781903e913cb2ee836886f3f" kindref="member" tooltip="Evaluates quadratic form ;.">qform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
313<codeline lineno="207"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classldmat_1d876c5f83e02b3e809b35c9de5068f14" kindref="member" tooltip="Evaluates quadratic form ;.">invqform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
314<codeline lineno="208"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/>sqmat&amp;<sp/>operator<sp/>-=<sp/>(<sp/>const<sp/>sqmat<sp/>&amp;<sp/>ld2<sp/>);</highlight><highlight class="normal"></highlight></codeline>
315<codeline lineno="209"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_14d6e401de9607332305c27e67972a07a" kindref="member" tooltip="Clearing matrix so that it corresponds to zeros.">clear</ref>();</highlight></codeline>
316<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classldmat_10fceb6b5b637cec89bb0a3d2e6be1306" kindref="member" tooltip="access function">cols</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
317<codeline lineno="211"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classldmat_196dfb21865db4f5bd36fa70f9b0b1163" kindref="member" tooltip="access function">rows</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
318<codeline lineno="212"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classldmat_1fc380626ced6f9244fb58c5f0231174d" kindref="member" tooltip="Multiplies square root of  by vector .">sqrt_mult</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
319<codeline lineno="213"><highlight class="normal"></highlight></codeline>
320<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_12c160cb123c1102face7a50ec566a031" kindref="member" tooltip="Matrix inversion preserving the chosen form.">inv</ref><sp/>(<sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;Inv<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
321<codeline lineno="218"><highlight class="normal"></highlight></codeline>
322<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_1e967b9425007f0cb6cd59b845f9756d8" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C,<sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;U)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
323<codeline lineno="224"><highlight class="normal"></highlight></codeline>
324<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_14fd155f38eb6dd5af4bdf9c98a7999a9" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C,<sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;U)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
325<codeline lineno="230"><highlight class="normal"></highlight></codeline>
326<codeline lineno="231"><highlight class="normal"></highlight></codeline>
327<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_1f291faa073e7bc8dfafc7ae93daa2506" kindref="member" tooltip="Transforms general  into pure .">ldform</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;A,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;D0<sp/>);</highlight></codeline>
328<codeline lineno="239"><highlight class="normal"></highlight></codeline>
329<codeline lineno="241" refid="classldmat_10884a613b94fde61bfc84288e73ce57f" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_10884a613b94fde61bfc84288e73ce57f" kindref="member" tooltip="Access functions.">setD</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD){D=nD;}</highlight></codeline>
330<codeline lineno="243" refid="classldmat_17619922b4de18830ce5351c6b5667e60" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_10884a613b94fde61bfc84288e73ce57f" kindref="member" tooltip="Access functions.">setD</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i){D.replace_mid(i,nD);}<sp/></highlight><highlight class="comment">//Fixme<sp/>can<sp/>be<sp/>more<sp/>general</highlight></codeline>
331<codeline lineno="245" refid="classldmat_132ff66296627ff5341d7c0b973249614" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classldmat_132ff66296627ff5341d7c0b973249614" kindref="member" tooltip="Access functions.">setL</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nL){L=nL;}</highlight></codeline>
332<codeline lineno="246"><highlight class="normal"></highlight></codeline>
333<codeline lineno="248" refid="classldmat_1282c879f50aa9ef934e7f46d86881582" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec&amp;<sp/><ref refid="classldmat_1282c879f50aa9ef934e7f46d86881582" kindref="member" tooltip="Access functions.">_D</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>D;}</highlight></codeline>
334<codeline lineno="250" refid="classldmat_15f44f100248c6627314afaa653b9e5bd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat&amp;<sp/><ref refid="classldmat_15f44f100248c6627314afaa653b9e5bd" kindref="member" tooltip="Access functions.">_L</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>L;}</highlight></codeline>
335<codeline lineno="251"><highlight class="normal"></highlight></codeline>
336<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>&amp;<sp/><ref refid="classldmat_1ca445ee152a56043af946ea095b2d8f8" kindref="member" tooltip="add another ldmat matrix">operator += </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;ldA<sp/>);</highlight></codeline>
337<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>&amp;<sp/><ref refid="classldmat_1e3f4d2d85ab1ba384c852329aa31d0fb" kindref="member" tooltip="subtract another ldmat matrix">operator -= </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;ldA<sp/>);</highlight></codeline>
338<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>&amp;<sp/><ref refid="classldmat_1875b7e6dcf73ae7001329099019fdb1d" kindref="member" tooltip="multiply by a scalar">operator *= </ref>(<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>x<sp/>);</highlight></codeline>
339<codeline lineno="258"><highlight class="normal"></highlight></codeline>
340<codeline lineno="260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">friend</highlight><highlight class="normal"><sp/>std::ostream<sp/>&amp;<ref refid="classldmat_1eaaa0baa6026b84cfcbced41c84599d1" kindref="member" tooltip="print both L and D ">operator&lt;&lt; </ref>(<sp/>std::ostream<sp/>&amp;os,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;sq<sp/>);</highlight></codeline>
341<codeline lineno="261"><highlight class="normal"></highlight></codeline>
342<codeline lineno="262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
343<codeline lineno="264" refid="classldmat_14cce04824539c4a8d062d9a36d6e014e" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/>D;</highlight></codeline>
344<codeline lineno="266" refid="classldmat_1f74a64b99fe58a75ebd37bb679e121ea" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>L;</highlight></codeline>
345<codeline lineno="267"><highlight class="normal"></highlight></codeline>
346<codeline lineno="268"><highlight class="normal">};</highlight></codeline>
347<codeline lineno="269"><highlight class="normal"></highlight></codeline>
348<codeline lineno="270"><highlight class="normal"></highlight></codeline>
349<codeline lineno="273" refid="classldmat_1ca445ee152a56043af946ea095b2d8f8" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>&amp;<sp/><ref refid="classldmat_1ca445ee152a56043af946ea095b2d8f8" kindref="member" tooltip="add another ldmat matrix">ldmat::operator += </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;ldA<sp/>)<sp/><sp/>{this-&gt;</highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/>ldA<sp/>);</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;}</highlight></codeline>
350<codeline lineno="275" refid="classldmat_1e3f4d2d85ab1ba384c852329aa31d0fb" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref>&amp;<sp/><ref refid="classldmat_1e3f4d2d85ab1ba384c852329aa31d0fb" kindref="member" tooltip="subtract another ldmat matrix">ldmat::operator -= </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&amp;ldA<sp/>)<sp/><sp/>{this-&gt;</highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/>ldA,-1.0<sp/>);</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;}</highlight></codeline>
351<codeline lineno="277" refid="classldmat_10fceb6b5b637cec89bb0a3d2e6be1306" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classldmat_10fceb6b5b637cec89bb0a3d2e6be1306" kindref="member" tooltip="access function">ldmat::cols</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>;}</highlight></codeline>
352<codeline lineno="279" refid="classldmat_196dfb21865db4f5bd36fa70f9b0b1163" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classldmat_196dfb21865db4f5bd36fa70f9b0b1163" kindref="member" tooltip="access function">ldmat::rows</ref>()</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>;}</highlight></codeline>
353<codeline lineno="280"><highlight class="normal"></highlight></codeline>
354<codeline lineno="281"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>DC_H</highlight></codeline>
355    </programlisting>
356    <location file="/home/smidl/work/git/mixpp/bdm/math/libDC.h"/>
357  </compounddef>
358</doxygen>
Note: See TracBrowser for help on using the browser.