Emacs Calc – Evaluate Expression For Multiple Values

I wanted to get a sense of the value of

$\frac{1}{\frac{1}{\Gamma(x)} + 1}$

for various input values $$x$$. Instead of evaluating this in F# or R, I decided it was a good opportunity to learn more abuot Emacs calc.11 Emacs calc is a very powerful desktop calculator, and I know I could be much more productive if I knew how to use it well.

It took some time to dig out the interesting parts of the manual, but in the end I figured out what to do. I needed to enter a vector of the values I wanted to try:

[ 1 2 9 99 ]
1:  [1, 2, 9, 99]

and, of course, the formula I wanted to try these with:

' 1/(1/gamma(x)+1)
2:  [1, 2, 9, 99]
1:  1 / (1 / gamma(x) + 1)

And then I wanted to map a function pointwise to the elements of a vector, as described in section 9.8.2 of the manual. However, it wasn’t a plain built-in function I wanted to apply, so I had to read the 9.8.1 section on specifying operators in detail, until I figured it out how it all fit together. In the end, though, it was quite simple: by specifying the function $, I’m telling Emacs to use the algebraic equation at the top of the stack. V M$ RET
1:  [0.5, 0.5, 0.9999, 1.]

This is very nice!