U = eigenvalues -> matrix (nx1) V = eigenvectors -> matrix (nxn) NB: n = 12 since I'm foccusing of the n first natural frequencies ....
Paul -----Message d'origine----- De : users [mailto:[email protected]] De la part de Antoine Monmayrant Envoyé : vendredi 26 juin 2015 12:26 À : International users mailing list for Scilab. Objet : Re: [Scilab-users] eigs calculation Le Vendredi 26 Juin 2015 11:16 CEST, "Carrico, Paul" <[email protected]> a écrit: > Hi Antoine, > > Thanks for the comments; In attachment the results of the calculations > (note that the modal effective depends on the eigenvectors) > > The calculation for the difference calculations are described herebellow .. I'm confused, who's who: u = value or vector v = value or vector ? Antoine > > > Paul > > ###################################################################################" > // prog principal > nbre = 10; > for k = 1 : nbre > printf("\n*******\nIteration num %d\n",k); > s1 = " ... > [u" + string(k) + ",v" + string(k) + ",K" + string(k) + ",M" + string(k) > + "] = calcul_v() , ... > [nl,nc] = size(v" + string(k) + ") , ... > save(''u" + string(k) + ".bin'',''u" + string(k) + "'') , ... > save(''v" + string(k) + ".bin'',''v" + string(k) + "'') , ... > clear nl , ... > clear nc , ... > save(''K" + string(k) + ".bin'',''K" + string(k) + "'') , ... > save(''M" + string(k) + ".bin'',''M" + string(k) + "'') , ... > "; > execstr(s1) ; > > end > > printf("\n\n"); > > // difference v1 - v2 > for k = 2 : nbre > s2 = " ... > printf(""(eigenvalues) Max delta u%d - u1 = %g\n"",k,abs(max(u" + > string(k) + " - u1))) , ... > printf(""(eigenvectors) Max delta v%d - v1 = %g\n"",k,abs(max(v" + > string(k) + " - v1))) , ... > printf(""(input matrix) Max delta K%d - K1 = %g\n"",k,abs(max(K" + > string(k) + " - K1))) , ... > printf(""(input matrix) Max delta M%d - M1 = %g\n"",k,abs(max(M" + > string(k) + " - M1))) , ... > "; > execstr(s2) ; > printf("\n"); > end > ######################################################################################" > > > > > > > > > > > > > > > > > > > -----Message d'origine----- > De : users [mailto:[email protected]] De la part de Antoine > Monmayrant Envoyé : vendredi 26 juin 2015 10:50 À : International users > mailing list for Scilab. > Objet : Re: [Scilab-users] eigs calculation > > Hi Paul, > > I don't really like a function that gives different answers for the very same > input. > That sounds like a bug to me. > That being said, from the data you showed, it is not clear that your > eigenvector are really different. > If what you show is just a difference in the norm of the difference between > the eigenvalue at iteration 1 and N, that might be OK. > Indeed, if v is an eigenvector, a.v with a non zero-scalar, is also an > eigenvector. > You should check whether v1 and vN are colinear: if they are, the results are > not really different, they just differ by a scaling factor. > But I would still call it a bug, as a function should always give the same > answer when given the same input parameters. > > Cheers, > > Antoine > > > Le Jeudi 25 Juin 2015 17:17 CEST, "Carrico, Paul" > <[email protected]> a écrit: > > > Dear all > > > > I'm still working on my "eigs" issue topic and I'm still trying to > > understand what's going wrong; > > > > I run a test case : > > - same function is launched 10 times > > - each time the input data are recorded (K,M) > > - for each loop the eigenvalues u and the eigenvectors v are > > recorded > > > > Then the values of each loop are compared with the values of the > > loop > > 1 > > > > If K,M,u remains strictly identical, it is not the case for u (the > > eigenvectors) ... why ? > > > > I've ever check any initialization issue, but everything seems to be > > ok > > > > Paul > > > > PS : the results of this case > > > > Max delta v2 - v1 = 453.857 > > Max delta K2 - K1 = 0 > > Max delta M2 - M1 = 0 > > > > Max delta v3 - v1 = 549.214 > > Max delta K3 - K1 = 0 > > Max delta M3 - M1 = 0 > > > > Max delta v4 - v1 = 585.95 > > Max delta K4 - K1 = 0 > > Max delta M4 - M1 = 0 > > > > Max delta v5 - v1 = 379.702 > > Max delta K5 - K1 = 0 > > Max delta M5 - M1 = 0 > > > > Max delta v6 - v1 = 489.844 > > Max delta K6 - K1 = 0 > > Max delta M6 - M1 = 0 > > > > Max delta v7 - v1 = 439.221 > > Max delta K7 - K1 = 0 > > Max delta M7 - M1 = 0 > > > > Max delta v8 - v1 = 432.406 > > Max delta K8 - K1 = 0 > > Max delta M8 - M1 = 0 > > > > Max delta v9 - v1 = 351.752 > > Max delta K9 - K1 = 0 > > Max delta M9 - M1 = 0 > > > > Max delta v10 - v1 = 554.515 > > Max delta K10 - K1 = 0 > > Max delta M10 - M1 = 0 > > > > -----Message d'origine----- > > De : Carrico, Paul > > Envoyé : mercredi 17 juin 2015 22:18 À : International users mailing > > list for Scilab. > > Objet : RE: [Scilab-users] eigs calculation > > > > Dear All > > > > Thanks for the answers. > > > > To give more information's on what I'm doing (That's quite new I confess), > > I'm performing a (basic) finite element calculation with beams using > > sparse matrix (stiffness matrix K and mass matrix M). > > [u,v] = > > eigs(K((ddl_elem+1):$,(ddl_elem+1):$),M((ddl_elem+1):$,(ddl_elem+1): > > $) > > ,n,"SM"); > > > > Nota: ddl means dof > > > > I'm calculated first the natural frequencies using (K - omega^2.M).x=0 ... > > the pulse (or circular frequencies) are no more and no less than the > > eigenvalues of the above system (u = omega^2). > > > > Just a "mechanical" remark: since the beam is clamped in one side (and free > > on the tip), it is absolutely normal that you find twice the same natural > > frequency (1rst mode in one direction, the second one in a new direction at > > 90°) .... I've been really surprised to find it, but happy at the same time > > ... > > > > The origin of my question was: since it obvious that the results are > > strongly sensitive to the "units" (i.e. the numbers), I'm wondering if > > there is a way to control the accuracy of the eigenvalues calculation using > > eigs keywords ... > > > > In any way, thanks for the debate > > > > Paul > > > > EXPORT CONTROL : > > Cet email ne contient pas de données techniques This email does not > > contain technical data > > _______________________________________________ > > users mailing list > > [email protected] > > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.scilab.org > > _m > > ailman_listinfo_users&d=AwIGaQ&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXf > > Jh > > ZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=1q3UvWvNm8K7-IZGCUzIV3uKngKalGVN-2 > > TH izNu_Ek&s=Qd7_9c6GV5rmRHnsvDdDgvnnodut0J24q0KOnk1zqb8&e= > > > > > > > > > _______________________________________________ > users mailing list > [email protected] > https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.scilab.org_m > ailman_listinfo_users&d=AwIGaQ&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXfJh > ZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=1q3UvWvNm8K7-IZGCUzIV3uKngKalGVN-2TH > izNu_Ek&s=Qd7_9c6GV5rmRHnsvDdDgvnnodut0J24q0KOnk1zqb8&e= > > EXPORT CONTROL : > Cet email ne contient pas de données techniques This email does not > contain technical data _______________________________________________ users mailing list [email protected] https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.scilab.org_mailman_listinfo_users&d=AwIGaQ&c=0hKVUfnuoBozYN8UvxPA-w&r=4TCz--8bXfJhZZvIxJAemAJyz7Vfx78XvgYu3LN7eLo&m=DtRDqCwpPaahLQM8E-MeOGMZ4CHFjo7bH4Zh_lxEzr0&s=72hXuchUSXoMknI3enblwt4qNp-LSwTkkeeIaXZI9wE&e= EXPORT CONTROL : Cet email ne contient pas de données techniques This email does not contain technical data _______________________________________________ users mailing list [email protected] http://lists.scilab.org/mailman/listinfo/users
