aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen
Commit message (Collapse)AuthorAge
...
* | | Implement custom inplace triangular product to avoid a temporaryGravatar Gael Guennebaud2018-07-03
| | |
* | | Make is_same_dense compatible with different scalar types.Gravatar Gael Guennebaud2018-07-03
| | |
* | | Fix regression in changeset f05dea6b2326836e5e0243fbaffbece84b833d64Gravatar Gael Guennebaud2018-07-02
| | | | | | | | | | | | : computeFromHessenberg can take any expression for matrixQ, not only an HouseholderSequence.
* | | Simplify redux_evaluator using inheritance, and properly rename parameters ↵Gravatar Gael Guennebaud2018-07-02
| | | | | | | | | | | | in reducers.
* | | bug #1562: optimize evaluation of small products of the form s*A*B by ↵Gravatar Gael Guennebaud2018-07-02
| | | | | | | | | | | | rewriting them as: s*(A.lazyProduct(B)) to save a costly temporary. Measured speedup from 2x to 5x...
* | | update commentGravatar Gael Guennebaud2018-06-29
| | |
* | | Fix order of EIGEN_DEVICE_FUNC and returned typeGravatar Gael Guennebaud2018-06-28
| | |
* | | First step towards a generic vectorised quaternion productGravatar Gael Guennebaud2018-06-25
| | |
* | | bug #1560 fix product with a 1x1 diagonal matrixGravatar Gael Guennebaud2018-06-25
| | |
* | | Fix typo in pbend for AltiVec.Gravatar Rasmus Munk Larsen2018-06-22
| |/ |/|
* | Merged in mfigurnov/eigen/gamma-der-a (pull request PR-403)Gravatar Benoit Steiner2018-06-11
|\ \ | | | | | | | | | | | | | | | Derivative of the incomplete Gamma function and the sample of a Gamma random variable Approved-by: Benoit Steiner <benoit.steiner.goog@gmail.com>
* | | bug #1531: expose NumDimensions for solve and sparse expressions.Gravatar Gael Guennebaud2018-06-08
| | |
* | | bug #1531: expose NumDimensions for compatibility with TensorGravatar Gael Guennebaud2018-06-08
| | |
* | | bug #1550: prevent avoidable memory allocation in RealSchurGravatar Gael Guennebaud2018-06-08
| | |
* | | Don't use std::equal_to inside cuda kernels since it's not supported.Gravatar Benoit Steiner2018-06-07
| | |
* | | Missing line during manual rebase of PR-374Gravatar Christoph Hertzberg2018-06-07
| | |
| * | Merge from eigen/eigenGravatar Michael Figurnov2018-06-07
| |\ \
| * | | Derivative of the incomplete Gamma function and the sample of a Gamma random ↵Gravatar Michael Figurnov2018-06-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | variable. In addition to igamma(a, x), this code implements: * igamma_der_a(a, x) = d igamma(a, x) / da -- derivative of igamma with respect to the parameter * gamma_sample_der_alpha(alpha, sample) -- reparameterization derivative of a Gamma(alpha, 1) random variable sample with respect to the alpha parameter The derivatives are computed by forward mode differentiation of the igamma(a, x) code. Although gamma_sample_der_alpha can be implemented via igamma_der_a, a separate function is more accurate and efficient due to analytical cancellation of some terms. All three functions are implemented by a method parameterized with "mode" that always computes the derivatives, but does not return them unless required by the mode. The compiler is expected to (and, based on benchmarks, does) skip the unnecessary computations depending on the mode.
| | | * Adding support for using Eigen in HIP kernels.Gravatar Deven Desai2018-06-06
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | This commit enables the use of Eigen on HIP kernels / AMD GPUs. Support has been added along the same lines as what already exists for using Eigen in CUDA kernels / NVidia GPUs. Application code needs to explicitly define EIGEN_USE_HIP when using Eigen in HIP kernels. This is because some of the CUDA headers get picked up by default during Eigen compile (irrespective of whether or not the underlying compiler is CUDACC/NVCC, for e.g. Eigen/src/Core/arch/CUDA/Half.h). In order to maintain this behavior, the EIGEN_USE_HIP macro is used to switch to using the HIP version of those header files (see Eigen/Core and unsupported/Eigen/CXX11/Tensor) Use the "-DEIGEN_TEST_HIP" cmake option to enable the HIP specific unit tests.
* | | Adding EIGEN_DEVICE_FUNC to Products, especially Dense2Dense AssignmentGravatar Robert Lukierski2018-03-14
| |/ |/| | | | | | | specializations. Otherwise causes problems with small fixed size matrix multiplication (call to 0x00 in call_assignment_no_alias in debug mode or trap in release with CUDA 9.1).
* | Fix warningGravatar Gael Guennebaud2018-06-07
| |
* | Fix MSVC warning C4290: C++ exception specification ignored except to ↵Gravatar Gael Guennebaud2018-06-07
| | | | | | | | indicate a function is not __declspec(nothrow)
* | Avoid unnecessary C++11 dependencyGravatar Christoph Hertzberg2018-06-07
| |
* | Fix typos found using codespellGravatar Gael Guennebaud2018-06-07
| |
* | Set EIGEN_IDEAL_MAX_ALIGN_BYTES correctly for AVX512 buildsGravatar Mark D Ryan2018-05-17
| | | | | | | | | | | | | | | | | | | | | | | | bug #1548 The macro EIGEN_IDEAL_MAX_ALIGN_BYTES is being incorrectly set to 32 on AVX512 builds. It should be set to 64. In the current code it is only set to 64 if the macro EIGEN_VECTORIZE_AVX512 is defined. This macro does get defined in AVX512 builds in Core, but only after Macros.h, the file that defines EIGEN_IDEAL_MAX_ALIGN_BYTES, has been included. This commit fixes the issue by setting EIGEN_IDEAL_MAX_ALIGN_BYTES to 64 if __AVX512F__ is defined.
* | Fix compilation with MSVC by reverting to char* for _mm_prefetch except for ↵Gravatar Gael Guennebaud2018-06-07
|/ | | | PGI (the later being the one that has the wrong prototype).
* Exponentially scaled modified Bessel functions of order zero and one.Gravatar Michael Figurnov2018-05-31
| | | | | | The functions are conventionally called i0e and i1e. The exponentially scaled version is more numerically stable. The standard Bessel functions can be obtained as i0(x) = exp(|x|) i0e(x) The code is ported from Cephes and tested against SciPy.
* Define pcast<> for SSE types even when AVX is enabled. (otherwise float are ↵Gravatar Gael Guennebaud2018-05-29
| | | | silently reinterpreted as int instead of being converted)
* Fix compilation and SSE support with PGI compilerGravatar Gael Guennebaud2018-05-29
|
* Fix internal::is_integral<size_t/ptrdiff_t> with MSVC 2013 and older.Gravatar Gael Guennebaud2018-05-22
|
* Workaround a MSVC 2013 compilation issue with MatrixBase(Index,int)Gravatar Gael Guennebaud2018-05-22
|
* fix stupid typoGravatar Gael Guennebaud2018-05-18
|
* is_convertible<T,Index> does not seems to work well with MSVC 2013, so let's ↵Gravatar Gael Guennebaud2018-05-18
| | | | rather use __is_enum(T) for old MSVC versions
* add some internal checksGravatar Gael Guennebaud2018-05-18
|
* Make sparse QR result sizes consistent with dense QR, with the following rules:Gravatar Jeff Trull2018-02-15
| | | | | | | | 1) Q is always square 2) Q*R*P' is valid and recovers the original matrix This implies that the size of Q is the number of rows in the original matrix, square, and that the size of R is the size of the original matrix.
* bug #1544: Generate correct Q matrix in complex case. Original patch was by ↵Gravatar Christoph Hertzberg2018-05-17
| | | | Jeff Trull in PR-386.
* Fix "suggest parentheses around comparison" warningGravatar Christoph Hertzberg2018-05-15
|
* Fix compilation with NEON+MSVCGravatar Gael Guennebaud2018-04-26
|
* Add multi-threading for sparse-row-major * dense-row-majorGravatar Gael Guennebaud2018-04-25
|
* bug #1428: atempt to make NEON vectorization compilable by MSVC.Gravatar Gael Guennebaud2018-04-24
| | | | The workaround is to wrap NEON packet types to make them different c++ types.
* fix AVX512 plogGravatar Benoit Steiner2018-04-23
|\
* | Add specializations of is_arithmetic for long long in c++11Gravatar Gael Guennebaud2018-04-23
| |
* | workaround MSVC 2013 compilation issue (ambiguous call)Gravatar Gael Guennebaud2018-04-23
| |
* | typo in docGravatar Gael Guennebaud2018-04-23
| |
* | bug #1543: fix linear indexing in generic block evaluation (this completes ↵Gravatar Gael Guennebaud2018-04-23
| | | | | | | | | | | | the fix in commit 12efc7d41b80259b996be5781bf596c249c90d3f )
* | Disable -Wshadow when compiling with g++Gravatar Christoph Hertzberg2018-04-21
| |
| * fix AVX512 plogGravatar Jayaram Bobba2018-04-20
|/
* fix const cast in NEONGravatar Gael Guennebaud2018-04-18
|
* Cast zeros to Scalar in RealSchurGravatar Dmitriy Korchemkin2018-04-18
|
* Renamed .trans() et al. to .reverseFlag() et at. Adapted documentation of ↵Gravatar Christoph Hertzberg2018-04-17
| | | | .setReverseFlag()