       Position of Max

• To: mathgroup <mathgroup at yoda.physics.unc.edu>
• Subject: Position of Max
• From: HAY at leicester.ac.uk
• Date: Sat, 23 MAY 92 22:10:37 GMT

```Athanasios Orphanides  writes:

> I am trying to find the most efficient way to get the maximum element
> in a list AND its first position in the list. This is done
> a few thousand times in an iteration program so any saving would
> be useful. Currently I use Max and Position. For example:
>
>    x=Table[100 i^2-i^3, {i,2000}]
>    Timing[xm=Max[x]; Position[x,xm][[1,1]]]
>
> Is there a way to retrieve the position by just doing Max[]
> and identifying the index of the result without having to use
> Position[]?

We can get a modest speedup by using the extra slots available in Position:
Position[x, xm, {1}, 1] searches only at level 1 and return the position of
the first occurrence of xm that is found,

x=Table[100 i^2-i^3, {i,2001}];
Timing[xm=Max[x]; Position[x,xm,{1},1][[1,1]] ]
x=Table[100 i^2-i^3, {i,2000}];
Timing[xm=Max[x]; Position[x,xm][[1,1]]]

{0.75 Second, 67}

{0.883333 Second, 67}

From
Allan Hayes
Department of Mathematics
The University
Leicester LE1 7RH
U.K.
hay at leicester.ac.uk

```

• Prev by Date: Draft tutorial on TeX/Mathematica
• Next by Date: [no subject]
• Previous by thread: Position of Max
• Next by thread: polygon problem in 3D