# Applying a Single-site Operator to an MPS In many applications one needs to modify a matrix product state (MPS) by multiplying it with an operator that acts only on a single site. This is actually a very straightforward operation and this formula shows you how to do it in ITensor. Say we have an operator @@G^{s'_3}_{s_3}@@ which which acts non-trivially on site 3 of our MPS `psi` as in the following diagram: To carry out this operation, contract the operator G with the MPS tensor for site 3, removing the prime from the @@s'_3@@ index afterward: auto newA = G*psi(3); newA.noPrime(); Finally, put the new tensor back into the MPS to update the third MPS tensor: psi.set(3,newA); Or alternatively `psi.ref(3) = newA;`. Afterward, we can visualize the modified MPS as: As a technical note, if you are working in a context where gauge or orthogonality properties of the MPS are important, such as in time evolution using two-site gates (see the [[two-site gate formula|formulas/gate]]), then you may want to call `psi.position(3)` before modifying the tensor at site 3, which will ensure that the MPS remains in a well-defined orthogonal gauge. Modifying a tensor which is left- or right-orthogonal (i.e. not the "center" tensor of the gauge) will destroy the gauge condition and require extra operations to restore it. (Calling the `.position` method will automatically fix this but will have to do extra work to do so.)