"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "README.md" between
armadillo-10.8.2.tar.xz and armadillo-11.0.0.tar.xz

About: Armadillo is a C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use.

README.md  (armadillo-10.8.2.tar.xz):README.md  (armadillo-11.0.0.tar.xz)
skipping to change at line 33 skipping to change at line 33
4. [Prerequisites and Dependencies](#4-prerequisites-and-dependencies) 4. [Prerequisites and Dependencies](#4-prerequisites-and-dependencies)
5. [Linux and macOS: Installation](#5-linux-and-macos-installation) 5. [Linux and macOS: Installation](#5-linux-and-macos-installation)
6. [Linux and macOS: Compiling and Linking](#6-linux-and-macos-compiling-and-li nking) 6. [Linux and macOS: Compiling and Linking](#6-linux-and-macos-compiling-and-li nking)
7. [Windows: Installation](#7-windows-installation) 7. [Windows: Installation](#7-windows-installation)
8. [Windows: Compiling and Linking](#8-windows-compiling-and-linking) 8. [Windows: Compiling and Linking](#8-windows-compiling-and-linking)
9. [Support for OpenBLAS and Intel MKL](#9-support-for-openblas-and-intel-mkl) 9. [Support for OpenBLAS and Intel MKL](#9-support-for-openblas-and-intel-mkl)
10. [Support for ATLAS](#10-support-for-atlas) 10. [Caveat on use of C++11 auto Keyword](#10-caveat-on-use-of-c11-auto-keyword)
11. [Caveat on use of C++11 auto Keyword](#11-caveat-on-use-of-c11-auto-keyword) 11. [Support for OpenMP](#11-support-for-openmp)
12. [Support for OpenMP](#12-support-for-openmp)
13. [Documentation of Functions and Classes](#13-documentation-of-functions-and-
classes)
14. [API Stability and Versioning](#14-api-stability-and-versioning)
15. [Bug Reports and Frequently Asked Questions](#15-bug-reports-and-frequently-
asked-questions)
16. [MEX Interface to Octave/Matlab](#16-mex-interface-to-octavematlab) 12. [Documentation of Functions and Classes](#12-documentation-of-functions-and-
17. [Related Software Using Armadillo](#17-related-software-using-armadillo) classes)
13. [API Stability and Versioning](#13-api-stability-and-versioning)
14. [Bug Reports and Frequently Asked Questions](#14-bug-reports-and-frequently-
asked-questions)
15. [MEX Interface to Octave/Matlab](#15-mex-interface-to-octavematlab)
16. [Related Software Using Armadillo](#16-related-software-using-armadillo)
--- ---
### 1. Introduction ### 1. Introduction
Armadillo is a high quality C++ library for linear algebra and scientific comput ing, Armadillo is a high quality C++ library for linear algebra and scientific comput ing,
aiming towards a good balance between speed and ease of use. aiming towards a good balance between speed and ease of use.
It's useful for algorithm development directly in C++, It's useful for algorithm development directly in C++,
and/or quick conversion of research code into production environments. and/or quick conversion of research code into production environments.
skipping to change at line 86 skipping to change at line 85
### 2: Citation Details ### 2: Citation Details
Please cite the following papers if you use Armadillo in your research and/or so ftware. Please cite the following papers if you use Armadillo in your research and/or so ftware.
Citations are useful for the continued development and maintenance of the librar y. Citations are useful for the continued development and maintenance of the librar y.
* Conrad Sanderson and Ryan Curtin. * Conrad Sanderson and Ryan Curtin.
Armadillo: a template-based C++ library for linear algebra. Armadillo: a template-based C++ library for linear algebra.
Journal of Open Source Software, Vol. 1, pp. 26, 2016. Journal of Open Source Software, Vol. 1, pp. 26, 2016.
* Conrad Sanderson and Ryan Curtin. * Conrad Sanderson and Ryan Curtin.
A User-Friendly Hybrid Sparse Matrix Class in C++. An Adaptive Solver for Systems of Linear Equations.
Lecture Notes in Computer Science (LNCS), Vol. 10931, pp. 422-430, 2018. International Conference on Signal Processing and Communication Systems, pp.
1-6, 2020.
--- ---
### 3: Distribution License ### 3: Distribution License
Armadillo can be used in both open-source and proprietary (closed-source) softwa re. Armadillo can be used in both open-source and proprietary (closed-source) softwa re.
Armadillo is licensed under the Apache License, Version 2.0 (the "License"). Armadillo is licensed under the Apache License, Version 2.0 (the "License").
A copy of the License is included in the "LICENSE.txt" file. A copy of the License is included in the "LICENSE.txt" file.
skipping to change at line 359 skipping to change at line 358
If MKL is installed and it is persistently giving problems during linking, If MKL is installed and it is persistently giving problems during linking,
Support for MKL can be disabled by editing the CMakeLists.txt file, Support for MKL can be disabled by editing the CMakeLists.txt file,
deleting CMakeCache.txt and re-running the cmake based installation. deleting CMakeCache.txt and re-running the cmake based installation.
Comment out the line containing: Comment out the line containing:
INCLUDE(ARMA_FindMKL) INCLUDE(ARMA_FindMKL)
--- ---
### 10: Support for ATLAS ### 10: Caveat on use of C++11 auto Keyword
If OpenBLAS is not available, Armadillo can use the ATLAS library for faster ver
sions
of a subset of LAPACK and BLAS functions.
LAPACK should still be installed to obtain full functionality.
The minimum recommended version of ATLAS is 3.10.
### 11: Caveat on use of C++11 auto Keyword
Use of the C++11 `auto` keyword is not recommended with Armadillo objects and ex pressions. Use of the C++11 `auto` keyword is not recommended with Armadillo objects and ex pressions.
Armadillo has a template meta-programming framework which creates lots of short lived temporaries Armadillo has a template meta-programming framework which creates lots of short lived temporaries
that are not properly handled by `auto`. that are not properly handled by `auto`.
--- ---
### 12: Support for OpenMP ### 11: Support for OpenMP
Armadillo can use OpenMP to automatically speed up computationally Armadillo can use OpenMP to automatically speed up computationally
expensive element-wise functions such as exp(), log(), cos(), etc. expensive element-wise functions such as exp(), log(), cos(), etc.
This requires a C++11/C++14 compiler with OpenMP 3.1+ support. This requires a C++11/C++14 compiler with OpenMP 3.1+ support.
For GCC and Clang compilers, use the following options to enable both C++11 and OpenMP: For GCC and Clang compilers, use the following options to enable both C++11 and OpenMP:
`-std=c++11 -fopenmp` `-std=c++11 -fopenmp`
--- ---
### 13: Documentation of Functions and Classes ### 12: Documentation of Functions and Classes
The documentation of Armadillo functions and classes is available at: The documentation of Armadillo functions and classes is available at:
http://arma.sourceforge.net/docs.html http://arma.sourceforge.net/docs.html
The documentation is also in the `docs.html` file distributed with Armadillo. The documentation is also in the `docs.html` file distributed with Armadillo.
Use a web browser to view it. Use a web browser to view it.
--- ---
### 14: API Stability and Versioning ### 13: API Stability and Versioning
Each release of Armadillo has its public API (functions, classes, constants) Each release of Armadillo has its public API (functions, classes, constants)
described in the accompanying API documentation (docs.html) specific described in the accompanying API documentation (docs.html) specific
to that release. to that release.
Each release of Armadillo has its full version specified as A.B.C, Each release of Armadillo has its full version specified as A.B.C,
where A is a major version number, B is a minor version number, where A is a major version number, B is a minor version number,
and C is a patch level (indicating bug fixes). and C is a patch level (indicating bug fixes).
Within a major version (eg. 7), each minor version has a public API that Within a major version (eg. 7), each minor version has a public API that
skipping to change at line 433 skipping to change at line 423
backwards compatible in as many cases as possible (eg. major version 8 may backwards compatible in as many cases as possible (eg. major version 8 may
have slightly different public API than major version 7). have slightly different public API than major version 7).
**CAVEAT:** any function, class, constant or other code _not_ explicitly describ ed **CAVEAT:** any function, class, constant or other code _not_ explicitly describ ed
in the public API documentation is considered as part of the underlying internal in the public API documentation is considered as part of the underlying internal
implementation details, and may change or be removed without notice. implementation details, and may change or be removed without notice.
(In other words, don't use internal functionality). (In other words, don't use internal functionality).
--- ---
### 15: Bug Reports and Frequently Asked Questions ### 14: Bug Reports and Frequently Asked Questions
Armadillo has gone through extensive testing and has been successfully Armadillo has gone through extensive testing and has been successfully
used in production environments. However, as with almost all software, used in production environments. However, as with almost all software,
it's impossible to guarantee 100% correct functionality. it's impossible to guarantee 100% correct functionality.
If you find a bug in the library or the documentation, we are interested If you find a bug in the library or the documentation, we are interested
in hearing about it. Please make a _small_ and _self-contained_ program in hearing about it. Please make a _small_ and _self-contained_ program
which exposes the bug, and then send the program source and the bug description which exposes the bug, and then send the program source and the bug description
to the developers. The small program must have a main() function and use only to the developers. The small program must have a main() function and use only
functions/classes from Armadillo and the standard C++ library (no other librarie s). functions/classes from Armadillo and the standard C++ library (no other librarie s).
The contact details are at: The contact details are at:
http://arma.sourceforge.net/contact.html http://arma.sourceforge.net/contact.html
Further information about Armadillo is on the frequently asked questions page: Further information about Armadillo is on the frequently asked questions page:
http://arma.sourceforge.net/faq.html http://arma.sourceforge.net/faq.html
--- ---
### 16: MEX Interface to Octave/Matlab ### 15: MEX Interface to Octave/Matlab
The `mex_interface` folder contains examples of how to interface The `mex_interface` folder contains examples of how to interface
Octave/Matlab with C++ code that uses Armadillo matrices. Octave/Matlab with C++ code that uses Armadillo matrices.
--- ---
### 17: Related Software Using Armadillo ### 16: Related Software Using Armadillo
* ensmallen: fast non-linear numerical optimisation library * ensmallen: fast non-linear numerical optimisation library
http://ensmallen.org/ http://ensmallen.org/
* MLPACK: extensive library of machine learning algorithms * MLPACK: extensive library of machine learning algorithms
http://mlpack.org http://mlpack.org
* CARMA: bidirectional interface between Python and Armadillo * CARMA: bidirectional interface between Python and Armadillo
https://github.com/RUrlus/carma https://github.com/RUrlus/carma
 End of changes. 10 change blocks. 
29 lines changed or deleted 20 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)