def row_contributions(self, X):
        """Returns the row contributions towards each principal component.

        Each row contribution towards each principal component is equivalent to the amount of
        inertia it contributes. This is calculated by dividing the squared row coordinates by the
        eigenvalue associated to each principal component.
        """
        utils.validation.check_is_fitted(self, 's_')
        return np.square(self.row_coordinates(X)).div(self.eigenvalues_, axis='columns')