Memory Leaks In Matrix Summation
- To: mathgroup at smc.vnet.net
- Subject: [mg5822] Memory Leaks In Matrix Summation
- From: rmj at leland.Stanford.EDU (Roger M. Jones)
- Date: Wed, 22 Jan 1997 00:44:21 -0500
- Organization: Stanford University, CA 94305, USA
- Sender: owner-wri-mathgroup at wolfram.com
In summing a matrix I write over previous values
in a do loop. However, as the resulting sample
shows, the memory continues to grow (as it is in a loop
it should, of course, write over itself). Is this
a bug, and if so is there some means of avoiding it?
In[1]:=
xx=Array[Random[]+I Random[],{41,206}];
In[2]:=
(* 206 x 206 Matrix of zeros *)
res0=Table[0,{i,1,206},{j,1,206}];
In[3]:=
(* Generate Matrix 206 x 206 ten times & sum over loop *)
Do[
xxk=xx[[k]];
Print["#: ",k];
res=Re[Outer[Times,Conjugate[#],#]&[xxk]];
res0=res0+res;
Print["Mem: ",N[MaxMemoryUsed[]/10^6]],
{k,1,10}]
#: 1
Mem: 10.9363
#: 2
Mem: 13.3135
#: 3
Mem: 14.332
#: 4
Mem: 15.5276
#: 5
Mem: 17.7384
#: 6
Mem: 19.9492
#: 7
Mem: 22.16
#: 8
Mem: 24.3708
#: 9
Mem: 26.5816
#: 10
Mem: 28.7924
Many thanks,
Roger Jones
--
Regards,
Roger Jones
(rmj at leland.stanford.edu)