[Scilab-users] advices in optimizing matrix calculations
Carrico, Paul
paul.carrico at esterline.com
Tue Sep 25 10:20:53 CEST 2012
Dear Serge,
thanks for this first answer ...
... thus I've understood :
- it'll be necessary to build first the full form of each 6x6 matrix in order to compute eigen values and so on (need to optimize chronology in order to make it only ounce)
- it might be relevant to have a look in parallel postprocessing (I've up to 8 cores in my working station),
- concerning vectorization, I need to have a deeper look on it in order to understand what is it, when it's relevant to use it and when we can not
Regards
Paul
________________________________
De : users-bounces at lists.scilab.org [mailto:users-bounces at lists.scilab.org] De la part de Serge Steer
Envoyé : mardi 25 septembre 2012 10:11
À : International users mailing list for Scilab.
Objet : Re: [Scilab-users] advices in optimizing matrix calculations
Le 24/09/2012 22:46, Paul Carrico a écrit :
Dear all,
May I ask some advice in matrix calculation issue, in order to optimize the code ?
The matrix hereafter is the first trial in treating a (m x 6) matrix where :
- The first line is the upper part of a symmetrical 6x6 tensor (the 3 first components are the diagonal terms)
- m may correspond to millions of lines
- each line is independent from the other)
I had a look in some function (such as schur, spec, bdiag and so on) in order to see if I can use this symmetrical specificity ... but I don't see anything è Am I wrong ?
The schur, spec, bdiag function internally check if the matrix is symmetric and if yes apply specific algorithm. But the matrix must be passed in its full form.
Several calculations will be done: Eigen values calculation for each submatrix, summation, multiplication and so on ...
Vectorization can be useful to improve speedup ?
I did not see any possible vectorization (there is no way to compute several schur decompositions with only one call to a primitive function)
If you have a multicore processor you can try the parallel_run function.
Serge Steer
INRIA
Any advices ?
Thanks in advance
Paul
PS : M is made from a text file ... its structure can be change in order to be as efficient as possible ...
Mat = [
9.315 9.315 28.41 - 0.0000999 - 3.169 - 3.169 ;
2.945 2.945 28.45 0.04826 - 3.175 - 3.175 ;
8.486 9.341 25.73 0.0101 - 3.179 - 3.189 ;
2.043 2.939 25.73 0.038 - 3.185 - 3.182 ;
9.341 8.486 25.73 0.0101 - 3.189 - 3.179 ;
2.939 2.043 25.73 0.038 - 3.182 - 3.185 ;
8.492 8.492 23. 0.02036 - 3.179 - 3.179 ;
2.018 2.018 22.97 0.02779 - 3.172 - 3.172 ;
9.108 8.179 25.01 0.01326 - 3.197 - 1.608 ;
4.695 2.302 25.04 0.0905 - 3.199 - 1.61 ;
8.271 8.186 22.27 0.02824 - 3.212 - 1.601 ;
3.842 2.302 22.29 0.07548 - 3.214 - 1.599 ;
9.134 8.128 24.91 0.01554 - 3.278 - 1.61 ;
4.675 2.145 24.9 0.08819 - 3.276 - 1.612 ;
...
...
8.291 8.129 22.16 0.03055 - 3.263 - 1.598 ] ;
sub11 sub22 sub33 sub12 sub23 sub13 ... where sub is a submatrix == 1 line
_______________________________________________
users mailing list
users at lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users
--------------------------------------------------------------------------------
Le présent mail et ses pièces jointes sont confidentiels et destinés à la personne ou aux personnes visée(s) ci-dessus. Si vous avez reçu cet e-mail par erreur, veuillez contacter immédiatement l'expéditeur et effacer le message de votre système. Toute divulgation, copie ou distribution de cet e-mail est strictement interdite.
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error, please contact the sender and delete the email from your system. If you are not the named addressee you should not disseminate, distribute or copy this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20120925/0c370c0c/attachment.htm>
More information about the users
mailing list