mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-08-12 19:59:05 +08:00
further big perf improvement in Inverse
This commit is contained in:
parent
79a0feee68
commit
e741b7beca
@ -65,9 +65,8 @@ struct ei_compute_inverse_in_general_case<MatrixType, RowMajor>
|
|||||||
inverse.row(size-1) /= matrix(size-1,size-1);
|
inverse.row(size-1) /= matrix(size-1,size-1);
|
||||||
|
|
||||||
for(int k = size-1; k >= 1; k--)
|
for(int k = size-1; k >= 1; k--)
|
||||||
{
|
for(int row = 0; row < k; row++)
|
||||||
inverse.block(0,0,k,size) -= matrix.col(k).start(k) * inverse.row(k);
|
inverse.row(row) -= inverse.row(k) * matrix.coeff(row,k);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -103,9 +102,8 @@ struct ei_compute_inverse_in_general_case<MatrixType, ColMajor>
|
|||||||
inverse.col(size-1) /= matrix(size-1,size-1);
|
inverse.col(size-1) /= matrix(size-1,size-1);
|
||||||
|
|
||||||
for(int k = size-1; k >= 1; k--)
|
for(int k = size-1; k >= 1; k--)
|
||||||
{
|
for(int col = 0; col < k; col++)
|
||||||
inverse.block(0,0,size,k) -= inverse.col(k) * matrix.row(k).start(k);
|
inverse.col(col) -= inverse.col(k) * matrix.coeff(k,col);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user