Re: Variables names
- To: mathgroup at smc.vnet.net
- Subject: [mg15031] Re: [mg15002] Variables names
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Wed, 9 Dec 1998 04:12:17 -0500
- Sender: owner-wri-mathgroup at wolfram.com
On Sat, Dec 5, 1998, Kim Allemand <kim.allemand at epfl.ch> wrote: >Hi, >I have a square matrix Q of dimension N and would like to generate the >quadratic function $\sum_{i,j}q_{ij}x_i x_j$. The problem is how to say >to Mathamatica that the variables names are x1, x2, etc. Is it possible >to generate variables names in an automatic way? A possibility would be >to generate manually a vector NN={x1, x2, x3, ....} of dimension N and >then to pick NN[[i]] for the ith variable name, but imagine when >N=1000... !! >Thanks, Kim > Here is an improved verion of my previous program, with much better notation. Is this what you had in mind or have I failed to understand your point? In[1]:= variablelist[x_,n_]:= Map[ToExpression, Map[StringJoin,Map[ToString,Transpose[{Table[x,{n}],Range[n]}],{2}]]] quadratic[q_,x_,n_]:= Flatten[Outer[Times,variablelist[x,n],variablelist[x,n]]].Flatten[ Array[q,{n,n}]] In[3]:= quadratic[q,x,10] Out[3]= 2 x1 q[1, 1] + x1 x2 q[1, 2] + x1 x3 q[1, 3] + x1 x4 q[1, 4] + x1 x5 q[1, 5] + x1 x6 q[1, 6] + x1 x7 q[1, 7] + x1 x8 q[1, 8] + x1 x9 q[1, 9] + 2 x1 x10 q[1, 10] + x1 x2 q[2, 1] + x2 q[2, 2] + x2 x3 q[2, 3] + x2 x4 q[2, 4] + x2 x5 q[2, 5] + x2 x6 q[2, 6] + x2 x7 q[2, 7] + x2 x8 q[2, 8] + x2 x9 q[2, 9] + x10 x2 q[2, 10] + x1 x3 q[3, 1] + 2 x2 x3 q[3, 2] + x3 q[3, 3] + x3 x4 q[3, 4] + x3 x5 q[3, 5] + x3 x6 q[3, 6] + x3 x7 q[3, 7] + x3 x8 q[3, 8] + x3 x9 q[3, 9] + x10 x3 q[3, 10] + x1 x4 q[4, 1] + x2 x4 q[4, 2] + x3 x4 q[4, 3] + 2 x4 q[4, 4] + x4 x5 q[4, 5] + x4 x6 q[4, 6] + x4 x7 q[4, 7] + x4 x8 q[4, 8] + x4 x9 q[4, 9] + x10 x4 q[4, 10] + x1 x5 q[5, 1] + x2 x5 q[5, 2] + 2 x3 x5 q[5, 3] + x4 x5 q[5, 4] + x5 q[5, 5] + x5 x6 q[5, 6] + x5 x7 q[5, 7] + x5 x8 q[5, 8] + x5 x9 q[5, 9] + x10 x5 q[5, 10] + x1 x6 q[6, 1] + x2 x6 q[6, 2] + x3 x6 q[6, 3] + x4 x6 q[6, 4] + 2 x5 x6 q[6, 5] + x6 q[6, 6] + x6 x7 q[6, 7] + x6 x8 q[6, 8] + x6 x9 q[6, 9] + x10 x6 q[6, 10] + x1 x7 q[7, 1] + x2 x7 q[7, 2] + x3 x7 q[7, 3] + x4 x7 q[7, 4] + x5 x7 q[7, 5] + x6 x7 q[7, 6] + 2 x7 q[7, 7] + x7 x8 q[7, 8] + x7 x9 q[7, 9] + x10 x7 q[7, 10] + x1 x8 q[8, 1] + x2 x8 q[8, 2] + x3 x8 q[8, 3] + x4 x8 q[8, 4] + x5 x8 q[8, 5] + 2 x6 x8 q[8, 6] + x7 x8 q[8, 7] + x8 q[8, 8] + x8 x9 q[8, 9] + x10 x8 q[8, 10] + x1 x9 q[9, 1] + x2 x9 q[9, 2] + x3 x9 q[9, 3] + x4 x9 q[9, 4] + x5 x9 q[9, 5] + x6 x9 q[9, 6] + x7 x9 q[9, 7] + 2 x8 x9 q[9, 8] + x9 q[9, 9] + x10 x9 q[9, 10] + x1 x10 q[10, 1] + x10 x2 q[10, 2] + x10 x3 q[10, 3] + x10 x4 q[10, 4] + x10 x5 q[10, 5] + x10 x6 q[10, 6] + x10 x7 q[10, 7] + x10 x8 q[10, 8] + x10 x9 q[10, 9] + 2 x10 q[10, 10] Andrzej Kozlowski Toyama International University JAPAN http://sigma.tuins.ac.jp/