CVM Class Library changes
- 6.0 October 6, 2010
- 1. New Featues:
- RQ, LQ and QL decomposition algorithms implemented.
- Linear Least Squares algorithms added.
- Memory allocation method was greatly simplified to improve performance for smaller objects (thanks to ASM Warrior for suggestion).
- Numerous performance improvements made.
- 2. Bug fixes:
- MinGW compatibility issues resolved (thanks to ASM Warrior for reporting this).
- 3. Documentation and package changes:
- Ubuntu/Debian packages created.
- New features are documented.
- Pre-built Fortran source code is packed separately and available for download.
- 5.7 February 9, 2010
- 1. New Featues:
- INT64 (a.k.a. ILP64) versions are now part of the library. This is useful for MATLAB x64 extensions. Suggested by Andreas Geiger, thank you!
- 0-based indexing is now supported. See documentation for details.
- 2. Bug fixes:
- syrk/dyrk functions misbehaved when vectors with increment more than one passed. Reported by Markus Jochmann, thank you!
- Vectors assignment from n-th position tried to read shorter vectors elements which are beyond boundaries.
- Symmetric and Hermitian matrices eigenvectors routines sometimes crashed due to wrong work array size calculation (noticed in heavy multithreading only though). Fixed by switching to automatic calculation algorithm provided by LAPACK itself.
- 3. Documentation and package changes:
- 5.6.2 July 10, 2008
- 1. Bug fixes:
- Minor multithreading bug fix in regression test.
- 2. Documentation and package changes:
- 5.6.1 April 17, 2008
- 1. New Features:
- Microsoft Visual Studio 2008 supported.
- 2. Bug fixes:
- Cygwin issues resolved.
- DLL linking is now used for all versions due to some issues discovered while calling CVM DLLs from other ones.
- 3. Documentation and package changes:
- New features are documented.
- All required redistributables are now parts of appropriate binary packages.
- 5.6 November 29, 2007
- 1. New Features:
- Symmetry and hermitianity tolerance added (see documentation for more details) as suggested by Claudio Piciarelli (thanks!).
- "Managed C++" compatibility added. Use /clr switch only while building your managed code (reported by Johan Vium, thank you).
- Native LAPACK/BLAS libraries built by Intel Fortran are now supported.
- Upgraded to Intel MKL 10.0.
- 2. Documentation changes:
- New features are documented.
- 5.5.1 July 4, 2007
- 1. Bug fixes:
- AMD-related issues fixed.
- Regression test utility coverage extended.
- 2. Documentation changes:
- Some functions were missed. Added.
- 5.5 June 10, 2007
- 1. New Features:
- QR factorization implementation added (contributed by Greg Reynolds, thank you).
- Upgraded to Intel MKL 9.1.
- 2. Bug fixes:
- Due to its obvious ambiguity, 'reserve' function is now deprecated (reported by Jianguo Lee, thank you).
- Matrices now can be used in STL containers (reported by Jianguo Lee, thank you).
- Missing libguide.so is added to Linux package (reported by Ville Kyrki, thank you).
- 3. Documentation changes:
- New features are documented.
- 5.4.1 January 9, 2007
- 1. New Features:
- AMD ACML 3.6.0 support added.
- Upgraded to Intel MKL 9.0.
- 2. Bug fixes:
- Intel finally fixed in MKL 9.0 their SVD bug causing crash for big non-square matrices.
- 3. Documentation changes:
- CVM documentation discrepancies about SVD algorithm are fixed.
- 5.4 September 23, 2006
- 1. New Features:
- Pseudo (generalized) inversion algorithm implemented for generic rectangular and band matrices (thanks to Greg Reynolds for the idea).
- Unix makefiles reorganized and cleaned up.
- STLport 5.0.2 compatibility added.
- 2. Bug fixes:
- Weird Intel compiler bug about passing complex numbers by referense is worked around.
- Dot product functions returning complex numbers are wrapped by subroutines.
- 3. Documentation changes:
- New functions and makefiles are documented.
- 5.3 July 17, 2006
- 1. New Features:
- Intel Fortran 9.1 and Intel C++ 9.1 compilers for Windows and Linux supported.
- GCC 4.1.x supported.
- MKL 8.1 linked in, no external dependencies.
- EM64T supported.Older compilers are no longer supported - please use the stable version 5.2.
- 5.2 June 3, 2005
- 1. New Features:
- 1.1 New sub-vector and sub-matrix assignment functions added.
- 1.2 MS Visual Studio 2005 support added.
- 2. Bug fixes:
- 2.1 Matrix input operator was missing - added (thank you, Marie).
- 2.2 Linux multithreading issues resolved.
- 2.3 Annoying linker error while mixing debug and non-debug versions is fixed.
- 2.4 svd routines now calculate working array's size automatically.
- 2.5 Minor memory allocation issues for band matrices are fixed.
- 3. Documentation changes:
- 3.1 New functions are documented.
- 5.1.1 March 20, 2005
- 1. New Features:
- 1.1 gcc 3.4 compatibility achieved.
- 2. Bug fixes:
- 2.1 *matrix::transp failed to run when called for itself - fixed.
- 5.1 November 15, 2004
- 1. New features:
- 1.1 Memory manager is no longer used by default.
- 1.2 CVMAllocator is deprecated. Faster std::allocator is used instead.
- 2. Documentation changes:
- 3.1 Memory manager changes are documented.
- 3. Package changes: new Win32 binaries have been generated.
- 5.0.2 October 24, 2004
- 1. Bug fixes:
- LAPACK/MKL documentation bug caused CVM to throw exceptions while calling "svd" function on ?ORGBR call. The problem was about work array size incorrectly defined in the documentation - the exceptions were thrown when either N>M*64 or M>N*64. It's fixed (thank you, Lee).
- G77 has a bug causing
FLOOR and CEILING functions to fail for arguments of type REAL*4 (C type float). It's worked around.
- 2. Package changes:
- New Win32 binaries have been generated.
- 5.0.1 October 8, 2004
- 1. Bug fixes:
std::complex<TR> operator * (std::complex<TR>, const type_proxy<T,TR>&) is added to resolve the issue with multiplying complex number values by type_proxy values.
- Minor issue with the warning generated by KDevelop IDE is fixed.
- 2. Package changes:
- No package changes needed, 5.0 binaries are valid to be used with 5.0.1 source code.
- 5.0 October 3, 2004
- 1. New features:
- Band matrices implementation.
- Symmetric matrices implementation.
- Hermitian matrices implementation.
- User defined allocators support.
- Full support of multithreading applications.
- Submatrices support.
- Numerous optimizations like removal of redundant memory clean-ups etc.
- 2. Bug fixes:
- Memory corruption issues caused by different working array sizes for LAPACK and MKL libraries are fixed.
- 3. Package changes:
- Singular value decomposition routines now return square matrices as sets of eigenvectors.
- Assignment operator is now overloaded for objects of the library only. See the documentation for further details.
- MKL 7.0 included. Now it could be used as sstatically linked library as well as a set of standalone DLLs.
- STLport 4.6.2 included.
- 4.1.1 May 9, 2003
- 1. Bug fixes and optimizations:
- 1.1 Matrix indexing operators threw exceptions for some non-square matrices. It's fixed (thank you Marcin).
- 1.2 MS .NET 2003 compatibility has been achieved.
- 1.3 Intel MKL 6.0 is now supported.
- 2. Package changes:
- 2.1 mkl_support.dll was removed due to library transfer to utilization of MKL 6.0.
- 2.2 MKL 6.0 redistributable dll files are included (in accordance with Intel Corp's License Agreement).
- 3. Documentation changes:
- 3.1 All package changes are documented.
- 4.1 August 25, 2002
- 1. Bug fixes and optimizations:
- 1.1 Sun WorkShop 6 C++ 5.3 and higher compilers are supported now.
- 1.2 cvector::eig caused crash of Borland C++ Builder. It's fixed.
- 1.3 Array<t_type>::norminf and Array<t_type>::norm2 functions are #ifdef'ed now in order to provide compatibility with Borland C++.
- 1.4 Some minor fixes were made in order to provide gcc 3.1 compatibility.
- 2. Package changes:
- 2.1 Some additional libraries for Borland C++ Builder were created and added.
- 2.2 KDevelop 2.1 sample project is created.
- 2.3 Dev-C++ sample project is created.
- 2.4
mkl_support.dll was upgraded to the version 5.2SP1.
- 3. Documentation changes:
- 3.1 All package changes are documented.
- 4.0.3 April 7, 2002
- 1. Bug fixes and optimizations:
- 1.1 Due to MS VC 6 glitches virtual functions
Array<t_type>::stream_in and Array<t_type>::stream_out were replaced by template friend operators >> and <<
- 1.2
srmatrix::det () and scmatrix::det () now catch cvmexception& instead of cvmexception.
- 1.3 Win32 implementation of the
CriticalSection class now contains mutex instead of critical section inside.
- 1.4
gPool global object of the MemoryPool class is no longer exported due to some unexplainable problems with MS VC 6.
- 1.5 Static object of class
CriticalSection is removed now from MemoryPool class to the global scope.
- 1.6 CygWin environment compatibility was achieved.
- 2. Package changes:
- 2.1
mkl_support.dll was upgraded to the version 5.2.
- 3. Documentation changes:
- 3.1 Template friend operators
>> and << are documented
- 4.0.2 February 7, 2002
- 1. Bug fixes:
- 1.1 In constructor
ComplexArray::ComplexArray (const treal*, const treal*, const int nSize, const int nIncr = 1) the nSize parameter was removed because of its uselessness.
- 1.2 Microsoft .NET compiler compatibility was achieved.
- 2. Package changes:
- 2.1
./lib/ftn*.lib and ./lib/lapack_missed*.lib libraries were added into Win32 package. It means that you can rebuild the library without any Fortran compiler.
- 3. Documentation changes:
- 3.1 .NET compatibility and package changes are documented.
- 4.0.1 November 24, 2001
- 1. Bug fixes:
- 1.1
CriticalSection::is_bad() now returns false in single-threaded apps.
- 1.2
MemoryPool::Malloc now catches bad_alloc exception.
- 1.3 Consts's constructor now calls
std::numeric_limits<treal> for MS VC++ as well.
- 1.4 Consts's members are protected now.
- 1.5
CVM_ZERO, CVM_ONE and CVM_TWO #define's are fixed now
- 1.6
MemoryPool::Malloc now begins with cs_enter (); call.
- 1.7 Some missing global utilities were added.
- 1.8
XERBLA callback routine implementation was fixed for Linux.
- 2. Package changes:
- 2.1 MKL 5.1 Service Pack 1 for Win32 was used.
- 2.2
mkl_support.dll was included into the Win32 package according to the Intel Corp's License.
- 3. Documentation changes:
- 3.1 Some previously missed global utilities are documented.
-
4.0 October 23, 2001
- 1. Complex number versions of all algorithms were added.
-
3.0 August 1998
- 1.
LAPACK support was added.
- 2. Memory allocation engine was added.
-
2.0 June 1996
-
1.0 September 1992
Back to the Library