Strange memory behavoir of Norm
- To: mathgroup at smc.vnet.net
- Subject: [mg109094] Strange memory behavoir of Norm
- From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
- Date: Mon, 12 Apr 2010 23:00:49 -0400 (EDT)
Hi, a user of another forum brought my attention to a memory leak which I cannot explain. For real-valued numbers x1, x2 and x3 the following is the same Norm[{x1, x2, x3}] Norm[{{x1}, {x2}, {x3}}] Can someone confirm and maybe explain the following behavoir? I checked it on Linux and OSX with Mathematica 7. usedmema = MemoryInUse[]; Block[{a = {1., 1., 1.}}, Nest[Norm[a] &, Null, 10^6]; ]; (MemoryInUse[] - usedmema)/2^20. gives here 0.00259399 while usedmema = MemoryInUse[]; Block[{a = {{1.}, {1.}, {1.}}}, Nest[Norm[a] &, Null, 10^6]; ]; (MemoryInUse[] - usedmema)/2^20. gives 122.075 MB of used memory. Expanding the definition of Norm[{{x1}, {x2}, {x3}}] and testing this usedmema = MemoryInUse[]; Block[{a = {1., 1., 1.}}, Nest[Sqrt[ a[[1]]*Conjugate[a[[1]]] + a[[2]]*Conjugate[a[[2]]] + a[[3]]*Conjugate[a[[3]]]] &, Null, 10^6]; ]; (MemoryInUse[] - usedmema)/2^20. gives no memory leak with 0.00299072MB. Any ideas? Cheers Patrick