Numerit is a programming environment for developing numerical computation programs and producing publication quality documents. Numerit is offered in two editions: the Standard Edition and the Professional Edition (Numerit Pro). Numerit Pro allows linking of several modules into a single program, making it possible to build libraries of reusable functions that can be called from any program.
The main Numerit window is shown below (for a full screen shot click here). The environment allows you to open several program windows at the same time and run all the programs simultaneously.


Each program window consists of an Editor pane (on the left), where the program is written and edited, a Document pane (on the right), where the program's output is displayed and edited, and a Message pane (at the bottom) which is used for displaying error messages. The size of each pane may be set by the user.

Numerit's program editor was especially developed for editing and debugging Numerit programs:
It has built-in debugging tools.
It includes special tools for inserting and manipulating program-blocks.
It highlights the language keywords.
It displays comments in a distinctive color.
It lets you customize the fonts and the colors.
It has many levels of undo/redo.

The program's output is edited by the document editor which has all the tools and features you expect from an advanced scientific word processor:
It lets you insert text and format it using standard formatting tools (headers, footers, styles, paragraph alignment, character fonts and attributes, etc.).
It lets you insert graphs and tables that are directly linked to your program's variables and refreshes them automatically each time you run the program.
It lets you insert pictures from the clipboard or from disk.
It lets you save the document as a Rich Text Format (RTF) file so you can continue the editing in your favorite word processor (e.g., Microsoft Word).
It includes a spelling checker.
It has a built-in equation editor.
It automatically numbers figure captions, table captions, reference captions, and equations. It renumbers the captions and the equations each time a new caption or equation is inserted, deleted, or moved.
It automatically updates all references to captions and equations in the document whenever a caption or an equation is inserted, deleted, or moved.
Numerit produces publication-quality documents. The text, graphs, tables, equations, and all other objects in the document are of the highest quality, and are fully customizable by the user.

Programs are written in Numerit's programming language. This is a high-level language that is easy-to-learn, powerful, and versatile.
Language highlights:
Multidimensional arrays (up to eight dimensions).
User-defined functions.
Complex numbers (which are automatically created when necessary).
Many built-in functions for data analysis, including: line and polynomial fitting, linear and cubic-splines interpolation, multidimensional fast Fourier transform, numerical integration and differentiation, root finding, solution of linear algebraic equations, matrix/vector arithmetic, special functions (e.g., gamma, erf, Bessel), and more.
Built-in functions, user-defined functions, and all the language's operators receive variables of any dimension as operands, so most operations on arrays do not require the explicit use of loops (although the language supports many types of loops).
Built-in dynamic-link library (DLL) interface that allows easy access to DLL functions and variables.
Variables type matching is checked but there is no need to declare variables - they inherit their type and dimensions by assignment.

Numerit's debugger is built into the program editor. The debugger allows you to pause the program and inspect variables. You may control the program execution by:
Pressing the Pause button during the run.
Setting breakpoints to pause before executing certain lines.
Putting a pause command inside the program's code.
Running the program line by line.
The debugger includes an inspector which allows you to inspect the value of variables even while the program is running. You open the inspector with a simple mouse click on the variable whose contents you want to inspect.