Release Notes

Important Notes

  1. The DTD support for XML charting is now located at http://www.roguewave.com/products/jmsl/chart.dtd.
  2. Some JMSL classes require user defined methods. It is the responsibility of the user to assure that these methods do not return NaN, infinity or negative infinity values.
  3. The QuickStart Guide is no longer offered.
  4. Use of JMSL requires a Java development environment, such as Oracle's JDK 7.0.
  5. Class SparseLP can accept inputs in Compressed Sparse Column (CSC), or Harwell-Boeing format. See Users' Guide for the Harwell-Boeing Sparse Matrix Collection.
  6. Variable length argument lists (varargs) do not display correctly in the documentation. A note has been added where this occurs and the issue will be corrected in the future.
  7. In addition to the jar file, jmsl.jar, users have the option of using jar files containing subsets of the entire product. The jar file, jmslnumerics.jar, does not contain any references to javax.swing or JMSL charting classes. The jar file, jmslchart.jar, contains the JMSL charting classes. It does not contain any of the numeric classes.
  8. For Windows-based systems, the user may experience different results between OpenGL and Direct 3D (D3D) when printing JMSL 3D graphs. These differences may be related to differences in video hardware and drivers, as well as versioning issues of OpenGL and D3D. The user should experiment with each method to determine the optimal method for printing 3D graphs. The default is to use OpenGL. To use D3D set the Java system property j3d.rend to d3d. This can be done on the command line using the option -Dj3d.rend=d3d.
  9. Serialization of JMSL classes will not be compatible with future JMSL releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of JMSL.

Classes and Methods New to the JMSL Numerical Library Version 7.2

com.imsl.datamining
Predictive Models
GradientBoosting Performs stochastic gradient boosting for classification or regression problems.

Classes and Methods New to the JMSL Numerical Library Version 7.1

General
New information in Chapter 1: Introduction on Compressed Sparse Column (CSC) Format.
com.imsl.math
Optimization
SparseLP Solves a sparse linear programming problem.
com.imsl.stat
Basic Statistics
Sort.ascending(int[][] ia, int nKeys) Sorts a matrix into ascending order by the first nKeys.
Sort.ascending(int[][] ia, int nKeys, int[] iperm) Sorts a matrix into ascending order according to the first nKeys keys and returns the permutation vector.
Sort.ascending(int[][] ia, int[] indkeys, int[] iperm) Sorts a matrix into ascending order by specified keys and returns the permutation vector.

Changes in JMSL Numerical Library Version 7.1

General
Made various grammatical and typographical corrections to the documentation.
com.imsl.math
Special Functions
Bessel.J(double x, int n) Resolved discrepant signs in the answer.
Bessel.J(double xnu, double x, int n) Updated input checks to be consistent with the documentation.
com.imsl.io
Input/Output
MPSReader.getLowerRange Corrected bug in reading the RANGES section in an MPS file.
com.imsl.datamining
Datamining
Apriori Corrected confidence value calculations.
Apriori Improved memory handling for large candidate itemsets.
Itemsets.getItemsetsMatrix The format of the returned matrix has been reformatted to conserve memory.
PredictiveModel PredictiveModel.VariableType.IGNORE is now handled correctly.
com.imsl.datamining.decisionTree
Decision Tree
CHAID PredictiveModel.VariableType.IGNORE is now handled correctly.

Classes and Methods New to the JMSL Numerical Library Version 7.0

com.imsl.math
Optimization
MinUnconMultiVar.getNumberOfThreads Returns the number of Threads used for parallel processing.
MinUnconMultiVar.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
NonlinLeastSquares.getNumberOfThreads Returns the number of Threads used for parallel processing.
NonlinLeastSquares.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
MinConGenLin.getNumberOfThreads Returns the number of Threads used for parallel processing.
MinConGenLin.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
BoundedLeastSquares.getNumberOfThreads Returns the number of Threads used for parallel processing.
BoundedLeastSquares.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
MinConNLP.getNumberOfThreads Returns the number of Threads used for parallel processing.
MinConNLP.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
MinConNLP.getOptimalValue Returns the optimal value of the objective function.
QuadraticProgramming.getOptimalValue Returns the optimal value of the objective function.
com.imsl.stat
Basic Statistics
Summary.getNumberOfObservations Returns the number of non-missing observations.
Summary.numberOfObservations Returns the number of non-missing observations in the given data set.
Time Series and Forecasting
AutoCorrelation.getNumberOfThreads Returns the number of Threads used for parallel processing.
AutoCorrelation.setNumberOfThreads Sets the number of Threads to be used for parallel processing.
HoltWintersExponentialSmoothing Implements Holt-Winters triple exponential smoothing for a univariate time series.
TimeSeries Describes data as a time series.
TimeSeriesOperations Provides methods to perform operations on TimeSeries objects.
VectorAutoregression Provides methods for vector autoregression (VAR).
Multivariate Analysis
ClusterKNN Performs a k-Nearest Neighbor classification.
Probability Distribution Functions and Inverses
Cdf.complementaryNoncentralF Evaluates the complementary noncentral F cumulative distribution function.
com.imsl.stat.distributions
Probability Distributions and Parameter Estimation
ProbabilityDistribution Abstract class for univariate probability distributions
PDFGradientInterface Interface for a ProbabilityDistribution which provides a pdf gradient
PDFHessianInterface Interface for a ProbabilityDistribution which provides a pdf hessian
MaximumLikelihoodEstimation Computes maximum likelihood estimates for univariate probability distributions.
BetaPD The beta probability distribution
GammaPD The gamma probability distribution
NormalPD The normal or Gaussian probability distribution
com.imsl.finance
Finance
DayCountBasis.setEOM Specifies whether to use the End-Of-Month rule.
Bond.price Evaluates the price of an odd first period (long and short) coupon bond, given its yield.
Bond.price Evaluates the price of an odd last period (long and short) coupon bond, given its yield.
Bond.yield Evaluates the yield of a security with an odd first (long and short) coupon period that pays periodic interest, given its price.
Bond.yield Evaluates the yield of a security with an odd last (long and short) coupon period that pays periodic interest, given its price.
com.imsl.datamining
Datamining
Apriori Implements the Apriori algorithm.
Itemsets Describes the sets of items discovered by the Apriori algorithm.
AssociationRule Describes the association rules generated by the Apriori algorithm.
Kohonen Self Organizing Map
KohonenSOM Describes a Kohonen map.
KohonenSOMTrainer Abstract class for training a Kohonen network
Predictive Models
PredictiveModel Abstract class for predictive models
BootstrapAggregation Performs bootstrap aggregation for predictive models.
CrossValidation Performs cross validation for predictive models.
com.imsl.datamining.decisionTree
Decision Tree
Decision Tree Chapter Introduction Details decision tree analysis.
ALACART Implements the ALACART method for generating a decision tree.
C45 Implements the C45 method for generating a decision tree.
CHAID Implements the CHAID method for generating a decision tree.
QUEST Implements the QUEST method for generating a decision tree.
DecisionTree Abstract class for generating decision trees
DecisionTreeInfoGain Extends DecisionTree for methods which use an information gain criteria.
Tree The decision tree structure
TreeNode A DecisionTree node which may be used as a child node of Tree

Changes in JMSL Numerical Library Version 7.0

General
Made various grammatical and typographical corrections to the documentation.
The product is no longer license-managed for users who have purchased the product.
com.imsl.math
Linear Systems
ComplexMatrix Added new exception handling for parallel processing.
Matrix Added new exception handling for parallel processing.
SuperLU Resolved missing warning message in message resource file.
Eigensystem Analysis
SymEigen Adjustments were made to the calculation of the scaling factor.
SymEigen Corrected eigenvalue and eigenvector calculation.
Optimization
MinUnconMultiVar Class has been parallelized.
NonlinLeastSquares Class has been parallelized.
NonlinLeastSquares Changed exception to a warning and added a test to break out of a while loop to prevent a possible infinite loop.
MinConGenLin Class has been parallelized.
MinConNLP Class has been parallelized.
BoundedLeastSquares Class has been parallelized.
BoundedLeastSquares Changed exception to a warning and added a test to break out of a while loop to prevent a possible infinite loop.
BoundedLeastSquares.getJacobian Now returns the Jacobian whether specified by the user or not.
Special Functions
Sfun.logGammaCorrection Deprecated.
com.imsl.finance
Bond.price Updated the price calculation when the number of coupons n=1.
Bond.yield Improved the zero root finder in the yield calculation.
Bond.yield Relaxed the lower bound of 0 from the yield calculation.
com.imsl.stat
Basic Statistics
Summary.maximum Corrected bug which causes incorrect values to be returned when input has NaNs.
Summary.minimum Corrected bug which causes incorrect values to be returned when input has NaNs.
NormOneSample.setConfidenceMean Updated the documentation.
NormTwoSample Updated the documentation.
NormTwoSample Enhanced the treatment of missing values.
NormTwoSample Corrected bug which causes incorrect values to be returned when update methods are used.
NormTwoSample.getTTestDF Corrected bug which calculates the degrees of freedom incorrectly when a sample has only one observation.
Covariances Corrected bug producing incorrect results for constant variables.
Sort Updated the documentation.
TableMultiWay Updated the documentation.
TableMultiWay Corrected bug in applying user defined frequencies in unbalanced tables.
Regression
NonlinearRegression Changed exception to a warning and added a test to break out of a while loop to prevent a possible infinite loop.
Nonparametric Statistics
WilcoxonRankSum Enhanced the treatment of missing values.
WilcoxonRankSum Added the exact p-values calculation.
WilcoxonRankSum Modified the use of a correction term so that negative p-values do not occur.
WilcoxonRankSum Switched to using tabulated p-values for small sample sizes to avoid a state where an access violation could occur.
Time Series and Forecasting
AutoCorrelation Class has been parallelized.
ARAutoUnivariate Improved memory usage.
ARMA Corrected under allocation of space for unconstrained nonlinear least squares solver.
ARMA Added check to confirm the number of parameters is less than or equal to the number of squared residuals for the unconstrained nonlinear least squares
ARMA Changed exception to a warning and added a test to break out of a while loop to prevent a possible infinite loop.
GARCH.getAR Deprecated.
GARCH.getMA Deprecated.
GARCH.getGARCH Returns the estimated values of the GARCH coefficients.
GARCH.getARCH Returns the estimated values of the ARCH coefficients.
GARCH.getX Updated the documentation.
LackOfFit Corrected bug in calculating p-value.
com.imsl.io
Input/Output
AbstractFlatFile Created empty methods to implement new interface methods in ResultSet for JDK 1.6 and 1.7.
FlatFile Created empty methods to implement new interface methods in ResultSet for JDK 1.6 and 1.7.