![]() Registered Member ![]()
|
Does the Eigen library check for matrix size overflow?
I see there's a function called check_rows_cols_for_overflow(), but does Eigen check the product of rows*cols too? If rows*cols happen to be large than 65536 x 65536, this will overflow size_t's max. limit of 2^32 for 32-bit systems. Like in here:
Or here:
Which might explain why Eigen library is crashing on me when I try to solve a 100k x 100k system. 100k x 100k is not a valid number for a 32-bit application. |
![]() Moderator ![]()
|
|
![]() Registered Member ![]()
|
Sorry, false alarm. It looks like check_rows_cols_for_overflow() checks for overflow for all kinds
of signed arithmetic, including multiplication. But, I don't understand why my code was allowed to continue after creating such large sparse matrices. It should have asserted. It may be just a limited memory issue. |
Registered users: Baidu [Spider], Bing [Bot], Google [Bot], rblackwell