Tal Hadad
fabd8474ff
Merged eigen/eigen into default
2015-12-20 12:50:07 +02:00
Benoit Steiner
f8df393165
Added support for 128bit integers on CUDA devices.
2015-11-19 13:57:27 -08:00
Gael Guennebaud
d4cf436cb1
Enable mpreal unit test for C++11 compiler only
2015-10-27 17:35:54 +01:00
Tal Hadad
5e0a178df2
Initial fork of unsupported module EulerAngles.
2015-09-27 16:51:24 +03:00
Benoit Steiner
2495e2479f
Added tests for the fft code
2015-10-22 16:52:55 -07:00
Benoit Steiner
b178cc3479
Added some syntactic sugar to make it simpler to compare a tensor to a scalar.
2015-10-21 11:28:28 -07:00
Benoit Steiner
6585efc553
Tightened the definition of isOfNormalIndex to take into account integer types in addition to arrays of indices
...
Only compile the custom index code when EIGEN_HAS_SFINAE is defined. For the time beeing, EIGEN_HAS_SFINAE is a synonym for EIGEN_HAS_VARIADIC_TEMPLATES, but this might evolve in the future.
Moved some code around.
2015-10-14 09:31:37 -07:00
Gabriel Nützi
6edae2d30d
added CustomIndex capability only to Tensor and not yet to TensorBase.
...
using Sfinae and is_base_of to select correct template which converts to array<Index,NumIndices>
user: Gabriel Nützi <gnuetzi@gmx.ch>
branch 'default'
added unsupported/Eigen/CXX11/src/Tensor/TensorMetaMacros.h
added unsupported/test/cxx11_tensor_customIndex.cpp
changed unsupported/Eigen/CXX11/Tensor
changed unsupported/Eigen/CXX11/src/Tensor/Tensor.h
changed unsupported/Eigen/CXX11/src/Tensor/TensorMeta.h
changed unsupported/test/CMakeLists.txt
2015-10-09 18:52:48 +02:00
Gael Guennebaud
1b148d9e2e
Move IncompleteCholesky to official modules
2015-10-08 11:32:46 +02:00
Christoph Hertzberg
5ad7981f73
Use full packet size for Dynamic-sized objects (otherwise, the unalignedcount unit test fails with AVX enabled)
2015-09-02 22:51:43 +02:00
Benoit Steiner
f41831e445
Added support for argmax/argmin
2015-08-31 08:18:53 -07:00
Gael Guennebaud
9a4713e505
Add a unit test for IncompleteCholesky
2015-08-04 16:14:06 +02:00
Benoit Steiner
06a22ca5bd
Added support for sigmoid function to the tensor module
2015-07-17 09:29:00 -07:00
Benoit Steiner
05787f8367
Added support for tensor inflation.
2015-07-16 09:04:05 -07:00
Benoit Steiner
e6297741c9
Added support for generation of random complex numbers on CUDA devices
2015-07-07 17:40:49 -07:00
Benoit Steiner
f1f480b116
Added support for user defined custom tensor op.
2015-06-30 15:36:29 -07:00
Benoit Steiner
dc31fcb9ba
Added support for 3D patch extraction
2015-06-30 14:48:26 -07:00
Benoit Steiner
fffe63045c
Added a test for full reductions on GPU
2015-06-29 14:10:32 -07:00
Benoit Steiner
91359e1d0a
Added the ability to generate a tensor from a custom user defined 'generator'. This simplifies the creation of constant tensors initialized using specific regular patterns.
...
Created a gaussian window generator as a first use case.
2015-04-22 11:14:58 -07:00
Benoit Steiner
d3f7915aeb
Pulled latest update from the eigen main codebase
2015-03-24 13:12:14 -07:00
Benoit Steiner
2386fc8528
Added support for 32bit index on a per tensor/tensor expression. This enables us to use 32bit indices to evaluate expressions on GPU faster while keeping the ability to use 64 bit indices to manipulate large tensors on CPU in the same binary.
2015-02-27 12:57:13 -08:00
Gael Guennebaud
3594451ee0
Remove EIGEN_TEST_C++0x option and let EIGEN_TEST_CXX11 adds the -std=c++11 flag
2015-02-20 09:31:27 +01:00
Gael Guennebaud
b10cd3afd2
Re-enbale detection of min/max parentheses protection, and re-enable mpreal_support unit test.
2015-02-27 22:38:00 +01:00
Benoit Steiner
c739102ef9
Pulled the latest changes from the trunk
2015-02-06 05:25:03 -08:00
Benoit Steiner
b5124e7cfd
Created many additional tests
2015-01-14 15:46:04 -08:00
Abhijit Kundu
48db34a7b9
Adding missing OPENGL_LIBRARIES for openglsupport test. Also adding OpenGL include directories as a better pratice even though these are system include directories in most systems.
2014-12-04 01:18:47 -05:00
Benoit Steiner
ec785b0180
Added support for extraction of patches from images
2014-11-13 09:28:54 -08:00
Benoit Steiner
c2d1074932
Added support for static list of indices
2014-11-12 22:25:38 -08:00
Benoit Steiner
cb37f818ca
Fixed a compilation error triggered by some operations on fixed sized tensors
2014-11-05 23:25:11 -08:00
Benoit Steiner
9a06a71627
Fixed a test
2014-11-05 07:49:51 -08:00
Benoit Steiner
85c3389b28
Fixed a test
2014-10-31 00:04:13 -07:00
Gael Guennebaud
21c0a2ce0c
Move D&C SVD to official SVD module.
2014-10-29 11:29:33 +01:00
Benoit Steiner
debc97821c
Added support for tensor references
2014-10-28 23:10:13 -07:00
Benoit Steiner
99d75235a9
Misc improvements and cleanups
2014-10-13 17:02:09 -07:00
Benoit Steiner
4c70b0a762
Added support for patch extraction
2014-10-13 10:04:04 -07:00
Benoit Steiner
0219f8aed4
Added ability to print a tensor using an iostream.
2014-10-10 16:17:26 -07:00
Benoit Steiner
2ed1838aeb
Added support for tensor chips
2014-10-10 16:11:27 -07:00
Benoit Steiner
4b36c3591f
Fixed the tensor shuffling test
2014-10-10 15:43:21 -07:00
Benoit Steiner
a991f94c0e
Fixed the thread pool test
2014-10-10 15:20:37 -07:00
Benoit Steiner
b7271dffb5
Generalized the gebp apis
2014-10-02 16:51:57 -07:00
Benoit Steiner
8b2afe33a1
Fixes for the forced evaluation of tensor expressions
...
More tests
2014-10-02 10:39:36 -07:00
Benoit Steiner
5cc23199be
More tests to validate the const-correctness of the tensor code.
2014-10-02 10:30:44 -07:00
Benoit Steiner
7caaf6453b
Added support for tensor reductions and concatenations
2014-10-01 20:38:22 -07:00
Benoit Steiner
1c236f4c9a
Added tests for tensors of const values and tensors of stringswwq::
2014-10-01 20:21:42 -07:00
Gael Guennebaud
e70506dd8f
Fix inner-stride of AlignedVector3
2014-09-18 22:46:46 +02:00
Gael Guennebaud
2ae20d558b
Update KroneckerProduct wrt evaluator changes
2014-09-18 22:08:49 +02:00
Gael Guennebaud
62bce6e5e6
Make MatrixFunction use nested_eval instead of nested
2014-09-18 17:31:17 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
1f398dfc82
Factorize *SVD::solve to SVDBase
2014-09-01 18:31:54 +02:00
Gael Guennebaud
72c4f8ca8f
Disable a few unit tests in unsupported
2014-09-01 17:35:58 +02:00
Benoit Steiner
36fffe48f7
Misc api improvements and cleanups
2014-08-23 14:35:41 -07:00
Benoit Steiner
3d298da269
Added support for broadcasting
2014-08-20 17:00:50 -07:00
Benoit Steiner
33c702c79f
Added support for fast integer divisions by a constant
...
Sped up tensor slicing by a factor of 3 by using these fast integer divisions.
2014-08-14 22:13:21 -07:00
Benoit Steiner
756292f8aa
Fixed compilation errors
2014-08-14 00:32:59 -07:00
Benoit Steiner
8c8db49331
Added a few regression tests
2014-08-14 00:25:22 -07:00
Benoit Steiner
16047c8d4a
Pulled in the latest changes from the Eigen trunk
2014-08-13 22:25:29 -07:00
Benoit Steiner
774c3c1e0a
Created additional unit tests for the tensor code and improved existing ones.
2014-06-13 10:20:28 -07:00
Benoit Steiner
aa664eabb9
Fixed a few compilation errors.
2014-06-10 10:31:29 -07:00
Benoit Steiner
4304c73542
Pulled latest updates from the Eigen main trunk.
2014-06-10 10:23:32 -07:00
Benoit Steiner
79085e08e9
Fixed a typo
2014-06-06 20:16:13 -07:00
Benoit Steiner
8998f4099e
Created additional tests for the tensor code.
2014-06-05 10:49:34 -07:00
Benoit Steiner
7402fea0a8
Vectorized the evaluation of tensor expression (using SSE, AVX, NEON, ...)
...
Added the ability to parallelize the evaluation of a tensor expression over multiple cpu cores.
Added the ability to offload the evaluation of a tensor expression to a GPU.
2014-05-16 15:08:05 -07:00
Benoit Steiner
c0f2cb016e
Extended support for Tensors:
...
* Added ability to map a region of the memory to a tensor
* Added basic support for unary and binary coefficient wise expressions, such as addition or square root
* Provided an emulation layer to make it possible to compile the code with compilers (such as nvcc) that don't support cxx11.
2014-04-28 10:32:27 -07:00
Christian Seiler
03a956925a
CXX11/TensorSymmetry: add symmetry support for Tensor class
...
Add a symCoeff() method to the Tensor class template that allows the
user of the class to set multiple elements of a tensor at once if they
are connected by a symmetry operation with respect to the tensor's
indices (symmetry/antisymmetry/hermiticity/antihermiticity under
echange of two indices and combination thereof for different pairs of
indices).
A compile-time resolution of the required symmetry groups via meta
templates is also implemented. For small enough groups this is used to
unroll the loop that goes through all the elements of the Tensor that
are connected by this group. For larger groups or groups where the
symmetries are defined at run time, a standard run-time implementation
of the same algorithm is provided.
For example, the following code completely initializes all elements of
the totally antisymmetric tensor in three dimensions ('epsilon
tensor'):
SGroup<3, AntiSymmetry<0,1>, AntiSymmetry<1,2>> sym;
Eigen::Tensor<double, 3> epsilon(3,3,3);
epsilon.setZero();
epsilon.symCoeff(sym, 0, 1, 2) = 1;
2013-11-14 23:35:11 +01:00
Christian Seiler
f97b3cd024
CXX11/Tensor: add simple initial tensor implementation
...
This commit adds an initial implementation of a class template Tensor
that allows for the storage of objects with more than two indices.
Currently, only storing data and setting the object to zero for POD
data types are implemented.
2013-11-14 22:52:37 +01:00
Christian Seiler
5e28c41549
C++11: add template metaprogramming helpers
...
Create a new directory CXX11 under unsupported/Eigen that contains code
that requires C++11. In that directory, add a few generic templates
useful for any module relying on C++11. These templates may be included
with #include <[unsupported/]Eigen/CXX11/Core>. At the moment, this
will only provide templates in the Eigen::internal namespace.
2013-11-14 22:27:06 +01:00
Christoph Hertzberg
ae83f5ede9
Fixed bug #702 and added unit test.
...
Thanks to Alexander Werner for the report.
2013-11-07 18:32:24 +01:00
Gael Guennebaud
c76990664b
Add bdcsvd unit test in CMakeLists
2013-07-15 21:16:57 +02:00
Gael Guennebaud
9bfeeba1c5
Add Official/Unsupported labels to unit tests and add a ctest driver to submit subprojects to cdash
2013-03-20 08:40:13 +01:00
Gael Guennebaud
8844f632fa
Move work in progress Levenberg Marquardt module in unsupported
2012-12-08 18:22:23 +01:00
Gael Guennebaud
d85253ccf4
Backed out changeset 363e506776
2012-12-07 20:53:19 +01:00
Desire NUENTSA
363e506776
Rename the old LevenbergMarquardt class to LevenbergMarquardtLegacy
...
Split the levenberg marquardt test and the hybrid nonlinear test
2012-12-07 15:51:25 +01:00
dnuentsa
f757034001
MINRES solver
2012-10-09 13:07:09 +02:00
Desire NUENTSA
fe78c86b4a
Discard failing tests in NonlinearOptimization
2012-10-09 12:20:21 +02:00
giacomo po
dd7ff3f493
moved MINRES to unsupported. Made unit test.
2012-09-24 07:47:38 -07:00
Chen-Pang He
bfaa7f4ffe
Add test for matrix power.
...
Use Christoph Hertzberg's suggestion to use exponent laws.
2012-08-27 22:48:37 +01:00
Gael Guennebaud
a3ddb14426
remove use of GSL in polynomialsolver unit test
2012-04-11 09:48:01 +02:00
Desire NUENTSA
22cd65ee33
Adding a householder-GMRES implementation from Kolja Brix
2012-03-29 15:00:55 +02:00
Gael Guennebaud
b0fd94aa85
improve FindFFTW cmake module
2012-03-15 15:18:22 +01:00
Hauke Heibel
b00a33bc70
Integrated spline class and simple spline fitting
2011-11-25 14:53:40 +01:00
Gael Guennebaud
53fa851724
move sparse solvers from unsupported/ to main Eigen/ and remove the "not stable yet" warning
2011-11-12 14:11:27 +01:00
Gael Guennebaud
94d87abbdb
fix fftw cmake stuff
2011-11-03 15:33:42 +01:00
Gael Guennebaud
21d27c6f71
add proper bicgstab unit test
2011-10-11 19:38:36 +02:00
Gael Guennebaud
1beb8a6564
add a generic unit test for sparse SPD problems
2011-10-09 21:50:02 +02:00
Gael Guennebaud
9bba0e7ba1
clean sparse LU tests
2011-09-24 17:15:37 +02:00
Gael Guennebaud
ebfed5a512
Enable incomplete BLAS/Lapack builds when no fortran compiler has been found.
...
Works here with gcc. Hopefully this will work for MSVC too.
2011-09-21 10:27:38 +02:00
Gael Guennebaud
ea4a1960f0
mv the mpreal copy in its own folder
2011-08-19 15:08:29 +02:00
Gael Guennebaud
80b1d1371d
add a conjugate gradient solver
2011-07-26 09:04:10 +02:00
Gael Guennebaud
3ecf7e8f6e
add a KroneckerProduct module (unsupported) from Kolja Brix and Andreas Platen materials.
2011-06-22 14:39:11 +02:00
Jitse Niesen
6b4e215710
Implement matrix square root for complex matrices.
...
I hope to implement the real case soon, but it's a bit more
complicated due to the 2-by-2 blocks in the real Schur decomposition.
2011-05-07 22:57:46 +01:00
Jitse Niesen
10dae8dd4d
Add directory containing split_test_helper.h to include path.
2011-03-29 14:17:49 +01:00
Benoit Jacob
32025a2510
disable BVH test on Clang++. Looks like there's a good reason why BVH is unsupported. It seems to have a very weird usage pattern, relying on an externally defined bounding_box function in a naive way.
2011-02-27 21:37:34 -05:00
Gael Guennebaud
14b164b00e
do not try to use Eigen's blas/lapack if they cannot be compiled
2011-02-23 09:25:32 +01:00
Gael Guennebaud
e129e985c3
link to blas/lapack only when needed, and use the static versions to hopefully workaround weird linking issues to gfortranbegin (see jitse dashboard)
2011-02-21 15:48:37 +01:00
Gael Guennebaud
d271ad38ce
back to brute force linking to sparse libraries (fix cmake when these libs are not found)
2011-02-18 11:35:45 +01:00
Gael Guennebaud
444c1bc55b
now cholmod, umfpack, and superlu uses our own BLAS and LAPACK libs
2011-02-18 11:26:31 +01:00
Gael Guennebaud
fe8a710a21
properly report OpenGL as a disabled backend
2011-02-16 18:01:06 +01:00
Gael Guennebaud
852077fbc9
still test fftw even if the binary for long double is not available
2011-01-28 16:54:01 +01:00
Thomas Capricelli
22db1a6e82
fix fftw test
2011-01-27 18:25:41 +01:00
Benoit Jacob
bd249d1121
fix bug #92 - we were doing stupid things when passing the list of libraries to link to.
2010-10-28 10:44:20 -04:00
Benoit Jacob
19ae4362bd
ah ok, we want to build this even without GSL.
...
so the bug is in FindGSL.cmake.
2010-10-17 11:31:58 -04:00
Benoit Jacob
4e3feb023d
more unsupported/ CMake fixes
2010-10-17 11:21:10 -04:00
Benoit Jacob
1e3a035275
Fix general linking issue for tests linking to multiple libs, and explicitly link mpfr_real test to GMP.
2010-10-17 11:04:43 -04:00
Gael Guennebaud
bf402dd9b8
add the possibility to disable OpenGL testing
2010-10-12 20:23:52 +02:00
Gael Guennebaud
20be8ad91e
add support for uniforms
2010-10-12 10:39:28 +02:00
Gael Guennebaud
d9c131de5b
remove the Taucs backend : Taucs is not maintained anymore and the backend was crap anyway
2010-10-06 17:42:17 +02:00
Benoit Jacob
216c9125e9
disable NonLinearOptimization test until it's fixed
2010-08-18 09:11:01 -04:00
Gael Guennebaud
ba212aeaa9
fix missdetection of GLUT
2010-08-16 09:50:24 +02:00
Gael Guennebaud
96ba7cd655
add an OpenGL module simplifying the way you can pass Eigen's objects to GL
2010-07-22 16:08:58 +02:00
Jitse Niesen
abd5faf784
Require at least MPFR version 2.3.0, because we use mpfr_signbit.
...
Code in FindMPFR.cmake is taken from FindEigen2.cmake .
2010-07-19 12:26:52 +01:00
Gael Guennebaud
87e89fea4e
add a support module for MPFR C++ with basic unit testing
2010-07-15 16:29:04 +02:00
Gael Guennebaud
ece48a6450
split the Sparse module into multiple ones, and move non stable parts to unsupported/
...
(see the ML for details)
2010-06-18 11:28:30 +02:00
Manuel Yguel
9a4a08da46
Creation of the Polynomials module with the following features:
...
* convenient functions:
- Horner and stabilized Horner evaluation
- polynomial coefficients from a set of given roots
- Cauchy bounds
* a QR based polynomial solver
2010-03-25 03:15:05 +01:00
Mark Borgerding
adb2170eb8
removed Eigen::Complex class since it offered insufficient advantage over std::complex when sane real,imag structure packing is assumed.
...
for more info see:
http://www.cpptalk.net/portable-complex-numbers-between-c-c--vt46432.html
2010-01-18 19:39:22 -05:00
Jitse Niesen
65cd1c7639
Add support for matrix sine, cosine, sinh and cosh.
2010-01-11 18:05:30 +00:00
Jitse Niesen
fcf821b77d
Rename test per naming convention.
2009-12-28 22:30:08 +00:00
Hauke Heibel
e3b5a90611
Removed unused 'benchmark'.
2009-12-02 16:51:40 +01:00
Benoit Jacob
3279e39340
* fix include for case-sensitive filesystem
...
* on GNU, clock_gettime requires linking -lrt
2009-12-02 10:03:16 -05:00
Hauke Heibel
7af1ee0b6c
Added the profiling test to unsupported.
2009-12-01 07:53:09 +01:00
Benoit Jacob
5923bcb1b9
improve the scripts for building unit tests:
...
* support unsupported/
* use egrep instead of grep, properly escape special chars.
2009-11-25 21:26:37 -05:00
Thomas Capricelli
a89b22f352
rename test for coherency with previous renaming of the module
2009-11-16 04:34:04 +01:00
Thomas Capricelli
d1cc2745f7
Reduce general diff with eigen-tip. Moreover, this test now seems to pass
...
again.
2009-11-09 05:12:50 +01:00
Thomas Capricelli
751a333491
merge with main repository
2009-11-08 22:27:32 +01:00
Mark Borgerding
0167f5ef43
added inline to many functions
2009-10-22 23:06:19 -04:00
Mark Borgerding
e3d08443dc
inlining,all namespace declaration moved to FFT, removed preprocessor definitions,
2009-10-21 20:53:05 -04:00
Thomas Capricelli
206b5e3972
starting work on a Numerical differenciation module
2009-09-28 02:43:07 +02:00
Mark Borgerding
a39de276a9
added the test case for FFTW
2009-09-14 01:52:26 -04:00
Thomas Capricelli
aa3a7c3303
raw import of covar() : this is the last one, and we now do not depend on
...
the cminpack library anymore.
2009-08-22 06:44:41 +02:00
Thomas Capricelli
fb54cfb013
import main files from cminpack as *.h files:
...
* function names are changed by appending _template
* it uses basic templating : template<typename T>
* wrappers now use those versions instead of the ones from cminpack
* lot of external methods from cminpack are still used
* tests pass though they are unchanged (they use wrappers)
2009-08-19 18:38:45 +02:00
Thomas Capricelli
d646d99366
Start of module "NonLinear". We start out of cminpack-1.0.2
...
(http://devernay.free.fr/hacks/cminpack.html )
The first test is adapted from the example/ directory.
Some stuff is hard coded for our initial tests.
2009-08-08 22:18:48 +02:00
Mark Borgerding
4d6b962ba4
added FindFFTW, but I don't think it's right yet
2009-06-10 22:16:32 -04:00
Mark Borgerding
92ca9fc032
initial pass of FFT module -- includes complex 1-d case only
2009-05-19 00:21:04 -04:00
Benoit Jacob
834eb5bfc8
new unsupported module by Jitse Niesen: matrix exponential
2009-05-05 20:46:55 +00:00
Gael Guennebaud
c25fc50d54
add an AlignedVector3 module suitable for vectorization of 3D vectors
2009-05-03 17:19:19 +00:00
Gael Guennebaud
0170eb0dbe
add an auto-diff module in unsupported. it is similar to adolc's forward
...
mode but the advantage of using Eigen's expression template to compute
the derivatives (unless you nest an AutoDiffScalar into an Eigen's
matrix).
2009-04-01 14:43:37 +00:00
Gael Guennebaud
4bb5221d22
Add BVH module in unsupported (patch from Ilya Baran)
...
(I thought I committed it a week ago but it seems the command failed)
2009-03-18 20:06:06 +00:00
Gael Guennebaud
40774c625e
add a proof of concept autodiff jacobian helper class based on adolc
...
with unit test and FindAdolc cmake module
2009-02-27 16:19:13 +00:00
Gael Guennebaud
95db32fcdc
setup the unsupported directory structure.
...
The unsupported module documentation is automatically generated in:
build/doc/unsupported/
with bidirectional cross references.
I leave a class Foo in AdolcForward module to illustrate the
cross-reference behavior. I will remove it in the next commit.
2009-02-04 15:37:00 +00:00