def test_efficacy(X, y, M):
    from sklearn.metrics import silhouette_score
    Xt = np.dot(X, M).real

    S = silhouette_score(X, y)
    St = silhouette_score(Xt, y)
    if S > St:
        print 'Bad idea to use this'
    elif S == St:
        print 'Nothing to gain from using this'
    else:
        print 'This works'

    print 'S = %f' % S
    print 'St = %f' % St
    return (S, St)
M is the factor matix such that A = M * M'
dataset/ETHPy150Open johncollins/metric-learn/metric_learn/test/test_method.py/test_efficacy