'Is there a way to define operators in C++? (or another language)

I am aware about operator overloading, but this is not what I am talking about.

I do quite a bit of scientific computation in C++. So for example I have to compute gradients, dot products, laplacians, hessians...

All of these usually have well defined and standrad math symbols. The gradient uses nabla, the hessian nabla^2 the laplacian \delta ...

I normally have to write vec Gradient(fun_ptr) or Hessian(fun_ptr).

The issues is that this makes the code deviate from the paper I am implementing and it makes it just a little harder to catch when you copied something wrong.

Is there any way to define the \nabla character as an operator for example?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source