Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000955 [ALGLIB] General feature have not tried 2023-01-18 20:31 2023-05-22 17:55
Reporter SergeyB View Status public  
Assigned To SergeyB
Priority normal Resolution implemented  
Status resolved   Product Version
Summary 0000955: IMPLEMENTED: API cleanup for ALGLIB 4
Description Backward incompatible changes:

===== 0 ==========

High-level changes in the API:
* C++ API now is const-correct. Functions modifying object/array state accept it as a modifiable reference, functions not modifying object/array accept is as a constant reference.
* Better handling of functions that rewrite array contents in-place but never reallocate it: in C# these functions accept arrays as a non-ref non-out parameter, in Python and Java these functions accept arrays as input-only reference (the value reference points to is changed, but not the reference itself)

===== 1 ==========

Removed ability to pass both halves of a symmetric matrix and return both halves of a symmetric matrix to determinant calculation and matrix inversion functions. Now these functions accept and modify only one triangle of the matrix (either upper or lower one, as specified by user).

===== 2 ==========

Mass changes in linear solvers:
* INFO output parameter replaced by rep.terminationtype for functions returning report, by boolean return value for functions returning no report
* output parameters REP and X changed order (compatibility with the rest of the library).

Affected functions: rmatrixsolve, rmatrixsolvefast, rmatrixsolvem, rmatrixsolvemfast, rmatrixlusolve, rmatrixlusolvefast, rmatrixlusolvem, rmatrixlusolvemfast, rmatrixmixedsolve, rmatrixmixedsolvem, cmatrixsolvem, cmatrixsolvemfast, cmatrixsolve, cmatrixsolvefast, cmatrixlusolvem, cmatrixlusolvemfast, cmatrixlusolve, cmatrixlusolvefast, cmatrixmixedsolvem, cmatrixmixedsolve, spdmatrixsolvem, spdmatrixsolvemfast, spdmatrixsolve, spdmatrixsolvefast, spdmatrixcholeskysolvem, spdmatrixcholeskysolvemfast, spdmatrixcholeskysolve, spdmatrixcholeskysolvefast, hpdmatrixsolvem, hpdmatrixsolvemfast, hpdmatrixsolve, hpdmatrixsolvefast, hpdmatrixcholeskysolvem, hpdmatrixcholeskysolvemfast, hpdmatrixcholeskysolve, hpdmatrixcholeskysolvefast, rmatrixsolvels

===== 3 ==========

Changes in the LINREG subpackage: INFO output parameter replaced by rep.terminationtype field.

Affected functions: lrbuild, lrbuilds, lrbuildz, lrbuildzs

===== 4 ==========

Changes in the LSFIT subpackage: INFO output parameter replaced by rep.terminationtype field.

Affected functions:
* lsfitlinear, lsfitlinearw, lsfitlinearc, lsfitlinearwc, lsfitresults
* spline1dfitcubicwc, spline1dfithermitewc, spline1dfitcubic, spline1dfithermite
* polynomialfit(, polynomialfitwc, barycentricfitfloaterhormannwc, barycentricfitfloaterhormann

===== 5 ==========

Changes in the PCA subpackage: INFO output parameter removed. Unexpected failures (like SVD solver failure) which in theory may occur but never occur in practice are now signaled by raising an exception.

Affected functions:
* pcabuildbasis

===== 6 ==========

Changes in SPLINE2D subpackage: spline2ddiff() and spline2ddiffvi() now return only first derivatives dS/dx and dS/dy. The mixed derivative d2S/(dx*dy) is now returned by spline2ddiff2() and spline2ddiff2vi().

===== PYTHON =====

The following changes are specific for ALGLIB for Python.

The following functions started to rewrite their arguments in-place instead of adding them to the return tuple. Please, check your usage!

cmatrixtranspose, rmatrixtranspose, rmatrixenforcesymmetricity, cmatrixcopy, rvectorcopy, rmatrixcopy, rmatrixgencopy, rmatrixger, cmatrixrank1, rmatrixrank1, rmatrixgemv, cmatrixmv, rmatrixmv, rmatrixsymv, rmatrixsyvmv, rmatrixtrsv, cmatrixrighttrsm, cmatrixlefttrsm, rmatrixrighttrsm, rmatrixlefttrsm, cmatrixherk, rmatrixsyrk, cmatrixgemm, rmatrixgemm, cmatrixsyrk, rmatrixqr, rmatrixlq, cmatrixqr, cmatrixlq, rmatrixbd, rmatrixbdmultiplybyq, rmatrixbdmultiplybyp, rmatrixhessenberg, smatrixtd, hmatrixtd, rmatrixrndorthogonalfromtheright, rmatrixrndorthogonalfromtheleft, cmatrixrndorthogonalfromtheright, cmatrixrndorthogonalfromtheleft, smatrixrndmultiply, hmatrixrndmultiply, sparsegemv, sparsetrmv, sparsetrsv, smatrixtdevd, rmatrixlu, cmatrixlu, hpdmatrixcholesky, spdmatrixcholesky, spdmatrixcholeskyupdateadd1, spdmatrixcholeskyupdatefix, spdmatrixcholeskyupdateadd1buf, spdmatrixcholeskyupdatefixbuf, rmatrixbdsvd, rmatrixsolvefast, rmatrixsolvemfast, rmatrixlusolvefast, rmatrixlusolvemfast, cmatrixsolvemfast, cmatrixsolvefast, cmatrixlusolvemfast, cmatrixlusolvefast, spdmatrixsolvemfast, spdmatrixsolvefast, spdmatrixcholeskysolvemfast, spdmatrixcholeskysolvefast, hpdmatrixsolvemfast, hpdmatrixsolvefast, hpdmatrixcholeskysolvemfast, hpdmatrixcholeskysolvefast, rmatrixluinverse, rmatrixinverse, cmatrixluinverse, cmatrixinverse, spdmatrixcholeskyinverse, spdmatrixinverse, hpdmatrixcholeskyinverse, hpdmatrixinverse, rmatrixtrinverse, cmatrixtrinverse, rmatrixinvupdatesimple, rmatrixinvupdaterow, rmatrixinvupdatecolumn, rmatrixinvupdateuv, rmatrixschur, smatrixgevdreduce, rankdata, rankdatacentered, fftc1d, fftc1dinv, fhtr1d, fhtr1dinv, filtersma, filterema, filterlrma
Additional Information
Programming language Unspecified
Attached Files

- Relationships

There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2023-01-18 20:31 SergeyB New Issue
2023-01-18 20:31 SergeyB Status new => assigned
2023-01-18 20:31 SergeyB Assigned To => SergeyB
2023-01-18 20:31 SergeyB Programming language => Unspecified
2023-04-21 22:56 SergeyB View Status private => public
2023-04-21 22:56 SergeyB Description Updated
2023-05-06 23:30 SergeyB Description Updated
2023-05-08 22:10 SergeyB Description Updated
2023-05-08 22:34 SergeyB Description Updated
2023-05-08 22:52 SergeyB Issue Monitored: SergeyB
2023-05-08 22:53 SergeyB Description Updated
2023-05-09 21:46 SergeyB Description Updated
2023-05-09 21:46 SergeyB Description Updated
2023-05-09 22:24 SergeyB Description Updated
2023-05-09 22:37 SergeyB Resolution open => implemented
2023-05-09 22:37 SergeyB Summary API cleanup for ALGLIB 4 => IMPLEMENTED: API cleanup for ALGLIB 4
2023-05-09 22:38 SergeyB Status assigned => resolved
2023-05-09 22:38 SergeyB Fixed in Version => 3.21.0
2023-05-15 21:05 SergeyB Description Updated
2023-05-22 17:55 SergeyB Description Updated


Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker