[Scilab-users] eigs calculation
tim at wescottdesign.com
tim at wescottdesign.com
Mon Jun 22 16:47:41 CEST 2015
That's not at all atypical, and it's what you expect from a numerical
process to arrive at an eigenvector matrix. In the context of ones on
the main diagonal, 1e-16 is "mostly zero".
On 2015-06-22 03:08, Carrico, Paul wrote:
> Dear Tim,
>
> Thanks for the enlightenment, but unfortunately I confess I don't know
> how to proceed now;
>
> I feel that I need to fix such issue; another example if needed (see
> screenshot in attachment), the product herebellow should lead to the
> Identity matrix
>
> Verif1 = u' * M * u
>
> (vhere u is the eigenvector matrix)
>
>
>
> Paul
>
>
> -----Message d'origine-----
> De : users [mailto:users-bounces at lists.scilab.org] De la part de Tim
> Wescott Envoyé : vendredi 19 juin 2015 18:38 À : International users
> mailing list for Scilab.
> Objet : Re: [Scilab-users] eigs calculation
>
> "Normalization" refers to jiggering the numbers around in a way that
> does not change the problem in a strictly mathematical sense, but
> which makes it more tractable.
>
> d = eigs(A, B) computes the solutions to
>
> A * v = lambda * B * v
>
> So any nonsingular square matrix N won't change the problem if it's
> multiplied in:
>
> N * A * v = N * lambda * B * v
>
> Because lambda is a scalar (well, I hope I'm getting that right) you
> can change the problem to
>
> A_ = N * A, B_ = N * B, and
>
> d = eigs(A_, B_)
>
> will, theoretically, get the same answers as with the original
> matrices, but possibly with better numerical conditioning. This is
> what you're doing when you change units.
>
> If you don't mind the meaning of your eigenvectors changing, you can
> do a similarity transform. Start with
>
> N * A * N^(-1) * N * v = N * lambda * B * N^(-1) * N * v
>
> Now set
>
> A_ = N * A * N^(-1)
> B_ = N * B * N^(-1)
> v_ = N * v
>
> [d, v_] = eigs(A_, B_); v = N^(-1) * v_;
>
> will, again, theoretically give you the same numbers as before, but it
> may be better conditioned numerically.
>
> Actually _finding_ N, or giving you advise on how to do so, is beyond
> my powers -- but maybe this will set you on a better road.
>
> --
>
> Tim Wescott
> www.wescottdesign.com
> Control & Communications systems, circuit & software design.
> Phone: 503.631.7815
> Cell: 503.349.8432
>
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.scilab.org_mailman_listinfo_users&d=AwIGaQ&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXfJhZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=qhzR7ofb8i_twSz_CIbw-knVke_-DuytzJ4yEXImbIo&s=pz1Y6NzKAzCPEEaszY2aGRyCKq2L1x-sRi5OiI2QgKM&e=
>
> EXPORT CONTROL :
> Cet email ne contient pas de données techniques
> This email does not contain technical data
More information about the users
mailing list