MathGroup Archive 2010

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

Search the Archive

Re: Defining a function using common notation for absolute value (not Abs[x])

  • To: mathgroup at smc.vnet.net
  • Subject: [mg112762] Re: Defining a function using common notation for absolute value (not Abs[x])
  • From: Peter Breitfeld <phbrf at t-online.de>
  • Date: Wed, 29 Sep 2010 04:16:18 -0400 (EDT)
  • References: <i7ser8$psa$1@smc.vnet.net>

Gianni wrote:

> Please refer to:
>
> http://www.accardi.com/tutor/AbsoluteValueNotationSnapShot.bmp
>
> Thanks in advance for any help here.
>
>
> In ASCII:
>
> The given function to work with:  f(x) = (3^-|x|)
>
> Define it in Mathematica:
>
> f[x_]:=3^-Abs[x]
>
> f[x_]:=3^-|x|
>
> Syntax::tsntxi: "|x|" is incomplete; more input is needed.
>
> Syntax::sntxi: Incomplete expression; more input is needed.
>
> I am trying to display the absolute value exponent in the second
> function definition above in the way students will see it in a
> standard math text (with the vertical bars, not Abs, like in the first
> text line).  The first definition above is without error (exponent
> shown as -Abs[x]).  The second is what I am trying to define without
> error.  I am trying to find the button (hopefully on the classroom
> assistant palette) that will produce the desired results.  The button
> in the Typesetting section of the Classroom Assistant won't be
> implemented as an error free function definition as you see in the
> error messages.
>
> --------------------------------------------
>

At least in StandardForm Mathematica needs opening an closing operators. I did
the following to make Abs[x] to be displayed as

\[LeftBracketingBar]x\[RightBracketingBar]

BracketingBar::usage="\[LeftBracketingBar]x\[RightBracketingBar] is
Abs[x] in StandardForm."

then I did:

MakeExpression[RowBox[{"\[LeftBracketingBar]",x_,"\[RightBracketingBar]"}],
StandardForm]:=MakeExpression[RowBox[{"Abs[",x,"]"}],StandardForm]

MakeBoxes[Abs[x_],StandardForm]:=
RowBox[{"\[LeftBracketingBar]",MakeBoxes[x],"\[RightBracketingBar]"}]

I put these settings into my private initialations file, the last two
into the Begin["`Private`"] part.

Now you can enter Abs[x] and in the Output it shows as  |x|.
And you can enter Abs[x]  as

ESC l| ESC x ESC r| ESC

If you want to Abs[x] as |x| in the Input Cell use Cell/Convert to
StandardForm or the shortcut

-- 
_________________________________________________________________
Peter Breitfeld, Bad Saulgau, Germany -- http://www.pBreitfeld.de


  • Prev by Date: Re: How do I test for existence of a list element? Clarified
  • Next by Date: Re: Manipulating Solution List from NDSolve
  • Previous by thread: Re: Defining a function using common notation for absolute value (not Abs[x])
  • Next by thread: Re: Defining a function using common notation for absolute value (not Abs[x])