Mot

Latest version: v0.11.4

Safety actively analyzes 681866 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 11

0.9.0

===================
The primary addition in this version is the support for inequality constraints in the non-linear optimization routines.
This allows the user to provide a function :math:`g(x)` enforcing the rule :math:`g(x) <= 0`. The current optimization routines
have no native capability for dealing with these bounds and therefore use the penalty method.

Added
-----
- Adds support for inequality constraints (in the non-linear optimization routines) using the penalty method.
- The CL function parser can now handle ``/* */`` documentation strings prefixed to the function definition.
- Adds atomic float and double functions to the CL kernels

Changed
-------
- Moved the box constraints to the penalty methods.
- Changed the Richardson extrapolation computation (for the Hessian) to a clearer and cleaner version using recursion.
- In the Levenberg-Marquardt routine, changed the Jacobian computation to a second order approximation. Furthermore, it now uses centered difference by default, and forward and backward difference when near the upper and lower bounds. These changes improve the converge of the LM routine, but do cost more memory.

Other
-----
- The Hessian function is now completely in OpenCL, making it slightly faster.

0.8.3

===================

Added
-----
- Adds functions for inverting a real symmetric matrix stored as an upper triangular vector.

Changed
-------
- Changed the numerical Hessian to produce upper triangular elements instead of lower triangular.
- Refactored the Hessian function a bit to optionally merge the different functions in the future.

Other
-----
- Renamed solve_cubic_pol_real to real_zeros_cubic_pol.
- Slight refactoring of the Jacobian function of the LM method. The Jacobian is now no longer suspect to the bounds.
- Small refactorings to make the Hessian code more clear.

0.8.2

===================

Added
-----
- Added routines for computing the inverse of a symmetric matrix using eigenvalue decomposition.

Changed
-------
- Refactored parts of the numerical Hessian routine.

Other
-----
- Fixed LM by adding a double cast.

0.8.1

===================

Added
-----
- Adds a function for computing the eigenvalues of a 3x3 symmetric matrix.

Changed
-------
- Removed the constants to single precision flag from the compilation.

Other
-----
- Small bugfix in the polynomial computation, no value was returned for 0 real roots.

0.8.0

===================
This version adds support for box constraints to the optimization routines.
For routines that do not natively support box constraints we wrap the evaluation function with a check for
bound violations and return INFINITY when that happens.


Added
-----
- Adds support for boundary conditions (box constraints) to the optimization routines.
- Adds composite kernel data private array.

Changed
-------
- Updated the CompositeArray to support multiple address spaces.

Fixed
-----
- Fixed that the LL calculator did not return results for all samples.

0.7.2

===================

Fixed
-----
- Fixed a small problem when an array with vectors is loaded in the Array class.
- Fixed bug that no device would be selected if only CPU's were present.

Other
-----
- Simplified the parameter objects by moving the data type information into the object. This also makes it simpler to add new types in the future, like the block type in OpenCL 2.0.

Page 3 of 11

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.