Re: Re: Intensive numerical calculations

*To*: mathgroup at smc.vnet.net*Subject*: [mg80554] Re: [mg80517] Re: Intensive numerical calculations*From*: Daniel Lichtblau <danl at wolfram.com>*Date*: Sun, 26 Aug 2007 02:59:38 -0400 (EDT)*References*: <f9s445$all$1@smc.vnet.net><fabgog$id8$1@smc.vnet.net> <fae9u4$ec7$1@smc.vnet.net> <200708220838.EAA08507@smc.vnet.net> <faj4vu$8sk$1@smc.vnet.net> <200708240557.BAA16587@smc.vnet.net>

Cristian wrote: > On Thu, 23 Aug 2007 05:12:30 +0000 (UTC), Daniel Lichtblau > <danl at wolfram.com> wrote: > > >>Cristian wrote: > > ]zac[ > >>Suffice it to say that a dense representation will cause problems for >>most software on many machines. As for a sparse represntation, and >>computational speed, it will depend on what specifically you want to do. >>Mathematica uses some fairly good libraries for certain linear algebra >>operations on such matrices. If what you require is not well supported >>then you might need to go to some other approach, perhaps via MathLink. >> >>Daniel Lichtblau >>Wolfram Research >> > > My problem is not the dimension of the matrixes. Certainly the > limitation on the packeds array (< 2^31)limits, but my true problem is > the slowness in to pass these matrixes to the form c++ by matlink. > That that profit inserting pieces in c++, I lose in the transfers > through matlink. I have to develop a form (structural fem) > personalized for the analysis of parts mechanics submitted to dynamic > solicitations and I was considering mathematica because I knew it from > the university. If I use c++ and MTL for example it'is ok There is a > method for move more quickly big matrixes (unfortunately the matrixes > become full with the progress of the footsteps and it would be for me > too complicated to avoid this to the beginning) from Mathematica to > an external form in c++? If you provide simple examples and take the trouble to use correct terminology then you will more likely get useful responses. For example, there is no "matlink" (the program you have in mind, I suspect, is MathLink). Moreover you still have not specified what is your data format when it resides in Mathematica. SparseArray[...]? Something else? Maybe what you will require is some form of Export. I believe that function supports some matrix types but it is, as I note, unclear which would be appropriate, as you gave no example. As for matrix fill-in, I'd be really surprised if your C++ library code uses a dense method for solving linear systems of the sort generated for FEM, with dimension around 10^5. As noted in a prior response, that would be close to 100 Gb, and that is a large chunk of memory to work with. Not to mention time, since you would likely have an O(n^3) algorithm, or at best maybe O(n^2.4) or so from asymptotically fastest approaches to matrix multiplication. Much more likely is that a Krylov type of method would be used. Similar to what Mathematica might do in solving a sparse system using machine double arithmetic. Daniel Lichtblau Wolfram Research

**References**:**Re: Intensive numerical calculations***From:*Cristian <LumisrobTogliquesto@yahoo.com>

**Re: Intensive numerical calculations***From:*Cristian <LumisrobTogliquesto@yahoo.com>