Features

Learn here how NumeRe can help you

Integrated documentation and keyword search

The integrated documentation and the keyword search explain functions in detail and help you quickly when you need help. Examples for the use of commands offer you a support to quickly implement your tasks.

If you get stuck because you can't remember the name of a function, try the "Tell me, what do you want to do" search function in the toolbar.

Numerical mathematics parser

Mathematical expressions are no problem for the parser. It offers you the necessary flexibility to fulfill your tasks. The parser is inherently vectorial, so you can calculate vectorial expressions without additional code.

NumeRe also offers you a large set of predefined physical and mathematical constants.

Support for a wide range of data formats

Your data is partly in text files, partly in Microsoft Excel®? No problem for NumeRe. The following data formats are supported:

Data analysis functions

NumeRe supports you in any kind of data analysis. The classics are statistical functions like mean and standard deviation. But also much more advanced analyses like histograms and of course any form of self-developed algorithm is possible. There are no limits for you here.

Nonlinear curve fitting in 1D and 2D (Nonlinear regression)

You have measurement data and want to check if your physical model fits? The integrated Levenberg-Marquardt algorithm can fit functions in 1D and 2D to your data via parameters. As long as your model is expressible by numerical functions, you are not limited in your model. Even better, you don't even have to declare the parameters - but you can if you want.

In addition, NumeRe offers you the possibility to formulate additional conditions for the parameters to be fitted, or to examine the model for fit minima (as a so-called Chi² map).

FFT and FWT algorithms

Fourier transforms have become a standard feature of any good data analysis. NumeRe also offers you these functions and even goes one step further by providing you with wavelet transforms. Both algorithms can of course also be applied inversely.

Graphical plotting in up to three dimensions

There are almost no limits to the graphical representation of your data and functions. NumeRe offers over 10 different basic plotting styles in one, two and three dimensions, which you can further modify. Activate a grid or a comprehensive box, switch to logarithmic scaling, use light and transparency effects. Different color scales are available for 2D and 3D plots, but you can also define a color scale yourself.

If your desired plotting style is not directly available, you can combine several styles using the compose mode. And don't worry: NumeRe will take care of arranging the foreground and background in the right order...

Matrix operations

If vectorial expressions are no longer sufficient or if you want to multiply two matrices together, you will find what you are looking for in matop mode. In this mode you have additional matrix functions like invert(), det(), eigenvects(), eigenvals() and diagonalize() at your disposal, which besides matrix multiplication by means of the **-operator handle linear algebra quickly and efficiently.

Automation and programming

You can of course use NumeRe interactively, but more complex problems will require a lot of steps that you would have to enter again and again. For such problems NumeRe offers you the possibility to write scripts in which you can store the individual steps line by line. Control flow blocks like if...else...endif or for...endfor give your code additional flexibility and structure.

The integrated editor supports you when writing scripts by syntax, bracket and block highlighting to show you the structure of your code quickly and clearly. It can also automatically format your code to further increase readability. A static code analyzer can check your code for potential errors and mistakes as you type, and give you suggestions for coding styles.

There will come a time when a simple script is no longer sufficient to accomplish your tasks. Then procedures offer the next better level of abstraction with local variables and recursive calls. Fixed namespaces make dependencies clear and make quick swapping of procedures or whole namespaces trivial and obvious to everyone.

With the code extraction feature of the editor you can quickly and easily swap whole blocks of scripts or procedures into new procedures, so that even long code sequences quickly become clear again.

If you want to share your once written procedures with your colleagues or friends, you can use the package creator, with which you can detect dependencies and integrate all procedures into a common install script that the recipients can quickly and easily integrate into their distribution.

Integrated version control system (Source control - SCM)

You know the situation: You edit a code, close the program and realize afterwards that You made a mistake. Then you want to revert the change and you just can't remember what exactly you changed.

If You use a version control system like Mercurial, Apache SVN or Git, You can run the diff viewer to track Your changes. However, if You don't, that's not a problem either.

By default, NumeRe creates a version history of all files You edit in the editor. The files must be in one of the five default paths of NumeRe. For all other files NumeRe creates a *.backup file where You can find the last version. You can find the version history of the files in the context menu. From here You can restore older versions or directly create a *.diff file to track Your changes.

Event-based graphical user interfaces

The use of commands and procedures can fulfill almost all Your wishes. But sometimes You want it to be more comfortable or more intuitive, don't You?

The event-based graphical interfaces You can create with layout scripts (*.nlyt) with only a few lines simplify access to Your solutions and make them much more accessible for people who are less familiar with programming. And the best: You can integrate layout scripts into packages and even link them directly in the packages menu via GUI plugins: so you create look'n feel as if the solution would come directly from us.

If You are wondering now if You need to customize Your solution for this, we can reassure You. You only need the layout script and an event handler procedure (where a single procedure can be sufficient), which then points to Your solutions like a normal NumeRe procedure.