Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
1999
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 1999

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

Search the Archive

Re: Working in Modules

  • To: mathgroup at smc.vnet.net
  • Subject: [mg15954] Re: Working in Modules
  • From: juan antonio gonzalez castro <jagonzal at students.uiuc.edu>
  • Date: Wed, 17 Feb 1999 23:34:13 -0500
  • Organization: University of Illinois at Urbana-Champaign
  • References: <7a2c0d$1ul@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

  The difference in your outputs is because while Module init includes
Partition[s,n] as last command, Module init1 doesn't. 
  Partition[s,n] splits the list s into a list of n lists, i.e., it
partitions the set s of nxn elements into n lists with n elements each. 
NOTE THAT IN init PARTITION IS DONE ON s, NOT ON THE TABLE THAT THE
TRANSFORMATION
 S /. {0->-1},
GENERATES, which is the table you get as output from init1. 
  Now, if what you need is to partition the latter 
you can rewrite your module as:

 init2[n_Integer]:=Module[
                     {s=Table[Random[Integer],{n n}]},
                     Partition[s/.{0->-1},n]

the output of init2 should be a list of n lists with n elements each,
in which zeros have been replaced by -1.
  I hope this solves your puzzle.

_______________________________________________________________________
Juan A. Gonzalez-Castro, 

On 12 Feb 1999, Dr D McK Paul wrote:

> This is my third attempt to post this question. No idea why it doesnt
> work. I'm not an expert in Mathematica and would appreciate comments on
> why init1 returns a list with all zeros replaced by -1, but init does
> not. Its probably very simple but its confused me.
> 
> Don
> 
> init[n_Integer]:=Module[
>                     {s=Table[Random[Integer],{n n}]},
>                     s/.{0->-1};
>                     Partition[s,n]
>                     ]
> 
> init1[n_Integer]:=Module[
>                     {s=Table[Random[Integer],{n n}]},
>                     s/.{0->-1}
>                     ]
> 
> 
> --
> 
> Prof. Don McKenzie Paul               tel.  (1203) 523603 Department of
> Physics                 fax.  (1203) 692016 University of Warwick      
> email  phrje at csv.warwick.ac.uk COVENTRY CV4 7AL
> UK
> -- 
> ****************************************************** Professor Don
> McKenzie Paul
> Department of Physics
> University of Warwick
> 
> 
> 



  • Prev by Date: Re: How to print a determinant in the traditional way
  • Next by Date: Re: implementing a stack
  • Previous by thread: Re: Working in Modules
  • Next by thread: Beep Only, if Timing Greater Than 10 Seconds