📄 matsup_8hpp-source.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>Bayes++ Bayesian Filtering Classes: matSup.hpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.2 --><div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical List</a> | <a class="qindex" href="annotated.html">Compound List</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="namespacemembers.html">Namespace Members</a> | <a class="qindex" href="functions.html">Compound Members</a> | <a class="qindex" href="globals.html">File Members</a></div><h1>matSup.hpp</h1><a href="matSup_8hpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef _BAYES_FILTER_MATRIX_SUPPORT</span>00002 <span class="preprocessor"></span><span class="preprocessor">#define _BAYES_FILTER_MATRIX_SUPPORT</span>00003 <span class="preprocessor"></span>00004 <span class="comment">/*</span>00005 <span class="comment"> * Bayes++ the Bayesian Filtering Library</span>00006 <span class="comment"> * Copyright (c) 2002 Michael Stevens</span>00007 <span class="comment"> * See accompanying Bayes++.htm for terms and conditions of use.</span>00008 <span class="comment"> *</span>00009 <span class="comment"> * $Header: /cvsroot/bayesclasses/Bayes++/BayesFilter/matSup.hpp,v 1.7.2.1 2004/02/11 21:06:42 mistevens Exp $</span>00010 <span class="comment"> * $NoKeywords: $</span>00011 <span class="comment"> */</span>00012 00013 <span class="comment">/*</span>00014 <span class="comment"> * Matrix support functions for filter classes</span>00015 <span class="comment"> * Members of the Bayesian_filter_matrix namespace are used in the</span>00016 <span class="comment"> * interface of Bayesian_filter and for internal operations.</span>00017 <span class="comment"> * Be aware! These functions and their implemenation are more likely to change</span>00018 <span class="comment"> * then those in Bayesian_filter.</span>00019 <span class="comment"> */</span>00020 00021 <span class="comment">/* Filter Matrix Namespace */</span>00022 <span class="keyword">namespace </span>Bayesian_filter_matrix00023 {00024 00025 00026 <span class="comment">/*</span>00027 <span class="comment"> * Assertion support</span>00028 <span class="comment"> */</span>00029 <span class="preprocessor">#ifndef NDEBUG</span>00030 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a18">assert_isPSD</a> (<span class="keyword">const</span> SymMatrix &M);00031 <span class="preprocessor">#else</span>00032 <span class="preprocessor"></span><span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a18">assert_isPSD</a> (<span class="keyword">const</span> SymMatrix &M) {}00033 <span class="preprocessor">#endif</span>00034 <span class="preprocessor"></span>00035 <span class="comment">/*</span>00036 <span class="comment"> * Local support functions</span>00037 <span class="comment"> */</span>00038 <span class="keywordtype">bool</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a19">isPSD</a> (<span class="keyword">const</span> SymMatrix &M);00039 <span class="keywordtype">bool</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a20">isSymmetric</a> (<span class="keyword">const</span> Matrix &M);00040 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a21">forceSymmetric</a> (Matrix &M, <span class="keywordtype">bool</span> bUpperToLower = <span class="keyword">false</span>);00041 00042 <span class="comment">/*</span>00043 <span class="comment"> * UdU' and LdL' and UU' Cholesky Factorisation and function</span>00044 <span class="comment"> * Very important to manipulate PD and PSD matrices</span>00045 <span class="comment"> *</span>00046 <span class="comment"> * Return values:</span>00047 <span class="comment"> * Many algorithms return a value_type which is a reciprocal condition number</span>00048 <span class="comment"> * These values are documented for each algorithm and are important way to</span>00049 <span class="comment"> * determine the validity of the results</span>00050 <span class="comment"> */</span>00051 Vec::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a22">UdUrcond</a> (<span class="keyword">const</span> Vec& d);00052 RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a22">UdUrcond</a> (<span class="keyword">const</span> RowMatrix& UD);00053 RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a22">UdUrcond</a> (<span class="keyword">const</span> RowMatrix& UD, size_t n);00054 UTriMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a25">UCrcond</a> (<span class="keyword">const</span> UTriMatrix& UC);00055 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a26">UdUdet</a> (<span class="keyword">const</span> SymMatrix& UD);00056 00057 <span class="comment">// In-place factorisations</span>00058 RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a27">UdUfactor_variant1</a> (RowMatrix& M, size_t n);00059 RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a28">UdUfactor_variant2</a> (RowMatrix& M, size_t n);<a name="l00060"></a><a class="code" href="namespaceBayesian__filter__matrix.html#a29">00060</a> <span class="keyword">inline</span> RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a29">UdUfactor</a> (RowMatrix& M, size_t n)00061 { <span class="keywordflow">return</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a28">UdUfactor_variant2</a>(M,n);00062 }00063 LTriMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a30">LdLfactor</a> (LTriMatrix& M, size_t n);00064 UTriMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a31">UCfactor</a> (UTriMatrix& M, size_t n);00065 00066 <span class="comment">// Copy factorisations</span>00067 RowMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a29">UdUfactor</a> (RowMatrix& UD, <span class="keyword">const</span> SymMatrix& M);00068 LTriMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a30">LdLfactor</a> (LTriMatrix& LD, <span class="keyword">const</span> SymMatrix& M);00069 UTriMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a31">UCfactor</a> (UTriMatrix& UC, <span class="keyword">const</span> SymMatrix& M);00070 00071 <span class="comment">// Factor manipulations</span>00072 <span class="keywordtype">bool</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a35">UdUinverse</a> (RowMatrix& UD);00073 <span class="keywordtype">bool</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a36">UTinverse</a> (UTriMatrix& U);00074 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a37">UdUrecompose_transpose</a> (RowMatrix& M);00075 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a38">UdUrecompose</a> (RowMatrix& M);00076 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a38">UdUrecompose</a> (SymMatrix& X, <span class="keyword">const</span> RowMatrix& M);00077 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a40">UdUfromUCholesky</a> (RowMatrix& U);00078 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a41">UdUseperate</a> (RowMatrix& U, Vec& d, <span class="keyword">const</span> RowMatrix& UD);00079 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a42">Lzero</a> (RowMatrix& M);00080 <span class="keywordtype">void</span> <a class="code" href="namespaceBayesian__filter__matrix.html#a43">Uzero</a> (RowMatrix& M);00081 00082 <span class="comment">/*</span>00083 <span class="comment"> * Functions using UdU factorisation:</span>00084 <span class="comment"> * inverse of Positive Definate matrix returning rcond</span>00085 <span class="comment"> */</span>00086 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a44">UdUinversePDignoreInfinity</a> (SymMatrix& M);00087 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a45">UdUinversePD</a> (SymMatrix& M);00088 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a45">UdUinversePD</a> (SymMatrix& M, SymMatrix::value_type& detM);00089 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a45">UdUinversePD</a> (SymMatrix& MI, <span class="keyword">const</span> SymMatrix& M);00090 SymMatrix::value_type <a class="code" href="namespaceBayesian__filter__matrix.html#a45">UdUinversePD</a> (SymMatrix& MI, SymMatrix::value_type& detM, <span class="keyword">const</span> SymMatrix& M);00091 00092 00093 }<span class="comment">//namespace</span>00094 00095 <span class="preprocessor">#endif</span></pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Feb 16 11:20:39 2004 for Bayes++ Bayesian Filtering Classes by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.2 </small></address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -