Multiplicative preservers on semigroups of matrices

We characterize multiplicative maps φ on semigroups of square matrices satisfying φ(P)⊆P for matrix sets P, such as rank k (idempotent) matrices, totally nonnegative matrices, P0 matrices, M0 matrices, positive semidefinite matrices, Hermitian matrices, normal matrices, and contractions. We also characterize multiplicative maps φ satisfying φ(g(X))=φ(X) for various functions g on square matrices, such as the spectrum, spectral radius, numerical range, numerical radius, and matrix norms.