Comprehensive Mathematical Functionality
- Matrix Operations
- Linear Systems
- Eigensystem Analysis
- Interpolation and Approximation
- Integration and Differentiation
- Differential Equations
- Feynman-Kac Solver
|
- Transforms
- Nonlinear Equations
- Optimizations
- Special Functions
- Utilities
|
Extensive Statistical Functionality
- Basic Statistics
- Regression
- Correlation and Covariance
- Analysis of Variance and Designed Experiments
- Categorical and Discrete Data Analysis
- Non parametric Statistics
- Neural Network
- Genetic Algorithm
- Naïve Bayes
|
- Tests of Goodness-of-Fit
- Time Series and Forecasting
- Multivariate Analysis
- Survival Analysis
- Probability Distribution Functions and Inverses
- Random Number Generators and Distributions
|
SMP and GPU High-Performance Technology
The IMSL C Numerical Library, the world's standard mathematical and statistical C Library, has been designed to take advantage of symmetric multiprocessor (SMP) systems.
Version 8.0 of the IMSL C Library enables customers to take advantage of multi-core and many-core hardware for improved performance. Numerous algorithms leverage OpenMP directives on supported environments to distribute calculations across available resources.
The IMSL C Library also leverages hardware vendor-supplied SMP functionality.
The IMSL C Library offloads CPU work to
NVIDIA GPU hardware where the CUDA BLAS library is utilized. Users with
supported hardware will be able to link the IMSL C Library with CUDA BLAS to
gain significant performance improvements for many linear algebra functions.
The calling sequences for IMSL functions are untouched, so there is no learning
curve and users can be productive immediately.
The IMSL C Numerical Library is Thread Safe
The IMSL C Library offers software engineers the opportunity to author thread-safe implementations. This feature leverages existing hardware investments and allows developers to produce applications capable of faster throughput. With this capability, the IMSL C Library can be confidently integrated into Web and database servers in which multiple threads are used to handle multiple independent computations. Rogue Wave developed the thread-safe features of the IMSL C Library based on the POSIX pthread industry standard (UNIX) and Windows thread API (PC). The system thread-safe libraries on which the IMSL C Library is based are present on all major platforms.
World Renowned Documentation
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
100% Pure C Code
Pure C code means:
- Increased Robustness: Code wrappers can cause server crashes, security violations and data corruption
- Simplified Development: Wrappers require the developer to access external compilers and pass arrays or user-defined data types to ensure compatibility between the different languages. The IMSL C Library allows developers to write, build, compile and debug code in a single environment
Portability
Cost-Effectiveness and Value
The IMSL C Numerical Library significantly shortens program development time and promotes standardization. Variable argument lists have been implemented to simplify calling sequences. Using the IMSL C Numerical Library saves up to 95% of source code development and thousands of dollars in the design, development, documentation, testing and maintenance of your application.
Intuitive Programming: Accurate, Robust and Reliable
The IMSL C Numerical Library uses descriptive, explanatory function names for intuitive programming allowing developers to be more productive. 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
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 to debug programs
- Provide for more productive programming and confidence that the algorithms are functioning properly in an application