aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/Eigen/src
Commit message (Collapse)AuthorAge
* bug #1451: fix numeric_limits<AutoDiffScalar<Der>> with a reference as ↵Gravatar Gael Guennebaud2018-08-04
| | | | derivative type
* Creating separate SYCL required PR for uncontroversial files.Gravatar Mehdi Goli2018-08-03
|
* Converting ad-hoc inline keyword to EIGEN_STRONG_INLINE MACRO.Gravatar Mehdi Goli2018-08-01
|
* Removed several shadowing types and use global Index typedef everywhereGravatar Christoph Hertzberg2018-07-25
|
* Rename variable which shadows class nameGravatar Christoph Hertzberg2018-07-25
|
* bug #1558: fix a corner case in MINRES when both v_new and w_new vanish.Gravatar David Hyde2018-07-08
|
* Get rid of EIGEN_TEST_FUNC, unit tests must now be declared with ↵Gravatar Gael Guennebaud2018-07-17
| | | | | | | | | EIGEN_DECLARE_TEST(mytest) { /* code */ }. This provide several advantages: - more flexibility in designing unit tests - unit tests can be glued to speed up compilation - unit tests are compiled with same predefined macros, which is a requirement for zapcc
* Some warning fixesGravatar Gael Guennebaud2018-07-17
|
* Remove clang warningGravatar Gael Guennebaud2018-07-13
|
* Updates corresponding to the latest round of PR feedbackGravatar Deven Desai2018-07-11
| | | | | | | | | | | | | | The major changes are 1. Moving CUDA/PacketMath.h to GPU/PacketMath.h 2. Moving CUDA/MathFunctions.h to GPU/MathFunction.h 3. Moving CUDA/CudaSpecialFunctions.h to GPU/GpuSpecialFunctions.h The above three changes effectively enable the Eigen "Packet" layer for the HIP platform 4. Merging the "hip_basic" and "cuda_basic" unit tests into one ("gpu_basic") 5. Updating the "EIGEN_DEVICE_FUNC" marking in some places The change has been tested on the HIP and CUDA platforms.
* renaming CUDA* to GPU* for some header filesGravatar Deven Desai2018-07-11
|
* merging updates from upstreamGravatar Deven Desai2018-07-11
|\
* | updates based on PR feedbackGravatar Deven Desai2018-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two major changes (and a few minor ones which are not listed here...see PR discussion for details) 1. Eigen::half implementations for HIP and CUDA have been merged. This means that - `CUDA/Half.h` and `HIP/hcc/Half.h` got merged to a new file `GPU/Half.h` - `CUDA/PacketMathHalf.h` and `HIP/hcc/PacketMathHalf.h` got merged to a new file `GPU/PacketMathHalf.h` - `CUDA/TypeCasting.h` and `HIP/hcc/TypeCasting.h` got merged to a new file `GPU/TypeCasting.h` After this change the `HIP/hcc` directory only contains one file `math_constants.h`. That will go away too once that file becomes a part of the HIP install. 2. new macros EIGEN_GPUCC, EIGEN_GPU_COMPILE_PHASE and EIGEN_HAS_GPU_FP16 have been added and the code has been updated to use them where appropriate. - `EIGEN_GPUCC` is the same as `(EIGEN_CUDACC || EIGEN_HIPCC)` - `EIGEN_GPU_DEVICE_COMPILE` is the same as `(EIGEN_CUDA_ARCH || EIGEN_HIP_DEVICE_COMPILE)` - `EIGEN_HAS_GPU_FP16` is the same as `(EIGEN_HAS_CUDA_FP16 or EIGEN_HAS_HIP_FP16)`
* | syncing this fork with upstreamGravatar Deven Desai2018-06-13
|\ \
| | * Use std::complex constructor instead of assignment from scalarGravatar Jonathan Liu2018-06-28
| |/ | | | | | | | | Fixes GCC conversion to non-scalar type requested compile error when using boost::multiprecision::cpp_dec_float_50 as scalar type.
| * 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>
| * | fix prototypeGravatar Gael Guennebaud2018-06-08
| | |
| | * Merge from eigen/eigenGravatar Michael Figurnov2018-06-07
| | |\ | | |/ | |/|
| | * Updated the stopping criteria in igammac_cf_impl.Gravatar Michael Figurnov2018-06-07
| | | | | | | | | | | | Previously, when computing the derivative, it used a relative error threshold. Now it uses an absolute error threshold. The behavior for computing the value is unchanged. This makes more sense since we do not expect the derivative to often be close to zero. This change makes the derivatives about 30% faster across the board. The error for the igamma_der_a is almost unchanged, while for gamma_sample_der_alpha it is a bit worse for float32 and unchanged for float64.
| | * 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.
| * Merge from eigen/eigen.Gravatar Michael Figurnov2018-06-07
| |\
| | * Fix int versus IndexGravatar Gael Guennebaud2018-06-07
| | |
| * | Fix compilation of special functions without C99 math.Gravatar Michael Figurnov2018-06-07
|/ / | | | | | | | | | | The commit with Bessel functions i0e and i1e placed the ifdef/endif incorrectly, causing i0e/i1e to be undefined when EIGEN_HAS_C99_MATH=0. These functions do not actually require C99 math, so now they are always available.
| * Fix typos found using codespellGravatar Gael Guennebaud2018-06-07
|/
* 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.
* Hyperlink DOIs against preferred resolverGravatar Katrin Leinweber2018-05-24
|
* protect calls to isnanGravatar Gael Guennebaud2018-04-03
|
* Fix uninitialized output argument.Gravatar Gael Guennebaud2018-04-03
|
* Improve robustness of igamma and igammac to bad inputs.Gravatar Rasmus Munk Larsen2018-03-19
| | | | | | Check for nan inputs and propagate them immediately. Limit the number of internal iterations to 2000 (same number as used by scipy.special.gammainc). This prevents an infinite loop when the function is called with nan or very large arguments. Original change by mfirgunov@google.com
* Move KLU support to officialGravatar Gael Guennebaud2017-11-10
|
* KLU: truely disable unimplemented code, add proper static assertions in solveGravatar Gael Guennebaud2017-11-10
|
* Merged in kylemacfarlan/eigen (pull request PR-337)Gravatar Gael Guennebaud2017-11-10
|\ | | | | | | Add support for SuiteSparse's KLU routines
* \ Merged in jkflying/eigen-fix-scaling (pull request PR-302)Gravatar Gael Guennebaud2017-11-10
|\ \ | | | | | | | | | Make scaling work with non-square matrices
* | | Check that Schur decomposition succeed.Gravatar Gael Guennebaud2017-11-10
| | |
* | | bug #1484: restore deleted line for 128 bits long doubles, and improve ↵Gravatar Gael Guennebaud2017-11-10
| | | | | | | | | | | | dispatching logic.
| | * Add support for SuiteSparse's KLU routinesGravatar Kyle Vedder2017-10-04
| |/ |/|
* | bug #1464 : Fixes construction of EulerAngles from 3D vector expression.Gravatar Abhijit Kundu2017-08-30
| |
| * Make scaling work with non-square matricesGravatar Julian Kent2017-03-03
| |
* | Add a EIGEN_NO_CUDA option, and introduce EIGEN_CUDACC and EIGEN_CUDA_ARCH ↵Gravatar Gael Guennebaud2017-07-17
| | | | | | | | aliases
* | Specializing numeric_limits For AutoDiffScalarGravatar Mmanu Chaturvedi2017-05-23
| |
* | Fix compilation of matrix log with Map as inputGravatar Gael Guennebaud2017-06-07
| |
* | bug #1401: fix compilation of "cond ? x : -x" with x an AutoDiffScalarGravatar Gael Guennebaud2017-03-08
|/
* bug #1380: for Map<> as input of matrix exponentialGravatar Gael Guennebaud2017-02-20
|
* bug #1380: fix matrix exponential with Map<>Gravatar Gael Guennebaud2017-01-30
|
* Properly adjust precision when saving to Market format.Gravatar Gael Guennebaud2016-12-20
|
* Speed up parsing of sparse Market file.Gravatar Gael Guennebaud2016-12-20
|
* Fixed compilation warningsGravatar Benoit Steiner2016-11-26
|
* Fix compilation.Gravatar Gael Guennebaud2016-11-23
|
* Merged in tal500/eigen-eulerangles (pull request PR-237)Gravatar Gael Guennebaud2016-11-23
|\ | | | | | | Euler angles