       RE: Changing delayed formula

• To: mathgroup at smc.vnet.net
• Subject: [mg35483] RE: [mg35461] Changing delayed formula
• From: "DrBob" <majort at cox-internet.com>
• Date: Tue, 16 Jul 2002 04:49:40 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```I forgot you were trying to distribute And, rather than List:

des = {{11, 12, 13, 14}, {21, 22, 23}, {31, 32}, {41, 42, 43, 44, 45}};
Distribute[And @@ des, List]

Bobby

-----Original Message-----
From: Julio Vera [mailto:jvera at adinet.com.uy]
To: mathgroup at smc.vnet.net
Subject: [mg35483] [mg35461] Changing delayed formula

Hi,

I have a list of lists. it's length (the number of sublists it
contains) varies.

In:= des={{11,12,13,14},{21,22,23},{31,32},{41,42,43,44,45}}

Out:= {{11,12,13,14},{21,22,23},{31,32},{41,42,43,44,45}}

The length of each of the sublists is arbitrary, too. So I have this
list of lengths.

In:= elems=Flatten[Table[Dimensions[des[[i]]],{i,Length[des]}]]

Out:= {4,3,2,5}

I want to obtain the list of all combinations of one element of each
sublist, bounded by &&. This will be a list of 120 elements, each of
them with 4 components. I define a delayed formula, and apply Array to
it (the characters printed as bold are subscripts in the Mathematica
notebook).

In:=
cond4[a_,b_,g_,d_]:=des[[1,a]]&&des[[2,b]]&&des[[3,g]]&&des[[4,d]]

In:= combi=Flatten[Array[condLength[des],elems]]

Out:=
{11&&21&&31&&41,11&&21&&31&&42,11&&21&&31&&43,11&&21&&31&&44,...

...14&&23&&32&&42,14&&23&&32&&43,14&&23&&32&&44,14&&23&&32&&45}

Since the length of des varies, I would have to define cond each time.
For instance:

cond3[a_,b_,g_,d_]:=des[[1,a]]&&des[[2,b]]&&des[[3,g]]

I would like to make a definition for cond that would adapt to these
changes automatically.

I arrived to this solution, which is not rejected by Mathematica, but
does not work, either.

In:= d[a_,b_]:=des[[a,b<>"_"]]

In:= Unprotect[ReplaceAll]

Out:= {ReplaceAll}

In:=
condLength[des][Table[FromCharacterCode[944+i]<>"_",{i,Length[des]}]]/.{
a__}=AEa:=Apply[And,Table[d[i,FromCharacterCode[944+i]<>"_"],{i,Length[d
es]}]]

In fact, I quit the kernel and rerun all the cells except the one
written here as In. If not, the definition for cond4 remains as it
was. I was not able to clear cond4 individually.

Thanks very much for anything you can suggest.

Best regards,

Julio Vera

```

• Prev by Date: How to select all polynomials which have degree greater than a give number out of a list of polynomials!
• Next by Date: Re: Re: Re: Factoring question
• Previous by thread: Re: Changing delayed formula
• Next by thread: Re: Changing delayed formula