The IMSL™ C Numerical Library (CNL) provides advanced mathematical and statistical functionality for programmers to embed in applications that are written in one of the most important mainstream programming environments in use today, C/C++. This comprehensive set of thread safe functions is based upon the same algorithms contained in the highly regarded IMSL Fortran Library.
Typical Application Areas
- Portfolio optimization in financial services
- Medical and biological system R&D and modeling
- Manufacturing yield analysis and process control
- R&D data analysis and product optimization
- Risk Management in insurance
- Functions for predicting missing values and analysis of variance on a variety of experimental design types for R&D
- New algorithms for conducting survival and reliability analysis in a variety of industries
The IMSL C Numerical Library version 5.5, offers even more functionality in key areas such as new routines for optimization, data mining, time series, and design of experiments analysis. In addition to these strategic enhancements the IMSL C Numerical Library runs on an even broader set of major development platforms, including:
- PC, Windows, MS Visual Studio, .NET
- Itanium2, Linux, Intel C++
- PC, Linux, Intel C++
- PC, Linux, gcc
- SUN Solaris
- IBM AIX
Comprehensive Mathematical Functionality
- Linear Systems
- Eigensystem Analysis
- Interpolation and Approximation
- Integration and Differentiation
- Differential Equations
- Nonlinear Equations
- Special Functions
Extensive Statistical Functionality
- Basic Statistics
- Correlation and Covariance
- Analysis of Variance and Designed Experiments
- Categorical and Discrete Data Analysis
- Non parametric Statistics
- Tests of Goodness-of-Fit
- Time Series and Forecasting
- Multivariate Analysis
- Survival Analysis
- Probability Distribution Functions and Inverses
- Random Number Generator
CNL is Thread Safe
CNL offers software engineers the opportunity to author "thread safe" implementations. This feature will leverage existing hardware investments and allow developers to produce applications capable of faster throughput. With this capability, CNL can be confidently integrated into Web and database servers in which multiple threads are used to handle multiple, independent, computations. Visual Numerics developed the "thread safe" features of CNL based on the POSIX pthread industry standard (UNIX) and Windows thread API (PC). The system "thread safe" libraries on which CNL is based are present on all major platforms.
Intuitive Programming: Accurate, Robust and Reliable
The IMSL C Numerical Libraries use descriptive, explanatory function names for intuitive programming. Reserved function names begin with prefixes unique to each product. Where appropriate, consistent variable names are used to:
- Make function names easy to identify and use as well as prevent conflicts with other software
- Provide a common root name for numerical functions that offers the choice of multiple precision
Documentation for the IMSL C Numerical Library is comprehensive, clearly written, and standardized
- Provides organized, easy-to-find information
- Documents, explains, and provides references for algorithms
- Gives at least one example of function usage, with sample input and results
Diagnostic Error Handling
Diagnostic error messages are clear and informative - designed not only to convey the error condition but also to suggest corrective action, if appropriate. These error-handling features
- Make it faster and easier for you to debug your programs
- Provide for more productive programming and confidence that the algorithms are functioning properly in your application
Shared Libraries Technology
The IMSL C Numerical Libraries are designed to take advantage of shared libraries technology (if allowed on your system). This technology
- Allows more than one user to share information in the library, thus minimizing disk space
- Provides shorter link time
- Minimizes the size of executable object modules
SMP High-Performance Technology
The IMSL C Numerical Libraries, the world's standard mathematical and statistical C Libraries, have been designed to take advantage of symmetric multiprocessor (SMP) systems. Computationally intensive algorithms in the areas of linear algebra and fast Fourier transforms will leverage SMP capabilities on a variety of systems. The IMSL C Numerical Libraries are the first commercially available products of their kind to incorporate the utilization of SMP technology. In addition to the SMP benefits of the IMSL C Numerical Libraries, other changes have been incorporated in areas such as memory management and array processing to improve the computational efficiency for several other algorithms. Combining the performance and functional improvements with the longtime accuracy, reliability and robustness found in the IMSL mathematical and statistical functions provide an excellent solution for the C application developer.
Programming Interface Flexibility
The IMSL C Numerical Libraries take full advantage of the intrinsic characteristics and desirable features of the C language. The functions support variable length argument lists. The concise set of required arguments contains only information necessary for usage. Optional arguments provide added functionality and power to each function. This flexibility
- Reduces unnecessary code
- Enables you to adapt each function call by activating optional arguments
Cost-Effectiveness and Value
The IMSL C Numerical Libraries significantly shorten program development time and promote standardization. Variable argument lists have been implemented to simplify calling sequences. You'll find that using the IMSL C Numerical Libraries saves up to 95% of your source code development and thousands of dollars in the design, development, documentation, testing and maintenance of your application.
New Release 6.0
IMSL™ C Numerical Library 6.0 now includes advanced forecasting techniques as well as breakthrough optimization technology. With neural network and Auto_ARIMA capabilities, and the industry’s fastest dense linear programming algorithm in a general-purpose library, the IMSL™ C Numerical Library 6.0 helps companies in financial services, insurance or inventory management cost-effectively develop applications for portfolio optimization, risk modeling, and trading systems.
Key new features of IMSL™ C Numerical Library 6.0 include:
- Neural Network Engine — mimics human problem-solving processes by applying knowledge gained from historical data to new problems, which fine-tunes forecasting accuracy over time. Visual Numerics’ neural network technology features advanced data pre-processing to simplify data mining preparation and ensure optimal accuracy and performance, saving significant time over manual pre-processing. This technology is optimal for highly configurable data mining and forecasting with no limits on network size.
- Dense Linear Programming Optimizer — for state-of-the-art constrained dense linear programming optimization. This version of IMSL C Numerical Library offers the world’s fastest optimizer of its kind in a general mathematical library. In 2005 tests, IMSL solved 46 example problems in one-eighth the time of a leading Linear Programming Optimizer product. Also includes MPS format readers to facilitate usage with existing users of Linear Programming and will be welcomed by capital markets customers doing portfolio optimization, trading systems and risk modeling.
- Auto_ARIMA — advanced forecasting routine for time series analysis. It is highly suited to situations where data is prone to seasonality “spikes” or “outliers” such as operations management or inventory planning.
- Differential Equations Package —for financial engineering and scientific computing.
- New random number generator technique using Mersenne Twister algorithm.
- New LAPACK (Linear Algebra PACKage) functionality.