Popularity
1.7
Growing
Activity
9.1
Declining
19
7
6

Description

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 developped to be an open/modular system where an user can define these own data types and operations on these data types by using overload.

Programming language: C++
Latest version: v0.3.10

nelson alternatives and similar libraries

Based on the "Scripting" category

Do you think we are missing an alternative of nelson or a related project?

Add another 'Scripting' Library

README

     __     _  __
  /\ \ \___| |/ _\ ___  _ __
 /  \/ / _ | |\ \ / _ \| '_ \
/ /\  |  __| |_\ | (_) | | | |
\_\ \/ \___|_|\__/\___/|_| |_|

Codacy Badge Total alerts CII Best Practices

Build Status Build Status Build status CircleCI 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 developped to be an open/modular system where an user can define these own data types and operations on these data types by using overload.

Web site

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.
  • 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).

  • RESTful API web service.

  • 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.

Licenses

Nelson is delivered under dual-license :

  • License (GNU Lesser General Public License (LGPL) v2.1)

or

  • License (GNU General Public License (GPL) v2.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+ x86-64 (64-bit)
i686 (32-bit)
MacOS 10.10+ x86-64 (64-bit)
Ubuntu 18.04 x86-64 (64-bit)
Ubuntu 16.04 x86-64 (64-bit)
Debian 10 x86-64 (64-bit)
Fedora 30 x86-64 (64-bit)
ArchLinux x86-64 (64-bit)
ARM v7 (32-bit)
ARM v8 (64-bit)
Ubuntu (aarch64) ARM v8 (64-bit)
Raspbian ARM v7 (32-bit)

Allan CORNET (nelson.numerical.computation@gmail.com)


*Note that all licence references and agreements mentioned in the nelson README section above are relevant to that project's source code only.