Gael Guennebaud
6522c3a6f0
Add regression test for bug #817
2015-09-02 13:16:03 +02:00
Christoph Hertzberg
8097d8d028
surpress some warnings
2015-08-17 21:50:52 +02:00
Gael Guennebaud
dc2c103b3b
merge
2015-08-16 14:22:02 +02:00
Christoph Hertzberg
d6a4805fdf
Protect further isnan/isfinite/isinf calls
2015-08-16 14:00:02 +02:00
Christoph Hertzberg
61e0977e10
Protect all calls to isnan, isinf and isfinite with parentheses.
2015-08-14 17:32:34 +02:00
Gael Guennebaud
febcce34f1
Enable vectorization with half-packets
2015-08-07 20:05:31 +02:00
Gael Guennebaud
6245591349
Fix prototype of plset and generalize linspace functor.
2015-08-07 19:27:59 +02:00
Gael Guennebaud
2afdef6a54
Generalize first_aligned to take the requested alignment as a template parameter, and add a first_default_aligned variante calling first_aligned with the requirement of the largest packet for the given scalar type.
2015-08-06 17:52:01 +02:00
Gael Guennebaud
1f5024332e
First part of a big refactoring of alignment control to enable the handling of arbitrarily aligned buffers. It includes:
...
- AlignedBit flag is deprecated. Alignment is now specified by the evaluator through the 'Alignment' enum, e.g., evaluator<Xpr>::Alignment. Its value is in Bytes.
- Add several enums to specify alignment: Aligned8, Aligned16, Aligned32, Aligned64, Aligned128. AlignedMax corresponds to EIGEN_MAX_ALIGN_BYTES. Such enums are used to define the above Alignment value, and as the 'Options' template parameter of Map<> and Ref<>.
- The Aligned enum is now deprecated. It is now an alias for Aligned16.
- Currently, traits<Matrix<>>, traits<Array<>>, traits<Ref<>>, traits<Map<>>, and traits<Block<>> also expose the Alignment enum.
2015-08-06 15:31:07 +02:00
Gael Guennebaud
db0f5c9d90
Fix conversion warning
2015-08-04 16:12:44 +02:00
Gael Guennebaud
b986c147cd
Fix ForceNonZeroDiag for complexes
2015-08-04 16:12:16 +02:00
Gael Guennebaud
aec4814370
Many files were missing in previous changeset.
2015-07-29 11:11:23 +02:00
Gael Guennebaud
175ed636ea
bug #973 : update macro-level control of alignement by introducing user-controllable EIGEN_MAX_ALIGN_BYTES and EIGEN_MAX_STATIC_ALIGN_BYTES macros. This changeset also removes EIGEN_ALIGN (replaced by EIGEN_MAX_ALIGN_BYTES>0), EIGEN_ALIGN_STATICALLY (replaced by EIGEN_MAX_STATIC_ALIGN_BYTES>0), EIGEN_USER_ALIGN*, EIGEN_ALIGN_DEFAULT (replaced by EIGEN_ALIGN_MAX).
2015-07-29 10:22:25 +02:00
Christoph Hertzberg
a44d022caf
bug #792 : SparseLU::factorize failed for structurally rank deficient matrices
2015-07-26 20:30:30 +02:00
Benoit Steiner
a446020b78
Reenable 2 tests previously disabled by mistake
2015-07-23 08:47:00 -07:00
Benoit Steiner
4200bdec24
Extended the range of value inputs for TensorIntDiv to support tensors with more than 4 billion elements.
2015-07-22 17:02:30 -07:00
Gael Guennebaud
45ee14a13a
Fix output of relative error, and add more support for long double
2015-07-21 22:22:12 +02:00
Gael Guennebaud
87f3e533f5
bug #1036 : implement verify_is_approx_upto_permutation through a combinatorial search.
...
The previous implementation was subject to numerical cancellation issues.
2015-07-20 15:34:06 +02:00
Gael Guennebaud
6544b49e59
Generalize pow(x,e) such that x and e can be a different expression type or a scalar for either x or e. Add x.pow(e) with e an array expression.
2015-07-20 13:57:55 +02:00
Gael Guennebaud
88e352adac
Add support for replicate in CUDA
2015-07-20 10:53:03 +02:00
Gael Guennebaud
f5aa640862
Clean some previous changes and more cuda fixes
2015-07-15 10:57:55 +02:00
Gael Guennebaud
fa17358c4b
Rotation2D: fix slerp to take the shortest path, and add convenient method to get the angle in [-pi,pi] or [0,pi]
2015-07-07 17:27:12 +02:00
Benoit Steiner
3625734bc8
Moved some utilities to TensorMeta.h to make it easier to reuse them accross several tensor operations.
...
Created the TensorDimensionList class to encode the list of all the dimensions of a tensor of rank n. This could be done using TensorIndexList, however TensorIndexList require cxx11 which isn't yet supported as widely as we'd like.
2015-06-29 10:49:55 -07:00
Gael Guennebaud
392a30db82
Use VERIFY_IS_EQUAL instead of VERIFY(a==b) to get more feedback in case of failure
2015-06-26 16:22:49 +02:00
Gael Guennebaud
c911fc8dee
split compiler intensive bdcsvd_1 unit test
2015-06-26 16:14:23 +02:00
Gael Guennebaud
98ff17eb9e
Add special path for matrix<complex>/real.
...
This also fixes underflow issues when scaling complex matrices through complex/complex operator.
2015-06-26 16:08:15 +02:00
Gael Guennebaud
3f49cf4c90
More msvc 2013/2015 workarounds
2015-06-26 09:07:53 +02:00
Gael Guennebaud
c5f9eafcbc
Fix assignement to selfadjoint-view when testing real-world problems
2015-06-25 17:08:58 +02:00
Gael Guennebaud
6b4d255cab
Avoid division by a zero complex
2015-06-25 14:04:05 +02:00
Gael Guennebaud
84264ceebc
workaround msvc 2013/2015 wrong instanciation of isnan, isfinite, isinf
2015-06-25 10:00:26 +02:00
Gael Guennebaud
4c8cd13b35
Add explicit ctor for diagonal to sparse conversion
2015-06-24 18:11:06 +02:00
Gael Guennebaud
23535ed31c
Add unit test for dense = SparseQR::matrixQ
2015-06-24 17:55:41 +02:00
Gael Guennebaud
62f21e2d11
Add support for sparse = diagonal
2015-06-24 17:55:00 +02:00
Gael Guennebaud
2a33075aeb
std::isnan is c++11 only
2015-06-24 10:29:17 +02:00
Gael Guennebaud
23da99492f
Add unit-test for Visual2013 ambiguous call to operator=
2015-06-24 10:27:02 +02:00
Benoit Steiner
6441befbb3
Added more checks to test the correctness of the pexp implementation
2015-06-23 19:12:46 -07:00
Gael Guennebaud
c3e398d138
Fix overflow when checking SVD accuracy
2015-06-23 15:05:20 +02:00
Gael Guennebaud
18c9d155f3
Fix the fact that float(int) != float(int(float(int)))
2015-06-23 14:33:00 +02:00
Gael Guennebaud
9fc1c92137
Fix isinf unit tests
2015-06-22 16:48:27 +02:00
Gael Guennebaud
b3b3dcad05
Reduce compiler memory consumption for SVD unit tests
2015-06-22 09:58:06 +02:00
Gael Guennebaud
e9edb085c0
Check number of temporaries when applying permutations
2015-06-19 16:39:24 +02:00
Gael Guennebaud
6318d53b41
Factorize VERIFY_EVALUATION_COUNT in unit tests
2015-06-19 16:38:26 +02:00
Gael Guennebaud
bb6acc561e
Workaround broken complex*real product on old clang versions
2015-06-17 16:11:58 +02:00
Gael Guennebaud
40f326ef2e
workaround clang's broken complex division
2015-06-17 15:33:09 +02:00
Gael Guennebaud
736a805883
Add unit test for bug #879
2015-06-16 22:11:41 +02:00
Gael Guennebaud
972a535288
Remove aligned-on-scalar assert and fallback to non vectorized path at runtime (first_aligned already had this runtime guard)
2015-06-14 15:04:07 +02:00
Gael Guennebaud
3946c981b1
Relax tolerance when testing LDLT on singular problems
2015-06-15 15:08:16 +02:00
Gael Guennebaud
2212e40e95
Extend VERIFY_IS_APPROX to report the magnitude of the relative difference in case of failure. This will ease identifying strongest failing tests
2015-06-15 15:03:19 +02:00
Gael Guennebaud
2f2a441a4d
Fix use of unitialized buffers.
2015-06-13 22:19:40 +02:00
Gael Guennebaud
d93ba137f2
Introduce EIGEN_PI, get rid of M_PI and acos(-1.0)
2015-06-10 17:12:10 +02:00
Gael Guennebaud
b0d5aaafcc
Rename free functions isFinite, isInf, isNaN to be compatible with c++11
2015-06-10 16:17:09 +02:00
Gael Guennebaud
25a98be948
bug #80 : merge with d_hood branch on adding more coefficient-wise unary array functors
2015-06-10 15:52:05 +02:00
Gael Guennebaud
192bce2795
bug #890 , add a more general routine to check that two dense object reference to the same data
2015-06-10 10:09:04 +02:00
Gael Guennebaud
e6832ce93d
Add regression test for bug #890
2015-06-10 09:32:10 +02:00
Gael Guennebaud
feaf76c001
bug #910 : add a StandardCompressedFormat option to Ref<SparseMatrix> to enforce standard compressed storage format.
...
If the input is not compressed, then this trigger a copy for a const Ref, and a runtime assert for non-const Ref.
2015-06-09 23:11:24 +02:00
Gael Guennebaud
f899aeb301
bug #650 : fix sparse * dense wrt noalias and compound assignment
2015-06-09 18:33:24 +02:00
Gael Guennebaud
f9350e70eb
fix unused variable warning
2015-06-09 15:17:21 +02:00
Gael Guennebaud
3a4299b245
bug #872 : remove usage of deprecated bind1st.
2015-06-09 10:52:04 +02:00
Gael Guennebaud
9aef0db992
Skip too large real-world problems for solvers that do not scale (e.g., SimplicialLLT without reordering)
2015-06-09 09:29:53 +02:00
Gael Guennebaud
9a2447b0c9
Fix shadow warnings triggered by clang
2015-06-09 09:11:12 +02:00
Gael Guennebaud
cd8b996f99
Extend unit test and documentation of SelfAdjointEigenSolver::computeDirect
2015-06-08 16:16:42 +02:00
Gael Guennebaud
8f031a3cee
bug #997 : add missing evaluators for m.lazyProduct(v.homogeneous())
2015-06-08 15:43:41 +02:00
Gael Guennebaud
e6c5723dcd
Add unit test for m.replicate(...)(index).
2015-06-08 15:42:15 +02:00
Gael Guennebaud
98a8d43457
Improve unit testing of real-word sparse problem (fix some shortcommings, use VERIFY, etc.)
2015-06-05 14:33:37 +02:00
Gael Guennebaud
b685660b22
Do go to full accuracy when testing BiCGSTAB.
2015-06-05 14:32:26 +02:00
Gael Guennebaud
a852001196
Add regression test for bugs #854 and #1014 , and check that the eigenvector matrix is unitary.
2015-05-12 18:45:39 +02:00
Gael Guennebaud
e66caf48e8
Make test matrices for eigensolver/selfadjoint even more tricky
2015-05-12 18:44:46 +02:00
Christoph Hertzberg
494fa991c3
bug #872 : Avoid deprecated binder1st/binder2nd usage by providing custom functors for comparison operators
2015-05-07 17:28:40 +02:00
Gael Guennebaud
c2107d30ce
Extend unit tests of sefladjoint-eigensolver
2015-05-07 15:54:07 +02:00
Christoph Hertzberg
da2baf685d
Regression test for bug #302
...
(transplanted from 80fd8fab87
)
Changed DenseIndex to Index
2015-04-26 21:05:33 +02:00
Gael Guennebaud
1681a665d9
Extend unit test of Map<,,Stride<>> with stack allocated buffers and less trivial operations.
2015-04-24 10:38:28 +02:00
Gael Guennebaud
834f66e9fc
Extend unit test of Map<> with stack allocated buffers and less trivial operations.
2015-04-24 10:10:19 +02:00
Deanna Hood
0250f4a9f2
Merged default into unary-array-cwise-functors
2015-04-20 14:01:35 -04:00
Gael Guennebaud
5a3c48e3c6
bug #942 : fix dangling references in evaluator of diagonal * sparse products.
2015-04-18 22:43:27 +02:00
Christoph Hertzberg
3be9f5c4d7
Constructing a Matrix/Array with implicit transpose could lead to memory leaks.
...
Also reduced code duplication for Matrix/Array constructors
2015-04-16 13:25:20 +02:00
Deanna Hood
085aa8e601
Don't use M_PI since it's only guaranteed to be defined in Eigen/Geometry
2015-04-08 13:59:18 -05:00
Gael Guennebaud
3105986e71
bug #875 : remove broken SparseMatrixBase::nonZeros and introduce a nonZerosEstimate() method to sparse evaluators for internal uses.
...
Factorize some code in SparseCompressedBase.
2015-04-01 22:27:34 +02:00
Gael Guennebaud
39dcd01b0a
bug #973 : enable alignment of multiples of half-packet size (e.g., Vector6d with AVX)
2015-04-01 13:55:09 +02:00
Gael Guennebaud
8481dc21ea
bug #986 : add support for coefficient-based product with 0 depth.
2015-04-01 13:15:23 +02:00
Gael Guennebaud
79b4e6acaf
Fix bug #987 : wrong alignement guess in diagonal product.
2015-03-31 23:35:12 +02:00
Gael Guennebaud
8313fb7df7
Add row/column-wise reverseInPlace feature.
2015-03-31 21:35:53 +02:00
Gael Guennebaud
dfb674a25e
Make reverseInPlace really work in-place.
2015-03-31 20:17:10 +02:00
Gael Guennebaud
20d030f207
Fix vectorization of swap for non trivial expressions
2015-03-31 20:16:02 +02:00
Gael Guennebaud
ae01c05e18
Fix computeProductBlockingSizes with m==0, and add respective unit test.
2015-03-31 15:19:57 +02:00
Christoph Hertzberg
3238ca6abc
Addendum to last patch: k is Index and not int
2015-03-31 00:42:14 +02:00
Christoph Hertzberg
1efae98fee
bug #985 : RealQZ failed when either matrix had zero rows or columns (report and patch by Ben Goodrich)
...
Also added a regression test
2015-03-30 23:56:20 +02:00
Christoph Hertzberg
266a84558f
Optionally build the documentation when building unit tests.
2015-03-27 16:36:59 +01:00
Gael Guennebaud
ad044008da
Fix transpose versus adjoint.
2015-03-27 12:07:14 +01:00
Gael Guennebaud
7e225b6fa4
Suppress some false negatives in SVD unit test
2015-03-27 10:55:53 +01:00
Gael Guennebaud
f42b105f73
Add the possibility to make VERIFY* checks to output a warning instead of abording.
2015-03-24 13:39:14 +01:00
Deanna Hood
83e5b7656b
Use M_PI instead of acos(-1) for pi
2015-03-22 06:04:31 +10:00
Gael Guennebaud
9ee62fdcd5
Fix random unit test for 32bits systems.
2015-03-19 21:39:37 +01:00
Gael Guennebaud
d7698c18b7
Split sparse_basic unit test
2015-03-19 15:11:05 +01:00
Gael Guennebaud
f329d0908a
Improve random number generation for integer and add unit test
2015-03-19 15:10:36 +01:00
Deanna Hood
41b717de25
More extensive unit tests for recent array-wise functors
2015-03-18 03:11:03 +10:00
Deanna Hood
8878e1c1de
Remove ambiguity with recent numext methods isNaN and isInf
2015-03-17 22:39:51 +10:00
Deanna Hood
1c78d6f2a6
Add boolean not operator (!) array support
2015-03-17 08:29:57 +10:00
Deanna Hood
85da0c2281
Remove test of now-missing floor, ceil, round complex implementations
2015-03-17 06:56:47 +10:00
Deanna Hood
e1d6e6c972
Make cube, inverse and abs2 free-functions
2015-03-17 06:25:24 +10:00
Deanna Hood
fef4e071d7
Rename isinf to isInf
2015-03-17 05:58:47 +10:00
Deanna Hood
46cf9cda32
Add isfinite array support as isFinite
2015-03-17 04:33:12 +10:00
Deanna Hood
fb68b149cb
Rename isnan to isNaN
2015-03-17 02:04:42 +10:00
Gael Guennebaud
1330f8bbd1
bug #973 , improve AVX support by enabling vectorization of Vector4i-like types, and enforcing alignement of Vector4f/Vector2d-like types to preserve compatibility with SSE and future Eigen versions that will vectorize them with AVX enabled.
2015-03-13 21:15:50 +01:00
Gael Guennebaud
2f6f8bf31c
Add missing coeff/coeffRef members to Block<sparse>, and extend unit tests.
2015-03-13 16:24:40 +01:00
Deanna Hood
f89fcefa79
Add hyperbolic trigonometric functions from std array support
2015-03-11 13:13:30 +10:00
Deanna Hood
a5e49976f5
Add log10 array support
2015-03-11 08:56:42 +10:00
Deanna Hood
19a71056ae
Allow calling of square(array) in addition to array.square()
2015-03-11 06:59:28 +10:00
Deanna Hood
31fdd67756
Additional unary coeff-wise functors (isnan, round, arg, e.g.)
2015-03-11 06:39:23 +10:00
Gael Guennebaud
9e885fb766
Add unit tests for CG and sparse-LLT for long int as storage-index
2015-03-09 14:33:15 +01:00
Gael Guennebaud
224a1fe4c6
bug #963 : make IncompleteLUT compatible with non-default storage index types.
2015-03-09 13:55:20 +01:00
Gael Guennebaud
cf9940e17b
Make sparse unit-test helpers aware of StorageIndex
2015-03-09 13:54:05 +01:00
Gael Guennebaud
14a5f135a3
bug #969 : workaround abiguous calls to Ref using enable_if.
2015-03-06 17:51:31 +01:00
Gael Guennebaud
d23fcc0672
bug #978 : add unit test for zero-sized products
2015-03-06 16:12:08 +01:00
Gael Guennebaud
4c8b95d5c5
Rename LSCG to LeastSquaresConjugateGradient
2015-03-05 10:16:32 +01:00
Gael Guennebaud
c43154bbc5
Check for no-reallocation in SparseMatrix::insert (bug #974 )
2015-03-04 10:16:46 +01:00
Gael Guennebaud
05274219a7
Add a CG-based solver for rectangular least-square problems (bug #975 ).
2015-03-04 09:34: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
Christoph Hertzberg
052b6b40f1
Fix two trivial warnings
2015-02-22 12:40:51 +01:00
Christoph Hertzberg
6af6cf0c2e
I can reproduce any problems that justified this hack. However it makes builds fail in C++11 mode.
2015-02-21 19:43:56 +01:00
Gael Guennebaud
01b8440579
With C++11 Matrix<float> + Matrix<complex<float>> does not even compile
2015-02-20 09:32:49 +01:00
Gael Guennebaud
b192e29eae
In C++11 destructors do not throw by default (fix CommaInitializer unit test)
2015-02-20 09:28:34 +01:00
Gael Guennebaud
ece6b440f9
Fix a C++11 compilation issue in unit test
2015-02-19 23:31:08 +01:00
Gael Guennebaud
1b7e12847d
Fix some calls to result_of on binary functors as unary ones.
2015-02-19 23:30:41 +01:00
Gael Guennebaud
c7bb1e8ea8
Fix a regression when using OpenMP, and fix bug #714 : the number of threads might be lower than the number of requested ones
2015-02-18 15:19:23 +01:00
Gael Guennebaud
371d3bef36
Workaround dead store warnings in unit tests.
2015-02-18 11:30:44 +01:00
Christoph Hertzberg
24d65ac0b0
Removed redundant typedef which confused old gcc versions.
2015-02-18 01:03:32 +01:00
Gael Guennebaud
9f49f00feb
Extend sparse-determinant unitests
2015-02-16 19:09:48 +01:00
Gael Guennebaud
f0b1b1df9b
Fix SparseLU::signDeterminant() method, and add a SparseLU::determinant() method.
2015-02-16 19:09:22 +01:00
Gael Guennebaud
0f464d9d87
bug #897 : fix regression in BiCGSTAB(mat) ctor (an all other iterative solvers).
...
Add respective regression unit test.
2015-02-16 17:05:10 +01:00
Gael Guennebaud
aa6c516ec1
Fix many long to int conversion warnings:
...
- fix usage of Index (API) versus StorageIndex (when multiple indexes are stored)
- use StorageIndex(val) when the input has already been check
- use internal::convert_index<StorageIndex>(val) when val is potentially unsafe (directly comes from user input)
2015-02-16 13:19:05 +01:00
Gael Guennebaud
fc202bab39
Index refactoring: StorageIndex must be used for storage only (and locally when it make sense). In all other cases use the global Index type.
2015-02-13 18:57:41 +01:00
Gael Guennebaud
fe51319980
Merge Index-refactoring branch with default, fix PastixSupport, remove some useless typedefs
2015-02-13 10:03:53 +01:00
Gael Guennebaud
0918c51e60
merge Tensor module within Eigen/unsupported and update gemv BLAS wrapper
2015-02-12 21:48:41 +01:00
Gael Guennebaud
c6e8caf090
Allows Lower|Upper as a template argument of CG and MINRES: in this case the full matrix will be considered.
2015-02-10 18:57:41 +01:00
Gael Guennebaud
87629cd639
bug #897 : makes iterative sparse solvers use a Ref<SparseMatrix> instead of a SparseMatrix pointer. This fixes usage of iterative solvers with a Map<SparseMatrix>.
2015-02-09 11:41:25 +01:00
Gael Guennebaud
d4ec48575e
Make Block<SparseMatrix> inherit SparseCompressedBase in the case of an inner-panels and fix valuePtr() innerIndexPtr()
2015-02-09 11:14:36 +01:00
Gael Guennebaud
3af29caae8
Cleaning and add more unit tests for Ref<SparseMatrix> and Map<SparseMatrix>
2015-02-09 10:23:45 +01:00
Gael Guennebaud
f2ff8c091e
Add a Ref<SparseMatrix> specialization.
2015-02-07 22:04:18 +01:00
Benoit Steiner
c739102ef9
Pulled the latest changes from the trunk
2015-02-06 05:25:03 -08:00
Gael Guennebaud
c6eb84aabc
Enable vectorization of transposeInPlace for PacketSize x PacketSize matrices
2015-01-26 17:09:01 +01:00
Gael Guennebaud
e1f1091fde
Add support for dense ?= diagonal
2015-01-24 10:32:49 +01:00
Gael Guennebaud
279786e987
Fix missing evaluator in outer-product
2015-01-13 10:25:50 +01:00
Gael Guennebaud
f806c23012
Fix false negatives in geo_transformations unit tests
2014-12-16 16:50:30 +01:00
Gael Guennebaud
99501a2c4c
Fix wrong negative in nullary unit test when extended precision is used (FPU).
2014-12-16 16:23:47 +01:00
Christoph Hertzberg
e8cdbedefb
bug #877 , bug #572 : Introduce a global Index typedef. Rename Sparse*::Index to StorageIndex, make Dense*::StorageIndex an alias to DenseIndex. Overall this commit gets rid of all Index conversion warnings.
2014-12-04 22:48:53 +01:00
Gael Guennebaud
b26e697182
Make SparseMatrix::coeff() returns a const reference and add a non const version of SparseMatrix::diagonal()
2014-12-01 14:41:39 +01:00
Gael Guennebaud
8518ba0bbc
Fix Hyperplane::Through(a,b,c) when points are aligned or identical. We use the stratgey as in Quaternion::setFromTwoVectors.
2014-11-26 15:01:53 +01:00
Gael Guennebaud
722916e19d
bug #903 : clean swap API regarding extra enable_if parameters, and add failtests for swap
2014-11-06 09:25:26 +01:00
Gael Guennebaud
c6fefe5d8e
Big 853: replace enable_if in Ref<> ctor by static assertions and add failtests for Ref<>
2014-11-05 16:15:17 +01:00
Christoph Hertzberg
c5a3777666
Regression test for (invalid) bug #900 . We should make it possible somehow to increase the problem size depending on the available RAM.
2014-10-31 17:19:05 +01:00
Christoph Hertzberg
0833b82efd
Run sparse_basic unit tests also for rectangular matrices.
...
TriangularView with UnitDiag does not work properly yet (bug #901 )
2014-10-31 17:12:13 +01:00
Christoph Hertzberg
3d25b1f5b8
Split up some test cases
2014-10-29 17:46:54 +01:00
Christoph Hertzberg
acecb7b09f
Fixed include in bdcsvd.cpp
2014-10-29 17:46:33 +01:00
Gael Guennebaud
21c0a2ce0c
Move D&C SVD to official SVD module.
2014-10-29 11:29:33 +01:00
Christoph Hertzberg
04ffb9956e
Replace TEST_SET_BUT_UNUSED_VARIABLE by already defined EIGEN_UNUSED_VARIABLE
2014-10-24 13:18:23 +02:00
Gael Guennebaud
a303b6a733
bug #670 : add unit test for mapped input in sparse solver.
2014-10-20 16:46:47 +02:00
Christoph Hertzberg
c12b7896d0
bug #766 : Check minimum CUDA version
2014-10-20 14:23:11 +02:00
Christoph Hertzberg
84aaa03182
Addendum to bug #859 : pexp(NaN) for double did not return NaN, also, plog(NaN) did not return NaN.
...
psqrt(NaN) and psqrt(-1) shall return NaN if EIGEN_FAST_MATH==0
2014-10-20 13:13:43 +02:00
Gael Guennebaud
aa5f79206f
Fix bug #859 : pexp(NaN) returned Inf instead of NaN
2014-10-20 11:38:51 +02:00
Gael Guennebaud
b4a9b3f496
Add unit tests for Rotation2D's inverse(), operator*, slerp, and fix regression wrt explicit ctor change
2014-10-20 11:04:32 +02:00
Gael Guennebaud
d04f23260d
Fix bug #894 : the sign of LDLT was not re-initialized at each call of compute()
2014-10-20 10:48:40 +02:00
Gael Guennebaud
a370b1f2e2
Fix SparseLU::absDeterminant and add respective unit test
2014-10-17 16:52:56 +02:00
Benoit Steiner
bfdd9f3ac9
Made the blocking computation aware of the l3 cache
...
Also optimized the blocking parameters to take into account the number of threads used for a computation
2014-10-15 15:32:59 -07:00
Gael Guennebaud
c566cfe2ba
Make SVD unit test even more tough
2014-10-15 23:37:47 +02:00
Gael Guennebaud
fd1aaf4772
merge
2014-10-15 16:33:14 +02:00
Gael Guennebaud
c806009453
Extend svd unit tests to stress problems with duplicated singular values.
2014-10-15 16:32:16 +02:00
Christoph Hertzberg
d3f52debc6
Make cuda_basic test compile again by adding lots of EIGEN_DEVICE_FUNC.
...
Although the test passes now, there might still be some missing.
2014-10-13 17:18:26 +02:00
Benoit Steiner
a991f94c0e
Fixed the thread pool test
2014-10-10 15:20:37 -07:00
Gael Guennebaud
349c2c9235
bug #367 : fix double copies in atWithInsertion, and add respective unit-test
2014-10-09 23:35:49 +02:00
Gael Guennebaud
ccd70ba123
Various numerical fixes in D&C SVD: I cannot make it fail with double, but still need to tune for single precision, and carefully test with duplicated singular values
2014-10-09 23:29:01 +02:00
Gael Guennebaud
dbdd8b0883
D&C SVD: add scaling to avoid overflow, fix handling of fixed size matrices
2014-10-06 19:35:57 +02:00
Gael Guennebaud
d44d432baa
Re-enable products with triangular views of sparse matrices: we simply have to treat them as a sparse matrix.
2014-10-06 16:11:26 +02:00
Gael Guennebaud
7a17639953
Extend unit tests to check uncompressed sparse inputs in sparse solvers
2014-10-06 11:41:50 +02:00
Christoph Hertzberg
1fa6fe2abd
template keyword not allowed before non-template function call
2014-10-01 14:33:55 +02:00
Gael Guennebaud
5180bb5e47
Add missing default ctor in Rotation2D
2014-09-30 16:59:28 +02:00
Christoph Hertzberg
0187504912
Avoid `unneeded-internal-declaration' warning
2014-09-30 16:43:52 +02:00
Christoph Hertzberg
12d59465cb
bug #884 : Copy constructor of Ref shall never malloc, constructing from other RefBase shall only malloc if the memory layout is incompatible.
2014-09-30 14:57:54 +02:00
Christoph Hertzberg
4ba8aa1482
Fix bug #884 : No malloc for zero-sized matrices or for Ref without temporaries
2014-09-25 16:05:17 +02:00
Christoph Hertzberg
27d6b4daf9
Tridiagonalization::diagonal() and ::subDiagonal() did not work. Added unit-test
2014-09-24 14:37:13 +02:00
Gael Guennebaud
446001ef51
Fix nested_eval<Product<> > which wrongly returned a Product<> expression
2014-09-24 09:39:09 +02:00
Gael Guennebaud
3878e6f170
Add a true ctest unit test for failtests
2014-09-23 10:25:12 +02:00
Gael Guennebaud
ff46ec0f24
bug #881 : make SparseMatrixBase::isApprox(SparseMatrixBase) exploits sparse computations instead of converting the operands to dense matrices.
2014-09-22 23:33:28 +02:00
Konstantinos Margaritis
60e093a9dc
Merged eigen/eigen into default
2014-09-21 14:02:51 +03:00
Gael Guennebaud
03dd4dd91a
Unify unit test for BDC and Jacobi SVD. This reveals some numerical issues in BDCSVD.
2014-09-19 15:25:48 +02:00
Gael Guennebaud
0a18eecab3
bug #100 : add support for explicit scalar to Array conversion (as enable implicit conversion is much more tricky)
2014-09-19 13:25:28 +02:00
Gael Guennebaud
0ca43f7e9a
Remove deprecated code not used by evaluators
2014-09-18 15:15:27 +02:00
Gael Guennebaud
e44d78dab3
workaround ambiguous call
2014-09-16 17:10:25 -07:00
Gael Guennebaud
341ae8665d
avoid division by 0
2014-09-16 16:05:06 -07:00
Benoit Steiner
10a79ca3a3
Merged latest updates from the Eigen trunk.
2014-09-15 09:18:16 -07:00
Gael Guennebaud
0403d49006
Fix inverse unit test making sure we try to invert an invertible matrix
2014-09-14 20:12:07 +02:00
Gael Guennebaud
c83e01f2d6
Favor column major storage for inner products
2014-09-14 19:38:49 +02:00
Gael Guennebaud
dfc54e1bbf
Fix /= when using evaluator as in changeset 2d90484450
2014-09-14 18:27:48 +02:00
Gael Guennebaud
749b56f6af
merge with default branch
2014-09-14 17:34:54 +02:00
Jitse Niesen
9452eb38f8
Make UpperBidiagonalization accept row-major matrices (bug #769 )
...
* Give temporary workspace the same storage order as original matrix
* Take storage order into account when determining inner stride
of rows and columns
* Change one test to use a row-major matrix.
2014-09-12 14:52:35 +01:00
Gael Guennebaud
188a13f9fe
Fix compilation of coeff(Index) on sub-inner-panels
2014-09-08 09:50:03 +02:00
Benoit Steiner
1abe4ed14c
Created more regression tests
2014-09-04 20:27:28 -07:00
Gael Guennebaud
80993b95d3
Disable a test which had never worked without evalautors
2014-09-03 22:56:39 +02:00
Gael Guennebaud
b3a0365429
merge with default branch
2014-09-01 18:21:01 +02:00
Gael Guennebaud
fbb53b6cbb
Fix sparse matrix times sparse vector.
2014-09-01 16:53:52 +02:00
Konstantinos Margaritis
7ff266e3ce
Initial VSX commit
2014-08-29 20:03:49 +00:00