Thanks Tomas. If I do:

Y = [Array(Int64,n) for n in map(k -> binomial(J,k), 1:K)]

Then Y[1] gives the desired result (i.e. Y[1][k] is a length 1 vector). 
However, the issue for Y[2] and above. For example, if I do Y[2][k] where 
k∈[1,binomial(J,2)]
then i get a length 1 vector, whereas I would like length 2 vector. 
Similarly for Y[3][k] I would like a length 3 vector.


On Monday, 21 September 2015 09:23:56 UTC+1, Tomas Lycken wrote:
>
> Ah.
>
> Maybe [Array(Int64,n) for n in map(k -> binomial(J,k), 1:K)] is what 
> you’re looking for?
>
> // T
>
> On Monday, September 21, 2015 at 10:18:31 AM UTC+2, Alan Crawford wrote:
>
> The lower case k is intentional. I didn't want such a 'large' array as the 
>> one created when I use K because large parts of that array would be 
>> redundant. Ideally, I want this array to be as small as possible, 
>> especially since J and K might be quite a bit larger than in the example.
>>
>> On Monday, 21 September 2015 09:13:53 UTC+1, Tomas Lycken wrote:
>>>
>>> Are you sure that’s not just a typo between k and K (note the case 
>>> difference)?
>>>
>>> This works for me:
>>>
>>> J=10
>>> K=3
>>> MyArray = [Array(Int64,k) for k in 1:K, n in 1:binomial(J,K)]
>>>
>>> // T
>>>
>>> On Monday, September 21, 2015 at 10:08:13 AM UTC+2, Alan Crawford wrote:
>>>
>>> Hi,
>>>>
>>>> I'd like to be able to define an array of vectors where the number of 
>>>> vectors in the array is linked to the length of the vector. For example, I 
>>>> want to be define an array with say 10 scalars, 45 length 2 vectors, 120 
>>>> length 3 vectors, .... and so on. Intuitively, I thought the following 
>>>> code 
>>>> might achieve this:
>>>>
>>>> J=10
>>>> K=3
>>>> MyArray = [Array(Int64,k) for k in 1:K, n in 1:binomial(J,k)]
>>>>
>>>>
>>>> However, it seems i cannot use k to define the number of element 
>>>> indexed by n.  
>>>>
>>>> I was wondering if anyone knew how to create the desired array?
>>>>
>>>> Thanks
>>>> Alan
>>>>
>>> ​
>>>
>> ​
>

Reply via email to