Changeset 172 for doc/latex/classKFcondQR.tex
- Timestamp:
- 09/24/08 13:31:03 (16 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
doc/latex/classKFcondQR.tex
r145 r172 1 \hypertarget{classKFcondQR}{ 1 2 \section{KFcondQR Class Reference} 2 3 \label{classKFcondQR}\index{KFcondQR@{KFcondQR}} 3 \doxyref{Kalman}{p.}{classKalman} Filter with conditional diagonal matrices R and Q. 4 } 5 \hyperlink{classKalman}{Kalman} Filter with conditional diagonal matrices R and Q. 4 6 5 7 … … 23 25 \begin{CompactItemize} 24 26 \item 25 {\bf KFcondQR} ({\bf RV} rvx, {\bf RV} {\bf rvy}, {\bf RV} {\bf rvu}, {\bf RV} rvRQ)\label{classKFcondQR_3f3968f92c7bbe4b0902d5e14ecc1cb4} 27 \hypertarget{classKFcondQR_3f3968f92c7bbe4b0902d5e14ecc1cb4}{ 28 \hyperlink{classKFcondQR_3f3968f92c7bbe4b0902d5e14ecc1cb4}{KFcondQR} (\hyperlink{classRV}{RV} rvx, \hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}, \hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu}, \hyperlink{classRV}{RV} rvRQ)} 29 \label{classKFcondQR_3f3968f92c7bbe4b0902d5e14ecc1cb4} 26 30 27 31 \begin{CompactList}\small\item\em Default constructor. \item\end{CompactList}\item 28 void {\bf condition} (const vec \&RQ)\label{classKFcondQR_c9ecf292a85327aa6309c9fd70ceb606} 32 \hypertarget{classKFcondQR_c9ecf292a85327aa6309c9fd70ceb606}{ 33 void \hyperlink{classKFcondQR_c9ecf292a85327aa6309c9fd70ceb606}{condition} (const vec \&RQ)} 34 \label{classKFcondQR_c9ecf292a85327aa6309c9fd70ceb606} 29 35 30 36 \begin{CompactList}\small\item\em Substitute {\tt val} for {\tt rvc}. \item\end{CompactList}\item 31 void {\bf set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const {\bf ldmat} \&R0, const {\bf ldmat} \&Q0)\label{classKalman_239b28a0380946f5749b2f8d2807f93a} 37 \hypertarget{classKalman_239b28a0380946f5749b2f8d2807f93a}{ 38 void \hyperlink{classKalman_239b28a0380946f5749b2f8d2807f93a}{set\_\-parameters} (const mat \&A0, const mat \&B0, const mat \&C0, const mat \&D0, const \hyperlink{classldmat}{ldmat} \&R0, const \hyperlink{classldmat}{ldmat} \&Q0)} 39 \label{classKalman_239b28a0380946f5749b2f8d2807f93a} 32 40 33 41 \begin{CompactList}\small\item\em Set parameters with check of relevance. \item\end{CompactList}\item 34 void {\bf set\_\-est} (const vec \&mu0, const {\bf ldmat} \&P0)\label{classKalman_80bcf29466d9a9dd2b8f74699807d0c0} 42 \hypertarget{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{ 43 void \hyperlink{classKalman_80bcf29466d9a9dd2b8f74699807d0c0}{set\_\-est} (const vec \&mu0, const \hyperlink{classldmat}{ldmat} \&P0)} 44 \label{classKalman_80bcf29466d9a9dd2b8f74699807d0c0} 35 45 36 46 \begin{CompactList}\small\item\em Set estimate values, used e.g. in initialization. \item\end{CompactList}\item 37 void {\bf bayes} (const vec \&dt)\label{classKalman_7750ffd73f261828a32c18aaeb65c75c} 38 39 \begin{CompactList}\small\item\em Here dt = [yt;ut] of appropriate dimensions. \item\end{CompactList}\item 40 void {\bf bayes} (mat Dt)\label{classBM_87b07867fd4c133aa89a18543f68d9f9} 47 \hypertarget{classKalman_7750ffd73f261828a32c18aaeb65c75c}{ 48 void \hyperlink{classKalman_7750ffd73f261828a32c18aaeb65c75c}{bayes} (const vec \&dt)} 49 \label{classKalman_7750ffd73f261828a32c18aaeb65c75c} 50 51 \begin{CompactList}\small\item\em Here dt = \mbox{[}yt;ut\mbox{]} of appropriate dimensions. \item\end{CompactList}\item 52 \hypertarget{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{ 53 const \hyperlink{classepdf}{epdf} \& \hyperlink{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe}{\_\-epdf} () const } 54 \label{classKalman_67cccaf1c4dcdcd1df110e15ef326bfe} 55 56 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 57 \hypertarget{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{ 58 mat \& \hyperlink{classKalman_980fcd41c6c548c5da7b8b67c8e6da79}{\_\-\_\-K} ()} 59 \label{classKalman_980fcd41c6c548c5da7b8b67c8e6da79} 60 61 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 62 \hypertarget{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{ 63 vec \hyperlink{classKalman_ac9540f3850b74d89a5fe4db6fc358ce}{\_\-dP} ()} 64 \label{classKalman_ac9540f3850b74d89a5fe4db6fc358ce} 65 66 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 67 \hypertarget{classBM_0186270f75189677f390fe088a9947e9}{ 68 virtual void \hyperlink{classBM_0186270f75189677f390fe088a9947e9}{bayesB} (const mat \&Dt)} 69 \label{classBM_0186270f75189677f390fe088a9947e9} 41 70 42 71 \begin{CompactList}\small\item\em Batch Bayes rule (columns of Dt are observations). \item\end{CompactList}\item 43 {\bf epdf} \& {\bf \_\-epdf} ()\label{classKalman_a213c57aef55b2645e550bed81cfc0d4} 44 45 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 46 mat \& {\bf \_\-\_\-K} ()\label{classKalman_980fcd41c6c548c5da7b8b67c8e6da79} 47 48 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 49 vec {\bf \_\-dP} ()\label{classKalman_ac9540f3850b74d89a5fe4db6fc358ce} 50 51 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 52 const {\bf RV} \& {\bf \_\-rv} () const \label{classBM_126bd2595c48e311fc2a7ab72876092a} 53 54 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 55 double {\bf \_\-ll} () const \label{classBM_87f4a547d2c29180be88175e5eab9c88} 56 57 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 58 const {\bf RV} \& {\bf \_\-rvc} () const \label{classBMcond_3fa60348b2da6b4208bb95b8d146900a} 72 virtual double \hyperlink{classBM_8a8ce6df431689964c41cc6c849cfd06}{logpred} (const vec \&dt) const 73 \item 74 \hypertarget{classBM_126bd2595c48e311fc2a7ab72876092a}{ 75 const \hyperlink{classRV}{RV} \& \hyperlink{classBM_126bd2595c48e311fc2a7ab72876092a}{\_\-rv} () const } 76 \label{classBM_126bd2595c48e311fc2a7ab72876092a} 77 78 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 79 \hypertarget{classBM_87f4a547d2c29180be88175e5eab9c88}{ 80 double \hyperlink{classBM_87f4a547d2c29180be88175e5eab9c88}{\_\-ll} () const } 81 \label{classBM_87f4a547d2c29180be88175e5eab9c88} 82 83 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 84 \hypertarget{classBM_1ffa9f23669aabecc3760c06c6987522}{ 85 void \hyperlink{classBM_1ffa9f23669aabecc3760c06c6987522}{set\_\-evalll} (bool evl0)} 86 \label{classBM_1ffa9f23669aabecc3760c06c6987522} 87 88 \begin{CompactList}\small\item\em access function \item\end{CompactList}\item 89 virtual \hyperlink{classBM}{BM} $\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-} (bool changerv=false) 90 \item 91 \hypertarget{classBMcond_3fa60348b2da6b4208bb95b8d146900a}{ 92 const \hyperlink{classRV}{RV} \& \hyperlink{classBMcond_3fa60348b2da6b4208bb95b8d146900a}{\_\-rvc} () const } 93 \label{classBMcond_3fa60348b2da6b4208bb95b8d146900a} 59 94 60 95 \begin{CompactList}\small\item\em access function \item\end{CompactList}\end{CompactItemize} … … 62 97 \begin{CompactItemize} 63 98 \item 64 {\bf RV} {\bf rvy}\label{classKalman_7501230c2fafa3655887d2da23b3184c} 99 \hypertarget{classKalman_7501230c2fafa3655887d2da23b3184c}{ 100 \hyperlink{classRV}{RV} \hyperlink{classKalman_7501230c2fafa3655887d2da23b3184c}{rvy}} 101 \label{classKalman_7501230c2fafa3655887d2da23b3184c} 65 102 66 103 \begin{CompactList}\small\item\em Indetifier of output rv. \item\end{CompactList}\item 67 {\bf RV} {\bf rvu}\label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498} 104 \hypertarget{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{ 105 \hyperlink{classRV}{RV} \hyperlink{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498}{rvu}} 106 \label{classKalman_44a16ffd5ac1e6e39bae34fea9e1e498} 68 107 69 108 \begin{CompactList}\small\item\em Indetifier of exogeneous rv. \item\end{CompactList}\item 70 int {\bf dimx}\label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb} 109 \hypertarget{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{ 110 int \hyperlink{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb}{dimx}} 111 \label{classKalman_39c8c403b46fa3b8c7da77cb2e3729eb} 71 112 72 113 \begin{CompactList}\small\item\em cache of rv.count() \item\end{CompactList}\item 73 int {\bf dimy}\label{classKalman_ba17b956df1e38b31fbbc299c8213b6a} 114 \hypertarget{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{ 115 int \hyperlink{classKalman_ba17b956df1e38b31fbbc299c8213b6a}{dimy}} 116 \label{classKalman_ba17b956df1e38b31fbbc299c8213b6a} 74 117 75 118 \begin{CompactList}\small\item\em cache of rvy.count() \item\end{CompactList}\item 76 int {\bf dimu}\label{classKalman_b0153795a1444b6968a86409c778d9ce} 119 \hypertarget{classKalman_b0153795a1444b6968a86409c778d9ce}{ 120 int \hyperlink{classKalman_b0153795a1444b6968a86409c778d9ce}{dimu}} 121 \label{classKalman_b0153795a1444b6968a86409c778d9ce} 77 122 78 123 \begin{CompactList}\small\item\em cache of rvu.count() \item\end{CompactList}\item 79 mat {\bf A}\label{classKalman_5e02efe86ee91e9c74b93b425fe060b9} 124 \hypertarget{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{ 125 mat \hyperlink{classKalman_5e02efe86ee91e9c74b93b425fe060b9}{A}} 126 \label{classKalman_5e02efe86ee91e9c74b93b425fe060b9} 80 127 81 128 \begin{CompactList}\small\item\em Matrix A. \item\end{CompactList}\item 82 mat {\bf B}\label{classKalman_dc87704284a6c0bca13bf51f4345a50a} 129 \hypertarget{classKalman_dc87704284a6c0bca13bf51f4345a50a}{ 130 mat \hyperlink{classKalman_dc87704284a6c0bca13bf51f4345a50a}{B}} 131 \label{classKalman_dc87704284a6c0bca13bf51f4345a50a} 83 132 84 133 \begin{CompactList}\small\item\em Matrix B. \item\end{CompactList}\item 85 mat {\bf C}\label{classKalman_86a805cd6515872d1132ad0d6eb5dc13} 134 \hypertarget{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{ 135 mat \hyperlink{classKalman_86a805cd6515872d1132ad0d6eb5dc13}{C}} 136 \label{classKalman_86a805cd6515872d1132ad0d6eb5dc13} 86 137 87 138 \begin{CompactList}\small\item\em Matrix C. \item\end{CompactList}\item 88 mat {\bf D}\label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1} 139 \hypertarget{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{ 140 mat \hyperlink{classKalman_d69f774ba3335c970c1c5b1d182f4dd1}{D}} 141 \label{classKalman_d69f774ba3335c970c1c5b1d182f4dd1} 89 142 90 143 \begin{CompactList}\small\item\em Matrix D. \item\end{CompactList}\item 91 {\bf ldmat} {\bf Q}\label{classKalman_9b69015c800eb93f3ee49da23a6f55d9} 144 \hypertarget{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{ 145 \hyperlink{classldmat}{ldmat} \hyperlink{classKalman_9b69015c800eb93f3ee49da23a6f55d9}{Q}} 146 \label{classKalman_9b69015c800eb93f3ee49da23a6f55d9} 92 147 93 148 \begin{CompactList}\small\item\em Matrix Q in square-root form. \item\end{CompactList}\item 94 {\bf ldmat} {\bf R}\label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec} 149 \hypertarget{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{ 150 \hyperlink{classldmat}{ldmat} \hyperlink{classKalman_11d171dc0e0ab111c56a70f98b97b3ec}{R}} 151 \label{classKalman_11d171dc0e0ab111c56a70f98b97b3ec} 95 152 96 153 \begin{CompactList}\small\item\em Matrix R in square-root form. \item\end{CompactList}\item 97 {\bf enorm}$<$ {\bf ldmat} $>$ {\bf est}\label{classKalman_5568c74bac67ae6d3b1061dba60c9424} 154 \hypertarget{classKalman_5568c74bac67ae6d3b1061dba60c9424}{ 155 \hyperlink{classenorm}{enorm}$<$ \hyperlink{classldmat}{ldmat} $>$ \hyperlink{classKalman_5568c74bac67ae6d3b1061dba60c9424}{est}} 156 \label{classKalman_5568c74bac67ae6d3b1061dba60c9424} 98 157 99 158 \begin{CompactList}\small\item\em posterior density on \$x\_\-t\$ \item\end{CompactList}\item 100 {\bf enorm}$<$ {\bf ldmat} $>$ {\bf fy}\label{classKalman_e580ab06483952bd03f2e651763e184f} 159 \hypertarget{classKalman_e580ab06483952bd03f2e651763e184f}{ 160 \hyperlink{classenorm}{enorm}$<$ \hyperlink{classldmat}{ldmat} $>$ \hyperlink{classKalman_e580ab06483952bd03f2e651763e184f}{fy}} 161 \label{classKalman_e580ab06483952bd03f2e651763e184f} 101 162 102 163 \begin{CompactList}\small\item\em preditive density on \$y\_\-t\$ \item\end{CompactList}\item 103 mat {\bf \_\-K}\label{classKalman_d422f51467c7a06174af2476d2826132} 104 105 \begin{CompactList}\small\item\em placeholder for \doxyref{Kalman}{p.}{classKalman} gain \item\end{CompactList}\item 106 vec \& {\bf \_\-yp}\label{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd} 164 \hypertarget{classKalman_d422f51467c7a06174af2476d2826132}{ 165 mat \hyperlink{classKalman_d422f51467c7a06174af2476d2826132}{\_\-K}} 166 \label{classKalman_d422f51467c7a06174af2476d2826132} 167 168 \begin{CompactList}\small\item\em placeholder for \hyperlink{classKalman}{Kalman} gain \item\end{CompactList}\item 169 \hypertarget{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{ 170 vec \& \hyperlink{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd}{\_\-yp}} 171 \label{classKalman_764bbc95238eda11fc81c5ebd0b1dcfd} 107 172 108 173 \begin{CompactList}\small\item\em cache of fy.mu \item\end{CompactList}\item 109 {\bf ldmat} \& {\bf \_\-Ry}\label{classKalman_45c9f928d2d62e0c884900fb3380f904} 174 \hypertarget{classKalman_45c9f928d2d62e0c884900fb3380f904}{ 175 \hyperlink{classldmat}{ldmat} \& \hyperlink{classKalman_45c9f928d2d62e0c884900fb3380f904}{\_\-Ry}} 176 \label{classKalman_45c9f928d2d62e0c884900fb3380f904} 110 177 111 178 \begin{CompactList}\small\item\em cache of fy.R \item\end{CompactList}\item 112 vec \& {\bf \_\-mu}\label{classKalman_fe803a81d2d847b0b1db3c6b29c18061} 179 \hypertarget{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{ 180 vec \& \hyperlink{classKalman_fe803a81d2d847b0b1db3c6b29c18061}{\_\-mu}} 181 \label{classKalman_fe803a81d2d847b0b1db3c6b29c18061} 113 182 114 183 \begin{CompactList}\small\item\em cache of est.mu \item\end{CompactList}\item 115 {\bf ldmat} \& {\bf \_\-P}\label{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf} 184 \hypertarget{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{ 185 \hyperlink{classldmat}{ldmat} \& \hyperlink{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf}{\_\-P}} 186 \label{classKalman_9fb808cc94a4c2652e1fb93be9bb7dcf} 116 187 117 188 \begin{CompactList}\small\item\em cache of est.R \item\end{CompactList}\item 118 {\bf RV} {\bf rv}\label{classBM_af00f0612fabe66241dd507188cdbf88} 189 \hypertarget{classBM_af00f0612fabe66241dd507188cdbf88}{ 190 \hyperlink{classRV}{RV} \hyperlink{classBM_af00f0612fabe66241dd507188cdbf88}{rv}} 191 \label{classBM_af00f0612fabe66241dd507188cdbf88} 119 192 120 193 \begin{CompactList}\small\item\em Random variable of the posterior. \item\end{CompactList}\item 121 double {\bf ll}\label{classBM_5623fef6572a08c2b53b8c87b82dc979} 194 \hypertarget{classBM_5623fef6572a08c2b53b8c87b82dc979}{ 195 double \hyperlink{classBM_5623fef6572a08c2b53b8c87b82dc979}{ll}} 196 \label{classBM_5623fef6572a08c2b53b8c87b82dc979} 122 197 123 198 \begin{CompactList}\small\item\em Logarithm of marginalized data likelihood. \item\end{CompactList}\item 124 bool {\bf evalll}\label{classBM_bf6fb59b30141074f8ee1e2f43d03129} 125 126 \begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save time. \item\end{CompactList}\item 127 {\bf RV} {\bf rvc}\label{classBMcond_9ba793c8ec453f04d372d17195ed8dec} 199 \hypertarget{classBM_bf6fb59b30141074f8ee1e2f43d03129}{ 200 bool \hyperlink{classBM_bf6fb59b30141074f8ee1e2f43d03129}{evalll}} 201 \label{classBM_bf6fb59b30141074f8ee1e2f43d03129} 202 203 \begin{CompactList}\small\item\em If true, the filter will compute likelihood of the data record and store it in {\tt ll} . Set to false if you want to save computational time. \item\end{CompactList}\item 204 \hypertarget{classBMcond_9ba793c8ec453f04d372d17195ed8dec}{ 205 \hyperlink{classRV}{RV} \hyperlink{classBMcond_9ba793c8ec453f04d372d17195ed8dec}{rvc}} 206 \label{classBMcond_9ba793c8ec453f04d372d17195ed8dec} 128 207 129 208 \begin{CompactList}\small\item\em Identificator of the conditioning variable. \item\end{CompactList}\end{CompactItemize} … … 131 210 132 211 \subsection{Detailed Description} 133 \doxyref{Kalman}{p.}{classKalman} Filter with conditional diagonal matrices R and Q. 212 \hyperlink{classKalman}{Kalman} Filter with conditional diagonal matrices R and Q. 213 214 \subsection{Member Function Documentation} 215 \hypertarget{classBM_8a8ce6df431689964c41cc6c849cfd06}{ 216 \index{KFcondQR@{KFcondQR}!logpred@{logpred}} 217 \index{logpred@{logpred}!KFcondQR@{KFcondQR}} 218 \subsubsection[logpred]{\setlength{\rightskip}{0pt plus 5cm}virtual double BM::logpred (const vec \& {\em dt}) const\hspace{0.3cm}{\tt \mbox{[}inline, virtual, inherited\mbox{]}}}} 219 \label{classBM_8a8ce6df431689964c41cc6c849cfd06} 220 221 222 Evaluates predictive log-likelihood of the given data record I.e. marginal likelihood of the data with the posterior integrated out. 223 224 Reimplemented in \hyperlink{classARX_e7f9e7823aec9bf7ddc3b42d9b3304c4}{ARX}, \hyperlink{classMixEF_424ca64f36d4e41de7a7e7ae921d35ea}{MixEF}, and \hyperlink{classmultiBM_13e26a61757278981fd8cac9a7ef91eb}{multiBM}.\hypertarget{classBM_eb58c81d6a7b75b05fc6f276eed78887}{ 225 \index{KFcondQR@{KFcondQR}!\_\-copy\_\-@{\_\-copy\_\-}} 226 \index{\_\-copy\_\-@{\_\-copy\_\-}!KFcondQR@{KFcondQR}} 227 \subsubsection[\_\-copy\_\-]{\setlength{\rightskip}{0pt plus 5cm}virtual {\bf BM}$\ast$ BM::\_\-copy\_\- (bool {\em changerv} = {\tt false})\hspace{0.3cm}{\tt \mbox{[}inline, virtual, inherited\mbox{]}}}} 228 \label{classBM_eb58c81d6a7b75b05fc6f276eed78887} 229 230 231 Copy function required in vectors, Arrays of \hyperlink{classBM}{BM} etc. Have to be DELETED manually! Prototype: BM$\ast$ \hyperlink{classBM_eb58c81d6a7b75b05fc6f276eed78887}{\_\-copy\_\-()}\{\hyperlink{classBM}{BM} Tmp$\ast$=new Tmp(this$\ast$); return Tmp; \} 232 233 Reimplemented in \hyperlink{classARX_d2751057811c6fb8f4ff86e1648bcddc}{ARX}. 234 235 Referenced by MixEF::MixEF(). 134 236 135 237 The documentation for this class was generated from the following files:\begin{CompactItemize} 136 238 \item 137 work/git/mixpp/bdm/estim/ {\bflibKF.h}\item239 work/git/mixpp/bdm/estim/\hyperlink{libKF_8h}{libKF.h}\item 138 240 work/git/mixpp/bdm/estim/libKF.cpp\end{CompactItemize}