Nelson-numerical-software / nelson

Licence: LGPL-3.0 license
Nelson numerical interpreter

Programming Languages

C++
36643 projects - #6 most used programming language
matlab
3953 projects
c
50402 projects - #5 most used programming language
CMake
9771 projects
Inno Setup
370 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to nelson

Casadi
CasADi is a symbolic framework for numeric optimization implementing automatic differentiation in forward and reverse modes on sparse matrix-valued computational graphs. It supports self-contained C-code generation and interfaces state-of-the-art codes such as SUNDIALS, IPOPT etc. It can be used from C++, Python or Matlab/Octave.
Stars: ✭ 714 (+1600%)
Mutual labels:  octave, scientific-computing
gossa
The Go/Go+ Interpreter
Stars: ✭ 53 (+26.19%)
Mutual labels:  interpreter, scientific-computing
getfem
Mirror of GetFEM repository
Stars: ✭ 23 (-45.24%)
Mutual labels:  octave, scientific-computing
Numcpp
C++ implementation of the Python Numpy library
Stars: ✭ 2,031 (+4735.71%)
Mutual labels:  scientific-computing, mathematical-functions
bandicoot-code
Bandicoot: GPU accelerator add-on for the Armadillo C++ linear algebra library
Stars: ✭ 21 (-50%)
Mutual labels:  matrix-functions, scientific-computing
PureScript
A C# hot reload framework for Unity3D, based on Mono's MONO_AOT_MODE_INTERP mode.
Stars: ✭ 258 (+514.29%)
Mutual labels:  interpreter
PospoliteView
Pospolite View aims to be a simple HTML viewer engine fully made in Free Pascal.
Stars: ✭ 29 (-30.95%)
Mutual labels:  interpreter
scheme.ml
Scheme (R6RS subset) interpreter written in OCaml
Stars: ✭ 14 (-66.67%)
Mutual labels:  interpreter
Cosmo
Embeddable scripting language loosely based off of Lua
Stars: ✭ 14 (-66.67%)
Mutual labels:  interpreter
pystella
A code generator for grid-based PDE solving on CPUs and GPUs
Stars: ✭ 18 (-57.14%)
Mutual labels:  scientific-computing
PyRates
Open-source, graph-based Python code generator and analysis toolbox for dynamical systems (pre-implemented and custom models). Most pre-implemented models belong to the family of neural population models.
Stars: ✭ 33 (-21.43%)
Mutual labels:  scientific-computing
bids-matlab
MATLAB / Octave tools for BIDS datasets
Stars: ✭ 37 (-11.9%)
Mutual labels:  octave
numericalgo
numericalgo is a set of numerical methods implemented in Golang.
Stars: ✭ 29 (-30.95%)
Mutual labels:  scientific-computing
tau
Tau is an open source interpreted programming language designed to be minimal, fast and efficient.
Stars: ✭ 26 (-38.1%)
Mutual labels:  interpreter
code editor unity
A code editor for MY-BASIC, powered by the Unity3D engine. With this you may create your own Code Editor, Debugger and IDE for different scripting languages.
Stars: ✭ 13 (-69.05%)
Mutual labels:  interpreter
Animach
Scheme语言实现和运行时环境 / A Scheme runtime & implementation
Stars: ✭ 45 (+7.14%)
Mutual labels:  interpreter
pikt
🎨 Image-based poetic programming language.
Stars: ✭ 72 (+71.43%)
Mutual labels:  interpreter
brs
An interpreter for the BrightScript language that runs on non-Roku platforms.
Stars: ✭ 96 (+128.57%)
Mutual labels:  interpreter
opengml
GML interpreter
Stars: ✭ 30 (-28.57%)
Mutual labels:  interpreter
chirp
Interpreter in C for rockstar programing language
Stars: ✭ 20 (-52.38%)
Mutual labels:  interpreter

Nelson logo

Visitor Badge

Codacy Badge CodeQL analysis (C/C++)CII Best Practices

Build Status

GitHub license CLA assistant Open Hub Weblate

Join the chat at https://gitter.im/nelson-numerical-software/Lobby

Nelson is an array programming language providing a powerful open computing environment for engineering and scientific applications using modern C/C++ libraries (Boost, Eigen, …) and others state of art numerical libraries.

It has sophisticated data structures (including cell, struct, linear systems, …), an interpreter and a high level programming language.

Nelson has been developed to be an open/modular system where an user can define these own data types and operations on these data types by using overload.

Nelson environment

Web site

Download

Get it from the Snap Store

Latest Windows Installer

Get it from the Windows Package Manager

Get it from the Chocolatey Package Manager

Features

  • Types managed by Nelson:

    • double and double complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • single and single complex: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • logical: scalar, vector, matrix 2D, N dimensions array, sparse matrix.
    • character array (UNICODE supported).
    • string array (UNICODE supported).
    • integers 8, 16, 32, 64 signed and unsigned: scalar, vector, matrix 2D, N dimensions array.
    • handle objects.
  • OpenMP and SIMD extensions used.

  • Fast Fourrier Transformation functions based on FFTW and MKL wrapper.

  • SLICOT (Subroutine Library in Systems and Control Theory) interfaces (optional).

  • Message Passing Interface (MPI): functions for parallel computing.

  • JSON decode/encode data support.

  • HDF5 high-level functions I/O,

  • HDF5 used as default data file format (.nh5) load/save workspace,

  • MAT-file compatible load/save workspace,

  • Foreign Function Interface C/Fortran.

  • Interfacing C/C++ or Fortran with Nelson (build and load external code on the fly).

  • MEX C API compatibility.

  • Nelson Engine API for C (compatible with MEX Engine). Call Nelson from your C code as engine.

  • RESTful API web service.

  • Inter-process communication between Nelson's process.

  • The QML engine enables nelson programs to display and manipulate graphical content using Qt's QML framework.

  • Component Object Model (COM) client interface: binary-interface standard for software components on Windows.

  • Write/Read xlsx files on Windows using COM.

  • Embedded Nelson code editor.

  • Help engine:

    Generate help files using Nelson dedicated functions. View your generated help files as html, markdown, pdf, gitbook or directly in Nelson help viewer.

  • Tests engine:

    Validate your algorithm using Nelson dedicated functions. Export the test results under the xUnit reports format.

  • Profiling and Code coverage tools for Nelson's language:

    Nelson has a built-in profiler that is very useful to profile your code and find out what script or function is taking the most time.

  • Nelson cloud: Instant access to Nelson anywhere from an web browser.

  • Module skeleton to extend Nelson available here:

  • Nelson Modules Manager (nmm) : package manager for Nelson

Licenses

Nelson is delivered under dual-license:

  • License (GNU Lesser General Public License (LGPL) v3.0)

    or

  • License (GNU General Public License (GPL) v3.0)

Resources

Tested and supported platforms

Systems with ✓ downloads are available on downloads page.

Systems with ✓ for CI are tested with continuous integration for every commit.

The systems listed here without CI or binaries are known to build and operate, but the continued support of these platforms is user-dependent.

Operating System Architecture CI Binaries
Windows 7 to 11 x86-64 (64-bit)
i686 (32-bit)
MacOS Monterey x86-64 (64-bit)
MacOS BigSur x86-64 (64-bit)
MacOS Catalina x86-64 (64-bit)
Ubuntu 20.04 x86-64 (64-bit) ✓ (snap)
Ubuntu 18.04 x86-64 (64-bit) ✓ (snap)
ArchLinux x86-64 (64-bit) ✓ (snap)
Fedora 35 x86-64 (64-bit) ✓ (snap)
Raspbian ARM v8 (64-bit)
MacOS Monterey arm64 (M1)

Allan CORNET ([email protected])

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].