Re: Lists without outer braces
- To: mathgroup at smc.vnet.net
- Subject: [mg8400] Re: [mg8306] Lists without outer braces
- From: Daniel Lichtblau <danl>
- Date: Tue, 26 Aug 1997 20:41:40 -0400
- Sender: owner-wri-mathgroup at wolfram.com
K. Nikolaj Berntsen wrote:
>
> Hi Group,
>
> Is there any way to produce a list without the outer braces?
> For example how do you produce:
>
> {x1,1},{x2,1},{x3,1}
> from
> {{x1,1},{x2,1},{x3,1}}
>
> My real problem is to save a lot of typing in the following expression
> where 'n' either is a fixed number or a variable one.
>
> FindMinimum[
> Sum[x[i],{i,1,n}]
> ,{x[1],1} , {x[2],1} , ... , {x[n],1}
> ]
>
> (this problem is not well posed, but it illustrates what I need).
>
> Happy Computing,
> Nikolaj
> --
> ....
You can apply Sequence to the list in order to splice in the elements as
separate arguments to some function. For example:
In[15]:= startlist = {{x1, 1}, {x2, 1}, {x3, 1}};
In[16]:= eqns = {x1^2-2*x1*x2-x2*x3+3==0, x1*x3==x2, x1+x2-x3^2==3};
In[17]:= FindRoot[eqns, Evaluate[Apply[Sequence, startlist]]]
Out[17]= {x1 -> 2.04235, x2 -> 1.48963, x3 -> 0.729371}
The Evalaute wrapper is needed because FindRoot has the attribute
HoldAll.
Daniel Lichtblau
Wolfram Research
danl at wolfram.com