Jul 26

## Singular value decomposition

Posted by abiao at 08:17 | Code » C++ | Comments(2) | Reads(12734)
The singular value decomposition of MxN matrix A is its representation as A = U W V T, where U is an orthogonal MxM matrix, V - orthogonal NxN matrix. The diagonal elements of matrix W are non-negative numbers in descending order, all off-diagonal elements are zeros.

The matrix W consists mainly of zeros, so we only need the first min(M,N) columns (three, in the example above) of matrix U to obtain matrix A. Similarly, only the first min(M,N) rows of matrix V T affect the product. These columns and rows are called left and right singular vectors.

http://www.alglib.net/matrixops/general/svd.php

Tags:
"BEYOND SVD"

We have made a significant improvement to the Singular Value
Decomposition methodology, This is actually an understatement.

We have discovered that the current Singular Value Decomposition mathematical  techniques and resulting FORTRAN and C code is quite slow and inaccurate and what we have accomplished is to speed up computer execution by more than a factor of 1000 and to improve numerical accuracy by about 12 bits out of 48 bits for the standard double mantissa That is to say that there is no more than 1 bit different between the exact answer and my new solution method .Previous or current methods can barely achieve 24 bit accuracy (out of48).This improvement will make it possible to recognize red, green , blue, black, grey and white infrared images in real time as the first application .

The range of applications for this new technology can go well
beyond this.

Of course, we expect skeptics about these claims, but we have demo
programs that will read your data and produce results that they can compare and we can even executed this new code on their computers if they desire.

How AEVD Improves SVD Performance

AEVD Technology, LLC offers a fully developed, advanced form of the Singular Value Decomposition (SVD) algorithm, which offers a generational advance in speed and accuracy.  Our Advanced Eigenvalue Vector Decomposition (or AEVD) was built upon a recognition of the shortcomings in how computers manipulate numbers, data and calculations, and reflects a painstaking analysis of the incremental steps in SVD processing to provide a faster process with fewer steps and improved inaccuracy.

The SVD mathematical proposition is linearly independent, in an algebraic sense, of the similarity theorem and as such provides a variety of available solution paths.  One such path is to first reduce the input array to a real bidiagonal matrix with a sequence of intermediate left and right unitary transformations.  This reduction to a real bidiagonal matrix is usually chosen to be a real diagonal and having one real super diagonal.  All of the remaining matrix elements are numerically considered as zero.  It is possible to choose other reduced forms of the input matrix, but the use of a real bidiagonal array provides for the most numerically accurate and computationally rapid solution.  Additional numerical stability and computer accuracy is obtained by AEVD by choosing unitary transformations that place the larger bidiagonal elements in the upper left and the smaller elements in the lower right positions.  This is true since the final determination of the left and right transformations and the SVD weights are always an iterative process for matrix sizes greater than four.  Even for matrix sizes of four and less iterative methods are usually simpler and require computational steps comparable to closed form algebraic solutions.  Also, when a real bidiagonal array format is chosen as the final iterate, the left and right transformations employed during iteration are orthogonal matrices.  Other SVD iterative solution methods available employ orthogonal variations such as Jacobi rotation, Givens, and Householder reduction algorithms.  Consistent among the more efficient and accurate SVD algorithms is the choice of the real

Regards,
John Rawlins

678-776-1343
One of the finest sites I have seen in a while.