CVM Class Library changes
- 8.1 July 23rd, 2014
- 1. New fatures:
- clang support (Mac OSX and FreeBSD tested).
- Generalized Eigenvalues Problem (non-symmetric) support.
- Error Messages made much more informative.
- 2. Bug fixes: minor fix in Randomizer.
- 1. New fatures:
- 8.0 May 21st, 2013
- 1. New fatures:
- Move semantics implemented for better performance (C++11 Standard not supported by older compilers).
- Functional classes design and implementation improved.
- 2. Bug fixes: few minor fixes in Functional classes.
- 1. New fatures:
- 7.0 January 6th, 2013
- 1. New fatures:
- New set of functional classes including functions encapsulation as well as vectors and matrices of functions.
- Mac OS X support.
- MS Visual Studio 2012 support.
- 2. Bug fixes: nothing major reported, just minor fixes.
- 3. Documentation and package changes.
- Doxygen-generated documentation has been improved.
- New functional classes documented in doxygen-generated documentation (only here so far).
- 1. New fatures:
- 6.1 April 5, 2012
- 1. New features:
- Matrix-vector linear solver operators / and % are added.
- Complex matrices transposition (in addition to hermitian conjugation) is implemented.
- 2. Bug fixes:
- Signatures for
herk
andher2k
functions have been changed to fix the issue with complex multipliers. - Left-sided complex number multiplication by hermitian matrix signature has been fixed (it returns just square complex matrix).
- Symmetric and hermitian linear solvers now correctly solve equations with non-positive definite matrices.
- Signatures for
- 3. Documentation and package changes:
- Doxygen-generated documentation is added.
- New features are documented.
- 1. New features:
- 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.
- 1. New Featues:
- 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:
- Pre-built native BLAS and LAPACK are now parts of binary distribution.
- Few Ordinary Differential Equation solvers implemented as MATLAB extensions published as separate components.
- 1. New Featues:
- 5.6.2 July 10, 2008
- 1. Bug fixes:
- Minor multithreading bug fix in regression test.
- 2. Documentation and package changes:
- The library is now distributed under the Boost Software License, Version 1.0.
- 1. Bug fixes:
- 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.
- 1. New Features:
- 5.6 November 29, 2007
- 1. New Features:
- Symmetry and hermiticity 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.
- 1. New Features:
- 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.
- 1. Bug fixes:
- 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.
- 1. New Features:
- 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.
- 1. New Features:
- 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.
- 1. New Features:
- 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.
- 1. New Features:
- 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.
- 1. New Features:
- 5.1.1 March 20, 2005
- 1. New Features:
- 1.1 gcc 3.4 compatibility achieved.
- 1. New Features:
- 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.
- 1. New features:
- 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
andCEILING
functions to fail for arguments of typeREAL*4
(C typefloat
). It's worked around.
- 2. Package changes:
- New Win32 binaries have been generated.
- 1. Bug fixes:
- 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 bytype_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.
- 1. Bug fixes:
- 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.
- 1. New features:
- 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.
- 1. Bug fixes and optimizations:
- 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.
- 1. Bug fixes and optimizations:
- 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
andArray<t_type>::stream_out
were replaced by template friend operators>>
and<<
- 1.2
srmatrix::det ()
andscmatrix::det ()
now catchcvmexception&
instead ofcvmexception
. - 1.3 Win32 implementation of the
CriticalSection
class now contains mutex instead of critical section inside. - 1.4
gPool
global object of theMemoryPool
class is no longer exported due to some unexplainable problems with MS VC 6. - 1.5 Static object of class
CriticalSection
is removed now fromMemoryPool
class to the global scope. - 1.6 CygWin environment compatibility was achieved.
- 1.1 Due to MS VC 6 glitches virtual functions
- 2. Package changes:
- 2.1
mkl_support.dll
was upgraded to the version 5.2.
- 2.1
- 3. Documentation changes:
- 3.1 Template friend operators
>>
and<<
are documented
- 3.1 Template friend operators
- 1. Bug fixes and optimizations:
- 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)
thenSize
parameter was removed because of its uselessness.
- 1.2 Microsoft .NET compiler compatibility was achieved.
- 1.1 In constructor
- 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.
- 2.1
- 3. Documentation changes:
- 3.1 .NET compatibility and package changes are documented.
- 1. Bug fixes:
- 4.0.1 November 24, 2001
- 1. Bug fixes:
- 1.1
CriticalSection::is_bad()
now returnsfalse
in single-threaded apps.
- 1.2
MemoryPool::Malloc
now catchesbad_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
andCVM_TWO #define
's are fixed now
- 1.6
MemoryPool::Malloc
now begins withcs_enter ();
call.
- 1.7 Some missing global utilities were added.
- 1.8
XERBLA
callback routine implementation was fixed for Linux.
- 1.1
- 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.
- 1. Bug fixes:
-
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.
- 1.
-
2.0 June 1996
MKL
support was added.
-
1.0 September 1992
- Initial Release.