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 > ]; >