def test__density_normalize__colsum(mixtureNormals):

    df = DiffusionMap(sigma=1, embedding_dim=2, verbose=False)
    K = scipy.sparse.rand(100, 100, density=0.1)
    K_norm = df.__density_normalize__(K)

    np.testing.assert_allclose(K_norm.toarray().sum(0), 1)
def test_DiffusionMap_density_normalization(mixtureNormals):

    df = DiffusionMap(sigma=1, embedding_dim=2)

    A = np.random.normal(0, 1, size=(10, 2))
    K = np.dot(A, A.T)  # 10x10 symmetric kernel-matrix
    K = csr_matrix(K)

    K_norm = df.__density_normalize__(K)
    theSum = K_norm.sum(0)
    np.testing.assert_allclose(theSum, 1)
def test__density_normalize__sparse(mixtureNormals):

    df = DiffusionMap(sigma=1, embedding_dim=2, verbose=False)
    K = csr_matrix([[1, 1], [0, 1]])
    assert issparse(df.__density_normalize__(K)), "returned matrix is not sparse after normalization"