'return distribution of an affine transform
for full rank scale_matrix only
Parameters
shift : array_like
shift of mean
scale_matrix : array_like
linear transformation matrix
Returns
mvt : instance of MVT
instance of multivariate t distribution given by affine
transformation
Notes
the affine transformation is defined by
y = a + B x
where a is shift,
B is a scale matrix for the linear transformation
Notes
This should also work to select marginal distributions, but not
tested for this case yet.
currently only tested because it\'s called by standardized'

def affine_transformed(self, shift, scale_matrix):

    B = scale_matrix
    mean_new = (np.dot(B, self.mean) + shift)
    sigma_new = np.dot(np.dot(B, self.sigma), B.T)
    return MVNormal(mean_new, sigma_new)
