In principle I like to implement the general methods first and then see if we need special cases
for special input. Maybe we should see what we can do for the various types of input.

- symbolic / exact numeric / floats
- dense / sparse
- tiny / small / large / huge
- full rank / ...