Programming matrix optics into Mathematica
  The various non-linear transformations incurred by the rays in an optical system can be modelled by matrix products up to any desired order of approximation. Mathematica software has been used to find the appropriate matrix coefficients for the straight path transformation and for the transformations induced by conical surfaces, both direction change and position offset. The same software package was programmed to model optical systems in seventh-order. A Petzval lens was used to exemplify the modelling power of the program. 
Jose B. Almeida