Since this is a desktop application, I would keep Python out just now because applications written in that can be slow.
Based on what you've said, I think your four best choices are: C, C++, C#, or Java. They're all powerful languages with a plethora of libraries, frameworks, and APIs to help get your application up and running - especially for mathematics. The reason I recommend them all too, is because they're all portable languages(even C#).
There is a software framework called
Mono that allows for C# implementations on Mac and Linux systems as well as Windows. There is also
Monodevelop which allows you to work with C# and export these projects to non-Windows systems.
C and C++, to my knowledge, you will need to build and compile them for each system individually. An executable for Windows, one for Mac, one for Linux, you get the idea. But if used well, they're both really great and fast languages, capable of doing a lot of calculations.
C++ can be performance heavy but that is only if: the code is unoptimised or there is a lot going on in the application(you'll find this is the language of choice for video games because of the multitude of things it's capable of, hence the performance). When you're starting with C++, the language retains most features from C and has many similarities to Java; it's when you start going deeper into its more complex features like templates and when your program begins to get bigger, that's when the problems start showing. C++ looks complex because of its syntax, but don't be afraid to face it.
Java is guaranteed to be installed on most systems and the language is designed to be compiled into one executable that can be ran on any system. I would say it's good for math too, as it has standard libraries for math(just like C and C++) and considering many banks/accounting firms use it in their systems, I would say it's a good choice too.
Hope this helps!