MathGroup Archive 1995

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

Search the Archive

How to construct pure expressions

  • To: mathgroup at
  • Subject: [mg631] How to construct pure expressions
  • From: Xah Y Lee <xyl10060 at>
  • Date: Sun, 2 Apr 1995 21:08:39 -0700 (PDT)

How to write a function ExprGenerator[] such that, for example

ExprGenerator[x,{3,3,3,3}] will return 

         x111[ x1111, x1112, x1113],
         x112[ x1121, x1122, x1123],
         x113[ x1131, x1132, x1133]
         x121[ x1211, x1212, x1213],
         x122[ x1221, x1222, x1223],
         x123[ x1231, x1232, x1233]
         x131[ x1311, x1312, x1313],
         x132[ x1321, x1322, x1323],
         x133[ x1331, x1332, x1333]
         x211[ x2111, x2112, x2113],
         x212[ x2121, x2122, x2123],
         x213[ x2131, x2132, x2133]
         x221[ x2211, x2212, x2213],
         x222[ x2221, x2222, x2223],
         x223[ x2231, x2232, x2233]
         x231[ x2311, x2312, x2313],
         x232[ x2321, x2322, x2323],
         x233[ x2331, x2332, x2333]

In general, the list will have following properties:
* All expressions has a head that starts with the letter x.

* The number after x correspond to the position list of that element. For 
example, x211 is an element with position {2,1,1}.

* The number of digits following x correspond to the level of that element.
For example,  x111, x211 are elements in level 3, x1 or x2 is in level 1, 
x is in level 0 because it has zero digits following x.

I spend 2 hours on this with no clear solution. But, one learns a lot 
about mma structures and commands that manipulate them.

 Xah Lee
 Venus & Xah Love Factory
 Quote of the day: To understand infinity, you need to know love. --Venus.

  • Prev by Date: Re: intransigent root expressions
  • Next by Date: Re: elliptic integrals
  • Previous by thread: Re: plotting roots of complex nonlinear equation
  • Next by thread: Re: How to construct pure expressions