About This File
Eigen4AutoIt Features:
- free, fast matrix computing environment for Windows (runs under Wine on Linux and Mac)
- built upon the robust Eigen code base (open-source), with many enhancements, simplifications, and additional features
- simple, intuitive functions, with extensive online documentation
- supports integer, single, and double precision, in real and complex matrices
- Tutorials with scripts, plus Test scripts for each function section
- easily exchange data between native binary files (.mat) and ASCII, Excel, and Xbase files, or AutoIt arrays
- 32-bit (x86-mode) and 64-bit (x64-mode) support
- in x64-mode, matrices can be any size that fits into available virtual memory (>4GB), and can be shared between processes
- over one thousand alias wrappers for flexibility and ease-of-use
The Eigen4AutoIt thread is here:
This computing environment allows you to do matrix I/O (memory & files), matrix arithmetic, transformation, reduction, and decomposition, solve systems of linear equations, and perform 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.
What's New in Version 4.4
Released
- Added: new category of cellwise logical (bitwise) binary functions _Eigen_CwiseLogicalOp, supported for real and integer matrix types; internally, values are evaluated as signed integers; with new test script {#24).
- Added: transformation functions_Eigen_Clamp*, to limit values to within a specified range; with new test script (#25).
- Added: masked-Copy functions _Eigen_CopyMasked*, for copying only those cell/row/column contents for which a corresponding bitmask matrix cell contains unity; with new test script (#26).
- Added: masked-Set functions _Eigen_SetMaskedConstant*, for filling with a constant value only those cell/row/column contents for which a corresponding bitmask matrix cell contains unity; with new test script (#27).
- Added: transformation functions _Eigen_Transpose_Vector/InPlace, for converting between RowVector and ColVector shapes (content unchanged).
- Added: conditional cellwise functions _Eigen_ConditAll_Block/Colwise/Diag/Rowwise and _Eigen_ConditAny_Block/Colwise/Diag/Rowwise.
- Added: real and integer variants of _Eigen_CwiseScalarOp now also support quotient ("quot," specID 8) and modulo ("mod," specID 9).
- Added: alias wrappers for quickly retrieving the sum and mean value for full matrix and all default parts: _Eigen_GetSumValue/Block/Col/Diag/Row and _Eigen_GetMeanValue/Block/Col/Diag/Row.
- Added: internal functions _Eigen_CreateMatrix_Offset_FromRowCol/RowCol_FromOffset, converting between a matrix (list) of base-0 cell offsets and two same-sized matrices containing the associated row c.q. column coordinates.
- Added: internal function _Eigen_ReMap_MatrixCols, for creating virtual access to a contiguous set of existing columns as a separate matrix.
- Changed: matrix creation function _Eigen_CreateMatrix_FromArray now accepts additional optional parameters $rows and $cols (default: 0) with which to define larger containers than the array's original size; associated function _Eigen_Copy_ArrayData_ToMatrix had its dims check relaxed to allow for destination matrices larger than the source array.
- Changed: function _Eigen_Add_ExistingMatrix renamed to _Eigen_AddExistingMatrix; original name remains supported through alias wrapper.
- Fixed: appending new rows or columns beyond the existing ones with _Eigen_InsertRows/Cols/InPlace could fail on incorrect bounds checks.
- Fixed: memory leak in the wrappers for _Eigen_Sort_Unique/Block/Col/Diag/Row.
- Fixed: _Eigen_MatrixSpecs_Rowwise_Single used the wrong dimension's bound in one case.
- Fixed: numerous local variables in the wrapper library were not explicitly declared as such.
- Fixed: various typos and examples in Help document.
- 1