<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Monospaced;
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"Préformaté HTML Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.PrformatHTMLCar
{mso-style-name:"Préformaté HTML Car";
mso-style-priority:99;
mso-style-link:"Préformaté HTML";
font-family:"Courier New";}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1275937926;
mso-list-type:hybrid;
mso-list-template-ids:1302116462 -248580400 67895299 67895301 67895297 67895299 67895301 67895297 67895299 67895301;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=FR link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US>Dear all,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I’m trying to optimize a part of an existing (but slow) code including a lot of loops ; naturally I’m thinking in using vectorization and for that issue I read the Michaël Baudin’s document (programming in Scilab V0.9) …<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>… I’ve the feeling the above costly code can be vectorized, but some aspects are not clear for me at the moment (basically how to transform the double loop theta/fi in a vector for example ?) …<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>NB:<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>Since the initial tensor is symmetrical, is expressed as a vector<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>To apply transformations, it’s necessary to “rebuild” its matrix form … (compared to a direct calculation , the current solution is faster)<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>This kind of code is currently called hundred thousand times … clearly not acceptable …<o:p></o:p></span></p><p class=MsoListParagraph style='text-indent:-18.0pt;mso-list:l0 level1 lfo1'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>I understand we’ve to transform any variable/constant under vector …<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Any advice ? where can I find any tutorial or doc that explains and brackets the use of (efficient) vectorization ?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Regards<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Paul<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#32B9B9'>mode</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>(</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>0</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>)</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#64AE64'>// ###############################################################</span></i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>function</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>E_prime</span></b><span style='color:#5C5C5C'>=</span><u><span style='color:black'>fct_transformation_M</span></u><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>E</span></b><span style='color:black'>, </span><b><span style='color:#834310'>theta</span></b><span style='color:black'>, </span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>)</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <i><span style='color:#64AE64'>// values of theta and fi are in radian</span></i><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>theta</span></b> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>theta</span></b> <span style='color:#5C5C5C'>*</span> <span style='color:orchid'>%pi</span> <span style='color:#5C5C5C'>/</span> <span style='color:rosybrown'>180</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>fi</span></b> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>fi</span></b> <span style='color:#5C5C5C'>*</span> <span style='color:orchid'>%pi</span> <span style='color:#5C5C5C'>/</span> <span style='color:rosybrown'>180</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <i><span style='color:#64AE64'>// Calculation of matrix in the studied plane</span></i><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>E_prime</span></b><span style='color:#5C5C5C'>=</span><span style='color:#32B9B9'>zeros</span><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:black'>M_transform</span> <span style='color:#5C5C5C'>=</span> <span style='color:#4A55DB'>[</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#4A55DB'>(</span><span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>*</span> <span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span> <span style='color:#4A55DB'>(</span><span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>*</span> <span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span> <span style='color:#4A55DB'>(</span><span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#4A55DB'>(</span><span style='color:#5C5C5C'>-</span><span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>))</span> <span style='color:#4A55DB'>(</span><span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>))</span> <span style='color:rosybrown'>0.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#4A55DB'>(</span><span style='color:#5C5C5C'>-</span><span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>*</span> <span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span> <span style='color:#4A55DB'>(</span><span style='color:#5C5C5C'>-</span><span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>theta</span></b><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>*</span> <span style='color:#32B9B9'>cos</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span> <span style='color:#4A55DB'>(</span><span style='color:#32B9B9'>sin</span><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>fi</span></b><span style='color:#4A55DB'>))</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#4A55DB'>]</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <i><span style='color:#64AE64'>// New tensor calculation</span></i><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>E_prime</span></b> <span style='color:#5C5C5C'>=</span> <span style='color:black'>M_transform</span> <span style='color:#5C5C5C'>*</span> <b><span style='color:#834310'>E</span></b> <span style='color:#5C5C5C'>*</span> <span style='color:black'>M_transform</span><span style='color:#5C5C5C'>'</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>endfunction</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>function</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#5C5C5C'>=</span><u><span style='color:black'>fct_vector2matrix</span></u><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>)</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b> <span style='color:#5C5C5C'>=</span> <span style='color:#32B9B9'>zeros</span><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>4</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>5</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>6</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M_new</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>endfunction</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>function</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b><span style='color:#5C5C5C'>=</span><u><span style='color:black'>fct_matrix2vector</span></u><span style='color:#4A55DB'>(</span><b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>)</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b> <span style='color:#5C5C5C'>=</span> <span style='color:#32B9B9'>zeros</span><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>6</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>1</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> </span><b><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:#834310'>M_vect</span></b><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>(</span><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>1</span><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>,</span><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>2</span><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>)</span><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>3</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>4</span><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>2</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <b><span style='color:#834310'>M_vect</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>5</span><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>2</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> </span><b><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#834310'>M_vect</span></b><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>(</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>1</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>,</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>6</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>)</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <b><span style='color:#834310'>M</span></b><span style='color:#4A55DB'>(</span><span style='color:rosybrown'>1</span><span style='color:black'>,</span><span style='color:rosybrown'>3</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#B01813'>endfunction</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#64AE64'>// ###############################################################</span></i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>Epsilon</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>10</span><span style='color:#5C5C5C'>^</span><span style='color:#4A55DB'>(</span><span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>8</span><span style='color:#4A55DB'>)</span> <span style='color:#5C5C5C'>*</span><span style='color:#4A55DB'>[</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>4.441D-08</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:rosybrown'>0.</span> <span style='color:rosybrown'>0.</span> <span style='color:rosybrown'>0.</span> <span style='color:rosybrown'>0.</span> <span style='color:rosybrown'>0.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>1022.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>6278.</span> <span style='color:rosybrown'>6914.</span> <span style='color:rosybrown'>210.6</span> <span style='color:rosybrown'>783100.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>33910.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>2316.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>24190.</span> <span style='color:rosybrown'>25930.</span> <span style='color:rosybrown'>894.6</span> <span style='color:rosybrown'>1545000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>67320.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>3608.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>52660.</span> <span style='color:rosybrown'>55610.</span> <span style='color:rosybrown'>2004.</span> <span style='color:rosybrown'>2284000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>99750.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>4895.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>90810.</span> <span style='color:rosybrown'>94970.</span> <span style='color:rosybrown'>3508.</span> <span style='color:rosybrown'>3002000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>131300.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>6171.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>137700.</span> <span style='color:rosybrown'>143100.</span> <span style='color:rosybrown'>5365.</span> <span style='color:rosybrown'>3699000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>161900.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>7429.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>192400.</span> <span style='color:rosybrown'>199000.</span> <span style='color:rosybrown'>7533.</span> <span style='color:rosybrown'>4373000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>191600.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>8675.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>254200.</span> <span style='color:rosybrown'>262000.</span> <span style='color:rosybrown'>9997.</span> <span style='color:rosybrown'>5027000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>220400.</span> <span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#5C5C5C'>-</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:rosybrown'>8675.</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>254200.</span> <span style='color:rosybrown'>262000.</span> <span style='color:rosybrown'>9997.</span> <span style='color:rosybrown'>5027000.</span> <span style='color:#5C5C5C'>-</span><span style='color:rosybrown'>220400.</span> <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>]</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>[</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>p,c</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>]</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <span style='color:#32B9B9'>size</span><span style='color:#4A55DB'>(</span><span style='color:black'>Epsilon</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#64AE64'>// number of time steps</span></i><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>step_</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>2</span><span style='color:black'>;</span> <i><span style='color:#64AE64'>//</span></i><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>nb_loops</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>0</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><u><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#AE5CB0'>tic</span></u><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>()</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#A020F0'>for</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:black'>i</span> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>1</span> <span style='color:#FFAA00'>:</span> <span style='color:black'>p</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#A020F0'>for</span> <span style='color:black'>theta</span> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>0</span> <span style='color:#FFAA00'>:</span> <span style='color:black'>step_</span> <span style='color:#FFAA00'>:</span> <span style='color:rosybrown'>180</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#A020F0'>for</span> <span style='color:black'>fi</span> <span style='color:#5C5C5C'>=</span> <span style='color:rosybrown'>0</span> <span style='color:#FFAA00'>:</span> <span style='color:black'>step_</span> <span style='color:#FFAA00'>:</span> <span style='color:rosybrown'>180</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> </span><span style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>Epsilon_matrix</span><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <u><span style='color:#AE5CB0'>fct_vector2matrix</span></u><span style='color:#4A55DB'>(</span><span style='color:black'>Epsilon</span><span style='color:#4A55DB'>(</span><span style='color:black'>i,</span><span style='color:#FFAA00'>:</span><span style='color:#4A55DB'>))</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:black'>Epsilon_prime_matrix</span> <span style='color:#5C5C5C'>=</span> <u><span style='color:#AE5CB0'>fct_transformation_M</span></u><span style='color:#4A55DB'>(</span><span style='color:black'>Epsilon_matrix,theta,fi</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:9.0pt;font-family:"Monospaced","serif"'> </span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>Epsilon_prime</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>(</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>i,</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#FFAA00'>:</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#4A55DB'>)</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <u><span style='color:#AE5CB0'>fct_matrix2vector</span></u><span style='color:#4A55DB'>(</span><span style='color:black'>Epsilon_prime_matrix</span><span style='color:#4A55DB'>)</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:black'>nb_loops</span> <span style='color:#5C5C5C'>=</span> <span style='color:black'>nb_loops</span> <span style='color:#5C5C5C'>+</span> <span style='color:rosybrown'>1</span><span style='color:black'>;</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#A020F0'>end</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#A020F0'>end</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:#A020F0'>end</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>t_vect2matr2vect</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'> <span style='color:#5C5C5C'>=</span> <u><span style='color:#AE5CB0'>toc</span></u><span style='color:#4A55DB'>()</span><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif";color:black'>nb_loops</span><span lang=EN-US style='font-size:9.0pt;font-family:"Monospaced","serif"'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>