if(require("TDAstats"))
{
# create six diagrams
D1 <- TDAstats::calculate_homology(TDAstats::circle2d[sample(1:100,20),],
dim = 1,threshold = 2)
D2 <- TDAstats::calculate_homology(TDAstats::circle2d[sample(1:100,20),],
dim = 1,threshold = 2)
D3 <- TDAstats::calculate_homology(TDAstats::sphere3d[sample(1:100,20),],
dim = 1,threshold = 2)
D4 <- TDAstats::calculate_homology(TDAstats::sphere3d[sample(1:100,20),],
dim = 1,threshold = 2)
D5 <- TDAstats::calculate_homology(TDAstats::sphere3d[sample(1:100,20),],
dim = 1,threshold = 2)
D6 <- TDAstats::calculate_homology(TDAstats::sphere3d[sample(1:100,20),],
dim = 1,threshold = 2)
g <- list(D1,D2,D3,D4,D5,D6)
# calculate their 2D PCA embedding with sigma = t = 2 in dimension 1
pca <- diagram_kpca(diagrams = g,dim = 1,t = 2,sigma = 2,features = 2,num_workers = 2,th = 1e-6)
# repeat with precomputed Gram matrix, gives same result but much faster
K <- gram_matrix(diagrams = g,dim = 1,t = 2,sigma = 2,num_workers = 2)
pca <- diagram_kpca(diagrams = g,K = K,dim = 1,t = 2,sigma = 2,features = 2,th = 1e-6)
}
Run the code above in your browser using DataLab