LESP Tridiagonal matrix with real, sensitive eigenvalues.
TRIDIEIG Find a few eigenvalues of a tridiagonal matrix.
both these functions do not seem to exist on my machine. (lower case does
not help of course)
On another note: I have a tridiagonal matrix with large condeig number,
large condition number for the eigenvalues. The function
eigs
just does not work on it. Moreover, it does not provide any warning that
there were problems. However, it is barely getting one decimal accuracy in
the eigenvalue.
However, eig works much better.
In fact, min(eig(A)) works even though A is sparse. (Sometimes there is
an error message while other times not.)
I do need eigs in the large sparse case.
Are there any other more dependable eig routines for large sparse case? (I
really only need the smallest and the corresponding eigenvector).
Is there anything special for the tridiagonal case? Or for tridiagonal
with the first row and column nonzero as well? (All my matrices are
symmetric and real.)
thanks for any help
--
||Prof. Henry Wolkowicz |Fax: (519) 725-5441
||University of Waterloo |Tel: (519) 888-4567, 1+ext. 5589
||Dept of Comb and Opt |email: hwolk...@orion.math.uwaterloo.ca
||Waterloo, Ont. CANADA N2L 3G1 |URL: http://orion.math.uwaterloo.ca/~hwolkowi
help private/lesp tells you how to create one of Higham's test matrices via
gallery('lesp',n)
>TRIDIEIG Find a few eigenvalues of a tridiagonal matrix.
tridieig.m is a private function in the Signal Processing Toolbox.
sptarn is a large sparse eigensolver in the PDE toolbox.
>both these functions do not seem to exist on my machine. (lower case does
>not help of course)
>
>On another note: I have a tridiagonal matrix with large condeig number,
>large condition number for the eigenvalues. The function
> eigs
>just does not work on it. Moreover, it does not provide any warning that
>there were problems. However, it is barely getting one decimal accuracy in
>the eigenvalue.
>However, eig works much better.
>In fact, min(eig(A)) works even though A is sparse. (Sometimes there is
>an error message while other times not.)
>I do need eigs in the large sparse case.
Henry, if min(eig(full(A))) is working for you, then you probably don't need
a large sparse solver.
However, the current (MATLAB 5) algorithm for eigs is being replaced by a
mex-interface to ARPACK and will be available with the next release (Release
12) of MATLAB (version 6.0). This seems to be more reliable. although the
smallest eigenvalues are usually harder to find than the largest.
Hope this helps.
Penny.
>Are there any other more dependable eig routines for large sparse case? (I
>really only need the smallest and the corresponding eigenvector).
>Is there anything special for the tridiagonal case? Or for tridiagonal
>with the first row and column nonzero as well? (All my matrices are
>symmetric and real.)
>
> thanks for any help
>
>
>--
>||Prof. Henry Wolkowicz |Fax: (519) 725-5441
>||University of Waterloo |Tel: (519) 888-4567, 1+ext. 5589
>||Dept of Comb and Opt |email:
hwolk...@orion.math.uwaterloo.ca
>||Waterloo, Ont. CANADA N2L 3G1 |URL:
http://orion.math.uwaterloo.ca/~hwolkowi
=========================================
Penny Anderson mailto:pe...@mathworks.com
The MathWorks, Inc. http://www.mathworks.com
3 Apple Hill Drive Phone: (508) 647-7506
Natick MA 01760-2098 Fax: (508) 647-7002
=========================================
Henry, I can only help with the first part of your message.
These two functions live in private directories and are in some sense
hidden. Use the "-all" flag to be able to see these using the WHICH
command.
» which tridieig -all
C:\MATLABR11\toolbox\signal\signal\private\tridieig.dll % Private to
signal
C:\MATLABR11\toolbox\signal\signal\private\tridieig.m % Shadowed and
private to signal
»
»
» which lesp -all
C:\MATLABR11\toolbox\matlab\elmat\private\lesp.m % Private to elmat
»
I hope this helps! Denis Gilbert
A minor clarification:
When A is sparse and symmetric and you only ask for eigenvalues (one output)
and not eigenvectors as well (2 outputs), eig(A) works. For all other cases
of sparse A, eig errors
>> A = sprandsym(100,0.2);
>> d = eig(A);
>> [V,D] = eig(A);
??? Error using ==> eig
Use eigs for sparse eigenvalues and vectors.
This will be more clearly documented in the next release of MATLAB.
Perhaps Professor doesn't have the time to wait for your next release
and you could have suggested the originals. The latter seem rather
difficult to roll off the Matlab mouthpieces...
Here's a summary description from http://netlib.org/scalapack
ARPACK is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems.
The package is designed to compute a few eigenvalues and corresponding
eigenvectors of a general n by n matrix A. It is most appropriate for
large
sparse or structured matrices A where structured means that a
matrix-vector
product w <- Av requires order n rather than the usual order n**2
floating
point operations. This software is based upon an algorithmic variant of
the
Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM).
When
the matrix A is symmetric it reduces to a variant of the Lanczos process
called the Implicitly Restarted Lanczos Method (IRLM). These variants
may be
viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly
Shifted QR technique that is suitable for large scale problems. For many
standard problems, a matrix factorization is not required. Only the
action
of the matrix on a vector is needed. ARPACK software is capable of
solving
large scale symmetric, nonsymmetric, and generalized eigenproblems from
significant application areas. The software is designed to compute a few
(k)
eigenvalues with user specified features such as those of largest real
part
or largest magnitude. Storage requirements are on the order of n*k
locations.
No auxiliary storage is required. A set of Schur basis vectors for the
desired
k-dimensional eigen-space is computed which is numerically orthogonal to
working
precision. Numerically accurate eigenvectors are available on request.
Important Features:
o Reverse Communication Interface.
o Single and Double Precision Real Arithmetic Versions for
Symmetric,
Non-symmetric, Standard or Generalized Problems.
o Single and Double Precision Complex Arithmetic Versions for
Standard
or Generalized Problems.
o Routines for Banded Matrices - Standard or Generalized Problems.
o Routines for The Singular Value Decomposition.
o Example driver routines that may be used as templates to
implement
numerous Shift-Invert strategies for all problem types, data
types
and precision.
--
Dr.B.Voh
-----------------------------------------------
Modeling * Simulation * Analysis
http://www.sdynamix.com
-----------------------------------------------
My apologies - I just assumed that someone with Professor Wolkowicz's
experience in sparse matrix computations would know what ARPACK was and
would be using it directly already if he wanted to work in the FORTRAN
environment.
Penelope Anderson,
MATLAB Mouthpiece Extraordinaire.
One could almost swallow this nonsense, however the history of replies
from PR jocks dressed as support suggests otherwise -- a mission to
deceive, even your own customers. So let me help you with a message:
Anyone using MW toolboxes is using a shrink wrapped Public Domain
software where the added features are usually bugs that machine
translated *f2c* code couldn't catch.
Perhaps even more appropriate is to paraphrase O'Reilly: "Anyone who
puts gloss over the material obtained from Internet is a thief". I
couldn't have categorized it any better myself...
--
Dr.B.Voh
-----------------------------------------------
Modeling * Simulation * Analysis
http://www.sdynamix.com
-----------------------------------------------
fyi, ARPACK is a Fortran library for solving large scale eigenvalue
problems. http://netlib.org/scalapack
bv <bv...@sdynamix.com> writes:
> One could almost swallow this nonsense, however the history of replies
> from PR jocks dressed as support suggests otherwise -- a mission to
> deceive, even your own customers. So let me help you with a message:
> Anyone using MW toolboxes is using a shrink wrapped Public Domain
> software where the added features are usually bugs that machine
> translated *f2c* code couldn't catch.
>
> Perhaps even more appropriate is to paraphrase O'Reilly: "Anyone who
> puts gloss over the material obtained from Internet is a thief". I
> couldn't have categorized it any better myself...
Having a bad day, are we? ;-)
Peter
--
%INTROSPECTIVE Introspective/self-reproducing program (displays itself).
function f,h=fopen([mfilename,'.m']); fprintf('%s',fread(h)); fclose(h);
Asking about mine or O'Reilly's?? Incidentally, that's O'Reilly
Publishing in case their books are yet to reach the beautiful shores of
Scandinavia.
--
bv