1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta name="robots" content="none">
<title>SymmetricSchurDecomposition Class Reference</title>
<link rel="stylesheet" href="quantlib.css" type="text/css">
<link rel="stylesheet" href="print.css" type="text/css" media="print">
<link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
<link rel="icon" href="favicon.ico" type="image/x-icon">
</head>
<body>
<div id="container">
<div id="header">
<img class="titleimage"
src="QL-title.jpg" width="185" height="50" border="0"
alt="QuantLib">
<br>
<h3 class="subtitle">A free/open-source library for quantitative finance</h3>
</div>
<div id="menu">
<h3 class="navbartitle">Version 1.2</h3>
<hr>
<h3 class="navbartitle">Getting started</h3>
<ul class="navbarlist">
<li class="navlink"><a href="index.html">Introduction</a></li>
<li class="navlink"><a href="where.html">Where to get QuantLib</a></li>
<li class="navlink"><a href="install.html">Installation</a></li>
<li class="navlink"><a href="config.html">Configuration</a></li>
<li class="navlink"><a href="usage.html">Usage</a></li>
<li class="navlink"><a href="history.html">Version history</a></li>
<li class="navlink"><a href="resources.html">Additional resources</a></li>
<li class="navlink"><a href="group.html">The QuantLib group</a></li>
<li class="navlink"><a href="license.html">Copyright and license</a></li>
</ul>
<hr>
<h3 class="navbartitle">Reference manual</h3>
<ul class="navbarlist">
<li class="navlink"><a href="modules.html">Modules</a></li>
<li class="navlink"><a href="hierarchy.html">Class Hierarchy</a></li>
<li class="navlink"><a href="annotated.html">Compound List</a></li>
<li class="navlink"><a href="files.html">File List</a></li>
<li class="navlink"><a href="functions.html">Compound Members</a></li>
<li class="navlink"><a href="globals.html">File Members</a></li>
<li class="navlink"><a href="todo.html">Todo List</a></li>
<li class="navlink"><a href="bug.html">Known Bugs</a></li>
<li class="navlink"><a href="caveats.html">Caveats</a></li>
<li class="navlink"><a href="test.html">Test Suite</a></li>
<li class="navlink"><a href="examples.html">Examples</a></li>
</ul>
</div>
<div id="content">
<!--Doxygen-generated content-->
<!-- Generated by Doxygen 1.7.6.1 -->
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>QuantLib</b> </li>
<li class="navelem"><a class="el" href="class_quant_lib_1_1_symmetric_schur_decomposition.html">SymmetricSchurDecomposition</a> </li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> </div>
<div class="headertitle">
<div class="title">SymmetricSchurDecomposition Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<!-- doxytag: class="QuantLib::SymmetricSchurDecomposition" -->
<p>symmetric threshold Jacobi algorithm.
<a href="class_quant_lib_1_1_symmetric_schur_decomposition.html#details">More...</a></p>
<p><code>#include <ql/math/matrixutilities/symmetricschurdecomposition.hpp></code></p>
<p><a href="class_quant_lib_1_1_symmetric_schur_decomposition-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_quant_lib_1_1_symmetric_schur_decomposition.html#a43ff4c0e9abb6877c224127f7b70e8e6">SymmetricSchurDecomposition</a> (const <a class="el" href="class_quant_lib_1_1_matrix.html">Matrix</a> &s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeb9833fe31a4739b5075f2a4cbd5dddd"></a><!-- doxytag: member="QuantLib::SymmetricSchurDecomposition::eigenvalues" ref="aeb9833fe31a4739b5075f2a4cbd5dddd" args="() const " -->
const <a class="el" href="class_quant_lib_1_1_array.html">Array</a> & </td><td class="memItemRight" valign="bottom"><b>eigenvalues</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a41aa0134fde9e36a14c3a0938903e4b1"></a><!-- doxytag: member="QuantLib::SymmetricSchurDecomposition::eigenvectors" ref="a41aa0134fde9e36a14c3a0938903e4b1" args="() const " -->
const <a class="el" href="class_quant_lib_1_1_matrix.html">Matrix</a> & </td><td class="memItemRight" valign="bottom"><b>eigenvectors</b> () const </td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>symmetric threshold Jacobi algorithm. </p>
<p>Given a real symmetric matrix S, the Schur decomposition finds the eigenvalues and eigenvectors of S. If D is the diagonal matrix formed by the eigenvalues and U the unitarian matrix of the eigenvectors we can write the Schur decomposition as </p>
<p class="formulaDsp">
<img class="formulaDsp" alt="\[ S = U \cdot D \cdot U^T \, ,\]" src="form_214.png"/>
</p>
<p> where <img class="formulaInl" alt="$ \cdot $" src="form_215.png"/> is the standard matrix product and <img class="formulaInl" alt="$ ^T $" src="form_216.png"/> is the transpose operator. This class implements the Schur decomposition using the symmetric threshold Jacobi algorithm. For details on the different Jacobi transfomations see "Matrix computation," second edition, by Golub and Van Loan, The Johns Hopkins University Press</p>
<dl class="test"><dt><b><a class="el" href="test.html#_test000048">Tests:</a></b></dt><dd>the correctness of the returned values is tested by checking their properties. </dd></dl>
</div><hr/><h2>Constructor & Destructor Documentation</h2>
<a class="anchor" id="a43ff4c0e9abb6877c224127f7b70e8e6"></a><!-- doxytag: member="QuantLib::SymmetricSchurDecomposition::SymmetricSchurDecomposition" ref="a43ff4c0e9abb6877c224127f7b70e8e6" args="(const Matrix &s)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="class_quant_lib_1_1_symmetric_schur_decomposition.html">SymmetricSchurDecomposition</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="class_quant_lib_1_1_matrix.html">Matrix</a> & </td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<dl class="pre"><dt><b>Precondition:</b></dt><dd>s must be symmetric </dd></dl>
</div>
</div>
</div><!-- contents -->
</div>
<div class="footer">
<div class="endmatter">
Documentation generated by
<a href="http://www.doxygen.org">Doxygen</a> 1.7.6.1
</div>
</div>
</div>
</body>
</html>
|