On Thu, 27 Oct 2016, Travis Scrimshaw wrote:
1 - the definition (as even given in the docstring) still makes full sense if the matrices are not the same size or if they are not square. There does not exist such a matrix P.
To compare: (meet-)pseudocomplemet is defined for (meet-)semilattices, and so is the property of being pseudocomplemented. But every pseudocomplemented semilattice is actually a lattice. I added .is_pseudocomplemented() to lattices, not to semilattices. Should this be changed?
2 - It puts an unnecessary burden on the average user. They have to deal with errors on a true/false question. You then also have to explain why there is the error message to your linear algebra students, provided you were very careful with your definition of similar matrices.
I would say just the opposite: The user may get a False from situation that is propably an error. It is much harder to debug. It is not that hard to add some if M.ncols()==... before .is_similar().
-- Jori Mäntysalo