feat(matrix): add LU decomposition and basic matrix operation