<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jun 8, 2015 at 1:57 AM, Andrea Mauri <span dir="ltr"><<a href="mailto:andrea.mauri.75@gmail.com" target="_blank">andrea.mauri.75@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear all,<br>
<br>
I am looking for units/packages to deal with numerical matrix manipulation (typical double type numerical matrices).<br>
I need code able to perform typical matrix operations (e.g. matrix multiplication, inversion, determinant and so on) as fast as possible since I deal with big matrices (thousands of rows and columns). I need it for both windows and linux (32/64).<br>
<br>
I found some libraries doing it (e.g. dmath and mrmath).<br>
<br>
dmath units (<a href="http://sourceforge.net/projects/dmath/" target="_blank">http://sourceforge.net/projects/dmath/</a>) can be used both on windows and linux but operations are slow on big matrices. calculation of correlation matrix on a matrix with 3500 rows and 2000 columns get minutes.<br>
<br>
mrmath units (<a href="https://github.com/mikerabat/mrmath" target="_blank">https://github.com/mikerabat/mrmath</a>) is the fastest I found (just few seconds to calculate correlation matrix on the same data matrix as before) but is available only for windows and mac os.<br>
<br>
any other suggestions? anyone interested in evaluating the possibility to make mrmath usable under linux too?<br>
<br>
thanks,<br>
Andrea<br>
<br>
--<br>
_______________________________________________<br></blockquote></div><br><br><br></div><div class="gmail_extra">Here most important problem is not Pascal or any other programming language but numerical accuracy of the computations .<br><br></div><div class="gmail_extra">For large matrices without using multiple precision arithmetic , if matrices are not special types as suitable for good numerical accuracy during computations , i.e. , they are ill-conditioned , the results will be meaningless even if they can be obtained .<br><br><br></div><div class="gmail_extra">Matrix inversion is an n-cube order of operations means , for 1000 rows , computations will be more than ( 1 000 000 000 ) operations . Accumulation of round off errors will be enormous .<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Please see <br><br><a href="http://www.wolfgang-ehrhardt.de/">http://www.wolfgang-ehrhardt.de/</a><br></div><div class="gmail_extra">( Pascal )<br></div><div class="gmail_extra"><br><a href="http://code.google.com/p/mpmath/">http://code.google.com/p/mpmath/</a><br></div><div class="gmail_extra">( Python )<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">or search in Internet <br><br></div><div class="gmail_extra">arbitrary precision arithmetic<br></div><div class="gmail_extra">multiple precision arithmetic <br></div><div class="gmail_extra"><br><br></div><div class="gmail_extra">Julia language has multiple precision arithmetic capability .<br><br></div><div class="gmail_extra"><br><br></div><div class="gmail_extra">Thank you very much .<br><br><br></div><div class="gmail_extra">Mehmet Erol Sanliturk<br><br><br></div></div>