MathGroup Archive 1998

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Uses for Identity[expr]?



In article <6dg5ij$2n5@smc.vnet.net>, Ersek_Ted%PAX1A@mr.nawcad.navy.mil wrote:
>I have often wondered what  Identity[expr]  is good for.
>...
>There must be a good reason for having this function. I just can't
> see what it is.  Can someone explain?

Identity is useful as an argument to functionals when users want to pass
a "do nothing" function, commenly exhibited in

 Plot[...,DisplayFunction->Identity]

Of course, Identity can also be user defined as Function[##].

It is also useful when piping a sequence of pure functions as in

 If[...,f,Identity]@expr

, where the more common version is If[...,f@expr,expr]. The former
construct saves typing if expr is long. In the following example, such
construct avoids inefficiency,

 Through[{f1,Identity,f2,Identity}[expr]]

as compared to {f1@expr,expr,f2@expr,expr} where expr is calculated
several times.

The construct Through[{f1,Identity,f2,Identity}[expr]] is often
preferable than {f1@#,#,f2@#,#}&@expr because the latter involves
building a pure function, where the former does not involve such
"extraneous" step.

--

Sometimes I find Identity a convenient build-in symbol that stands for
the identity element in groups. For example,

Rotation[Pi]**Rotation[Pi]=Identity;
whatHappend[groupProduct_]:=If[groupProduct===Identity,"do this","do
that"]

Lastly, Identity is good because it is a fundamental function. By having
Identity, programs can reflect mathematics on paper directly.

 Xah, xah@best.com
 http://www.best.com/~xah/Wallpaper_dir/c0_WallPaper.html
 "Unix, C, csh, C++, Perl... passing the torch of a brain damaged
tradition."




  • Prev by Date: Re: Problem with ->
  • Next by Date: Integrate E^(I x) Bug?
  • Prev by thread: Uses for Identity[expr]?
  • Next by thread: Plotting alogrithm question..