Please also add checks vs real variances:

```python

# compare to empirical variances
X_pca = pca.transform(X)
assert_almost_equal(pca.explained_variance_,
                                  np.var(X_pca, axis=0))

X_rpca = rpca.transform(X)
assert_almost_equal(rpca.explained_variance_,
                                  np.var(X_rpca, axis=0))