Re: Calling functions with huge arguments

*To*: mathgroup at smc.vnet.net*Subject*: [mg97666] Re: [mg97621] Calling functions with huge arguments*From*: DrMajorBob <btreat1 at austin.rr.com>*Date*: Wed, 18 Mar 2009 04:54:26 -0500 (EST)*References*: <200903170959.EAA17074@smc.vnet.net>*Reply-to*: drmajorbob at bigfoot.com

HoldFirst and HoldAll. Bobby On Tue, 17 Mar 2009 04:59:17 -0500, Fernando Cucchietti <fernando.cucchietti at icfo.es> wrote: > Hi all, > > I am working with a VERY large tensor, so much that I would like to > keep at most two copies of it in memory at any given time. The > algorithm I want to run is convoluted and repetitive, but it looks > very compact when written in terms of subroutines and functions that > call themselves many times. However, from what I gather, Mathematica > effectively creates a copy of the arguments when a function is called. > Is this correct? > If so, I need to find a way to mimic pass-by-reference style as in C > or Fortran, or just pass the arguments that are not big and keep my > tensors defined globally (which I think makes the code look less > nice). Unwrapping the code so that it does not call functions is not > an option, because it would be very complex and never-again-usable. > My main question is then: what are the best ways to do pass-by- > reference (if it is better than global naming), or what approaches > have you taken to overcome similar problems? > > Thanks in advance, > > Fernando > -- DrMajorBob at bigfoot.com

**References**:**Calling functions with huge arguments***From:*Fernando Cucchietti <fernando.cucchietti@icfo.es>