This might seem as a silly question, but is it feasible to use a mathematical expression as the name of a function?

For example, I'm studying the cross section of Compton scattering and there is a formula for the differential cross section, which is denoted as $\frac{d\sigma}{d\Omega}$. I'd like to express the latter as a function of energy E, angle θ and atomic number Z.

If I, naively, use $\frac{d\sigma}{d\Omega}[Z\_, E\_, \theta\_] := \ldots$ I get the anticipated error:

SetDelayed::write : Tag Times in dσ/dΩ[Z_,E_,θ_] is Protected

Instead of the obvious workaround of using a name such as diffSection[Z_,E_,θ_] := ... is there any other way ?

  • $\begingroup$ A big barred underscript could do? $\endgroup$
    – Peltio
    Oct 9 '13 at 15:55

You could use the Notation package:

<< Notation`
Symbolize[ParsedBoxWrapper[FractionBox["dσ", "dΩ"]]]
(dσ/dΩ)[Ε_, r_, θ_] := f[Ε, r, θ]

Notation package used to make a complicated symbol

  • $\begingroup$ Worked perfect! Thanks @TimothyWofford! $\endgroup$
    – stathisk
    Oct 9 '13 at 17:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.