Re: Problem with access nested list
- To: mathgroup at smc.vnet.net
- Subject: [mg121156] Re: Problem with access nested list
- From: Yves Klett <yves.klett at googlemail.com>
- Date: Wed, 31 Aug 2011 07:41:27 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j3l16f$btp$1@smc.vnet.net>
Have a look at:
m = IdentityMatrix[3];
index = {1, 3};
m[[index]]
m[[Sequence @@ index]]
... so m[[Sequence@@{1,3}]] evaluates to m[[1,3]].
Regards,
Yves
Am 31.08.2011 12:08, schrieb Sam Takoy:
> Hi,
>
> Below is a simple code, that constructs the n-dimensional permutation
> symbol (http://mathworld.wolfram.com/PermutationSymbol.html). I found
> myself jumping through hoops to accomplish a simple task.
>
> The main obstacle was: If I have and n x n x n list "temp", and I want
> to access the entry temp[[1, 2, 3]], but the numbers 1 2 and 3 are
> available in a list indicies = {1,2,3}, how do I do it? I tried
> temp[[list]] but that's not it. What I came up with is essentially
>
> Apply[Part[temp, #]&, indices]
>
> to convert from a list to arguments. I'm sure I'm missing something.
>
> Also, how to avoid the ugly loop?
>
> Many thanks in advance!
>
> Sam
>
> Permutator[n_] := Module[{temp, perms, i},
> temp = ConstantArray[0, ConstantArray[n, n]];
> setValue[val_][indices__] :=
> Module[{}, Part[temp, indices] = val];
>
> perms = Permutations[Range[1, n]];
> For[i = 1, i <= Length[perms], i = i + 1,
> setValue[Signature[perms[[i]]]] @@ perms[[i]];
> ];
> temp
> ];
>