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?