| Commit message (Collapse) | Author | Age |
|
|
|
| |
Thanks to 'Jazzdude' for noting this on IRC.
|
|
|
|
|
|
|
|
|
|
| |
* * *
License disclaimer changed to BSD license for MKL_support.h
* * *
Pardiso support fixed, test added.
blas/lapack tests fixed: Scalar parameter was added in Cholesky, product_matrix_vector_triangular remaned to triangular_matrix_vector_product.
* * *
PARDISO test was added physically.
|
|
|
|
| |
preconditioners
|
| |
|
| |
|
|
|
|
|
|
|
| |
default windows.h
(transplanted from 49b6e9143e1d74441924c0c313536e263e12a55c
)
|
|
|
|
|
|
|
| |
a standard math function using std:: but rather put a using std::foo before and simply call foo:
using std::max;
max(a,b);
|
|
|
|
| |
(transplanted from 145b9cad63101ee46924d446fa8b08ffb48c7f3a)
|
| |
|
|
|
|
| |
bug #276)
|
|
|
|
|
|
| |
To get the links to work, I also had to document the Eigen namespace.
Unfortunately, this means that the word Eigen is linked whenever it appears
in the docs.
|
|
|
|
|
|
| |
mallocs after preallocation, with unit test.
* added EIGEN_RUNTIME_NO_MALLOC and new set_is_malloc_allowed() function to implement that test
|
|
|
|
|
| |
Also, update docs for (Generalized)SelfAdjointEigenSolver to reflect that these
two classes were split apart.
|
| |
|
|
|
|
|
|
| |
* remove ctors taking more than 2 ints
* rename actualVectors to length
* add length/shift/trans accessors/mutators
|
| |
|
|
|
|
| |
Keeping it because it tests BandMatrix.
|
| |
|
| |
|
| |
|
|
|
|
| |
that involves a division by zero, even if the numeric type has floating point
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* fix preallocating constructors, allocate U and V of the right size for computation options
* complete documentation and internal comments
* improve unit test, test inf/nan values
|
|
|
|
|
| |
Use JacobiSVD for now.
We do plan to reintroduce a bidiagonalizing SVD asap.
|
| |
|
| |
|
|
|
|
| |
By default nothing is computed. You have to ask explicitly for thin/full U/V if you want them.
|
|
|
|
|
|
| |
There is now an integer QRPreconditioner template parameter, defaulting to full-piv QR.
Since we have to special-case each QR dec anyway, a template template parameter didn't add much value here.
There is an option NoQRPreconditioner if you know your matrices are already square (auto-detected for fixed-size matrices).
|
|
|
|
| |
Sorry Thomas, these doc fixes are no longer relevant with the JacobiSVD API changes, and they are preventing me from applying my patches cleanly.
|
| |
|
| |
|
|
|
|
|
|
| |
Make the SVD's output unitary.
Improved unit tests.
Added an assert to the SVD ctor to check whether rows>=cols.
|
| |
|
|
|
|
|
| |
* fix unit test for rectangular matrices.
* enforce that rows >= cols since various places in the code assume that.
|
| |
|
|
|
|
|
| |
- all what's not in unsupported/ is considered stable API
(except internal stuff e.g. expression templates).
|
| |
|
|
|
|
|
|
| |
EIGEN_SIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_DYNAMIC
EIGEN_MAXSIZE_MIN ---> EIGEN_SIZE_MIN_PREFER_FIXED
and make sure to use the latter in products xprs to determine the inner size.
|
|
|
|
| |
remove EIGEN_ENUM_MIN/MAX, implement new macros instead
|
|
|
|
| |
As discussed on the list (too long to explain here).
|
|
|
|
|
|
|
|
| |
* get rid of BlockReturnType: it was not needed, and code was not always using it consistently anyway
* add topRows(), leftCols(), bottomRows(), rightCols()
* add corners unit-test covering all of that
* adapt docs, expand "porting from eigen 2 to 3"
* adapt Eigen2Support
|
|
|
|
|
|
|
|
|
|
|
| |
preallocates member data structures.
- Updated unit tests to check above constructor.
- In the compute() method of decompositions: Made temporary matrices/vectors class members to avoid heap allocations during compute() (when dynamic matrices are used, of course).
These changes can speed up decomposition computation time when a solver instance is used to solve multiple same-sized problems. An added benefit is that the compute() method can now be invoked in contexts were heap allocations are forbidden, such as in real-time control loops.
CAVEAT: Not all of the decompositions in the Eigenvalues module have a heap-allocation-free compute() method. A future patch may address this issue, but some required API changes need to be incorporated first.
|
|
|
|
| |
the vector case
|
|
|
|
|
|
|
| |
decomposition classes. One particular advantage of this is that decomposing matrices with max sizes known at compile time will not allocate.
NOTE: The ComplexEigenSolver class currently _does_ allocate (line 135 of Eigenvalues/ComplexEigenSolver.h), but the reason appears to be in the implementation of matrix-matrix products, and not in the decomposition itself.
The nomalloc unit test has been extended to verify that decompositions do not allocate when max sizes are specified. There are currently two workarounds to prevent the test from failing (see comments in test/nomalloc.cpp), both of which are related to matrix products that allocate on the stack.
|
|
|
|
| |
Renamed ReturnByValue::ReturnMatrixType ReturnByValue::ReturnType (again, Array != Matrix).
|
|
|
|
| |
* make NumTraits inherits std::numeric_limits
|