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 &L)</argsstring> |
---|
178 | <name>ltuinv</name> |
---|
179 | <param> |
---|
180 | <type>const mat &</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', LU, UDU', 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/><itpp/itbase.h></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/>&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/>&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/>&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/>&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/>&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/>&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/>&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/>&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/>&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/>&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/>&C,<sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&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/>&C,<sp/><ref refid="classfsqmat" kindref="compound" tooltip="Fake sqmat. This class maps sqmat operations to operations on full matrix.">fsqmat</ref><sp/>&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/>&<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/>&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/>&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/>&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/>&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/>&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/>&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/>&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/>&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<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>&<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/>&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>&<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/>&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>&<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&<sp/>operator<sp/>=<sp/>(<sp/>const<sp/>fsqmat<sp/>&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/>&<ref refid="classfsqmat_1e06aba54d61e807b41bd68b5ee6ac22f" kindref="member" tooltip="print full matrix">operator<< </ref>(<sp/>std::ostream<sp/>&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/>&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/>&<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/>&<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/>&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/>&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/>&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/>&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/>&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/>&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/>&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&<sp/>operator<sp/>-=<sp/>(<sp/>const<sp/>sqmat<sp/>&<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/>&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/>&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/>&C,<sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&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/>&C,<sp/><ref refid="classldmat" kindref="compound" tooltip="Matrix stored in LD form, (typically known as UD).">ldmat</ref><sp/>&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/>&A,</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&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/>&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/>&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/>&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&<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&<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>&<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/>&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>&<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/>&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>&<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/>&<ref refid="classldmat_1eaaa0baa6026b84cfcbced41c84599d1" kindref="member" tooltip="print both L and D ">operator<< </ref>(<sp/>std::ostream<sp/>&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/>&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>&<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/>&ldA<sp/>)<sp/><sp/>{this-></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>&<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/>&ldA<sp/>)<sp/><sp/>{this-></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> |
---|