Gael Guennebaud
1ca9072b51
Gub 1453: fix Map with non-default inner-stride but no outer-stride.
...
(grafted from e27f17bf5c921dca73b4d2dc1a90863b36292fdc
)
2017-08-22 13:27:37 +02:00
Gael Guennebaud
782fd81dee
Disable BDCSVD preallocation check.
...
(grafted from d580a90c9ab5ed5521a79670f73bcea5ee755fe0
)
2017-07-20 10:03:54 +02:00
Gael Guennebaud
a4ab0c6b6a
Fix compilation with some compilers
...
(grafted from a4fd4233adbf4132f24bf989e3099022c5f3e207
)
2017-06-09 23:02:02 +02:00
Gael Guennebaud
7a0a9581b5
bug #1405 : enable StrictlyLower/StrictlyUpper triangularView as the destination of matrix*matrix products.
...
(grafted from ba5cab576a7615af12389ff159c6ed57b5312d5e
)
2017-06-09 14:38:04 +02:00
Gael Guennebaud
b69e465d7a
bug #1410 : fix lvalue propagation of Array/Matrix-Wrapper with a const nested expression.
...
(grafted from fb1ee04087f6d5cfe9009941c1a1eb25b3133a04
)
2017-06-09 13:13:03 +02:00
Gael Guennebaud
1ac703f641
bug #1424 : add numext::abs specialization for unsigned integer types.
2017-06-09 11:53:49 +02:00
Gael Guennebaud
2c32368642
Add missing std::numeric_limits specialization for half, and complete NumTraits<half>
...
(grafted from d58882277999508b1b97624771433422897e9aee
)
2017-06-09 11:51:53 +02:00
Gael Guennebaud
db40309e70
bug #1423 : fix LSCG\'s Jacobi preconditioner for row-major matrices.
...
(grafted from 682b2ef17ee360ac11cebbe7286dc4edd9accfa3
)
2017-06-08 15:06:27 +02:00
Gael Guennebaud
e36c1f7501
bug #1435 : fix aliasing issue in exressions like: A = C - B*A;
...
(grafted from 4bbc32046810f65bb0f77f6dbe538abad51de281
)
2017-06-08 12:55:25 +02:00
Gael Guennebaud
9f25cdf4f6
Fix dense * sparse-selfadjoint-view product.
...
(grafted from 891ac03483dd282569581076d4e0819608fc1155
)
2017-04-25 13:58:10 +02:00
Gael Guennebaud
c753fe7cc3
Improve cmake scripts for Pastix and BLAS detection.
...
(grafted from 0f83aeb6b22840c21c3fc2b90d3af18a65a0798a
)
2017-04-14 10:22:12 +02:00
Gael Guennebaud
e1385337ff
bug #1395 : fix the use of compile-time vectors as inputs of JacobiSVD.
...
(grafted from 65728257036652fe1cb337a19ee68d8ec01462a3
)
2017-02-20 13:44:37 +01:00
Gael Guennebaud
c3b658b2c9
Fix tracking of temporaries in unit tests
...
(grafted from deefa54a5419cc197bc43a04df1187f140da1efe
)
2017-02-19 10:32:54 +01:00
Gael Guennebaud
ad3e4d1a49
bug #1393 : enable Matrix/Array explicit ctor from types with conversion operators (was ok with 3.2)
...
(grafted from 582b5e39bf5515a0277b8ecf9c40e09748dc7d98
)
2017-02-17 14:10:57 +01:00
Gael Guennebaud
2ca3eb8407
bug #1392 : fix #include <Eigen/Sparse> with mpl2-only
...
(grafted from c16ee72b2093ae635b1f07ffd95626c3a86dbbfe
)
2017-02-11 10:35:01 +01:00
Gael Guennebaud
6975534cb2
bug #478 : fix regression in the eigen decomposition of zero matrices.
...
(grafted from 53026d29d41e81065b28631445e8eb5c4044c187
)
2017-01-31 14:22:42 +01:00
Gael Guennebaud
e0548e9ff3
bug #1384 : fix evaluation of "sparse/scalar" that used the wrong evaluation path.
...
(grafted from c86911ac7358058aad4366a69de2db1aa5c44c49
)
2017-01-30 13:38:24 +01:00
Gael Guennebaud
c289ef20f3
bug #1383 : fix regression in LinSpaced for integers and high<low
...
(grafted from 850ca961d28df99a0ba44bd8bf034ac08e39686e
)
2017-01-25 18:13:53 +01:00
Gael Guennebaud
b8cf157e8c
bug #1381 : fix sparse.diagonal() used as a rvalue.
...
The problem was that is "sparse" is not const, then sparse.diagonal() must have the
LValueBit flag meaning that sparse.diagonal().coeff(i) must returns a const reference,
const Scalar&. However, sparse::coeff() cannot returns a reference for a non-existing
zero coefficient. The trick is to return a reference to a local member of
evaluator<SparseMatrix>.
(grafted from 296d24be4dd3c700089d1d9182a843c60d68019c
)
2017-01-25 17:39:01 +01:00
Gael Guennebaud
b4d2b404b0
bug #1383 : Fix regression from 3.2 with LinSpaced(n,0,n-1) with n==0.
...
(grafted from d06a48959abac6369336d3873d46aee78f8fbec2
)
2017-01-25 15:27:13 +01:00
Gael Guennebaud
35bf99c63e
bug #1376 : add missing assertion on size mismatch with compound assignment operators (e.g., mat += mat.col(j))
...
(grafted from ba3f977946ed0ac5dde82a15a9c11784513155f2
)
2017-01-23 22:06:08 +01:00
Gael Guennebaud
9d83411cc4
bug #1379 : fix compilation in sparse*diagonal*dense with openmp
...
(grafted from 0fe278f7bed761e0dd3ddec16503794f8ccf84eb
)
2017-01-21 23:27:01 +01:00
Gael Guennebaud
0eaff8fdf2
Defer set-to-zero in triangular = product so that no aliasing issue occur in the common:
...
A.triangularView() = B*A.sefladjointView()*B.adjoint()
case that used to work in 3.2.
(grafted from 655ba783f8b2c9a8c3f4edb45e6db468aca22188
)
2017-01-17 18:03:35 +01:00
Gael Guennebaud
1d1686c62b
Convert integers to real numbers when computing relative L2 error
...
(grafted from f3f026c9aacfc3ad28c54b4f5287b7b58e62d8ac
)
2017-01-05 13:36:08 +01:00
Gael Guennebaud
5f586c2bd0
Add missing .outer() member to iterators of evaluators of cwise sparse binary expression
...
(grafted from 71362674613a552fd157e175aabfc0e85877bebd
)
2016-12-27 16:34:30 +01:00
Gael Guennebaud
0fddbf3dc7
Add transpose, adjoint, conjugate methods to SelfAdjointView (useful to write generic code)
...
(grafted from 684cfc762d70e8ab766bc94968d8d5e462c44074
)
2016-12-20 16:33:53 +01:00
Gael Guennebaud
eda635bd58
Make sure that HyperPlane::transform manitains a unit normal vector in the Affine case.
...
(grafted from f5d644b4155e2cbf2a03988c2ef592a3d2857031
)
2016-12-20 09:35:00 +01:00
Gael Guennebaud
0bcef9557d
bug #1358 : fix compilation for sparse += sparse.selfadjointView();
...
(grafted from 11b492e993f4272d86fc4019014b47b09a57a2ce
)
2016-12-14 17:53:47 +01:00
Gael Guennebaud
2b3c876b2a
bug #1359 : fix compilation of col_major_sparse.row() *= scalar
...
(used to work in 3.2.9 though the expression is not really writable)
(grafted from e67397bfa7cc1662774c4586f7532bbe3e69e0fd
)
2016-12-14 17:05:26 +01:00
Gael Guennebaud
59187285e1
bug #1361 : fix compilation issue in mat=perm.inverse()
...
(grafted from c817ce3ba3f5fcc9cc52e761df2b4f4d20b0d336
)
2016-12-13 23:10:27 +01:00
Gael Guennebaud
52a7386aef
Fix misleading-indentation warnings.
...
(grafted from 037b46762d48fdefef538dc76f0ad9638e3dffb0
)
2016-12-01 16:05:42 +01:00
Gael Guennebaud
6e4a664c42
Fix a performance regression in (mat*mat)*vec for which mat*mat was evaluated multiple times.
...
(grafted from c927af60edbf7dd859fc8057151e40b0fe2de661
)
2016-11-30 17:59:13 +01:00
Gael Guennebaud
4d89ec8a00
Fix regression in assigment of sparse block to spasre block.
...
(grafted from 6a84246a6a5dd980e78e5609b3098cdbce93807c
)
2016-11-21 21:46:42 +01:00
Gael Guennebaud
aa3c761002
bug #1343 : fix compilation regression in mat+=selfadjoint_view.
...
Generic EigenBase2EigenBase assignment was incomplete.
(grafted from 8193ffb3d38b56c9295f204dc57dc6bac74f58aa
)
2016-11-18 10:17:34 +01:00
Gael Guennebaud
94f2cfc9c7
bug #1343 : fix compilation regression in array = matrix_product
...
(grafted from cebff7e3a22d3fde9f83f11fc44a4e8166e6cc2d
)
2016-11-18 10:09:33 +01:00
Konstantinos Margaritis
4a13d79df6
replace sizeof(Packet) with PacketSize else it breaks for ZVector.Packet4f
...
(grafted from a1d5c503fad23453d7447ef09bc7d1381d4667cf
)
2016-11-17 13:27:45 -05:00
Gael Guennebaud
89abc6806d
bug #426 : move operator && and || to MatrixBase and SparseMatrixBase.
...
(grafted from 2e334f5da0c37eea3bd91f0e80adb5f509d2416b
)
2016-11-14 18:47:02 +01:00
Gael Guennebaud
b4ddafcfac
Fix regression in SparseMatrix::ReverseInnerIterator
...
(grafted from eedb87f4ba7fa835808168952f70acac6e458452
)
2016-11-14 14:05:53 +01:00
Gael Guennebaud
73985ead27
Extend unit test to check sparse solvers with a SparseVector as the rhs and result.
2016-11-06 20:29:57 +01:00
Benoit Steiner
c80587c92b
Merged eigen/eigen into default
2016-11-03 03:55:11 -07:00
Gael Guennebaud
a07bb428df
bug #1004 : improve accuracy of LinSpaced for abs(low) >> abs(high).
2016-11-02 11:34:38 +01:00
Gael Guennebaud
598de8b193
Add pinsertfirst function and implement pinsertlast for complex on SSE/AVX.
2016-11-02 10:38:13 +01:00
Gael Guennebaud
3ecb343dc3
Fix regression in X = (X*X.transpose())/s with X rectangular by deferring resizing of the destination after the creation of the evaluator of the source expression.
2016-10-26 22:50:41 +02:00
Gael Guennebaud
58146be99b
bug #1004 : one more rewrite of LinSpaced for floating point numbers to guarantee both interpolation and monotonicity.
...
This version simply does low+i*step plus a branch to return high if i==size-1.
Vectorization is accomplished with a branch and the help of pinsertlast.
Some quick benchmark revealed that the overhead is really marginal, even when filling small vectors.
2016-10-25 16:53:09 +02:00
Gael Guennebaud
13fc18d3a2
Add a pinsertlast function replacing the last entry of a packet by a scalar.
...
(useful to vectorize LinSpaced)
2016-10-25 16:48:49 +02:00
Gael Guennebaud
b027d7a8cf
bug #1004 : remove the inaccurate "sequential" path for LinSpaced, mark respective function as deprecated, and enforce strict interpolation of the higher range using a correction term.
...
Now, even with floating point precision, both the 'low' and 'high' bounds are exactly reproduced at i=0 and i=size-1 respectively.
2016-10-24 20:27:21 +02:00
Gael Guennebaud
53c77061f0
bug #698 : rewrite LinSpaced for integer scalar types to avoid overflow and guarantee an even spacing when possible.
...
Otherwise, the "high" bound is implicitly lowered to the largest value allowing for an even distribution.
This changeset also disable vectorization for this integer path.
2016-10-24 15:50:27 +02:00
Gael Guennebaud
e8e56c7642
Add unit test for overflow in LinSpaced
2016-10-24 15:43:51 +02:00
Benoit Steiner
78d2926508
Merged eigen/eigen into default
2016-10-12 13:46:29 -07:00
Gael Guennebaud
f939c351cb
Fix SPQR for rectangular matrices
2016-10-12 22:39:33 +02:00