[187] | 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> |
---|