<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
  <compounddef id="chmat_8h" kind="file">
    <compoundname>chmat.h</compoundname>
    <includes local="no">itpp/itbase.h</includes>
    <includes refid="libDC_8h" local="yes">libDC.h</includes>
    <includes refid="itpp__ext_8h" local="yes">../itpp_ext.h</includes>
    <includedby refid="libKF_8h" local="yes">work/git/mixpp/bdm/estim/libKF.h</includedby>
    <includedby refid="chmat_8cpp" local="yes">work/git/mixpp/bdm/math/chmat.cpp</includedby>
    <includedby refid="sim__var_8cpp" local="no">work/git/mixpp/pmsm/sim_var.cpp</includedby>
    <includedby refid="chmat__test_8cpp" local="no">work/git/mixpp/tests/chmat_test.cpp</includedby>
    <includedby refid="rv__test_8cpp" local="yes">work/git/mixpp/tests/rv_test.cpp</includedby>
    <includedby refid="test0_8cpp" local="yes">work/git/mixpp/tests/test0.cpp</includedby>
    <incdepgraph>
      <node id="292">
        <label>../itpp_ext.h</label>
        <link refid="itpp__ext_8h-source"/>
        <childnode refid="290" relation="include">
        </childnode>
      </node>
      <node id="290">
        <label>itpp/itbase.h</label>
      </node>
      <node id="289">
        <label>work/git/mixpp/bdm/math/chmat.h</label>
        <link refid="chmat.h"/>
        <childnode refid="290" relation="include">
        </childnode>
        <childnode refid="291" relation="include">
        </childnode>
        <childnode refid="292" relation="include">
        </childnode>
      </node>
      <node id="291">
        <label>libDC.h</label>
        <link refid="libDC_8h"/>
        <childnode refid="290" relation="include">
        </childnode>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="295">
        <label>work/git/mixpp/bdm/estim/ekf_templ.h</label>
        <link refid="ekf__templ_8h"/>
        <childnode refid="296" relation="include">
        </childnode>
      </node>
      <node id="297">
        <label>work/git/mixpp/pmsm/sim_var.cpp</label>
        <link refid="sim__var_8cpp"/>
      </node>
      <node id="293">
        <label>work/git/mixpp/bdm/math/chmat.h</label>
        <link refid="chmat.h"/>
        <childnode refid="294" relation="include">
        </childnode>
        <childnode refid="297" relation="include">
        </childnode>
      </node>
      <node id="294">
        <label>work/git/mixpp/bdm/estim/libKF.h</label>
        <link refid="libKF_8h"/>
        <childnode refid="295" relation="include">
        </childnode>
        <childnode refid="297" relation="include">
        </childnode>
        <childnode refid="298" relation="include">
        </childnode>
      </node>
      <node id="298">
        <label>work/git/mixpp/pmsm/simulator_zdenek/ekf_example/ekf_obj.h</label>
        <link refid="ekf__obj_8h"/>
      </node>
      <node id="296">
        <label>work/git/mixpp/pmsm/pmsm_mix.cpp</label>
        <link refid="pmsm__mix_8cpp"/>
      </node>
    </invincdepgraph>
    <innerclass refid="classchmat" prot="public">chmat</innerclass>
    <briefdescription>
<para>Matrices in decomposed forms (LDL&apos;, LU, UDU&apos;, etc). </para>    </briefdescription>
    <detaileddescription>
<para><simplesect kind="author"><para>Vaclav Smidl.</para></simplesect>
----------------------------------- BDM++ - C++ library for Bayesian Decision Making under Uncertainty</para><para>Using IT++ for numerical operations ----------------------------------- </para>    </detaileddescription>
    <programlisting>
<codeline lineno="1"></codeline>
<codeline lineno="13"><highlight class="preprocessor">#ifndef<sp/>CHMAT_H</highlight></codeline>
<codeline lineno="14"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>CHMAT_H</highlight></codeline>
<codeline lineno="15"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;itpp/itbase.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="libDC_8h" kindref="compound" tooltip="Matrices in decomposed forms (LDL&amp;#39;, LU, UDU&amp;#39;, etc).">libDC.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;../itpp_ext.h&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="20"><highlight class="normal"></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">itpp;</highlight></codeline>
<codeline lineno="21"><highlight class="normal"></highlight></codeline>
<codeline lineno="27" refid="classchmat" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>:<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><sp/>{</highlight></codeline>
<codeline lineno="28"><highlight class="normal"></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="30" refid="classchmat_195158bb150f5e7f939168abcd577fd9c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/><ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>;</highlight></codeline>
<codeline lineno="31"><highlight class="normal"></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="32"><highlight class="normal"></highlight></codeline>
<codeline lineno="33"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_1bbc2d98d7455b1f38828907d442836bf" kindref="member">opupdt</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w<sp/>);</highlight></codeline>
<codeline lineno="34"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/><ref refid="classchmat_1a37e2c726e4fc3ad50b26ac2ca6c1452" kindref="member" tooltip="Conversion to full matrix.">to_mat</ref>();</highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_166f509f92b0ccf020e2a2a32566e0777" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C<sp/>);</highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_166f509f92b0ccf020e2a2a32566e0777" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE matrix , i.e. .">mult_sym</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C<sp/>,<sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;U<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="37"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_107f50d1332b901eee962e8b1913102f7" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C<sp/>);</highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_107f50d1332b901eee962e8b1913102f7" kindref="member" tooltip="Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .">mult_sym_t</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;C,<sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;U<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="39"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classchmat_1b504ca818203b13e667cb3c503980382" kindref="member" tooltip="Logarithm of a determinant.">logdet</ref>()<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classchmat_1b22aa239dbaca33e3fb93b4f674d7051" kindref="member" tooltip="Multiplies square root of  by vector .">sqrt_mult</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="41"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classchmat_16807737c7ffdb7041256b51db7592248" kindref="member" tooltip="Evaluates quadratic form ;.">qform</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/><ref refid="classchmat_1b49427cff186c62f5df3724e5d2c34b4" kindref="member" tooltip="Evaluates quadratic form ;.">invqform</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v<sp/>)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_1d0a995d312ecc11d3b43693f5e224ba9" kindref="member" tooltip="Clearing matrix so that it corresponds to zeros.">clear</ref>();</highlight></codeline>
<codeline lineno="45" refid="classchmat_1f3921e3e5e31337cdbda40a3a5467257" refkind="member"><highlight class="normal"><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="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;A2,<sp/></highlight><highlight class="keywordtype">double</highlight><highlight class="normal"><sp/>w=1.0<sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="47" refid="classchmat_15ce4e21a9012a4e98c1f0ed1ca5669bd" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_15ce4e21a9012a4e98c1f0ed1ca5669bd" kindref="member" tooltip="Inversion in the same form, i.e. cholesky.">inv</ref><sp/>(<sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;Inv<sp/>)</highlight><highlight class="keyword"><sp/>const<sp/><sp/><sp/></highlight><highlight class="normal">{<sp/>(<sp/>Inv.<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>)<sp/>=<sp/>itpp::inv<sp/>(<sp/><ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>).T();};<sp/></highlight><highlight class="comment">//Fixme:<sp/>can<sp/>be<sp/>more<sp/>efficient</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>;</highlight></codeline>
<codeline lineno="49"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/>void<sp/>inv<sp/>(<sp/>mat<sp/>&amp;Inv<sp/>);</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight></codeline>
<codeline lineno="52" refid="classchmat_1ba62fbf7cb8e065a4f3d24457824e89b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/><ref refid="classchmat_1ba62fbf7cb8e065a4f3d24457824e89b" kindref="member" tooltip="Destructor for future use;.">~chmat</ref>()<sp/>{};</highlight></codeline>
<codeline lineno="54" refid="classchmat_1fdd73b0c596161637fd25bdf2c670c39" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat_1fdd73b0c596161637fd25bdf2c670c39" kindref="member" tooltip="Default constructor.">chmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>dim0<sp/>)<sp/>:<sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref><sp/>(<sp/>dim0<sp/>),<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>(<sp/>dim0,dim0<sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="56" refid="classchmat_1d4f0a94e81279295e60e72812130f9d4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat_1fdd73b0c596161637fd25bdf2c670c39" kindref="member" tooltip="Default constructor.">chmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;v)<sp/>:<sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref><sp/>(<sp/>v.length()<sp/>),<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>(<sp/>diag(sqrt(v))<sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="58" refid="classchmat_1d92f3bd9a727b8c88a8c7385feb3449a" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat_1fdd73b0c596161637fd25bdf2c670c39" kindref="member" tooltip="Default constructor.">chmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;Ch0)<sp/>:<sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref><sp/>(<sp/>Ch0.<ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>),<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>(<sp/>Ch0.<ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref>,Ch0.<ref refid="classsqmat_10abed904bdc0882373ba9adba919689d" kindref="member" tooltip="dimension of the square matrix">dim</ref><sp/>)<sp/>{<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>=Ch0.<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>;};</highlight></codeline>
<codeline lineno="60" refid="classchmat_18334a00f30f0a05f893c2aeec395ef10" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat_1fdd73b0c596161637fd25bdf2c670c39" kindref="member" tooltip="Default constructor.">chmat</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;M<sp/>)<sp/>:<sp/><ref refid="classsqmat" kindref="compound" tooltip="Virtual class for representation of double symmetric matrices in square-root form...">sqmat</ref><sp/>(<sp/>M.<ref refid="classsqmat_1071e80ced9cc3b8cbb360fa7462eb646" kindref="member" tooltip="Reimplementing common functions of mat: cols().">rows</ref>()<sp/>),<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref><sp/>(<sp/>M.<ref refid="classsqmat_1071e80ced9cc3b8cbb360fa7462eb646" kindref="member" tooltip="Reimplementing common functions of mat: cols().">rows</ref>(),M.<ref refid="classsqmat_1ecc2e2540f95a04f4449842588170f5b" kindref="member" tooltip="Reimplementing common functions of mat: cols().">cols</ref>()<sp/>)<sp/>{</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>Q;</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_assert_debug<sp/>(<sp/>M.rows()<sp/>==M.cols(),</highlight><highlight class="stringliteral">&quot;chmat::<sp/>input<sp/>matrix<sp/>must<sp/>be<sp/>square!&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>=chol<sp/>(<sp/>M<sp/>);</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="66" refid="classchmat_19c50d31c999d85d8e9d8cf2b69b6ac8c" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>&amp;<sp/><ref refid="classchmat_19c50d31c999d85d8e9d8cf2b69b6ac8c" kindref="member" tooltip="Access function.">_Ch</ref>()<sp/>{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>;}</highlight></codeline>
<codeline lineno="68" refid="classchmat_1a4fc7f9b0539b97c414442a22f3db6e8" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_1a4fc7f9b0539b97c414442a22f3db6e8" kindref="member" tooltip="Access functions.">setD</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD<sp/>)<sp/>{<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>=diag<sp/>(<sp/>sqrt(nD)<sp/>);}</highlight></codeline>
<codeline lineno="70" refid="classchmat_14b9271097d8317d9514c5d0d62cccb39" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classchmat_1a4fc7f9b0539b97c414442a22f3db6e8" kindref="member" tooltip="Access functions.">setD</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;nD,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>)<sp/>{</highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>j=i;j&lt;nD.length();j++<sp/>)<sp/>{<ref refid="classchmat_195158bb150f5e7f939168abcd577fd9c" kindref="member" tooltip="Upper triangle of the cholesky matrix.">Ch</ref>(<sp/>j,j<sp/>)<sp/>=sqrt(nD<sp/>(<sp/>j-i<sp/>));}}<sp/></highlight><highlight class="comment">//Fixme<sp/>can<sp/>be<sp/>more<sp/>general</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="71"><highlight class="normal"></highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref>&amp;<sp/><ref refid="classchmat_16a8b39fe3a28d2c8e3fc0d74141229fb" kindref="member" tooltip="Operators.">operator += </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;A2<sp/>);</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref>&amp;<sp/><ref refid="classchmat_1a8c3628a8c15eb0009e57c66fcac1a76" kindref="member" tooltip="mapping of negative add operation to operators">operator -= </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;A2<sp/>)<sp/>;</highlight></codeline>
<codeline lineno="75"><highlight class="normal">};</highlight></codeline>
<codeline lineno="76"><highlight class="normal"></highlight></codeline>
<codeline lineno="77"><highlight class="normal"></highlight></codeline>
<codeline lineno="80" refid="classchmat_16a8b39fe3a28d2c8e3fc0d74141229fb" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref>&amp;<sp/><ref refid="classchmat_16a8b39fe3a28d2c8e3fc0d74141229fb" kindref="member" tooltip="Operators.">chmat::operator += </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;A2<sp/>)<sp/><sp/>{this-&gt;</highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/>A2<sp/>);</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="82" refid="classchmat_1a8c3628a8c15eb0009e57c66fcac1a76" refkind="member"><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref>&amp;<sp/><ref refid="classchmat_1a8c3628a8c15eb0009e57c66fcac1a76" kindref="member" tooltip="mapping of negative add operation to operators">chmat::operator -= </ref>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classchmat" kindref="compound" tooltip="Symmetric matrix stored in square root decomposition using upper cholesky.">chmat</ref><sp/>&amp;A2<sp/>)<sp/><sp/>{this-&gt;</highlight><highlight class="keyword">add</highlight><highlight class="normal"><sp/>(<sp/>A2,-1.0<sp/>);</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*</highlight><highlight class="keyword">this</highlight><highlight class="normal">;}</highlight></codeline>
<codeline lineno="83"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>CHMAT_H</highlight></codeline>
    </programlisting>
    <location file="/home/smidl/work/git/mixpp/bdm/math/chmat.h"/>
  </compounddef>
</doxygen>
