def transform(self, X):
n = self.train_.shape[<NUM_LIT:0>]<EOL>if X.ndim != <NUM_LIT:2> or X.shape[<NUM_LIT:1>] != n:<EOL><INDENT>msg = "<STR_LIT>"<EOL>raise TypeError(msg.format(n))<EOL><DEDENT>if self.copy:<EOL><INDENT>X = X.copy()<EOL><DEDENT>if self.shift_ != <NUM_LIT:0> and X is self.train_ or (<EOL>X.shape == self.train_.shape and np.allclose(X, self.train_)):<EOL><INDENT>X[xrange(n), xrange(n)] += self.shift_<EOL><DEDENT>return X<EOL>
Transforms X according to the linear transformation corresponding to
shifting the input eigenvalues to all be at least ``self.min_eig``.

Parameters
----------
X : array, shape [n_test, n]
    The test similarities to training points.

Returns
-------
Xt : array, shape [n_test, n]
    The transformed test similarites to training points. Only different
    from X if X is the training data.