This paper covers the topic of matrix-OPC. In matrix-OPC, we perform OPC edge movements, considering the cross-MEEF of all edges which affect the edge placement error (EPE) at each simulation site. This contrasts with standard model-based OPC methods. In the standard methods a simulation site is placed on each edge fragment. The EPE is monitored by simulation along all sites. The EPE is assumed to be controllable for each site by moving the position of its edge fragment. In matrix OPC, not just one fragment, but all fragments which influence the EPE are used to control the EPE for a given site. Matrix OPC has application to the following areas: (1) OPC on PSM where non-adjacent edges can have larger impact than adjacent edges, (2) dipole and other complex illumination schemes, and (3) when the assumption that the self-MEEF terms are dominant starts to break down or when MEEF becomes negative.