gitextract_rvwgklfn/ ├── .classpath ├── .gitignore ├── .project ├── .settings/ │ ├── org.eclipse.jdt.core.prefs │ └── org.eclipse.jdt.ui.prefs ├── .travis.yml ├── LICENSE.md ├── README.md ├── build/ │ └── processing/ │ └── javaplex/ │ └── library.properties ├── build.number ├── build.xml ├── data/ │ ├── natural_images/ │ │ ├── n50000Dct.mat │ │ ├── nk15c30Dct.mat │ │ ├── nk300c30Dct.mat │ │ └── readme_natural_images.txt │ ├── point_clouds/ │ │ ├── circle.txt │ │ ├── cube.txt │ │ ├── cylinder.txt │ │ ├── octahedron.txt │ │ ├── sphere_rnd.txt │ │ └── torus.txt │ └── range_images/ │ ├── pointsRange.mat │ └── r3_50000.mat ├── doc_includes/ │ ├── overview.htm │ ├── overview_plex3.htm │ └── update_mime_types.sh ├── reports/ │ └── javaplex_tutorial/ │ ├── cleanup.sh │ ├── javaplex_tutorial.aux │ ├── javaplex_tutorial.bbl │ ├── javaplex_tutorial.bib │ ├── javaplex_tutorial.blg │ ├── javaplex_tutorial.log │ ├── javaplex_tutorial.out │ ├── javaplex_tutorial.tex │ └── javaplex_tutorial.toc ├── src/ │ ├── bsh/ │ │ ├── desktop.bsh │ │ ├── getBshPrompt.bsh │ │ ├── makeListener.bsh │ │ ├── makeWorkspace.bsh │ │ └── printBanner.bsh │ ├── cpp/ │ │ ├── Makefile │ │ └── PLEX3/ │ │ ├── DESCRIPTION │ │ ├── R/ │ │ │ ├── .plex.R.swp │ │ │ ├── plex.R │ │ │ └── zzz.R │ │ ├── autom4te.cache/ │ │ │ ├── output.0 │ │ │ ├── requests │ │ │ └── traces.0 │ │ ├── config.guess │ │ ├── config.status │ │ ├── config.sub │ │ ├── configure │ │ ├── configure.ac │ │ ├── install-sh │ │ ├── man/ │ │ │ └── rips.stream.Rd │ │ └── src/ │ │ ├── Makevars.in │ │ └── rbind_jni.cpp │ ├── java/ │ │ ├── bsh/ │ │ │ ├── JPlex.java │ │ │ ├── JTerm.java │ │ │ ├── PlexInterpreter.java │ │ │ ├── PlexReader.java │ │ │ └── commands/ │ │ │ ├── log.java │ │ │ └── setLogging.java │ │ └── edu/ │ │ └── stanford/ │ │ └── math/ │ │ ├── clustering/ │ │ │ ├── DisjointSetSystem.java │ │ │ ├── HierarchicalClustering.java │ │ │ ├── LinkageTree.java │ │ │ └── SingleLinkageClustering.java │ │ ├── mapper/ │ │ │ ├── BoundedIntervalCover.java │ │ │ ├── FilterFunctionUtility.java │ │ │ ├── FiniteMetricSpaceCover.java │ │ │ ├── HistogramCreator.java │ │ │ ├── MapperPipeline.java │ │ │ ├── MapperSpecifier.java │ │ │ ├── MetricUtility.java │ │ │ ├── RangeCoverUtility.java │ │ │ └── SetCover1D.java │ │ ├── plex/ │ │ │ ├── BCPlot.java │ │ │ ├── CRC.java │ │ │ ├── Chain.java │ │ │ ├── Cone.java │ │ │ ├── DiscreteSpace.java │ │ │ ├── DistanceData.java │ │ │ ├── EuclideanArrayData.java │ │ │ ├── ExplicitStream.java │ │ │ ├── LazyWitnessStream.java │ │ │ ├── MappedBufferData.java │ │ │ ├── Packed2Simplex.java │ │ │ ├── Packed4Simplex.java │ │ │ ├── Packed6Simplex.java │ │ │ ├── Packed8Simplex.java │ │ │ ├── Persistence.java │ │ │ ├── PersistenceBasis.java │ │ │ ├── PersistenceBasisInterval.java │ │ │ ├── PersistenceInterval.java │ │ │ ├── Plex.java │ │ │ ├── PlexMessageWindow.java │ │ │ ├── PlexSort.java │ │ │ ├── PointData.java │ │ │ ├── RDirectBufferData.java │ │ │ ├── RipsStream.java │ │ │ ├── Simplex.java │ │ │ ├── SimplexFaceIterator.java │ │ │ ├── SimplexStream.java │ │ │ ├── SimplexTable.java │ │ │ ├── TmpStream.java │ │ │ ├── Torus.java │ │ │ └── WitnessStream.java │ │ └── plex4/ │ │ ├── api/ │ │ │ ├── FilteredStreamInterface.java │ │ │ ├── PersistenceAlgorithmInterface.java │ │ │ └── Plex4.java │ │ ├── autogen/ │ │ │ └── homology/ │ │ │ ├── BooleanAbsoluteHomology.java │ │ │ ├── BooleanClassicalHomology.java │ │ │ ├── BooleanPersistenceAlgorithm.java │ │ │ ├── BooleanPersistentHomology.java │ │ │ ├── BooleanRelativeHomology.java │ │ │ ├── IntAbsoluteHomology.java │ │ │ ├── IntClassicalHomology.java │ │ │ ├── IntPersistenceAlgorithm.java │ │ │ ├── IntPersistentHomology.java │ │ │ ├── IntRelativeHomology.java │ │ │ ├── ObjectAbsoluteHomology.java │ │ │ ├── ObjectClassicalHomology.java │ │ │ ├── ObjectPersistenceAlgorithm.java │ │ │ ├── ObjectPersistentHomology.java │ │ │ └── ObjectRelativeHomology.java │ │ ├── bottleneck/ │ │ │ ├── BottleneckDistance.java │ │ │ ├── FlowEdge.java │ │ │ ├── FlowNetwork.java │ │ │ ├── FordFulkerson.java │ │ │ ├── FordFulkersonEdge.java │ │ │ ├── FordFulkersonNode.java │ │ │ └── WeightedBipartiteGraph.java │ │ ├── examples/ │ │ │ ├── CellComplexOperations.java │ │ │ ├── CellStreamExamples.java │ │ │ ├── DeSilvaMorozovJohanssonExample.java │ │ │ ├── PointCloudExamples.java │ │ │ ├── SimplexStreamExamples.java │ │ │ └── SimplicialComplexOperations.java │ │ ├── generation/ │ │ │ └── GeneratorDriver.java │ │ ├── graph/ │ │ │ ├── AbstractUndirectedGraph.java │ │ │ ├── AbstractWeightedUndirectedGraph.java │ │ │ ├── UndirectedListEdgeIterator.java │ │ │ ├── UndirectedListGraph.java │ │ │ ├── UndirectedWeightedListGraph.java │ │ │ ├── io/ │ │ │ │ └── GraphDotWriter.java │ │ │ ├── metric/ │ │ │ │ ├── GraphMetricFactory.java │ │ │ │ └── ShortestPathMetric.java │ │ │ ├── random/ │ │ │ │ ├── BAGraph.java │ │ │ │ ├── BinaryHierarchicalGraph.java │ │ │ │ ├── BinaryTree.java │ │ │ │ ├── BinaryTreeGraph.java │ │ │ │ ├── CircleGraph.java │ │ │ │ ├── ClusteredERGraph.java │ │ │ │ ├── ErdosRenyiGraph.java │ │ │ │ ├── ForestFireGraph.java │ │ │ │ ├── GraphInstanceGenerator.java │ │ │ │ ├── HierarchicalERGraph.java │ │ │ │ ├── KNearestNeighborsGraph.java │ │ │ │ ├── ManifoldGraph.java │ │ │ │ ├── PrescribedDegrees.java │ │ │ │ ├── RandomGeometricGraph.java │ │ │ │ ├── SphereGraph.java │ │ │ │ ├── StochasticBlockmodel.java │ │ │ │ └── TorusGraph.java │ │ │ └── utility/ │ │ │ └── GraphUtility.java │ │ ├── homology/ │ │ │ ├── barcodes/ │ │ │ │ ├── AnnotatedBarcodeCollection.java │ │ │ │ ├── BarcodeCollection.java │ │ │ │ ├── BarcodeUtility.java │ │ │ │ ├── Interval.java │ │ │ │ ├── IntervalLengthComparator.java │ │ │ │ └── PersistenceInvariantDescriptor.java │ │ │ ├── chain_basis/ │ │ │ │ ├── Cell.java │ │ │ │ ├── CellComparator.java │ │ │ │ ├── PrimitiveBasisElement.java │ │ │ │ ├── Simplex.java │ │ │ │ ├── SimplexComparator.java │ │ │ │ ├── SimplexPair.java │ │ │ │ └── SimplexPairComparator.java │ │ │ ├── filtration/ │ │ │ │ ├── ExternalConverter.java │ │ │ │ ├── FiltrationConverter.java │ │ │ │ ├── FiltrationUtility.java │ │ │ │ ├── IdentityConverter.java │ │ │ │ ├── IncreasingLinearConverter.java │ │ │ │ └── StaticConverter.java │ │ │ ├── interfaces/ │ │ │ │ ├── AbstractPersistenceAlgorithm.java │ │ │ │ └── AbstractPersistenceBasisAlgorithm.java │ │ │ ├── nonautogen/ │ │ │ │ ├── DisjointSetSystem.java │ │ │ │ └── PersistentCohomologyPrototype.java │ │ │ ├── utility/ │ │ │ │ └── HomologyUtility.java │ │ │ └── zigzag/ │ │ │ ├── AbstractHomologyTracker.java │ │ │ ├── AbstractPersistenceTracker.java │ │ │ ├── BasisTrackingUtility.java │ │ │ ├── HomologyBasisTracker.java │ │ │ ├── IntervalDescriptor.java │ │ │ ├── IntervalTracker.java │ │ │ ├── SimpleHomologyBasisTracker.java │ │ │ ├── ZigZagHomology.java │ │ │ └── bootstrap/ │ │ │ ├── InducedHomologyMappingUtility.java │ │ │ ├── SimplexStreamUtility.java │ │ │ ├── VietorisRipsBootstrapper.java │ │ │ └── WitnessBootstrapper.java │ │ ├── interop/ │ │ │ ├── Plex3PersistenceAlgorithm.java │ │ │ ├── Plex3Stream.java │ │ │ ├── Plex3ToPlex4BarcodeAdapter.java │ │ │ └── Plex3ToPlex4SimplexAdapter.java │ │ ├── io/ │ │ │ ├── BarcodeWriter.java │ │ │ ├── BufferedImageWriter.java │ │ │ ├── DoubleArrayReaderWriter.java │ │ │ ├── FileIOUtility.java │ │ │ ├── FileManager.java │ │ │ ├── MatlabInterface.java │ │ │ ├── MatlabWriter.java │ │ │ ├── ObjReader.java │ │ │ ├── ObjectReader.java │ │ │ ├── ObjectWriter.java │ │ │ ├── SimplexStreamReaderWriter.java │ │ │ └── Table.java │ │ ├── kd/ │ │ │ ├── KDEuclideanMetricSpace.java │ │ │ ├── KDNode.java │ │ │ └── KDTree.java │ │ ├── metric/ │ │ │ ├── impl/ │ │ │ │ ├── EuclideanMetricSpace.java │ │ │ │ ├── ExplicitMetricSpace.java │ │ │ │ ├── ObjectSearchableFiniteMetricSpace.java │ │ │ │ └── TruncatedPriorityQueue.java │ │ │ ├── interfaces/ │ │ │ │ ├── AbstractIntMetricSpace.java │ │ │ │ ├── AbstractObjectMetric.java │ │ │ │ ├── AbstractObjectMetricSpace.java │ │ │ │ └── AbstractSearchableMetricSpace.java │ │ │ ├── landmark/ │ │ │ │ ├── ExplicitLandmarkSelector.java │ │ │ │ ├── LandmarkSelector.java │ │ │ │ ├── MaxMinLandmarkSelector.java │ │ │ │ └── RandomLandmarkSelector.java │ │ │ └── utility/ │ │ │ ├── DensityEstimation.java │ │ │ └── MetricUtility.java │ │ ├── streams/ │ │ │ ├── derived/ │ │ │ │ ├── DualStream.java │ │ │ │ ├── HomStream.java │ │ │ │ ├── TensorStream.java │ │ │ │ └── TruncatedStream.java │ │ │ ├── filter/ │ │ │ │ ├── EccentricityFilterFunction.java │ │ │ │ ├── ExplicitIntFilterFunction.java │ │ │ │ ├── FilterFunction.java │ │ │ │ ├── IntFilterFunction.java │ │ │ │ ├── KernelDensityFilterFunction.java │ │ │ │ ├── MaxSimplicialFilterFunction.java │ │ │ │ ├── MinSimplicialFilterFunction.java │ │ │ │ └── RandomProjectionFilterFunction.java │ │ │ ├── impl/ │ │ │ │ ├── ExplicitCellStream.java │ │ │ │ ├── ExplicitSimplexStream.java │ │ │ │ ├── ExplicitStream.java │ │ │ │ ├── FlagComplexStream.java │ │ │ │ ├── FlexibleVietorisRipsStream.java │ │ │ │ ├── GeometricSimplexStream.java │ │ │ │ ├── LazyWitnessStream.java │ │ │ │ ├── VietorisRipsStream.java │ │ │ │ ├── WitnessBicomplex.java │ │ │ │ └── WitnessStream.java │ │ │ ├── interfaces/ │ │ │ │ ├── AbstractFilteredStream.java │ │ │ │ └── PrimitiveStream.java │ │ │ ├── multi/ │ │ │ │ ├── AbstractMultifilteredStream.java │ │ │ │ ├── AbstractStreamFlattener.java │ │ │ │ ├── BifilteredMetricStream.java │ │ │ │ ├── HalfplaneFlattener.java │ │ │ │ ├── IncreasingOrthantFlattener.java │ │ │ │ └── PrimitiveMultifilteredStream.java │ │ │ ├── storage_structures/ │ │ │ │ ├── HashedStorageStructure.java │ │ │ │ ├── HashedStorageStructureIterator.java │ │ │ │ ├── IntOrderedIterator.java │ │ │ │ ├── SortedStorageStructure.java │ │ │ │ ├── StreamStorageStructure.java │ │ │ │ └── StreamStorageStructureFactory.java │ │ │ └── utility/ │ │ │ ├── FilteredComparator.java │ │ │ ├── SkeletalMetric.java │ │ │ └── StreamUtility.java │ │ ├── utility/ │ │ │ ├── ArrayUtility.java │ │ │ ├── CollectionUtility.java │ │ │ ├── ComparisonUtility.java │ │ │ ├── ExceptionUtility.java │ │ │ ├── FormalSumUtility.java │ │ │ ├── MathUtility.java │ │ │ ├── MemoryUtility.java │ │ │ ├── Quicksort.java │ │ │ └── RandomUtility.java │ │ └── visualization/ │ │ ├── AbstractVisualizer.java │ │ ├── BarcodeVisualizer.java │ │ ├── HomologyGeneratorVisualizer.java │ │ ├── HomologyVisualizer.java │ │ ├── ImageRegion.java │ │ ├── PAppletSplitscreen.java │ │ ├── Point2D.java │ │ └── PointCloudScaling.java │ ├── matlab/ │ │ ├── experimental/ │ │ │ ├── graph_classification/ │ │ │ │ ├── ad_health_example.m │ │ │ │ ├── ad_health_plot.m │ │ │ │ ├── average_block_matrix.m │ │ │ │ ├── blockmodel_er_test.m │ │ │ │ ├── blockmodel_test.m │ │ │ │ ├── blockmodel_test2.m │ │ │ │ ├── comparative_barcode_analysis.m │ │ │ │ ├── comparative_graph_analysis.m │ │ │ │ ├── comprehensive_test.m │ │ │ │ ├── compute_adjacency_matrix.m │ │ │ │ ├── compute_normalized_laplacian.m │ │ │ │ ├── create_graph_from_edgelist.m │ │ │ │ ├── er_test.m │ │ │ │ ├── er_test_increasing_sizes.m │ │ │ │ ├── filter_distance_matrix.m │ │ │ │ ├── get_adhealth_edges16.m │ │ │ │ ├── get_adhealth_edges44.m │ │ │ │ ├── get_adhealth_edges47.m │ │ │ │ ├── heatmap.m │ │ │ │ ├── heatmap_examples.m │ │ │ │ ├── hetergeneous_test.m │ │ │ │ ├── pairwise_barcode_analysis.m │ │ │ │ ├── pairwise_graph_analysis.m │ │ │ │ ├── pairwise_row_distances.m │ │ │ │ ├── plot_example.m │ │ │ │ ├── plot_graph.m │ │ │ │ ├── random_geometric_graph.m │ │ │ │ ├── random_geometric_test.m │ │ │ │ ├── rg_plot_example.m │ │ │ │ ├── sandbox.m │ │ │ │ ├── spectral_embedding.m │ │ │ │ ├── torus_geometric.m │ │ │ │ ├── visualize_comparison_distances.m │ │ │ │ └── visualize_dissimilarity_matrix.m │ │ │ ├── hom/ │ │ │ │ ├── combinatorial/ │ │ │ │ │ ├── brute_force_test.m │ │ │ │ │ ├── flip_random_entry.m │ │ │ │ │ ├── get_binary_subsets.m │ │ │ │ │ ├── greedy_search.m │ │ │ │ │ ├── greedy_search_test.m │ │ │ │ │ ├── hom_parameterization_example.m │ │ │ │ │ ├── simmulated_annealing_test.m │ │ │ │ │ └── simulated_annealing.m │ │ │ │ ├── continuous/ │ │ │ │ │ ├── circle_example.m │ │ │ │ │ ├── create_max_lp.m │ │ │ │ │ ├── create_positive_lp.m │ │ │ │ │ ├── create_positive_lp2.m │ │ │ │ │ └── tetra_octa_example.m │ │ │ │ ├── hom_utility/ │ │ │ │ │ ├── compute_mapping.m │ │ │ │ │ ├── default_objective.m │ │ │ │ │ └── hom_parameterization.m │ │ │ │ └── load_hom.m │ │ │ ├── hom_messy/ │ │ │ │ ├── L2_distance.m │ │ │ │ ├── alexander_whitney_difference.m │ │ │ │ ├── alexander_whitney_loss_function.m │ │ │ │ ├── circle_distance.m │ │ │ │ ├── codomain_points.txt │ │ │ │ ├── codomain_stream.txt │ │ │ │ ├── colorGraph.m │ │ │ │ ├── compute_interpolated_points.m │ │ │ │ ├── compute_mapping.m │ │ │ │ ├── convert_sparse_matrix.m │ │ │ │ ├── create_max_lp.m │ │ │ │ ├── create_positive_lp.m │ │ │ │ ├── create_quotient_complex.m │ │ │ │ ├── create_quotient_mapper_complex.m │ │ │ │ ├── density_at_point.m │ │ │ │ ├── density_function.m │ │ │ │ ├── density_maximization_test.m │ │ │ │ ├── density_objective.m │ │ │ │ ├── domain_points.txt │ │ │ │ ├── domain_stream.txt │ │ │ │ ├── embedding_optimization_test.asv │ │ │ │ ├── embedding_optimization_test.m │ │ │ │ ├── embedding_optimization_test2.m │ │ │ │ ├── fast_kron_mult.m │ │ │ │ ├── flatten.m │ │ │ │ ├── floyd_warshall.m │ │ │ │ ├── gaussian_kernel_densities.m │ │ │ │ ├── gaussian_kernel_density.m │ │ │ │ ├── get_edges.m │ │ │ │ ├── gradient.m │ │ │ │ ├── graph_embedding.m │ │ │ │ ├── hom_example_test.m │ │ │ │ ├── hom_optimization_example.m │ │ │ │ ├── hom_parameterization.m │ │ │ │ ├── hom_visualization_example.m │ │ │ │ ├── kron_test.m │ │ │ │ ├── load_javaplex.m │ │ │ │ ├── mapper.m │ │ │ │ ├── mapperTutorial.m │ │ │ │ ├── mapper_mapping_test.m │ │ │ │ ├── mapping.txt │ │ │ │ ├── matrix.txt │ │ │ │ ├── normalize_rows.m │ │ │ │ ├── objectivize.m │ │ │ │ ├── pdist2.m │ │ │ │ ├── returnBarCode_linkage_noplex.m │ │ │ │ ├── show_graph.m │ │ │ │ ├── smoothness_objective.m │ │ │ │ ├── test_aw_optimization.m │ │ │ │ ├── to_graph.m │ │ │ │ ├── to_sparse_matlab_matrix.m │ │ │ │ ├── unflatten.m │ │ │ │ └── writeDotFile.m │ │ │ ├── multifiltration_flattening/ │ │ │ │ ├── Syn2d_5g1k3c.mat │ │ │ │ ├── Syn2d_5g1k3c_c1.txt │ │ │ │ ├── clustering_example.m │ │ │ │ └── flattened_clusters.eps │ │ │ ├── vietoris_rips_bootstrap/ │ │ │ │ ├── basic_circle_example.m │ │ │ │ ├── basic_sphere_example.m │ │ │ │ ├── circle_incremental.m │ │ │ │ ├── circle_long.m │ │ │ │ ├── coreSubset.m │ │ │ │ ├── core_subset_test.m │ │ │ │ ├── core_verification_test.m │ │ │ │ ├── ensure_density_indices.m │ │ │ │ ├── figure_8_incremental.m │ │ │ │ ├── filtered_barcodes.m │ │ │ │ ├── filtered_bootstrap.m │ │ │ │ ├── gaussian_kernel_densities.m │ │ │ │ ├── gaussian_kernel_density.m │ │ │ │ ├── get_cache_file_path.m │ │ │ │ ├── get_core_subset_cached.m │ │ │ │ ├── get_data_file_path.m │ │ │ │ ├── kDensitySlow.m │ │ │ │ ├── load_density_indices.m │ │ │ │ ├── natural_samples_bootstrap_example.m │ │ │ │ ├── natural_samples_example.m │ │ │ │ ├── nk15c30Dct_LW0.m │ │ │ │ ├── nk15c30Dct_LW1.m │ │ │ │ ├── nk15c30Dct_VR.m │ │ │ │ ├── nk300c30Dct_LW0.m │ │ │ │ ├── nk300c30Dct_LW1.m │ │ │ │ ├── nk300c30Dct_VR.m │ │ │ │ ├── outputs/ │ │ │ │ │ ├── n50000Dct-15-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-300-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-10-20-1-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-13-17-1-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-15-45-5-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-15-450-15-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-2-400-1-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-25-350-25-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-300-350-25-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-400-800-25-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-5-100-5-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-5-25-1-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-5-400-5-15000-1.100.eps │ │ │ │ │ ├── n50000Dct-samples-5-50-5-15000-1.100.eps │ │ │ │ │ └── nk300c30Dct_LW0.eps │ │ │ │ └── parfor_test.m │ │ │ └── witness_bootstrap/ │ │ │ ├── circle_example.m │ │ │ ├── circle_incremental.m │ │ │ ├── circle_pairwise.m │ │ │ ├── figure8_example.m │ │ │ ├── figure8_incremental.m │ │ │ ├── figure8_pairwise.m │ │ │ ├── figure8_samples.m │ │ │ ├── image_patch_examples.m │ │ │ └── torus_example.m │ │ └── for_distribution/ │ │ ├── README │ │ ├── basic_examples/ │ │ │ ├── barcode_plot_example.m │ │ │ ├── boundary_extraction_example.m │ │ │ ├── cellular_test.m │ │ │ ├── dump_example.m │ │ │ ├── endpoint_extraction_example.m │ │ │ ├── ensure_faces_test.m │ │ │ ├── explicit_metric_space_test.m │ │ │ ├── explicit_simplex_test.m │ │ │ ├── explicit_simplex_test2.m │ │ │ ├── filter_long_intervals.m │ │ │ ├── house_example_test.m │ │ │ ├── landmark_test.m │ │ │ ├── representatives_example.m │ │ │ ├── simplicial_sphere_test.m │ │ │ ├── sphere_test.m │ │ │ └── vietoris_rips_example.m │ │ ├── benchmarks/ │ │ │ └── rips_persistence.m │ │ ├── jython/ │ │ │ ├── basic_vr_example.jy │ │ │ ├── cellular_example.jy │ │ │ ├── explicit_simplex_example.jy │ │ │ ├── image_patch_example.jy │ │ │ ├── pointsRange.csv │ │ │ ├── quick_povray.sh │ │ │ ├── representatives_example.jy │ │ │ ├── sphere_witness_example.jy │ │ │ ├── torus_witness_example.jy │ │ │ └── visualization_example.jy │ │ ├── load_javaplex.m │ │ ├── tutorial_examples/ │ │ │ ├── bottleneck_distance_example.m │ │ │ ├── coreSubset.m │ │ │ ├── core_subsets_example.m │ │ │ ├── cyclo_octane_example.m │ │ │ ├── dct.m │ │ │ ├── eulerCharacteristic.m │ │ │ ├── euler_characteristic_example.m │ │ │ ├── explicit_metric_space_example.m │ │ │ ├── explicit_simplex_example.m │ │ │ ├── house_example.m │ │ │ ├── kDensitySlow.m │ │ │ ├── landmark_example.m │ │ │ ├── lazy_witness_example.m │ │ │ ├── optical_image_example.m │ │ │ ├── pointcloud_example.m │ │ │ ├── pointsCycloOctane.mat │ │ │ ├── pointsOpticalDct_k15.mat │ │ │ ├── pointsOpticalDct_k300.mat │ │ │ ├── pointsRange.mat │ │ │ ├── pointsTorusGrid.mat │ │ │ ├── range_image_example.m │ │ │ ├── rips_example.m │ │ │ ├── sublevelset_example.m │ │ │ ├── sublevelset_persistence.m │ │ │ └── witness_example.m │ │ ├── tutorial_solutions/ │ │ │ ├── exercise_1.m │ │ │ ├── exercise_11.m │ │ │ ├── exercise_12.m │ │ │ ├── exercise_13.m │ │ │ ├── exercise_14.m │ │ │ ├── exercise_2.m │ │ │ ├── exercise_21.m │ │ │ ├── exercise_22.m │ │ │ ├── exercise_23.m │ │ │ ├── exercise_24.m │ │ │ ├── exercise_3.m │ │ │ ├── exercise_4.m │ │ │ ├── exercise_5.m │ │ │ ├── exercise_6.m │ │ │ ├── exercise_7.m │ │ │ ├── exercise_8.m │ │ │ ├── exercise_9.m │ │ │ ├── flatKleinDistanceMatrix.m │ │ │ ├── flatTorusDistanceMatrix.m │ │ │ ├── getDoubleTorusPoints.m │ │ │ └── projPlaneDistanceMatrix.m │ │ ├── utility/ │ │ │ ├── convert_sparse_matrix.m │ │ │ ├── create_landmark_pov_file.m │ │ │ ├── create_pov_file.m │ │ │ ├── flatten.m │ │ │ ├── persistence_diagram.m │ │ │ ├── plot_barcodes.m │ │ │ ├── render_onscreen.m │ │ │ ├── render_pov_file.m │ │ │ └── to_sparse_matlab_matrix.m │ │ └── visualization_examples/ │ │ ├── landmark_set_pov.m │ │ ├── witness_sphere_opengl.m │ │ └── witness_sphere_pov.m │ └── processing/ │ ├── javaplex/ │ │ └── library.properties │ ├── javaplexDemo/ │ │ ├── State.java │ │ └── javaplexDemo.pde │ └── readme.txt ├── src_test/ │ └── java/ │ └── edu/ │ └── stanford/ │ └── math/ │ ├── mapper/ │ │ ├── ClusteringTest.java │ │ ├── HistogramTest.java │ │ └── MapperTest.java │ ├── plex/ │ │ ├── CRCTest.java │ │ ├── ChainTest.java │ │ ├── CubeHashTest.java │ │ ├── ExplicitStreamTest.java │ │ ├── LazyWitnessStreamTest.java │ │ ├── MappedBufferDataTest.java │ │ ├── Packed2SimplexTest.java │ │ ├── Packed4SimplexTest.java │ │ ├── Packed6SimplexTest.java │ │ ├── PersistenceBasisTest.java │ │ ├── PersistenceIntervalTest.java │ │ ├── PersistenceTest.java │ │ ├── PlexSortTest.java │ │ ├── PlexTest.java │ │ ├── RipsStreamTest.java │ │ ├── SimplexFaceIteratorTest.java │ │ ├── SimplexTableTest.java │ │ ├── SimplexTest.java │ │ ├── TorusTest.java │ │ └── WitnessStreamTest.java │ └── plex4/ │ ├── bottleneck/ │ │ ├── BottleneckDistanceTest.java │ │ └── FordFulkersonTest.java │ ├── example_tests/ │ │ ├── CustomFiltrationTest.java │ │ ├── FiltrationTimeTest.java │ │ ├── FormalSumTest.java │ │ ├── GraphTest.java │ │ ├── HomVerificationTest.java │ │ ├── MultifilteredFlatteningTest.java │ │ ├── VdsWitnessExample.java │ │ ├── VietorisRipsBootstrapTest.java │ │ ├── WitnessBootstrapTest.java │ │ └── ZigZagTest.java │ ├── homology/ │ │ ├── HomTester.java │ │ ├── PersistenceAlgorithmTester.java │ │ └── StreamTester.java │ ├── metric/ │ │ └── SearchableMetricSpaceTester.java │ ├── test_utility/ │ │ └── Timing.java │ └── unit_tests/ │ ├── DeSilvaMorozovJohanssonTest.java │ ├── ExperimentalEqualityTest.java │ ├── PersistenceAlgorithmEqualityTest.java │ ├── SearchableMetricSpaceTest.java │ ├── SimplicialSphereTest.java │ └── StreamsTest.java └── templates/ └── homology/ ├── AbsoluteHomology.vm ├── ClassicalHomology.vm ├── PersistenceAlgorithm.vm ├── PersistentHomology.vm └── RelativeHomology.vm