MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Memory conserving Input of big Ascii tables ?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg35414] Re: Memory conserving Input of big Ascii tables ?
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Fri, 12 Jul 2002 04:28:23 -0400 (EDT)
  • Organization: Universitaet Leipzig
  • References: <agjj2m$251$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

write a MathLink program !

Regards
  Jens

Justus Heimann wrote:
> 
> Hello,
> 
> I'm seeking for a memory (i.e., Mathematica kernel and WindowsOS
> memory!) conserving way to read in big Ascii tables (in fact quadratic
> matrices of up to 10.000 x 10.000 elements) of double precision real
> numbers ? The processing time is of minor importance, memory saving is
> the key!
> 
> What I tried with my Mathematica 4.0 Windows version is a simple
> sequentially procedure like:
> 
> ----------
> funcReadSeqBigMatrices[filein_String]:=
>    Module[{streamIn, DUMMY, MATRIX = {}},
> 
>          streamIn = OpenRead[filein];
> 
>          Do[{
>              DUMMY =
>              ReadList[streamIn, Array[Number&, 3], Ni][[All, 3]];
>              AppendTo[MATRIX, DUMMY];
>              Clear[DUMMY]; Unprotect[Out]; Clear[Out]; Protect[Out];
> 
>          }, {Nj}];
> 
>          Close[streamIn];
>          MATRIX = Developer`ToPackedArray[MATRIX, Real];
>          inMATRIX := Return[MATRIX];
>    ];
> ----------
> 
> in order to read in Ascii tables formated like (row index i, column
> index j, value) of the form:
> 
> ----------
>     1       1   0.529597998598605E-04
>     1       2   0.530631874495232E-04
>     1   .....   .....................
>     1   10000   0.516990975201977E-04
>     2       1   0.529597998598605E-04
>     2       2   0.530631874495232E-04
>     2   .....   .....................
>     2   10000   0.532446901533145E-04
> .....   .....   .....................
> 10000       1   0.532674217089594E-04
> 10000       2   0.517207876590374E-04
> 10000   .....   .....................
> 10000   10000   0.516990975201977E-04
> ----------
> 
> But, this isn't memory conserving enough in my case. Does anyone know
> a nice and memory conserving way to do this job ???
> 
> Many many thanks!
> Justus


  • Prev by Date: RE: Re: ColorFunction TriangularSurfacePlot
  • Next by Date: RE: = versus := and trying to speed up calculations
  • Previous by thread: Memory conserving Input of big Ascii tables ?
  • Next by thread: Integration yields different results... Why?