<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rotate(self, theta, around):
 """Rotate Compound around an arbitrary vector. Parameters theta : float The angle by which to rotate the Compound, in radians. around : np.ndarray, shape=(3,), dtype=float The vector about which to rotate the Compound. """

        new_positions = _rotate(self.xyz_with_ports, theta, around)
        self.xyz_with_ports = new_positions