Linalg 3 lu

lu take permutation into account.
all features (as_terminal assign_swap etc.) devlped in qr and nseig passes are used there
tests are for real complex and sub
I do not know how to do that in another way.
table ls store the permutation in a lapack swap list and converting to standard
integer permutation list cannot be vectorized
because the swaps modify ips in a non predictable order.