Files
crm.e5.pl/modules/EcmReports/PhpExcell/Documentation/API/classes/SingularValueDecomposition.html
2024-04-27 09:23:34 +02:00

318 lines
18 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<meta charset="utf-8">
<title>PHPExcel classes » \SingularValueDecomposition</title>
<meta name="author" content="Mike van Riel">
<meta name="description" content="">
<link href="../css/template.css" rel="stylesheet" media="all">
<script src="../js/jquery-1.7.1.min.js" type="text/javascript"></script><script src="../js/jquery-ui-1.8.2.custom.min.js" type="text/javascript"></script><script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script><script src="../js/bootstrap.js" type="text/javascript"></script><script src="../js/template.js" type="text/javascript"></script><script src="../js/prettify/prettify.min.js" type="text/javascript"></script><link rel="shortcut icon" href="../img/favicon.ico">
<link rel="apple-touch-icon" href="../img/apple-touch-icon.png">
<link rel="apple-touch-icon" sizes="72x72" href="../img/apple-touch-icon-72x72.png">
<link rel="apple-touch-icon" sizes="114x114" href="../img/apple-touch-icon-114x114.png">
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner"><div class="container">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse"><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></a><a class="brand" href="../index.html">PHPExcel classes</a><div class="nav-collapse"><ul class="nav">
<li class="dropdown">
<a href="#api" class="dropdown-toggle" data-toggle="dropdown">
API Documentation <b class="caret"></b></a><ul class="dropdown-menu">
<li><a>Packages</a></li>
<li><a href="../packages/Default.html"><i class="icon-folder-open"></i> Default</a></li>
<li><a href="../packages/JAMA.html"><i class="icon-folder-open"></i> JAMA</a></li>
<li><a href="../packages/JAMA%0D%0ACholesky%20decomposition%20class%0D%0AFor%20a%20symmetric,%20positive%20definite%20matrix%20A,%20the%20Cholesky%20decomposition%0D%0Ais%20an%20lower%20triangular%20matrix%20L%20so%20that%20A%20=%20L*L'.html"><i class="icon-folder-open"></i> JAMA
Cholesky decomposition class
For a symmetric, positive definite matrix A, the Cholesky decomposition
is an lower triangular matrix L so that A = L*L'</a></li>
<li><a href="../packages/JAMA%0D%0AClass%20to%20obtain%20eigenvalues%20and%20eigenvectors%20of%20a%20real%20matrix.html"><i class="icon-folder-open"></i> JAMA
Class to obtain eigenvalues and eigenvectors of a real matrix</a></li>
<li><a href="../packages/JAMA%0D%0AError%20handling.html"><i class="icon-folder-open"></i> JAMA
Error handling</a></li>
<li><a href="../packages/JAMA%0D%0AFor%20an%20m-by-n%20matrix%20A%20with%20m%20&gt;=%20n,%20the%20LU%20decomposition%20is%20an%20m-by-n%0D%0Aunit%20lower%20triangular%20matrix%20L,%20an%20n-by-n%20upper%20triangular%20matrix%20U,%0D%0Aand%20a%20permutation%20vector%20piv%20of%20length%20m%20so%20that%20A(piv,:)%20=%20L*U.html"><i class="icon-folder-open"></i> JAMA
For an m-by-n matrix A with m &gt;= n, the LU decomposition is an m-by-n
unit lower triangular matrix L, an n-by-n upper triangular matrix U,
and a permutation vector piv of length m so that A(piv,:) = L*U</a></li>
<li><a href="../packages/JAMA%0D%0AFor%20an%20m-by-n%20matrix%20A%20with%20m%20&gt;=%20n,%20the%20QR%20decomposition%20is%20an%20m-by-n%0D%0Aorthogonal%20matrix%20Q%20and%20an%20n-by-n%20upper%20triangular%20matrix%20R%20so%20that%0D%0AA%20=%20Q*R.html"><i class="icon-folder-open"></i> JAMA
For an m-by-n matrix A with m &gt;= n, the QR decomposition is an m-by-n
orthogonal matrix Q and an n-by-n upper triangular matrix R so that
A = Q*R</a></li>
<li><a href="../packages/JAMA%0D%0AFor%20an%20m-by-n%20matrix%20A%20with%20m%20&gt;=%20n,%20the%20singular%20value%20decomposition%20is%0D%0Aan%20m-by-n%20orthogonal%20matrix%20U,%20an%20n-by-n%20diagonal%20matrix%20S,%20and%0D%0Aan%20n-by-n%20orthogonal%20matrix%20V%20so%20that%20A%20=%20U*S*V'.html"><i class="icon-folder-open"></i> JAMA
For an m-by-n matrix A with m &gt;= n, the singular value decomposition is
an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and
an n-by-n orthogonal matrix V so that A = U*S*V'</a></li>
<li><a href="../packages/JAMA%0D%0APythagorean%20Theorem:%0D%0Aa%20=%203%0D%0Ab%20=%204%0D%0Ar%20=%20sqrt(square(a)%20+%20square(b))%0D%0Ar%20=%205%0D%0Ar%20=%20sqrt(a%5E2%20+%20b%5E2)%20without%20under.overflow.html"><i class="icon-folder-open"></i> JAMA
Pythagorean Theorem:
a = 3
b = 4
r = sqrt(square(a) + square(b))
r = 5
r = sqrt(a^2 + b^2) without under/overflow</a></li>
<li><a href="../packages/PHPExcel.html"><i class="icon-folder-open"></i> PHPExcel</a></li>
</ul>
</li>
<li class="dropdown" id="charts-menu">
<a href="#charts" class="dropdown-toggle" data-toggle="dropdown">
Charts <b class="caret"></b></a><ul class="dropdown-menu"><li><a href="../graph_class.html"><i class="icon-list-alt"></i> Class hierarchy diagram</a></li></ul>
</li>
<li class="dropdown" id="reports-menu">
<a href="#reports" class="dropdown-toggle" data-toggle="dropdown">
Reports <b class="caret"></b></a><ul class="dropdown-menu">
<li><a href="../errors.html"><i class="icon-remove-sign"></i> Errors 
<span class="label label-info">551</span></a></li>
<li><a href="../markers.html"><i class="icon-map-marker"></i> Markers 
<ul>
<li>todo 
<span class="label label-info">19</span>
</li>
<li>fixme 
<span class="label label-info">10</span>
</li>
</ul></a></li>
<li><a href="../deprecated.html"><i class="icon-stop"></i> Deprecated elements 
<span class="label label-info">12</span></a></li>
</ul>
</li>
</ul></div>
</div></div>
<div class="go_to_top"><a href="#___" style="color: inherit">Back to top  <i class="icon-upload icon-white"></i></a></div>
</div>
<div id="___" class="container">
<noscript><div class="alert alert-warning">
Javascript is disabled; several features are only available
if Javascript is enabled.
</div></noscript>
<div class="row">
<div class="span4">
<span class="btn-group visibility" data-toggle="buttons-checkbox"><button class="btn public active" title="Show public elements">Public</button><button class="btn protected" title="Show protected elements">Protected</button><button class="btn private" title="Show private elements">Private</button><button class="btn inherited active" title="Show inherited elements">Inherited</button></span><div class="btn-group view pull-right" data-toggle="buttons-radio">
<button class="btn details" title="Show descriptions and method names"><i class="icon-list"></i></button><button class="btn simple" title="Show only method names"><i class="icon-align-justify"></i></button>
</div>
<ul class="side-nav nav nav-list">
<li class="nav-header">
<i class="icon-custom icon-method"></i> Methods
<ul>
<li class="method public "><a href="#method___construct" title="__construct :: Construct the singular value decomposition"><span class="description">Construct the singular value decomposition</span><pre>__construct()</pre></a></li>
<li class="method public "><a href="#method_cond" title="cond :: Two norm condition number"><span class="description">Two norm condition number</span><pre>cond()</pre></a></li>
<li class="method public "><a href="#method_getS" title="getS :: Return the diagonal matrix of singular values"><span class="description">Return the diagonal matrix of singular values</span><pre>getS()</pre></a></li>
<li class="method public "><a href="#method_getSingularValues" title="getSingularValues :: Return the one-dimensional array of singular values"><span class="description">Return the one-dimensional array of singular values</span><pre>getSingularValues()</pre></a></li>
<li class="method public "><a href="#method_getU" title="getU :: Return the left singular vectors"><span class="description">Return the left singular vectors</span><pre>getU()</pre></a></li>
<li class="method public "><a href="#method_getV" title="getV :: Return the right singular vectors"><span class="description">Return the right singular vectors</span><pre>getV()</pre></a></li>
<li class="method public "><a href="#method_norm2" title="norm2 :: Two norm"><span class="description">Two norm</span><pre>norm2()</pre></a></li>
<li class="method public "><a href="#method_rank" title="rank :: Effective numerical matrix rank"><span class="description">Effective numerical matrix rank</span><pre>rank()</pre></a></li>
</ul>
</li>
<li class="nav-header">
<i class="icon-custom icon-property"></i> Properties
<ul></ul>
</li>
<li class="nav-header private">» Private
<ul>
<li class="property private "><a href="#property_U" title="$U :: Internal storage of U."><span class="description"></span><pre>$U</pre></a></li>
<li class="property private "><a href="#property_V" title="$V :: Internal storage of V."><span class="description"></span><pre>$V</pre></a></li>
<li class="property private "><a href="#property_m" title="$m :: Row dimension."><span class="description"></span><pre>$m</pre></a></li>
<li class="property private "><a href="#property_n" title="$n :: Column dimension."><span class="description"></span><pre>$n</pre></a></li>
<li class="property private "><a href="#property_s" title="$s :: Internal storage of singular values."><span class="description"></span><pre>$s</pre></a></li>
</ul>
</li>
</ul>
</div>
<div class="span8">
<a id="\SingularValueDecomposition"></a><ul class="breadcrumb">
<li>
<a href="../index.html"><i class="icon-custom icon-class"></i></a><span class="divider">\</span>
</li>
<li><a href="../namespaces/global.html">global</a></li>
<li class="active">
<span class="divider">\</span><a href="../classes/SingularValueDecomposition.html">SingularValueDecomposition</a>
</li>
</ul>
<div class="element class">
<p class="short_description"></p>
<div class="details">
<div class="long_description"></div>
<table class="table table-bordered">
<tr>
<th>package</th>
<td><a href="../packages/JAMA%0D%0AFor%20an%20m-by-n%20matrix%20A%20with%20m%20&gt;=%20n,%20the%20singular%20value%20decomposition%20is%0D%0Aan%20m-by-n%20orthogonal%20matrix%20U,%20an%20n-by-n%20diagonal%20matrix%20S,%20and%0D%0Aan%20n-by-n%20orthogonal%20matrix%20V%20so%20that%20A%20=%20U*S*V'.%0D%0AThe%20singular%20values,%20sigma%5B%24k%5D%20=%20S%5B%24k%5D%5B%24k%5D,%20are%20ordered%20so%20that%0D%0Asigma%5B0%5D%20&gt;=%20sigma%5B1%5D%20&gt;=%20...%20&gt;=%20sigma%5Bn-1%5D.%0D%0AThe%20singular%20value%20decompostion%20always%20exists,%20so%20the%20constructor%20will%0D%0Anever%20fail.%20%20The%20matrix%20condition%20number%20and%20the%20effective%20numerical%0D%0Arank%20can%20be%20computed%20from%20this%20decomposition..html">JAMA
For an m-by-n matrix A with m &gt;= n, the singular value decomposition is
an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and
an n-by-n orthogonal matrix V so that A = U*S*V'.
The singular values, sigma[$k] = S[$k][$k], are ordered so that
sigma[0] &gt;= sigma[1] &gt;= ... &gt;= sigma[n-1].
The singular value decompostion always exists, so the constructor will
never fail. The matrix condition number and the effective numerical
rank can be computed from this decomposition.</a></td>
</tr>
<tr>
<th>author</th>
<td><a href="">Paul Meagher</a></td>
</tr>
<tr>
<th>license</th>
<td><a href="">PHP v3.0</a></td>
</tr>
<tr>
<th>version</th>
<td>1.1</td>
</tr>
</table>
<h3>
<i class="icon-custom icon-method"></i> Methods</h3>
<a id="method___construct"></a><div class="element clickable method public method___construct" data-toggle="collapse" data-target=".method___construct .collapse">
<h2>Construct the singular value decomposition</h2>
<pre>__construct($Arg) : \Structure</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"><p>Derived from LINPACK code.</p></div>
<h3>Parameters</h3>
<div class="subelement argument"><h4>$Arg</h4></div>
<h3>Returns</h3>
<div class="subelement response">
<code>\Structure</code>to access U, S and V.</div>
</div></div>
</div>
<a id="method_cond"></a><div class="element clickable method public method_cond" data-toggle="collapse" data-target=".method_cond .collapse">
<h2>Two norm condition number</h2>
<pre>cond() : \max(S)/min(S)</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response"><code>\max(S)/min(S)</code></div>
</div></div>
</div>
<a id="method_getS"></a><div class="element clickable method public method_getS" data-toggle="collapse" data-target=".method_getS .collapse">
<h2>Return the diagonal matrix of singular values</h2>
<pre>getS() : \S</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response"><code>\S</code></div>
</div></div>
</div>
<a id="method_getSingularValues"></a><div class="element clickable method public method_getSingularValues" data-toggle="collapse" data-target=".method_getSingularValues .collapse">
<h2>Return the one-dimensional array of singular values</h2>
<pre>getSingularValues() : \diagonal</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response">
<code>\diagonal</code>of S.</div>
</div></div>
</div>
<a id="method_getU"></a><div class="element clickable method public method_getU" data-toggle="collapse" data-target=".method_getU .collapse">
<h2>Return the left singular vectors</h2>
<pre>getU() : \U</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response"><code>\U</code></div>
</div></div>
</div>
<a id="method_getV"></a><div class="element clickable method public method_getV" data-toggle="collapse" data-target=".method_getV .collapse">
<h2>Return the right singular vectors</h2>
<pre>getV() : \V</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response"><code>\V</code></div>
</div></div>
</div>
<a id="method_norm2"></a><div class="element clickable method public method_norm2" data-toggle="collapse" data-target=".method_norm2 .collapse">
<h2>Two norm</h2>
<pre>norm2() : \max(S)</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response"><code>\max(S)</code></div>
</div></div>
</div>
<a id="method_rank"></a><div class="element clickable method public method_rank" data-toggle="collapse" data-target=".method_rank .collapse">
<h2>Effective numerical matrix rank</h2>
<pre>rank() : \Number</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description">
<div class="long_description"></div>
<table class="table table-bordered"><tr>
<th>access</th>
<td>public</td>
</tr></table>
<h3>Returns</h3>
<div class="subelement response">
<code>\Number</code>of nonnegligible singular values.</div>
</div></div>
</div>
<h3>
<i class="icon-custom icon-property"></i> Properties</h3>
<a id="property_U"> </a><div class="element clickable property private property_U" data-toggle="collapse" data-target=".property_U .collapse">
<h2></h2>
<pre>$U : array</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><div class="long_description"></div></div></div>
</div>
<a id="property_V"> </a><div class="element clickable property private property_V" data-toggle="collapse" data-target=".property_V .collapse">
<h2></h2>
<pre>$V : array</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><div class="long_description"></div></div></div>
</div>
<a id="property_m"> </a><div class="element clickable property private property_m" data-toggle="collapse" data-target=".property_m .collapse">
<h2></h2>
<pre>$m : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><div class="long_description"></div></div></div>
</div>
<a id="property_n"> </a><div class="element clickable property private property_n" data-toggle="collapse" data-target=".property_n .collapse">
<h2></h2>
<pre>$n : int</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><div class="long_description"></div></div></div>
</div>
<a id="property_s"> </a><div class="element clickable property private property_s" data-toggle="collapse" data-target=".property_s .collapse">
<h2></h2>
<pre>$s : array</pre>
<div class="labels"></div>
<div class="row collapse"><div class="detail-description"><div class="long_description"></div></div></div>
</div>
</div>
</div>
</div>
</div>
<div class="row"><footer class="span12">
Template is built using <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap 2</a> and icons provided by <a href="http://glyphicons.com/">Glyphicons</a>.<br>
Documentation is powered by <a href="http://www.phpdoc.org/">phpDocumentor 2.0.0a12</a> and<br>
generated on 2014-03-02T15:27:36Z.<br></footer></div>
</div>
</body>
</html>