## About This File

The **Eigen4AutoIt** environment (thread is **online Help** is here) allows you to do matrix I/O (memory & files), matrix arithmetic, transformation, and decomposition, solve systems of linear equations, and perform advanced statistics, all at either single or double precision. Most functions can act on real or complex matrices (or the latter's real/imaginary parts separately). Much of the actual complexity of using Eigen in its native C++ environment has been hidden for AutoIt users, through extensive bounds and error checks, an intuitive function-naming convention, a large help file, and detailed tutorials and test examples.

This library allows you to perform **fast** matrix operations on large numerical data sets, using special matrix variables and simple AutoIt wrapper functions. These wrappers call C++ wrappers in the dlls (also written by RTFC, source included). The dlls in turn re-map AutoIt memory and call one or more Eigen functions. All operations are memory pointer-based and act directly on the matrices created in your AutoIt script, obviating the need for data transfers.

## What's New in Version 2.5

Released

- Added: function _Eigen_PartialLeastSquares(), which performs a Least-Squares fit in eigenspace (i.e., it is insensitive to parameter covariance and null space); this function replaces/wraps _Eigen_PCF(), which itself has undergone some internal changes to accommodate this option.
- Added global $EIGEN_LASTERROR retains the most recent E4A error for user-defined error handling.
- Added: global $EIGEN_ABORTEXITS allows script to return from a fatal error if set to False, enabling user-defined error handling within larger applications.
- Added: flag $FLAGS_PLS_Normalise (default: True); if False, PCF skips the final normalisation of results matrix V and multiplication by R-squared, yielding instead the coefficients for each original variable . In this case, the fitted intercepts are returned separately in Rowvector Z.
- Added: flag $FLAGS_PLS_AddIntercept (default: True); if False, LSQ fitting omits adding an extra unity parameter column with which to fit intercept(s)
- Added _Eigen_RsqAdjusted(), providing a separate test statistic (in subsection Advanced) that takes into account potential overfitting of parameters
- Changed: Eigen includes for dlls have been upgraded to stable release version 3.2.7; this version no longer supports computation of the determinant of integer-type matrices (see MatrixSpecs)
- Fixed: MatrixFileConverter did not always force floating-point output when $ConvertScientificNotation=False
- Fixed: Function Selector's Irrlicht dlls are now also compiled against the static runtime, and should no longer require additional msvcr*.dlls