In this paper we describe efficient methods to obtain the stationary states of linear and nonlinear photonic systems, which have gained particular interest in the field of integrated and nonlinear optics. While the methods presented are directly applicable to optical physics, they are also general and should be of interest in a broad range of phenomena presently under study in other areas of physics and engineering. The strategy consists in combining the use of classical methods, such as inverse iteration or the Newton method, together with modern, nonstationary linear solvers, such as SYMMLQ or GMRES, in order to obtain efficient numerical computations to problems involving large matrices. We have selected several example problems in order to discuss the practical implementation details, not normally described in the present literature. Moreover, the problems we have selected provide a backdrop to contrast and motivate the use of different methods for systems which are symmetric and non-symmetric, single and multi-component, and also real and complex. Information relative to numerical performance of the different algorithms, including a survey for a nonsymmetric problem, which requires the adjustment of a restarting parameter for the GMRES algorithm, is also presented.