- #1

- 27

- 0

In Mathematica I have tensor T for example

In[]:=Dimensions[T]

Out[]:={3,3,4}

now i have index of some element in the List form

index={1,2,3}

Now I want to use the element whose index is in variable

**index**. How can I do it?

You are using an out of date browser. It may not display this or other websites correctly.

You should upgrade or use an alternative browser.

You should upgrade or use an alternative browser.

- Mathematica
- Thread starter unih
- Start date

- #1

- 27

- 0

In Mathematica I have tensor T for example

In[]:=Dimensions[T]

Out[]:={3,3,4}

now i have index of some element in the List form

index={1,2,3}

Now I want to use the element whose index is in variable

- #2

- 1,069

- 29

T[[Sequence @@ index]]

or

T[[Apply[Sequence,index]]]

or

T[[Apply[Sequence,index]]]

- #3

- 27

- 0

Thank you very much! Its the only combination I didnt try!

- #4

- 313

- 1

Code:

```
In[4]:= T = Array[t, {5, 5, 5}];
In[8]:= SetOptions[TimeAv, Method -> {"MinNum", 1000000}];
In[9]:= T[[Sequence @@ {3, 3, 4}]] // TimeAv
During evaluation of In[9]:= Total wall time is 2.646485, total cpu time is 2.65217 and total time spent evaluating the expression is 2.65217
During evaluation of In[9]:= The expression was evaluated 1100010 times, in blocks of 110001 runs. This yields a mean timing of 2.41104*10^-6 with a blocked standard deviation of 2.28871*10^-7.
Out[9]= {2.41104*10^-6, t[3, 3, 4]}
In[10]:= Extract[T, {3, 3, 4}] // TimeAv
During evaluation of In[10]:= Total wall time is 0.614893, total cpu time is 0.616039 and total time spent evaluating the expression is 0.616039
During evaluation of In[10]:= The expression was evaluated 1100010 times, in blocks of 110001 runs. This yields a mean timing of 5.6003*10^-7 with a blocked standard deviation of 4.65709*10^-8.
Out[10]= {5.6003*10^-7, t[3, 3, 4]}
```

The tutorial http://reference.wolfram.com/mathematica/tutorial/ManipulatingListsByTheirIndices.html is worth looking at.

- #5

- 27

- 0

Thank you

Share:

- Replies
- 2

- Views
- 5K