|   Registered Member   
 | 
							Hi, I've implemented a simple incomplete LU solver for sparse matrices and have a problem solving the resulting L*U*x=b system. If LU is a sparse matrix and x,y,b dense vectors, then the code 
 yields the runtime error 
 When I use a dense matrix DLU = LU.toDense(); instead, the code runs just fine. I'm using the newest packed dev version of Eigen with GCC 4.3.4. | 
|   Registered Member   
 | 
							I just noticed that 
 yields a compilation error: 
 while 
 compiles fine. | 
|   Moderator   
 | 
							Hi, w.norm() has been just fixed. Regarding your issue with the triangular solver, the pb is that for efficiency reasons it assumes the matrix is triangular, i.e., only the respective triangular part is stored. Otherwise, for instance for a column major lower triangular matrix, we would have to manually skip all the entries until find the first one holding to the lower part, and for a upper triangular matrix, check every time we have not crossed the diagonal... Well actually, we could add such tests, if the matrix is already triangular, they should have no cost. Actually, for sparse matrices, there is almost no memory advantage in packing two triangular matrices into a single one. So, anyway, I would suggest you to split the LU matrix into a L and U one. | 
Registered users: abc72656, Bing [Bot], daret, Google [Bot], Sogou [Bot], Yahoo [Bot]
 
		 
		 
		 
		