IMSL(R) C Numerical
Library: Change Log
If you have problems installing/using any product, contact IMSL
Customer Support. The Customer Support group researches and answers your
questions about all IMSL products. Contact information can be found in
the file README located in this directory.
For release dates and maintenance and support schedules, see Rogue Wave
Product Lifecycle Information.
2024.1.0
- Additions
- Stat/Library
- Chapter 1: Basic Statistics
simple_statistics
- Added a new optional argument
IMSLS_POPULATION_VARIANCE
to return the population version of variance and related
statistics.
- Chapter 13: Data Mining
gradient_boosting
- Added a new optional argument
IMSLS_RETURN_MODEL
to
return the boosted trees and other parameters of the trained gradient
boosting model.
gradient_boosting_predict
- Accepts a previously trained gradient boosting model for the purpose
of predicting new data sets.
gradient_boosting_model_read
- Reads into memory an
Imsls_f_gradient_boosting_model
gradient boosting model structure from a text file.
gradient_boosting_model_write
- Writes out an
Imsls_f_gradient_boosting_model
gradient
boosting model structure to a text file.
gradient_boosting_model_free
- Frees the memory allocated by an
Imsls_f_gradient_boosting_model
gradient boosting model
structure.
- Math/Library
- Chapter 2: Eigensystem Analysis
eig_sym_band
- Computes all eigenvalues and eigenvectors of a real symmetric band
matrix in symmetric band storage format where only the diagonal and the
upper band of the matrix are stored. Optionally, extreme eigenvalues and
eigenvalues in a certain range can be computed as well.
eig_herm_band (complex)
- Computes all eigenvalues and eigenvectors of a complex Hermitian
band matrix in symmetric band storage format where only the diagonal and
the upper band of the matrix are stored. Optionally, extreme eigenvalues
and eigenvalues in a certain range can be computed as well.
- Chapter 12: Utilities
mat_mul_rect_band
- Added new optional arguments
IMSL_A_SYMMETRIC_STORAGE
and IMSL_B_SYMMETRIC_STORAGE
for the handling of matrices
in band symmetric storage format where only the diagonal and the upper
band of the matrix are stored.
- Improvements
- Math/Library
- Chapter 5: Differential Equations
modified_method_of_lines_mgr
- Fixed memory leak.
- Improved error handling.
- Chapter 8: Optimization
bounded_least_squares
- Fixed memory leak.
- Improved error handling of input arguments.
- Chapter 12: Utilities
mat_mul_rect_band
- Improved error handling of input arguments and internal
functions.
- Added missing functionality for input strings "A", "B", "x" and
"trans(x)".
- Stat/Library
- Chapter 1: Basic Statistics
simple_statistics
- Corrected the calculation of sample variance when weights and
frequencies are used.
- Chapter 4: Analysis of Variance and Designed Experiments
ancovar
- Fixed memory leak.
- Improved error handling of input arguments.
- Chapter 6: Nonparametric Statistics
wilcoxon_rank_sum
- Fixed bug in the default computation of variable
fuzz
.
- Fixed memory leak.
- Chapter 8: Time Series and Forecasting
auto_parm
regression_arima
- Fixed memory leaks.
- Improved error handling of function arguments.
- Chapter 13: Data Mining
naive_bayes_trainer
- Fixed memory leaks.
- Implemented general error handling improvements.
- Improved error handling in parallel code sections.
support_vector_trainer
2023.1.0
- Additions
- Stat/Library
- Chapter 5: Categorical and Discrete Data Analysis
logistic_regression_free
- An auxiliary function that frees the memory allocated by an
Imsls_f_model
logistic regression model data
structure.
- Chapter 11: Probability Distribution Functions and Inverses
generalized_gaussian_pdf
- Evaluates the generalized Gaussian probability density
function.
generalized_gaussian_cdf
- Evaluates the generalized Gaussian cumulative distribution
function.
generalized_gaussian_inverse_cdf
- Evaluates the generalized Gaussian inverse cumulative distribution
function.
- Chapter 12: Random Number Generation
random_generalized_gaussian
- Generates pseudorandom variates from the generalized Gaussian
distribution.
- Chapter 13: Data Mining
multiclass_auc
- Computes the Area Under the Curve (AUC) for two-class classification
problems, or a multiclass generalization to AUC for problems having more
than two classes.
- Chapter 15: Utilities
data_read
- Reads a delimited ascii flat file. Accepts numeric, string (char),
and date/time fields and converts the data to a double matrix suitable
for input into IMSL data mining algorithms.
free_data_matrix
- Frees the memory allocated for an Imsls_data_matrix structure.
free_column_info
- Frees the memory allocated for an Imsls_column_info structure.
- Math/Library
- Chapter 2: Eigensystem Analysis
arpack_svd
- Computes some of the singular values and corresponding left and
right singular vectors of a real rectangular matrix. Only matrix-vector
products have to be defined to determine the singular values and
vectors. Function
arpack_svd
is especially suitable for the
computation of partial SVDs of large sparse matrices.
arpack_general (complex)
- Computes some of the eigenvalues and corresponding eigenvectors of a
general complex matrix by an algorithmic variant of the implicitly
restarted Arnoldi method. The function is most appropriate for large
sparse matrices and can also be applied to generalized eigenvalue
problems. For many standard problems, only matrix-vector products are
needed to compute the eigenvalues.
- Chapter 8: Optimization
transport
- Added possibility to solve the transportation problem by the
interior-point method implemented in function
sparse_lin_prog
.
nonlin_least_squares
- Added new optional argument
IMSL_MAX_LM_PARAM_ITN_EXCEEDED
to avoid potential infinite
loops in the Levenberg-Marquardt algorithm.
- Chapter 9: Special Functions
internal_rate_of_return
- Added Ehrlich-Aberth algorithm, callable by optional argument
IMSL_ABERTH_METHOD
, as an alternative method to compute the
internal rate of return.
- Improvements
- Math/Library
- Chapter 7: Nonlinear equations
zeros_poly
- Changed output for Aberth's method so that only converged roots are
returned as complex numbers and all other roots are set to infinity.
Accordingly, changed warning message that occurs with
IMSL_ABERTH_METHOD
from
IMSL_NO_CONVERGE_MAX_ITER
to
IMSL_FEWER_ZEROS_FOUND_1
.
zeros_poly (complex)
- Changed output for Aberth's method so that only converged roots are
returned as complex numbers and all other roots are set to infinity.
Accordingly, changed warning message that occurs with
IMSL_ABERTH_METHOD
from
IMSL_NO_CONVERGE_MAX_ITER
to
IMSL_FEWER_ZEROS_FOUND_1
.
zeros_function
- Corrected starting point for Muller's method if user-defined initial
guess coincides with one of the bounds defined via
IMSL_BOUND
.
- Corrected computation of next iterate in Muller's method: If
possible, the root of the quadratic interpolating polynomial closest to
the current iterate is now chosen as the next iterate. Only if the root
search is restricted to a finite interval and the root closest to the
current iterate is outside the interval, the more distant root is chosen
as the next iterate - unless it lies outside the interval.
- Chapter 8: Optimization
transport
- Corrected the sign of the dual solution returned by optional
arguments
IMSL_DUAL
and IMSL_DUAL_USER
.
- Corrected implementation of the simplex method for the case that the
sum of warehouse capacities is smaller than the sum of store
requirements.
nonlin_least_squares
- Fixed bug in the handling of errors from user-defined functions
triggered by function
imsl_set_user_fcn_return_flag
.
- Improved robustness of code by adding checks for non-numbers (NaN,
positive/negative infinity).
- Chapter 10: Statistics and Random Number Generation
simple_statistics
- Improved performance of MAD and simple robust estimate of scale
computation.
- Corrected behavior of algorithm in the presence of missing values
(NaNs): The old version returned NaNs for the median, MAD and simple
robust estimate of scale of all variables if a missing value was
detected in the data matrix. The new version excludes the rows
containing missing values from the computations and returns the correct
values.
- Corrected content of
simple_statistics
output table for
the case that only one or zero rows of the data matrix are considered in
the statistics computations.
- Chapter 12: Utilities
mat_mul_rect_coordinate (real)
- Corrected output of the matrix-vector products
A*x
and
trans(A)*x
for the case of sparse non-square (i.e.
rectangular) matrices when optional argument
IMSL_RETURN_USER_VECTOR
is used.
mat_mul_rect (real/complex)
- Corrected memory-related bug where in the error case
mat_mul_rect
tries to free the user-allocated memory
defined via optional argument IMSL_RETURN_USER
.
- Corrected triple product computation.
- Corrected computation of outer products of the form
"x*trans(A)"
, "x*ctrans(A)"
,
"A*trans(x)"
and "A*ctrans(x)"
where
x
is a column vector and A
a one-column
matrix.
- Improved error handling of input arguments.
sort
- Corrected memory deallocation in the error case and improved error
handling for optional argument
IMSL_PERMUTATION
.
- Stat/Library
- Chapter 1: Basic Statistics
simple_statistics
- Improved performance of MAD computation and simple robust estimate
of scale computation.
- Corrected content of
simple_statistics
output table for
the case that only one or zero rows of a data matrix column are
considered in the statistics computations.
- Added check for positive number of observations if
simple_statistics
is called with IMSLS_IDO
= 0
or IMSLS_IDO
= 1.
- Added check for non-negative number of observations if
simple_statistics
is called with IMSLS_IDO
= 2
or IMSLS_IDO
= 3.
- Fixed bug that occurs if
simple_statistics
is called
with zero observations, IMSLS_IDO
= 3 and weights or
frequencies present.
- Fixed bug that occurs if
simple_statistics
is called
with one observation, IMSLS_IDO
= 0 and weights or
frequencies present.
- Chapter 2: Regression
regression_stepwise
- Added optional argument
IMSLS_MAX_CYCLING_STEPS
to
control the threshold for detecting if cycling may be occuring.
- Allowed the return of output values even if the cycling error is
triggered.
- Added optional argument IMSLS_PRINT_LEVEL.
- Chapter 5: Categorical and Discrete Data Analysis
logistic_regression
- Added logic to prevent overflow in the calculation of the
likelihood.
- Improved error handling for some input arguments.
- Fixed memory leak issues.
logistic_reg_predict
- Added logic to prevent overflow in the calculation of the predicted
probabilities.
- Added optional argument
IMSLS_AUC
to return the Area
Under the Curve measure.
- Replaced optional argument
IMSLS_PREDERR
with
IMSLS_AUC
.
- Chapter 13: Data Mining
decision_tree_predict
- Added optional argument
IMSLS_PREDICTED_CLASS_PROB(_USER)
to return predicted class
probabilities.
svm_classifier_free
genetic_algorithm
- Added validation checks for several input arguments.
ga_random_population
- Fixed memory leak issues.
- Chapter 15: Utilities
ascii_read
- Fixed some memory leak issues.
- Improved error handling for some input arguments.
- Fixed infinite loop problem that occurs if the size of a
user-defined data array is larger than the number of row or column data
found in the ascii file. Also corrected the number of data elements
returned in variable
n_vals
for user-defined arrays and in
the error case.
mat_mul_rect
- Corrected memory-related bug where in the error case
mat_mul_rect
tries to free the user-allocated memory
defined via optional argument IMSLS_RETURN_USER
.
- Corrected triple product computation.
- Corrected computation of outer products of the form
"x*trans(A)"
, "x*ctrans(A)"
,
"A*trans(x)"
and "A*ctrans(x)"
where
x
is a column vector and A
a one-column
matrix.
- Improved error handling of input arguments.
2021.0.0
- Additions
- Math/Library
- Chapter 2: Eigensystem Analysis
eig_sym
- Added optional argument
IMSL_EXTREME_VALUES
for the
computation of largest or smallest eigenvalues and associated
eigenvectors.
- Added possibility to use optional arguments
IMSL_RANGE
and IMSL_VECTORS_USER
simultaneously.
eig_herm
- Added optional argument
IMSL_EXTREME_VALUES
for the
computation of largest or smallest eigenvalues and associated
eigenvectors.
- Added possibility to use optional arguments
IMSL_RANGE
and IMSL_VECTORS_USER
simultaneously.
arpack_symmetric
- Determines some of the eigenvalues and corresponding eigenvectors of
a symmetric matrix by an algorithmic variant of the implicitly restarted
Lanczos method. The function is most appropriate for large sparse
matrices and can also be applied to generalized eigenvalue problems. For
many standard problems, only matrix-vector products are needed to
compute the eigenvalues.
arpack_general
- Determines some of the eigenvalues and corresponding eigenvectors of
a general real matrix by an algorithmic variant of the implicitly
restarted Arnoldi method. The function is most appropriate for large
sparse matrices and can also be applied to generalized eigenvalue
problems. For many standard problems, only matrix-vector products are
needed to compute the eigenvalues.
- Stat/Library
- Chapter 8: Time Series and Forecasting
auto_arima
- Added optional argument
IMSLS_RELATIVE_ERROR
so that
the stopping criterion for the nonlinear equation solver in the method
of moments algorithm can be modified. The method of moments is used in
auto_arima
to compute initial parameter estimates for the
least squares algorithm.
- Improvements
- Stat/Library
- Chapter 2: Regression
nonlinear_regression
- Changed names of critical sections in order to guarantee that the
function behaves correctly when called with user-supplied functions that
are not thread-safe.
2020.0.0
- Additions
- Math/Library
- Chapter 7: Nonlinear equations
zeros_poly (complex)
- Added companion matrix and Aberth's method according to D. A. Bini's
implementation as root finding methods. The new methods can be called
via optional arguments IMSL_COMPANION_METHOD and IMSL_ABERTH_METHOD,
respectively.
zeros_poly
- Added companion matrix and Aberth's method according to D. A. Bini's
implementation as root finding methods. The new methods can be called
via optional arguments IMSL_COMPANION_METHOD and IMSL_ABERTH_METHOD,
respectively.
- Stat/Library
- Chapter 2: Regression
pls_regression
- Added new optional arguments: IMSLS_OPT_N_COMPONENTS for the optimal
component number, IMSLS_STANDARD_COEF(_USER) for the standard PLS
regression coefficients, IMSLS_INTERCEPT_TERMS(_USER) for the intercept
terms and IMSLS_PCT_VAR(_USER) for the percentage of variance of
predictor and response variables explained by the components.
- Improvements
- General
- Corrected behavior of installer incorrectly modifying the
permissions of the specified install directory.
- Updated version of Intel MKL redistributable for platforms using
non-Intel compilers.
- Math/Library
- Chapter 8: Optimization
min_uncon_polytope
- Fixed bugs in the computation of the shrinking step and the
computation of the second worst point.
min_con_polytope
- Fixed bugs in the computation of the second worst and final best
point.
- Stat/Library
- Chapter 2: Regression
pls_regression
- Improved performance of cross-validation section of the code that
determines the optimal number of PLS components.
- Fixed a bug in the computation of the optimal PRESS value if more
than one response variable is present.
- Corrected computation of standard errors for regression
coefficients.
- Corrected variance analysis output.
- Chapter 5: Categorical and Discrete Data Analysis
categorical_glm
- Refined computation of complementary log-log function.
- Simplified computation of some internal constants.
- Chapter 8: Time Series and Forecasting
arma
- Extended applicability of the method of moments from the standard
ARMA model to general ARMA models.
- Chapter 13: Data Mining
gradient_boosting
- Corrected an error in the Huber-M loss function calculation that
affected predictions on the test data set.
mlff_network_trainer
- Fixed memory leak issue in the computation of the squared
residuals.
support_vector_trainer
- Fixed an issue in the radial basis function kernel thereby
significantly improving performance.
2019.0.0
- Announcements
- Additions
- Information about the OpenMP "schedule(runtime)" clause has been
added to Math and Stat User Guide under the OpenMP Usage section in the
Introduction.
- Information about the OpenMP OMP_NUM_THREADS and OMP_NESTED
environment variables has been added to Math and Stat User Guide under
the OpenMP Usage section in the Introduction.
- Math/Library
- Chapter 1: Linear Systems
lin_sol_gen (real/complex)
- Added optional argument
IMSL_ITERATIVE_REFINEMENT
to
enable iterative refinement.
- Removals
- Support of Graphics Processing Units (NVIDIA) has been removed.
- Improvements
- Math/Library
- General
- The internally used IMSL function
imsl_fi_power
was
replaced either by a direct computation of the power or a version of
imsl_fi_power
that doesn't use the IMSL error handler.
These changes might improve performance of the CMATH library.
- Chapter 1: Linear Systems
lin_sol_gen_coordinate (real/complex)
- Fixed some memory leak issues.
- Fixed bugs in the handling of singular matrices.
superlu (real/complex)
- Fixed bug in the handling of singular matrices.
lin_sol_gen_band (real)
- Fixed initialization bug for matrices of order 1.
- Incorporated BLAS calls in the factorization routine.
- Chapter 3: Interpolation and Approximation
cub_spline_tcb
cub_spline_interp_e_cnd
- Implemented various performance improvements.
cub_spline_interp_shape
- Implemented various performance improvements for large interpolation
sets.
spline_least_squares
- Improved performance for large data sets and large spline space
dimensions.
spline_interp
- Implemented performance improvements for large interpolation
sets.
spline_2D_interp
- Implemented performance improvements for large two-dimensional
interpolation sets.
- Chapter 4: Quadrature
gauss_quad_rule
- Improved performance for large numbers of quadrature points through
OpenMP parallelism.
- Chapter 5: Differential Equations
ode_runge_kutta
- Improved performance by replacing Level 1 BLAS calls by Level 2 BLAS
calls where appropriate.
- Fixed memory leak issue.
- Chapter 8: Optimization
quadratic_prog
- Corrected handling of constraint inconsistencies.
- Slightly relaxed error tolerance used in the check for constraint
dependencies to allow for a wider range of problems to be solved.
constrained_nlp
- Fixed some problems related to memory deallocation.
- Implemented various performance improvements.
- Modified code so that now an error message is issued in case the
algorithm converges to an infeasible stationary point of the
minimization problem.
min_uncon_multivar
- Fixed bug in the internal parallel computation of the numerical
gradient.
- Fixed function pointer initialization error.
- Corrected returned objective value in case the function issues an
IMSL_NO_FURTHER_PROGRESS warning message.
- Chapter 9: Special Functions
bessel_Jx
- Implemented performance improvements in case that many Bessel
function evaluations are required.
bessel_Yx
- Implemented performance improvements in case that many Bessel
function evaluations are required.
bessel_Ix
- Implemented performance improvements in case that many Bessel
function evaluations are required.
bessel_Kx
- Implemented performance improvements in case that many Bessel
function evaluations are required.
bivariate_normal_cdf
- Replaced algorithm that computes Owen's T-function by a more
efficient algorithm of Patefield and Tandy.
internal_rate_of_return
- Modified underlying algorithm in order to get more accurate
solutions.
- Added new optional argument
IMSL_MAX_EVALS
in order to
be able to control the maximum number of iterations of the root
finder.
- Chapter 12: Utilities
mat_mul_rect (real/complex)
- Implemented various performance improvements including OpenMP
support.
- Error handling:
imslerr.dat
- Fixed some misspellings in error messages.
- Fixed bug in the internal handling of error messages.
- Stat/Library
- General
- The internally used IMSL function
imsls_fi_power
which
computes the integer powers of a floating point number was inlined where
possible. This change might improve performance of the CSTAT
library.
- Chapter 2: Regression
hypothesis_partial
- Corrected argument check for input variable
nu
so that
- in accordance with the documentation - an error is now issued if
nu
is equal to zero.
- Corrected column number of array
g
(see optional
arguments IMSLS_G
and IMSLS_G_USER
) from
n_dependent
to nu
.
- Corrected output of matrix returned in array
g
(see
optional arguments IMSLS_G
and IMSLS_G_USER
).
Amongst others, if nh
is less than nhp
the
unused rows in g
remain now unchanged by
hypothesis_partial
if g
is user-defined via
IMSLS_G_USER
.
- Corrected output in array
h
returned through optional
argument IMSLS_H_MATRIX_USER
: If nh
is less
than nhp
the unused rows in h
remain now
unchanged by hypothesis_partial
.
nonlinear_regression
- Corrected internal initialization of several tolerance values.
pls_regression
- Added a check and terminal error for input data with constant
columns.
- Corrected the PRESS calculation to recenter the training data in
each fold of the cross-validation procedure.
- Corrected cross-validation sampling.
- Chapter 5: Categorical and Discrete Data Analysis
categorical_glm
- Corrected internal centering of initial intercept if optional
argument
IMSLS_INITIAL_EST_INPUT
is used.
- Improved documentation for optional argument
IMSLS_INITIAL_EST_INPUT
. (Documentation)
- Corrected size of array
iterations
related to optional
arguments IMSLS_ITERATIONS
and
IMSLS_ITERATIONS_USER
. (Code and documentation)
- Corrected pdf formula for model 2 in the table of the Description
section. (Documentation)
- Chapter 8: Time Series and Forecasting
ts_outlier_identification
- Improved performance of outlier detection, resulting in significant
improvements in overall performance for time series with many potential
outliers. These changes might also affect positively the performance of
ts_outlier_identification
calling function
auto_arima
.
- Chapter 11: Probability Distribution Functions and Inverses
multivariate_normal_cdf
- Corrected documentation of required argument
sigma
: The
function now permits solely the variance-covariance matrix as
input.
- Corrected correlation coefficients and bounds used in the trivariate
case.
- Corrected computation of probabilities in case of equicorrelated
multivariate normal distributions.
- Corrected and improved algorithm that orders upper integration
bounds and permutes the correlation matrix accordingly.
- Fixed one missing memory allocation and some memory leak
issues.
- Chapter 12: Random Number Generation
random_substream_seed_get
- Fixed internal initialization error.
- Error handling:
- Fixed bug in the internal handling of error messages.
2016.1.1
- Announcements
- Additions
- Improvements
- Math/Library
- Chapter 9: Special Functions
internal_rate_of_return
- Modified underlying algorithm in order to get more accurate
solutions.
- Added new optional argument
IMSL_MAX_EVALS
in order to
be able to control the maximum number of iterations of the root
finder.
2016.1.0
- Announcements
- Notice to customers using Oracle Solaris platforms: IMSL C 2016 will
be the last planned version to support Oracle Solaris platforms. Please
contact your Rogue Wave account representative or Rogue Wave support
with any questions concerning this announcement.
- Notice to customers using the IMSL C
CUBLAS_LIBRARY
module: IMSL C 2016 will be the last planned version to support the
NVIDIA CUDA CUBLAS Library. Please contact your Rogue Wave account
representative or Rogue Wave support with any questions concerning this
announcement.
- CUDA Toolkit Libraries support upgraded to 8.0
- IMSL is transitioning toward online only documentation. Currently
documentation is available with the installation of the product and on
our website https://help.imsl.com/c. In future
releases documentation will be available only at https://help.imsl.com/c
- IMSL has transitioned to the use of a Change Log documenting the
running list of all changes that have occurred to the product over the
course of multiple releases, rather than distributing a new file
containing notes that are specific to the particular release.
- Additions
- Stat/Library
- Chapter 8: Time Series and Forecasting
arima
:
- Fits regular and seasonal autoregressive and moving average
parameters along with optional regression variables.
- Improvements
- Math/Library
- Chapter 1: Linear Systems
lin_svd_gen
(real/complex)
- Corrected storage order of the left singular vectors in array U when
input array A and U share the same storage locations. Corrected sign in
formula for shift calculation.
lin_svd_gen
(real/complex)
- Added possibility to call LAPACK routine
?GESDD (?=S,D/C,Z)
, a divide-and-conquer SVD
implementation, via a new optional argument
IMSL_METHOD
.
- Stat/Library
- Chapter 13: Data Mining
decision_tree
:
- Corrected a memory allocation error for response variables of
ordinal type.
2016.0.0
- Announcements
- OpenMP-enabled IMSL functions use the "schedule(runtime)" clause for
the parallelized FOR-loops to give users more control of scheduling.
Please go to http://openmp.org for more
information.
- Additions
- Math/Library
- Chapter 8: Optimization
transport
- Solves a transportation problem.
min_con_polytope
- Minimizes a function of n variables subject to bounds on the
variables using a direct search complex algorithm.
min_con_lin_trust_region
- Minimizes a function of n variables subject to linear constraints
using a derivative-free, interpolation-based trust-region method.
- Stat/Library
- Chapter 13: Data Mining
decision_tree
- Now has options for random forest ensemble learning.
gradient_boosting
- Performs stochastic gradient boosting for decision trees.
- Improvements
- Math/Library
- Stat/Library
- Chapter 2: Regression
pls_regression
- Replaced ALERT message
IMSLS_RESIDUAL_CONVERGED
by
WARNING message IMSLS_PLS_REGRESSION_CONVERGED
.
- Chapter 8: Time Series and Forecasting
arma
- Added optimality check for the starting point of the
ARMA
parameter optimization.
- Chapter 12: Random Number Generation
random_normal_multivariate
- Now generates the same values in multiple runs as in a single run
with the same seed.
8.6.0
- Announcements
- The general look and feel of the online documentation has been
changed.
- CUDA 7.5 is supported.
- Additions
- Math/Library
- Chapter 8: Optimization
min_uncon_polytope
- Minimizes a function of n variables using a direct search polytope
algorithm.
- Stat/Library
- Chapter 13: Data Mining
decision_tree
- Added optional argument
IMSLS_CRITERIA
which allows
users to specify which criteria the ALACART
method and the
C4.5 method should use in the gain calculations to determine the best
split at each node.
- Improvements
- Math/Library
- Chapter 3: Interpolation and Approximation
cub_spline_tcb
- Corrected value assignment of optional argument
IMSL_RIGHT
. Document Example 2 output updated to reflect
this correction.
- Chapter 8: Optimization
sparse_lin_prog
- Updated the function description (Documentation)
- Chapter 12: Utilities
output_file
- Corrected document example 2 (Documentation)
- Error handling:
imslerr.dat
- Various error message corrections.
- Stat/Library
- Chapter 2: Regression
pls_regression
- Various performance improvements
- Resolved cross validation memory issues
- Corrected description for
IMSLS_N_FOLD
(Documentation)
- Chapter 5: Categorical and Discrete Data Analysis
logistic_regression
- Fixed error in the initial values.
logistic_reg_predict
- Fixed problems with the prediction intervals and improper
indexing
- Chapter 7: Tests of Goodness of Fit
chi_squared_test
- Corrected index out of bounds problem
- Chapter 8: Time Series and Forecasting
auto_arima
- Resolved resource error associated with parallel code
- Relaxed search for optimum ARMA model when the optimum model found
by
seasonal_fit
cannot be handled by
ts_outlier_identification
- Chapter 12: Random Number Generation
random_table_get
- Updated the function description (Documentation)
random_GFSR_table_get
- Updated the function description (Documentation)
random_weibull
- Updated the example description (Documentation)
- Chapter 13: Data Mining
apriori
- Increased resource allocation and improved union accuracy for
frequent item sets
- Improved performance of candidate itemsets identification
- Optional argument
IMSLS_MIN_SUPPORT
changed to type
double only.
- Corrected the description of the array x in multiple references from
type
float
to type int
(Documentation)
- Corrected confidence value calculations.
aggr_apriori
- Corrected the description of the array x in multiple references from
type
float
to type int
(Documentation)
decision_tree
- Improved memory efficiency to correct for out of memory errors.
Corrected problems associated with memory allocation for cross
validation.
- Corrected the function description (Documentation)
- Added description for the deviance criterion to the
documentation.
- Chapter 15: Utilities
data_sets
- Added check to assure mutually exclusive arguments are not selected
together.
8.5.0
- Announcements
- License management has been removed for paid-up licenses.
- Made error handling more robust when no heap memory is
available.
- It is possible that some memory is retained between calls to IMSL C
Numerical Library functions for error handling purposes. This memory may
be reported as a memory leak by some leak detection tools. The following
functions free the allocated memory associated with the error handler
for each thread:
imsl_free_error_handlers()
- Frees memory associated with C Math Library error handlers.
imsls_free_error_handlers()
- Frees memory associated with C Stat Library error handlers.
- A deprecated function is one that is no longer used by anything in
the library but is being included in the product for those users who may
be referencing it in their application. However future versions of C
Numerical Library may not include these functions. If any of these are
being called within your application, it is recommended that you change
your code to call the replacement function or retain the deprecated
function before replacing this library with the next version.
- deprecated
ode_adams_gear
and replaced by
ode_adams_krogh
.
- deprecated
ode_adams_2nd_order
and replaced by
ode_adams_krogh
.
- deprecated
pde_method_of_lines
and replaced by
modified_method_of_lines
.
- deprecated
dea_petzold_gear
and replaced by
differential_algebraic_eqs
.
- deprecated
initialize
without replacement.
- Additions
- Math/Library
- Reference Material
initialize_error_handler
- Initialize the IMSL C Math Library error handling system.
set_user_fcn_return_flag
- Indicates a condition has occurred in a user-supplied function
necessitating a return to the calling function.
- Chapter 1: Linear Systems
superlu_smp
- Computes the LU factorization of a general sparse matrix by a
left-looking column method using OpenMP parallelism, and solves the real
sparse linear system of equations
Ax = b
.
superlu_smp
(complex)
- Computes the LU factorization of a general complex sparse matrix by
a left-looking column method using OpenMP parallelism and solves the
complex sparse linear system of equations
Ax = b
.
sparse_cholesky_smp
- Computes the Cholesky factorization of a sparse real symmetric
positive definite matrix A by an OpenMP parallelized supernodal
algorithm and solves the sparse real positive definite system of linear
equations
Ax = b
.
sparse_cholesky_smp
(complex)
- Computes the Cholesky factorization of a sparse Hermitian positive
definite matrix A by an OpenMP parallelized super-nodal algorithm and
solves the sparse Hermitian positive definite system of linear equations
Ax = b
.
- Chapter 8: Optimization
jacobian
- Approximates the Jacobian of m functions in n unknowns using divided
differences.
- Stat/Library
- Reference Material
initialize_error_handler
- Initialize the IMSL C Stat Library error handling system.
set_user_fcn_return_flag
- Indicates a condition has occurred in a user-supplied function
necessitating a return to the calling function.
- Chapter 8: Time Series and Forecasting
bayesian_seasonal_adj
- Decomposes a time series into trend, seasonal, and an error
component.
vector_autoregression
- Estimates a vector auto-regressive time series model with optional
moving average components.
- Chapter 11: Probability Distribution Functions and Inverses
pareto_cdf
- Evaluates the Pareto cumulative probability distribution
function.
pareto_pdf
- Evaluates the Pareto probability density function.
discrete_uniform_cdf
- Evaluates the discrete uniform cumulative distribution function
(CDF).
discrete_uniform_inverse_cdf
- Evaluates the inverse of the discrete uniform cumulative
distribution function (CDF).
discrete_uniform_pdf
- Evaluates the discrete uniform probability density function
(PDF).
exponential_cdf
- Evaluates the exponential cumulative distribution function
(CDF).
exponential_inverse_cdf
- Evaluates the inverse of the exponential cumulative distribution
function (CDF).
exponential_pdf
- Evaluates the exponential probability density function (PDF).
geometric_cdf
- Evaluates the discrete geometric cumulative distribution function
(CDF).
geometric_inverse_cdf
- Evaluates the inverse of the discrete geometric cumulative
distribution function (CDF).
geometric_pdf
- Evaluates the discrete geometric probability density function
(PDF).
lognormal_cdf
- Evaluates the lognormal cumulative distribution function (CDF).
lognormal_inverse_cdf
- Evaluates the inverse of the lognormal cumulative distribution
function (CDF).
lognormal_pdf
- Evaluates the lognormal probability density function (PDF).
- Chapter 13: Data Mining
apriori
- Computes the frequent itemsets in a transaction set.
aggr_apriori
- Computes the frequent itemsets in a transaction set using
aggregation.
write_apriori_itemsets
- Prints frequent itemsets.
write_association_rules
- Prints association rules.
free_apriori_itemsets
- Frees the memory allocated within a frequent itemsets
structure.
free_association_rules
- Frees the memory allocated within an association rules
structure.
support_vector_trainer
- Trains a Support Vector Machines (SVM) classifier.
support_vector_classification
- Classifies unknown patterns using a previously trained Support
Vector Machines (SVM) model computed by
support_vector_trainer
.
svm_classifier_free
- Frees memory allocated to an
Imsls_f_svm_model
/Imsls_d_svm_model
data
structure.
kohonenSOM_trainer
- Trains a Kohonen network.
kohonenSOM_forecast
- Calculates forecasts using a trained Kohonen network.
decision_tree
- Generates a decision tree for a single response variable and two or
more predictor variables.
decision_tree_predict
- Computes predicted values using a decision tree.
decision_tree_print
decision_tree_free
- Frees the memory associated with a decision tree.
- Improvements
- Math/Library
- General
- Initialized variables used by the error handler.
- The internally used IMSL BLAS function,
scopy
, now uses
C function memmove instead of memcpy for overlapping arrays.
sgemm
(cuda version)
- Now Copies only the needed elements of an array to the GPU.
strsm
(cuda version)
- Now Copies only the needed elements of an array to the GPU.
- Chapter 1: Linear Systems
lin_sol_posdef_coordinate
- Corrected use of memory to eliminate potential program crashes.
- Documented functions which free returned structures.
lin_sol_posdef_coordinate
- Corrected use of memory to eliminate (complex) potential program
crashes.
- Documented functions which free returned structures.
superlu
(complex)
- Chapter 3: Interpolation and Approximation
- cub_spline_value
- Added note that
xvec
must be sorted when optional
arguments IMSL_GRID
or IMSL_GRID_USER
are
used. (documentation)
- Chapter 5: Differential Equations
feynman_kac
- Initialized variables to zero.
- Chapter 8: Optimization
- quadratic_prog
- Improved performance. The default convergence tolerance was loosened
and optional arguments were added to allow the user to set the
convergence tolerance and the maximum number of iterations allowed.
read_mps
- Modified so that the objective constant is returned in the variable
objective_constant which was added to the
Imsl_f_mps
data
structure.
sparse_lin_prog
- Now checks for feasibility of empty constraints in the
pre-solver.
sparse_quadratic_prog
- Check for feasibility of empty constraints in the pre-solver.
- Chapter 10: Statistics and Random Number Generation
covariances
- Fixed a deficiency in calculating the correlation matrix when the
observations are constant.
chi_squared_inverse_cdf
- Changed error message which was using an uninitialized variable as
part of the error message.
- Chapter 12: Utilities
mat_mul_rect
- Now uses SGEMV and SGEMM for the general matrix case.
fopen
- Added Windows example. (documentation)
fclose
- Added Windows example. (documentation)
vector_norm
(complex)
- Documented function. (documentation)
- Stat/Library
- General:
- Initialized variables used by the error handler.
- The internally used IMSL BLAS function,
scopy
, now uses
C function memmove instead of memcpy for overlapping arrays.
strsm
(cuda version)
- Now copies only the needed elements of an array to the GPU.
- Chapter 1: Basic Statistics
normal_two_sample
- Added streaming data capability.
sort_data
- Chapter 2: Regression
poly_regression
- Corrected calculation of
IMSLS_SSQ_PURE_ERROR
and
IMSLS_DF_PURE_ERROR
when neither IMSLS_SSQ_LOF
nor IMSLS_SSQ_LOF_USER
are specified.
pls_regression
- The first equation was removed. (documentation)
- regression
- Added a description on how to free space allocated by the
Imsls_f_regression
structure. (documentation)
- Chapter 3: Correlation and Covariance
covariances
- Fixed a deficiency in calculating the correlation matrix when the
observations are constant.
- Chapter 4: Analysis of Variance and Designed Experiments
anova_nested
- Corrected error message so it no longer uses an uninitialized
variable.
- Chapter 6: Nonparametric Statistics
- Chapter 7: Tests of Goodness of Fit
chi_squared_inverse_cdf
- Changed error message which was using an uninitialized variable as
part of the error message.
- randomness_test
- Corrected so as to not use an uninitialized variable when
method=1
.
- Added streaming data capability.
- Chapter 8: Time Series and Forecasting
- Introduction
- Corrected documentation for the "Linearly Constrained Minimization"
topic. (documentation)
auto_arima
- For method = 1, the search for the optimum
AR(p,0,s,d)
model was relaxed in case the predetermined optimum
(p*,0,s*,d*)
combination cannot be handled by the outlier
detection routine.
- Added optional argument
IMSLS_SUPPLY_WORK_ARRAYS
to
avoid memory fragmentation if many time series are handled sequentially
by auto_arima
.
- Used OpenMP to parallelize the search for the optimum model for
METHOD = 1
and METHOD = 2
.
max_arma
- Modifications made to enable consistent output between IMSL Fortran
Numerical Library and IMSL C Numerical Library.
regression_arima
- Corrected optional output argument
IMSLS_VAR_NOISE
.
- Chapter 9: Multivariate Analysis
cluster_k_means
- Added the optional argument
IMSLS_CLUSTER_HIST
which
allows the user to obtain information on the cluster membership of each
observation per iteration.
- Added the optional argument
IMSLS_CLUSTER_HISTORY_USER
whose purpose is identical to the optional argument
IMSLS_CLUSTER_HIST
except that the storage is provided by
the user's program.
- Chapter 11: Probability Distribution Functions and Inverses
multivariate_normal_cdf
- Corrected array indexing and initialization problems.
max_likelihood_estimates
- Chapter 13: Data Mining
ga_chromosome
- Freed temporary arrays. Both the description of the example output
and the printed output itself for
ga_chromosome
were
changed to reflect the fact that the binary phenotype comes first
followed by the nominal phenotype.
ga_clone_population
ga_free_individual
ga_grow_population
ga_individual
- Freed temporary arrays. Corrected document example output.
(documentation)
ga_merge_population
ga_population
genetic_algorithm
- Correct internal memory allocation and initialization of
variables.
naive_bayes_trainer
- Added an error message to identify insufficient patterns in a class
error test.
- Chapter 15: Utilities
data_sets
- Corrected documented array size when
data_set_choice=10
. (documentation)
mat_mul_rect
- Now uses
SGEMV
and SGEMM
for the general
matrix case.
fopen
- Added Windows example. (documentation)
fclose
- Added Windows example. (documentation)
8.0.2
- Announcements
- Additions
- Math/Library
- Reference Material
initialize_error_handler
- Initialize the IMSL C Math Library error handling system.
set_user_fcn_return_flag
- Indicates a condition has occurred in a user-supplied function
necessitating a return to the calling function.
- Stat/Library
- Reference Material
initialize_error_handler
- Initialize the IMSL C Stat Library error handling system.
set_user_fcn_return_flag
- Indicates a condition has occurred in a user-supplied function
necessitating a return to the calling function.
- Improvements
- Math/Library
- General
- Made error handling, when no heap memory is available, more
robust.
- Initialized variables used by the error handler.
sgemm
(cuda version)
- Copy only the needed elements of an array to the GPU.
strsm
(cuda version)
- Copy only the needed elements of an array to the GPU.
- Chapter 5: Differential Equations
feynman_kac
- Initialize variables to zero.
- Chapter 8: Optimization
quadratic_prog
- Improved performance.
- The default convergence tolerance was loosened and optional
arguments were added to allow the user to set the convergence tolerance
and the maximum number of iterations allowed.
read_mps
- Modified so that the objective constant is returned in the variable
objective_constant
which was added to the
Imsl_f_mps
data structure.
- Chapter 12: Utilities
fopen
- Added Windows example. (documentation)
fclose
- Added Windows example. (documentation)
- Stat/Library
- General:
- Made error handling, when no heap memory is available, more
robust.
- Initialized variables used by the error handler.
- Chapter 2: Regression
poly_regression
- Corrected calculation of
IMSLS_SSQ_PURE_ERROR
and
IMSLS_DF_PURE_ERROR
when neither IMSLS_SSQ_LOF
nor IMSLS_SSQ_LOF_USER
are specified.
- Chapter 8: Time Series and Forecasting
auto_arima
- For
method = 1
, the search for the optimum
AR(p,0,s,d)
model was relaxed in case the predetermined
optimum (p*,0,s*,d*)
combination cannot be handled by the
outlier detection routine.
- Added optional argument
IMSLS_SUPPLY_WORK_ARRAYS
to
avoid memory fragmentation if many time series are handled sequentially
by auto_arima
.
- OpenMP-parallelized search for the optimum model for
METHOD = 1
and METHOD = 2
.
regression_arima
- Corrected optional output argument
IMSLS_VAR_NOISE
.
- Chapter 11: Probability Distribution Functions and Inverses
multivariate_normal_cdf
- Corrected array indexing and
initialization problems.
- Chapter 13: Data Mining
ga_chromosome
ga_clone_population
ga_free_individual
ga_grow_population
ga_individual
ga_merge_population
ga_population
- Chapter 15: Utilities
fopen
- Added Windows example. (documentation)
fclose
- Added Windows example. (documentation)
8.0.1
- Announcements
- Additions
- Improvements
- Math/Library
- Chapter 10: Statistics and Random Number Generation
- covariances
- Fixed a deficiency in calculating the correlation matrix when the
observations are constant.
- Stat/Library
- Chapter 3: Correlation and Covariance
- covariances
- Fixed a deficiency in calculating the correlation matrix when the
observations are constant.
8.0.0
- Announcements
- The user should not see any difference in license management
behavior. Windows users can use the
VNI_LICENSE_FILE
environment to identify the location of the license file. This option
was already available to Linux/UNIX users.
- OpenMP directives have been added to various functions to improve
parallelization.
- Increased utilization of third-party vendor's high performance
libraries has been implemented to improve performance.
- Support of Graphics Processing Units (NVIDIA) has been added to
improve performance.
- A deprecated function is one that is no longer used by anything in
the library but is being included in the product for those users who may
be referencing it in their application. However future versions of C
Numerical Library may not include these functions. If any of these are
being called within your application, it is recommended that you change
your code to call the replacement function or retain the deprecated
function before replacing this library with the next version.
- deprecated
pde_method_of_lines
and replaced by
modified_method_of_lines
.
- Additions
- Math/Library
- Chapter 1: Linear Systems
superlu
- Computes the LU factorization of a general sparse matrix by a column
method and solves the real sparse linear system of equations
Ax=b
.
superlu
(complex)
- Computes the LU factorization of a general complex sparse matrix by
a column method and solves the complex sparse linear system of equations
Ax=b
.
nonneg_least_squares
- Computes the non-negative least squares (NNLS) solution of an
m × n
real linear least squares system.
nonneg_matrix_factorization
- Given an
m x n
real matrix A >= 0
and
an integer K <= min(m,n)
, compute an approximate
factorization of A
. The matrix factors are computed to
minimize the Frobenius, or sum of squares, norm of the error
matrix.
- Chapter 3: Interpolation
spline_nd_interp
- Performs multidimensional interpolation and differentiation for up
to 7 dimensions.
- Chapter 4 – Quadrature
int_fcn_sing_1d
- Integrates a function with a possible internal or endpoint
singularity.
int_fcn_sing_2d
- Integrates a function of two variables with a possible internal or
endpoint singularity.
int_fcn_sing_3d
- Integrates a function of three variables with a possible internal or
endpoint singularity
- Chapter 5: Differential Equations
differential_algebraic_eqs
- Solves a first order differential-algebraic system of equations with
optional additional constraints and user-defined linear system
solver.
ode_adams_2nd_order
- Solves an initial-value problem for a system of ordinary
differential equations of order one or two using a variable order Adams
method.
modified_method_of_lines
- Solves a system of partial differential equations using the method
of lines. Replaces deprecated function
pde_method_of_lines
.
- Chapter 7: Nonlinear Equations
zero_univariate
- Finds a zero of a real univariate function.
- Chapter 8: Optimization
sparse_lin_prog
- Solves a sparse linear programming problem by an infeasible
primal-dual interior-point method.
sparse_quadratic_prog
- Solves a sparse convex quadratic programming problem by an
infeasible primal-dual interior-point method.
- Chapter 9: Special Functions
psi
- Evaluates the derivative of the log gamma function.
psi1
- Evaluates the second derivative of the log gamma function.
- Chapter 12: Utilities
cuda_get
- Gets the threshold used by the specified function to determine if
the NVIDIA CUDA Toolkit algorithm will be used.
cuda_set
- Sets the threshold used by the specified function to determine if
the NVIDIA CUDA Toolkit algorithm will be used.
cuda_free
- Releases NVIDIA memory allocated by the IMSL C Numerical
Library.
- Stat/Library
- Chapter 2: Regression
pls_regression
- Performs partial least squares (PLS) regression for one or more
response variables and one or more predictor variables.
- Chapter 4: Analysis of Variance and Designed Experiments
false_discovery_rates
- Calculates the False Discovery Rate (FDR) q-values corresponding to
a set of p-values resulting from multiple simultaneous hypothesis
tests.
- Chapter 5: Categorical and Discrete Data Analysis
logistic_regression
- Fits a binomial or multinomial logistic regression model using
iteratively re-weighted least squares.
logistic_reg_predict
- Predicts a binomial or multinomial outcome given an estimated model
and new values of the independent variables.
- Chapter 7: Tests of Goodness of Fit
ad_normality_test
- Performs an Anderson-Darling test for normality.
cvm_normality_test
- Performs a Cramer-von Mises test for normality.
- Chapter 8: Time Series and Forecasting
regression_arima
- Fits a univariate ARIMA (p, d, q) time series model with the
inclusion of one or more regression variables.
auto_parm
- Estimates structural breaks in non-stationary univariate time
series.
hw_time_series
- Calculates parameters and forecasts using the Holt-Winters
Multiplicative or Additive forecasting method for seasonal data.
- Chapter 11: Probability Distribution Functions
non_central_beta_cdf
- Evaluates the non-central beta cumulative distribution function
(CDF).
non_central_beta_inverse_cdf
- Evaluates the inverse of the non-central beta cumulative
distribution function (CDF).
- non_central_beta_pdf
- Evaluates the non-central beta probability density function
(PDF).
complementary_non_central_F_cdf
- Evaluates the complementary non-central F cumulative distribution
function (CDF).
max_likelihood_estimates
- Calculates maximum likelihood estimates (MLE) for the parameters of
one of several univariate probability distributions.
- Chapter 12: - Random Number Generation
random_mvar_t_copula
- Given a Cholesky factorization of a correlation matrix, generates
pseudorandom numbers from a Student’s t Copula distribution.
random_mvar_gaussian_copula
- Given a Cholesky factorization of a correlation matrix, generates
pseudorandom numbers from a Gaussian Copula distribution.
cannonical_correlation
- Given an input array of deviate values, generates a canonical
correlation array.
- Chapter 15: Utilities
ascii_read
- Reads freely-formatted ASCII files.
impute_missing
- Locate and optionally replace dependent variable missing values with
nearest neighbor estimates.
cuda_get
- Gets the threshold used by the specified function to determine if
the NVIDIA CUDA Toolkit algorithm will be used.
cuda_set
- Sets the threshold used by the specified function to determine if
the NVIDIA CUDA Toolkit algorithm will be used.
cuda_free
- Releases NVIDIA memory allocated by the IMSL C Numerical
Library.
- Improvements
- Math/Library
- Chapter 1: Linear Systems
lin_sol_gen
- Corrected/Updated documentation. (documentation)
lin_sol_gen_coordinate
- Corrected description of the optional argument
IMSL_SUPPLY_SPARSE_LU_IN_COORD
. (documentation)
lin_sol_posdef_coordinate
- Allow optional arguments
IMSL_SUPPLY_SYMBOLIC_FACTOR
and IMSL_SOLVE_ONLY
to be used simultaneously.
- Corrected the case where multiple calls with optional argument
IMSL_SUPPLY_SYMBOLIC_FACTOR
produces an unhandled
exception.
- Additional documentation was added to the description of the
IMSL_RETURN_NUMERIC_FACTOR
optional argument which
describes the returned structure. (documentation)
lin_sol_posdef_coordinate
(complex)
- Allow optional arguments
IMSL_SUPPLY_SYMBOLIC_FACTOR
and IMSL_SOLVE_ONLY
to be used simultaneously.
- Corrected the case where multiple calls with optional argument
IMSL_SUPPLY_SYMBOLIC_FACTOR
produces an unhandled
exception.
- Additional documentation was added to the description of the
IMSL_RETURN_NUMERIC_FACTOR
optional argument which
describes the returned structure. (documentation)
lin_lsq_lin_constraints
- Improved performance on large problems.
- Updated code so that solutions can be found for some numerically
unstable problems.
- Chapter 3: Interpolation and Approximation
- Interpolation and Approximation Usage Notes
- Re-wrote the section "Structures for Splines and Piecewise
Polynomials".
user_fcn_least_squares
- Documentation added referring the user to
nonlin_least_squares
for very large problems.
(documentation)
- Chapter 4: Quadrature
int_fcn_sing_pts
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_alg_log
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_inf
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_trig
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_fourier
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_cauchy
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_smooth
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_hyper_rect
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
int_fcn_qmc
- Removed redundant instance of optional argument
IMSL_MAX_EVALS
. (documentation)
- Allow the required function to be NULL if the optional argument
IMSL_FCN_W_DATA
is present.
- Chapter 7: Nonlinear Equations
zeros_function
- Changes were made to improve the code's ability to find roots when
the function is almost parallel to the x-axis near the root.
- Chapter 8: Optimization
nonlin_least_squares
- Added a check in the Levenberg-Marquardt step to prevent an infinite
loop when step length and the upper and lower L-M parameters do not
change.
read_mps
- Modified type "G" constraints where the upper bound was incorrectly
set to positive infinity if the constraint also has an entry in the
RANGES
section.
linear_programming
- Removed the redundant free statement from the document example.
(documentation)
bounded_least_squares
- Added a check in the Levenberg-Marquardt step to prevent an infinite
loop when step length and the upper and lower L-M parameters do not
change.
constrained_nlp
- Added code to return NULL when no solution is found.
- Modified code to be consistent with documentation. The code now
allows
xl[i]= xu[i]
.
- Chapter 9: Special Functions
d_erfce
- Variables used to partition the input argument space were
corrected.
bessel_Jx
- Added an error message to indicate that the continued fractions
failed to converge.
internal_rate_annuity
- Implemented a new zero finder to improve the ability to find
solutions.
internal_rate_of_return
- Initialized uninitialized variables.
- Implemented a new zero finder to improve the ability to find
solutions.
internal_rate_schedule
- Initialized uninitialized variables.
- Implemented a new zero finder to improve the ability to find
solutions.
yield_periodic
- The call to the root finder now uses the value supplied with
optional argument
IMSL_HIGHEST
as the upper-bound.
- Allow computation of negative yields with a lower-bound of
-1.0.
- Chapter 12: Utilities
- ERROR HANDLER
- Corrected case where an incorrect error message was printed.
machine
(integer)
- Changed the function to return a long to allow for 64-bit
integers.
mat_mul_rect_coordinate
- Removed unnecessary memory allocation.
mat_mul_rect_coordinate
(complex)
- Removed unnecessary memory allocation.
mat_add_coordinate
- Modified to make thread-safe.
mat_add_coordinate
(complex)
- Modified to make thread-safe.
- Stat/Library
- Notes have been added to the documentation to indicate that very
small p_values may be reported as zero.
- Chapter 2: Regression
regression_stepwise
- Logic was added to ensure SSE does not become a small negative
number due to rounding.
nonlinear_regression
- Documentation was added to describe the tolerances.
(documentation)
- Added a check in the Levenberg-Marquardt step to prevent an infinite
loop when step length and the upper and lower L-M parameters do not
change.
- Chapter 4: Analysis of Variance and Designed Experiments
anova_nested
- Modified the
n_levels
description. (documentation)
- Added examples. (documentation)
rcbd_factorial
- Removed the reference to "unequal replication" from the summary
description. (documentation)
strip_plot
- Updated documentation for optional argument
IMSLS_TREATMENT_MEANS
. (documentation)
multiple_comparisons
- Removed reference to Duncan's MRT method in the synopsis.
(documentation)
- Chapter 5: Categorical and Discrete Data Analysis
categorical_glm
- Added error message
IMSLS_RANK_DEFICIENT_TERM
which is
generated when the model is rank deficient.
- Corrected spelling of optional argument
IMSLS_X_COL_VARIABLES
. (documentation)
- Improved description of optional argument IMSLS_CRITERION.
(documentation)
- Chapter 6: Nonparametric Statistics
wilcoxon_rank_sum
- Corrected cases where the p-value returned was a very small negative
number.
- Modified code to use tabulated values for small data sets to avoid
possible access violations with exact probability calculation.
- Chapter 7: Tests of Goodness of Fit
lilliefors_normality_test
- The code was modified so that ties are correctly identified.
- The Description and Example were modified. (documentation)
kolmogorov_one
- Replaced the fatal error message when a tie occurs with a warning
message specifying the total number of ties.
kolmogorov_two
- The formula for the Z statistic has been corrected in the document.
(documentation)
randomness_test
- Changed the argument type expected by optional argument IMSLS_EXPECT
in the documentation. (documentation)
- Updated description of optional argument
IMSLS_RUNS
.
(documentation)
- Chapter 8: Time Series and Forecasting
arma
- Allow NULL arrays as input to the IMSLS_RETURN_USER optional
argument when p or q equal 0.
- Updated
IMSLS_RETURN_USER
documentation.
(documentation)
- Added optional argument IMSLS_VAR_NOISE to return the innovation
variance.
- Removed condition which produced excessive
IMSLS_LEAST_SQUARES_FAILED
warning errors.
- Added a check in the Levenberg-Marquardt step to prevent an infinite
loop when step length and the upper and lower L-M parameters do not
change.
- Corrected statistical formulas. (documentation)
max_arma
- The gradient computation has been changed to use central
differencing.
arma_forecast
- Corrected statistical formulas. (documentation)
- auto_uni_ar
- The amount of internal workspace required was reduced.
ts_outlier_identification
- Removed unnecessary array copies. (Single Precision)
auto_arima
- Modified to eliminate a possible infinite loop.
- Modified so that the single precision results are consistent with
the double precision results.
- Updated description of example 1. (documentation)
lack_of_fit
- Deprecated the
CONVERGENCE_TOLERANCE
optional argument.
The default convergence tolerance is set to
imsls_f_machine
(4).
- Changed p-value computation to be 1.0 -
chi_squared_cdf
(Q, df).
estimate_missing
- Deprecated the CONVERGENCE_TOLERANCE optional argument. The default
convergence tolerance is set to
imsls_f_machine
(4).
- Chapter 11: Probability Distribution Functions and Inverses
hypergeometric_cdf
- Modified to return correct results when the "sample size" and
"number of defects in the lot" are set to 0.
hypergeometric_pdf
- Modified to return correct results
when the "sample size" and "number of defects in the lot" are set to
0.
chi_squared_cdf
- A new algorithm was implemented to improve accuracy.
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
chi_squared_inverse_cdf
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
complementary_chi_squared_cdf
- A new algorithm was implemented to improve accuracy.
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
non_central_chi_sq
- A new algorithm was implemented to improve accuracy.
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
non_central_chi_sq_inv
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
non_central_chi_sq_pdf
- Code modified to prevent an intermediate infinity from being
generated.
F_cdf
- A new algorithm was implemented to improve accuracy.
complementary_F_cdf
- A new algorithm was implemented to improve accuracy. Modified so
that error messages are generated only if df <=0 in contrast to df
< .5 which was the behavior in the last release.
non_central_F_pdf
- Code modified to prevent an intermediate infinity from being
generated.
non_central_F_cdf
- Modified to improve performance
- Code modified to prevent an intermediate infinity from being
generated.
t_cdf
- A new algorithm to improve accuracy has been implemented.
complementary_t_cdf
- A new algorithm was implemented to improve accuracy.
- Modified so that error messages are generated only if df <=0 in
contrast to df < .5 which was the behavior in the last release.
complementary_non_central_F_cdf
- Code modified to prevent an intermediate infinity from being
generated.
multivariate_normal_cdf
- Changed the underlying algorithm for cases N < 4 to improve
performance.
- Chapter 12: Random Number Generation
random_student_t
- Added example to the documentation. (documentation)
- Chapter 13: Data Mining
- Neural Network Usage Notes:
- A description about Stage I and Stage II using Quasi-Newton
optimization has been added. (documentation)
naive_bayes_trainer
- Removed the redundant term "pointers" from the discussion of C array
arguments. (documentation)
mlff_network_trainer
- Updated the descriptions for optional arguments for Stage I to
mention the Quasi-Newton method is used with Back-Propagation.
(documentation)
- Modified to return more consistent results across platforms.
- Chapter 15: Utilities
- ERROR HANDLER
- Corrected case where an incorrect error message was printed.
machine
(integer)
- Changed the function to return a long to allow for 64-bit
integers.
beta_incomplete
- Improved accuracy
- Added example code. (documentation)