NMath

Last updated
NMath
Developer(s) CenterSpace Software
Stable release
7.1 / December 2019;4 years ago (2019-12)
Operating system Windows
Type Numerical component libraries
License Proprietary
Website www.centerspace.net

NMath is a numerical package for the Microsoft .NET Framework. It is developed by CenterSpace Software. Version 1.0 was released in March, 2003 as NMath Core. The current version is called NMath 7.1, released in December, 2019.

Contents

NMath is built on MKL, a numerical library from Intel. [1] [2]

As of 2023, NMath sells at US$1,595. [3]

Features

NMath contains vector and matrix classes, complex numbers, factorizations, decompositions, linear programming, minimization, root-finding, structured and sparse matrix, least squares, polynomials, simulated annealing, curve fitting, numerical integration and differentiationing. [4] [5] [6]

CenterSpace Software

CenterSpace Software LLC.
Company typePrivate
Industry.NET components
Headquarters
Products NMath, NMath Stats
Website CenterSpace Software

CenterSpace Software, LLC. is a commercial software development company with headquarters in Corvallis, Oregon, USA, that produces numerical and statistical class libraries for the .NET Framework and the NMath softward. CenterSpace also provides advanced software project consulting services.

CenterSpace Software produced the first commercial .NET numerical class library in March, 2003. [7]

Developers at CenterSpace Software wrote the book The Elements of C# Style. [8] [9]

CenterSpace won the Willamette Angel Conference in 2009. [10] [11] [12]

See also

Related Research Articles

<span class="mw-page-title-main">MATLAB</span> Numerical computing environment and programming language

MATLAB is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages.

<span class="mw-page-title-main">LAPACK</span> Software library for numerical linear algebra

LAPACK is a standard software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was originally written in FORTRAN 77, but moved to Fortran 90 in version 3.2 (2008). The routines handle both real and complex matrices in both single and double precision. LAPACK relies on an underlying BLAS implementation to provide efficient and portable computational building blocks for its routines.

Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and matrix multiplication. They are the de facto standard low-level routines for linear algebra libraries; the routines have bindings for both C and Fortran. Although the BLAS specification is general, BLAS implementations are often optimized for speed on a particular machine, so using them can bring substantial performance benefits. BLAS implementations will take advantage of special floating point hardware such as vector registers or SIMD instructions.

dnAnalytics was an open-source numerical library for .NET written in C# and F#. It featured functionality similar to BLAS and LAPACK. It was merged into Math.NET Numerics in 2009.

Microsoft Windows SDK, and its predecessors Platform SDK, and .NET Framework SDK, are software development kits (SDKs) from Microsoft that contain documentation, header files, libraries, samples and tools required to develop applications for Microsoft Windows and .NET Framework. Platform SDK specializes in developing applications for Windows 2000, XP and Windows Server 2003. .NET Framework SDK is dedicated to developing applications for .NET Framework 1.1 and .NET Framework 2.0. Windows SDK is the successor of the two and supports developing applications for Windows XP and later, as well as .NET Framework 3.0 and later.

Intel Integrated Performance Primitives is an extensive library of ready-to-use, domain-specific functions that are highly optimized for diverse Intel architectures. Its royalty-free APIs help developers take advantage of Single Instruction, Multiple Data (SIMD) instructions.

Intel Parallel Studio XE was a software development product developed by Intel that facilitated native code development on Windows, macOS and Linux in C++ and Fortran for parallel computing. Parallel programming enables software programs to take advantage of multi-core processors from Intel and other processor vendors.

<span class="mw-page-title-main">Microsoft Small Basic</span> Programming language dialect and development environment

Microsoft Small Basic is a programming language, interpreter and associated IDE. Microsoft's simplified variant of BASIC, it is designed to help students who have learnt visual programming languages such as Scratch learn text-based programming. The associated IDE provides a simplified programming environment with functionality such as syntax highlighting, intelligent code completion, and in-editor documentation access. The language has only 14 keywords.

Intel oneAPI Math Kernel Library is a library of optimized math routines for science, engineering, and financial applications. Core math functions include BLAS, LAPACK, ScaLAPACK, sparse solvers, fast Fourier transforms, and vector math.

<span class="mw-page-title-main">.NET Framework</span> Software platform developed by Microsoft

The .NET Framework is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability across several programming languages. Programs written for .NET Framework execute in a software environment named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

IT++ is a C++ library of classes and functions for linear algebra, numerical optimization, signal processing, communications, and statistics. It is being developed by researchers in these areas and is widely used by researchers, both in the communications industry and universities. The IT++ library originates from the former Department of Information Theory at the Chalmers University of Technology, Gothenburg, Sweden.

The following outline is provided as an overview of and topical guide to C++:

Math.NET Numerics is an open-source numerical library for .NET and Mono, written in C# and F#. It features functionality similar to BLAS and LAPACK.

In scientific computing, GotoBLAS and GotoBLAS2 are open source implementations of the BLAS API with many hand-crafted optimizations for specific processor types. GotoBLAS was developed by Kazushige Goto at the Texas Advanced Computing Center. As of 2003, it was used in seven of the world's ten fastest supercomputers.

OpenBLAS is an open-source implementation of the BLAS and LAPACK APIs with many hand-crafted optimizations for specific processor types. It is developed at the Lab of Parallel Software and Computational Science, ISCAS.

The following table compares notable software frameworks, libraries and computer programs for deep learning.

Caffe is a deep learning framework, originally developed at University of California, Berkeley. It is open source, under a BSD license. It is written in C++, with a Python interface.

In scientific computing, BLIS is an open-source framework for implementing a superset of BLAS functionality for specific processor types that was recently awarded the J. H. Wilkinson Prize for Numerical Software. It exposes that functionality through two traditional Application Programming Interfaces (APIs): the BLAS interface and the CBLAS interface. BLIS also includes two APIs native to the framework: a typed (BLAS-like) API and an object API. These native interfaces provide access to BLAS-like functionality that is not supported by, but closely related to, operations found in the BLAS . The framework is developed and supported by the Science of High-Performance Computing (SHPC) group of the Oden Institute for Computational Engineering and Sciences at The University of Texas at Austin and the Matthews Research Group at Southern Methodist University.

References

  1. "Microsoft Visual C# and Intel MKL". Intel. Retrieved 16 February 2010.
  2. "Guide - Math and Statistics Programming with F#". fsharp.org. Archived from the original on 2016-04-25. Retrieved 2016-04-25.
  3. CenterSpace Software (2020). "Order". CenterSpace Software. Retrieved 26 December 2023.
  4. ".NET Math Library". CenterSpace Software. 3 March 2009. Retrieved 16 February 2010.
  5. "List of Mathematical Libraries". Math Forum. Archived from the original on 2016-04-25. Retrieved 2016-04-25.
  6. "Quantitative Libraries for Financial Predictive Analytics". Asymptotix. 31 August 2010. Archived from the original on 2016-04-25. Retrieved 2016-04-25.
  7. Hall, Bennett (December 15, 2003). "Seeking a soft(ware) landing". Corvallis Gazette-Times. Retrieved 23 February 2010.
  8. "The Elements of C# Style". Cambridge University Press. Retrieved 23 February 2010.
  9. CenterSpace Software (2010). "About Us". CenterSpace Software. Archived from the original on 12 February 2010. Retrieved 23 February 2010.
  10. Aleshire, Ilene (May 20, 2009). "Top investment award goes to new Corvallis company". The Eugene Register Guard. Retrieved 23 February 2010.
  11. Hall, Bennett (May 15, 2009). "CenterSpace scores big check". Corvallis Gazette-Times. Retrieved 23 February 2010.
  12. "CenterSpace Software: Willamette Angel Conference 2009 Winner!". Strands. May 21, 2009. Archived from the original on 12 June 2009. Retrieved 23 February 2010.