MathGroup Archive 1995

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

Search the Archive

Constructing expressions


Someone asked last night about a way to construct expressions
of a certain type.  I erased the message but then lay awake
thinking about an answer.  It is similar to some things that
I have had to work out in the past.  Anyway, here is a suggestion.
I'm not sure if I am reproducing exactly what was asked for
but hopefully it is close.

Here is some code:

Cat[a_,b_] := ToExpression[StringJoin[
    ToString[a], ToString[b]]];
ddd[x_[k_]] := Apply[x,Table[Cat[x,i],{i,k}]];
ddd[x_[k_,j__]] := Apply[x,
    Table[ddd[Cat[x,i][j]],{i,k}]];

Here is an example:

In[25]:=
ddd[t[2,2]]
Out[25]=
t[t1[t11, t12], t2[t21, t22]]

In[28]:=
ddd[t[2,2,3]]
Out[28]=
t[t1[t11[t111, t112, t113], t12[t121, t122, t123]], 
  t2[t21[t211, t212, t213], t22[t221, t222, t223]]]


Scott Herod
Applied Mathematics
University of Colorado, Boulder
sherod at newton.colorado.edu


  • Prev by Date: Re: list of Mma commands with specified properties
  • Next by Date: Re: Performance of student version of Mathematica?
  • Previous by thread: Re: Re: Calling functions before loading the package
  • Next by thread: Submatrix with greatest determinant?