NLSIC stands for “Non-linear Least Squares with Inequality Constraints”. This algorithm was first published in Sokol et al. (2012) <doi:10.1093/bioinformatics/btr716>. His advantage is in combination of the following features:
Jacobi matrix J is not squared, i.e. J^tJ is not calculated, thus preserving the solution from condition number degradation. Instead, QR decomposition is used;
taking into account inequality constraints is based on a well known NNLS algorithm by Lawson and Hanson;
convergence in non-linear iterations is globalized by back-tracking method. I.e. with enough iterations, the process will reach a convergence point but no guaranty is given that it will be a global minimum;
if J is rank deficient, a least norm (also known as “minimum norm”) increment is used. To find such increment exactly (not just a regularized one) in presence of inequality constraints is not a trivial task. We use our own algorithm implemented in lsi_ln(...) function;
if an initial approximation for a solution vector is outside of feasibility domain (FD) defined by inequality constraints then it is first projected on the FD (cf. ldp(...)) and the non-linear iterations start afterward.
This python implementation is an adaptation of the R one which is distributed with influx_si software. The original R version is in advance on this one. So users desiring to catch with the latest developments are invited to switch to the R version.
The main function to call is nlsic(...).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file nlsic-1.3.4.tar.gz.
File metadata
- Download URL: nlsic-1.3.4.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.1.1 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b2489ffd155b9d366df2288c75b0329b56d1a54e09657c5b51e034af881586a
|
|
| MD5 |
81994ce24c95f2fdec6abbd3cdd84cce
|
|
| BLAKE2b-256 |
30b1eeae88906bd8bbe68e9d08a2b6b6f81b4d45a85063ee18caa2c45b85dc74
|