def affine_transformed(self, shift, scale_matrix):
        #full rank method could also be in elliptical and called with super
        #after the rank check
        B = scale_matrix  #tmp variable as shorthand
        if not B.shape == (self.nvars, self.nvars):
            if (np.linalg.eigvals(B) <= 0).any():
                raise ValueError('affine transform has to be full rank')

        mean_new = np.dot(B, self.mean) + shift
        sigma_new = np.dot(np.dot(B, self.sigma), B.T)
        return MVT(mean_new, sigma_new, self.df)
Checks that the test suite cleanups its tests during the run, so that
dataset/ETHPy150Open statsmodels/statsmodels/statsmodels/sandbox/distributions/mv_normal.py/MVT.affine_transformed--crossover with--dataset/ETHPy150Open kuri65536/python-for-android/python-modules/twisted/twisted/trial/test/test_runner.py/DestructiveTestSuiteTestCase.test_cleanup