diff --git a/dev/api/generated/lapy.diffgeo.html b/dev/api/generated/lapy.diffgeo.html index a55942f..952f78e 100644 --- a/dev/api/generated/lapy.diffgeo.html +++ b/dev/api/generated/lapy.diffgeo.html @@ -403,9 +403,9 @@

Divergence is the flux density leaving or entering a point. It can be measured by summing the dot product of the vector field with the normals to the outer faces of the 1-ring tetras -around a vertex. Summing \(< tfunc , n_tria_oposite_v >\), +around a vertex. Summing < tfunc , n_tria_oposite_v >, this is the integrated divergence, you may want to multiply -with \(B^-1\) to get back the function in some applications.

+with \(B^{-1}\) to get back the function in some applications.

Parameters:
@@ -461,7 +461,7 @@

Compute integrated divergence of a 3d triangle function f (for each vertex).

Divergence is the flux density leaving or entering a point. Note: this is the integrated divergence, you may want to multiply -with B^-1 to get back the function in some applications

+with \(B^{-1}\) to get back the function in some applications

Parameters:
@@ -489,9 +489,9 @@

Divergence is the flux density leaving or entering a point. It can be measured by summing the dot product of the vector field with the normals to the outer edges of the 1-ring triangles -around a vertex. Summing \(< tfunc , e_ij cross n >\), +around a vertex. Summing < tfunc , e_ij cross n >, this is the integrated divergence, you may want to multiply -with \(B^-1\) to get back the function in some applications.

+with \(B^{-1}\) to get back the function in some applications.

Parameters:
@@ -543,10 +543,10 @@

Compute gradient of a vertex function f (for each triangle).

-\[\begin{split}grad(f) &= [ (f_j - f_i) (vi-vk)' + (f_k - f_i) (vj-vi)' ] / (2 A) \\ - &= [ f_i (vk-vj)' + f_j (vi-vk)' + f_k (vj-vi)' ] / (2 A)\end{split}\]
+\[\begin{split}grad(f) &= [ (f_j - f_i) (v_i-v_k)' + (f_k - f_i) (v_j-v_i)' ] / (2 A) \\ + &= [ f_i (v_k-v_j)' + f_j (v_i-v_k)' + f_k (v_j-v_i)' ] / (2 A)\end{split}\]
-

for triangle (vi,vj,vk) with area A, where (.)’ is 90 degrees rotated +

for triangle \((v_i,v_j,v_k)\) with area \(A\), where (.)’ is 90 degrees rotated edge, which is equal to cross(n,vec).

Parameters:
diff --git a/dev/searchindex.js b/dev/searchindex.js index 817b457..c77aa71 100644 --- a/dev/searchindex.js +++ b/dev/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API References": [[9, null]], "API changes": [[14, "api-changes"]], "Authors": [[14, "authors"]], "Bugs": [[14, "bugs"]], "Changelog": [[13, null]], "Computation times": [[16, null], [18, null]], "Enhancements": [[14, "enhancements"]], "Geodesics": [[22, "Geodesics"], [24, "Geodesics"]], "Install": [[17, "install"]], "LaPy": [[17, null]], "Laplace": [[22, "Laplace"], [24, "Laplace"]], "License": [[17, "license"]], "Mean Curvature Mapping": [[24, "Mean-Curvature-Mapping"]], "Meshes": [[10, null]], "Modules": [[11, null]], "Notes": [[3, "notes"]], "ShapeDNA": [[20, null]], "Solver": [[12, null]], "TetMesh Geodesics": [[22, null]], "Tetrahedral Mesh": [[19, "Tetrahedral-Mesh"], [21, null]], "TriaMesh Geodesics": [[24, null]], "Triangle Mesh": [[19, "Triangle-Mesh"], [23, null]], "Tutorials": [[15, null], [25, null]], "Version 1.0": [[14, null]], "Visualization": [[19, null]], "lapy.Solver": [[0, null]], "lapy.TetMesh": [[1, null]], "lapy.TriaMesh": [[2, null]], "lapy.conformal": [[3, null]], "lapy.diffgeo": [[4, null]], "lapy.heat": [[5, null]], "lapy.io": [[6, null]], "lapy.plot": [[7, null]], "lapy.shapedna": [[8, null]]}, "docnames": ["api/generated/lapy.Solver", "api/generated/lapy.TetMesh", "api/generated/lapy.TriaMesh", "api/generated/lapy.conformal", "api/generated/lapy.diffgeo", "api/generated/lapy.heat", "api/generated/lapy.io", "api/generated/lapy.plot", "api/generated/lapy.shapedna", "api/index", "api/lapy.meshes", "api/lapy.modules", "api/lapy.solver", "changes/index", "changes/latest", "generated/examples/index", "generated/examples/sg_execution_times", "index", "sg_execution_times", "tutorials/examples/Test_Plot", "tutorials/examples/Test_ShapeDNA", "tutorials/examples/Test_TetMesh", "tutorials/examples/Test_TetMesh_Geodesics", "tutorials/examples/Test_TriaMesh", "tutorials/examples/Test_TriaMesh_Geodesics", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["api/generated/lapy.Solver.rst", "api/generated/lapy.TetMesh.rst", "api/generated/lapy.TriaMesh.rst", "api/generated/lapy.conformal.rst", "api/generated/lapy.diffgeo.rst", "api/generated/lapy.heat.rst", "api/generated/lapy.io.rst", "api/generated/lapy.plot.rst", "api/generated/lapy.shapedna.rst", "api/index.rst", "api/lapy.meshes.rst", "api/lapy.modules.rst", "api/lapy.solver.rst", "changes/index.rst", "changes/latest.rst", "generated/examples/index.rst", "generated/examples/sg_execution_times.rst", "index.rst", "sg_execution_times.rst", "tutorials/examples/Test_Plot.ipynb", "tutorials/examples/Test_ShapeDNA.ipynb", "tutorials/examples/Test_TetMesh.ipynb", "tutorials/examples/Test_TetMesh_Geodesics.ipynb", "tutorials/examples/Test_TriaMesh.ipynb", "tutorials/examples/Test_TriaMesh_Geodesics.ipynb", "tutorials/index.rst"], "indexentries": {"area() (lapy.triamesh method)": [[2, "lapy.TriaMesh.area", false]], "avg_edge_length() (lapy.tetmesh method)": [[1, "lapy.TetMesh.avg_edge_length", false]], "avg_edge_length() (lapy.triamesh method)": [[2, "lapy.TriaMesh.avg_edge_length", false]], "beltrami_coefficient() (in module lapy.conformal)": [[3, "lapy.conformal.beltrami_coefficient", false]], "boundary_loops() (lapy.triamesh method)": [[2, "lapy.TriaMesh.boundary_loops", false]], "boundary_tria() (lapy.tetmesh method)": [[1, "lapy.TetMesh.boundary_tria", false]], "centroid() (lapy.triamesh method)": [[2, "lapy.TriaMesh.centroid", false]], "compute_distance() (in module lapy.shapedna)": [[8, "lapy.shapedna.compute_distance", false]], "compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_divergence", false]], "compute_geodesic_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_geodesic_f", false]], "compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_gradient", false]], "compute_rotated_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_rotated_f", false]], "compute_shapedna() (in module lapy.shapedna)": [[8, "lapy.shapedna.compute_shapedna", false]], "construct_adj_dir_tidx() (lapy.triamesh method)": [[2, "lapy.TriaMesh.construct_adj_dir_tidx", false]], "construct_adj_sym() (lapy.tetmesh method)": [[1, "lapy.TetMesh.construct_adj_sym", false]], "curvature() (lapy.triamesh method)": [[2, "lapy.TriaMesh.curvature", false]], "curvature_tria() (lapy.triamesh method)": [[2, "lapy.TriaMesh.curvature_tria", false]], "diagonal() (in module lapy.heat)": [[5, "lapy.heat.diagonal", false]], "diffusion() (in module lapy.heat)": [[5, "lapy.heat.diffusion", false]], "edges() (lapy.triamesh method)": [[2, "lapy.TriaMesh.edges", false]], "eigs() (lapy.solver method)": [[0, "lapy.Solver.eigs", false]], "euler() (lapy.triamesh method)": [[2, "lapy.TriaMesh.euler", false]], "fem_tria_mass() (lapy.solver static method)": [[0, "lapy.Solver.fem_tria_mass", false]], "has_free_vertices() (lapy.tetmesh method)": [[1, "lapy.TetMesh.has_free_vertices", false]], "has_free_vertices() (lapy.triamesh method)": [[2, "lapy.TriaMesh.has_free_vertices", false]], "inverse_stereographic() (in module lapy.conformal)": [[3, "lapy.conformal.inverse_stereographic", false]], "is_closed() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_closed", false]], "is_manifold() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_manifold", false]], "is_oriented() (lapy.tetmesh method)": [[1, "lapy.TetMesh.is_oriented", false]], "is_oriented() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_oriented", false]], "kernel() (in module lapy.heat)": [[5, "lapy.heat.kernel", false]], "lapy.conformal": [[3, "module-lapy.conformal", false]], "lapy.diffgeo": [[4, "module-lapy.diffgeo", false]], "lapy.heat": [[5, "module-lapy.heat", false]], "lapy.io": [[6, "module-lapy.io", false]], "lapy.plot": [[7, "module-lapy.plot", false]], "lapy.shapedna": [[8, "module-lapy.shapedna", false]], "level_length() (lapy.triamesh method)": [[2, "lapy.TriaMesh.level_length", false]], "level_path() (lapy.triamesh method)": [[2, "lapy.TriaMesh.level_path", false]], "linear_beltrami_solver() (in module lapy.conformal)": [[3, "lapy.conformal.linear_beltrami_solver", false]], "map_tfunc_to_vfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.map_tfunc_to_vfunc", false]], "map_vfunc_to_tfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.map_vfunc_to_tfunc", false]], "mobius_area_correction_spherical() (in module lapy.conformal)": [[3, "lapy.conformal.mobius_area_correction_spherical", false]], "module": [[3, "module-lapy.conformal", false], [4, "module-lapy.diffgeo", false], [5, "module-lapy.heat", false], [6, "module-lapy.io", false], [7, "module-lapy.plot", false], [8, "module-lapy.shapedna", false]], "normal_offset_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.normal_offset_", false]], "normalize_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.normalize_", false]], "normalize_ev() (in module lapy.shapedna)": [[8, "lapy.shapedna.normalize_ev", false]], "orient_() (lapy.tetmesh method)": [[1, "lapy.TetMesh.orient_", false]], "orient_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.orient_", false]], "plot_tet_mesh() (in module lapy.plot)": [[7, "lapy.plot.plot_tet_mesh", false]], "plot_tria_mesh() (in module lapy.plot)": [[7, "lapy.plot.plot_tria_mesh", false]], "poisson() (lapy.solver method)": [[0, "lapy.Solver.poisson", false]], "read_ev() (in module lapy.io)": [[6, "lapy.io.read_ev", false]], "read_fssurf() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_fssurf", false]], "read_gmsh() (lapy.tetmesh class method)": [[1, "lapy.TetMesh.read_gmsh", false]], "read_off() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_off", false]], "read_vfunc() (in module lapy.io)": [[6, "lapy.io.read_vfunc", false]], "read_vtk() (lapy.tetmesh class method)": [[1, "lapy.TetMesh.read_vtk", false]], "read_vtk() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_vtk", false]], "refine_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.refine_", false]], "reweight_ev() (in module lapy.shapedna)": [[8, "lapy.shapedna.reweight_ev", false]], "rm_free_vertices_() (lapy.tetmesh method)": [[1, "lapy.TetMesh.rm_free_vertices_", false]], "rm_free_vertices_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.rm_free_vertices_", false]], "smooth_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.smooth_", false]], "smooth_vfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.smooth_vfunc", false]], "solver (class in lapy)": [[0, "lapy.Solver", false]], "spherical_conformal_map() (in module lapy.conformal)": [[3, "lapy.conformal.spherical_conformal_map", false]], "stereographic() (in module lapy.conformal)": [[3, "lapy.conformal.stereographic", false]], "tet_compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tet_compute_divergence", false]], "tet_compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tet_compute_gradient", false]], "tetmesh (class in lapy)": [[1, "lapy.TetMesh", false]], "tria_areas() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_areas", false]], "tria_compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_divergence", false]], "tria_compute_divergence2() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_divergence2", false]], "tria_compute_geodesic_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_geodesic_f", false]], "tria_compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_gradient", false]], "tria_compute_rotated_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_rotated_f", false]], "tria_mean_curvature_flow() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_mean_curvature_flow", false]], "tria_normals() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_normals", false]], "tria_qualities() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_qualities", false]], "tria_spherical_project() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_spherical_project", false]], "triamesh (class in lapy)": [[2, "lapy.TriaMesh", false]], "vertex_areas() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_areas", false]], "vertex_degrees() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_degrees", false]], "vertex_normals() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_normals", false]], "volume() (lapy.triamesh method)": [[2, "lapy.TriaMesh.volume", false]], "write_ev() (in module lapy.io)": [[6, "lapy.io.write_ev", false]], "write_fssurf() (lapy.triamesh method)": [[2, "lapy.TriaMesh.write_fssurf", false]], "write_vfunc() (in module lapy.io)": [[6, "lapy.io.write_vfunc", false]], "write_vtk() (lapy.tetmesh method)": [[1, "lapy.TetMesh.write_vtk", false]], "write_vtk() (lapy.triamesh method)": [[2, "lapy.TriaMesh.write_vtk", false]]}, "objects": {"lapy": [[0, 0, 1, "", "Solver"], [1, 0, 1, "", "TetMesh"], [2, 0, 1, "", "TriaMesh"], [3, 2, 0, "-", "conformal"], [4, 2, 0, "-", "diffgeo"], [5, 2, 0, "-", "heat"], [6, 2, 0, "-", "io"], [7, 2, 0, "-", "plot"], [8, 2, 0, "-", "shapedna"]], "lapy.Solver": [[0, 1, 1, "", "eigs"], [0, 1, 1, "", "fem_tria_mass"], [0, 1, 1, "", "poisson"]], "lapy.TetMesh": [[1, 1, 1, "", "avg_edge_length"], [1, 1, 1, "", "boundary_tria"], [1, 1, 1, "", "construct_adj_sym"], [1, 1, 1, "", "has_free_vertices"], [1, 1, 1, "", "is_oriented"], [1, 1, 1, "", "orient_"], [1, 1, 1, "", "read_gmsh"], [1, 1, 1, "", "read_vtk"], [1, 1, 1, "", "rm_free_vertices_"], [1, 1, 1, "", "write_vtk"]], "lapy.TriaMesh": [[2, 1, 1, "", "area"], [2, 1, 1, "", "avg_edge_length"], [2, 1, 1, "", "boundary_loops"], [2, 1, 1, "", "centroid"], [2, 1, 1, "", "construct_adj_dir_tidx"], [2, 1, 1, "", "curvature"], [2, 1, 1, "", "curvature_tria"], [2, 1, 1, "", "edges"], [2, 1, 1, "", "euler"], [2, 1, 1, "", "has_free_vertices"], [2, 1, 1, "", "is_closed"], [2, 1, 1, "", "is_manifold"], [2, 1, 1, "", "is_oriented"], [2, 1, 1, "", "level_length"], [2, 1, 1, "", "level_path"], [2, 1, 1, "", "map_tfunc_to_vfunc"], [2, 1, 1, "", "map_vfunc_to_tfunc"], [2, 1, 1, "", "normal_offset_"], [2, 1, 1, "", "normalize_"], [2, 1, 1, "", "orient_"], [2, 1, 1, "", "read_fssurf"], [2, 1, 1, "", "read_off"], [2, 1, 1, "", "read_vtk"], [2, 1, 1, "", "refine_"], [2, 1, 1, "", "rm_free_vertices_"], [2, 1, 1, "", "smooth_"], [2, 1, 1, "", "smooth_vfunc"], [2, 1, 1, "", "tria_areas"], [2, 1, 1, "", "tria_normals"], [2, 1, 1, "", "tria_qualities"], [2, 1, 1, "", "vertex_areas"], [2, 1, 1, "", "vertex_degrees"], [2, 1, 1, "", "vertex_normals"], [2, 1, 1, "", "volume"], [2, 1, 1, "", "write_fssurf"], [2, 1, 1, "", "write_vtk"]], "lapy.conformal": [[3, 3, 1, "", "beltrami_coefficient"], [3, 3, 1, "", "inverse_stereographic"], [3, 3, 1, "", "linear_beltrami_solver"], [3, 3, 1, "", "mobius_area_correction_spherical"], [3, 3, 1, "", "spherical_conformal_map"], [3, 3, 1, "", "stereographic"]], "lapy.diffgeo": [[4, 3, 1, "", "compute_divergence"], [4, 3, 1, "", "compute_geodesic_f"], [4, 3, 1, "", "compute_gradient"], [4, 3, 1, "", "compute_rotated_f"], [4, 3, 1, "", "tet_compute_divergence"], [4, 3, 1, "", "tet_compute_gradient"], [4, 3, 1, "", "tria_compute_divergence"], [4, 3, 1, "", "tria_compute_divergence2"], [4, 3, 1, "", "tria_compute_geodesic_f"], [4, 3, 1, "", "tria_compute_gradient"], [4, 3, 1, "", "tria_compute_rotated_f"], [4, 3, 1, "", "tria_mean_curvature_flow"], [4, 3, 1, "", "tria_spherical_project"]], "lapy.heat": [[5, 3, 1, "", "diagonal"], [5, 3, 1, "", "diffusion"], [5, 3, 1, "", "kernel"]], "lapy.io": [[6, 3, 1, "", "read_ev"], [6, 3, 1, "", "read_vfunc"], [6, 3, 1, "", "write_ev"], [6, 3, 1, "", "write_vfunc"]], "lapy.plot": [[7, 3, 1, "", "plot_tet_mesh"], [7, 3, 1, "", "plot_tria_mesh"]], "lapy.shapedna": [[8, 3, 1, "", "compute_distance"], [8, 3, 1, "", "compute_shapedna"], [8, 3, 1, "", "normalize_ev"], [8, 3, 1, "", "reweight_ev"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "module", "Python module"], "3": ["py", "function", "Python function"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:module", "3": "py:function"}, "terms": {"": [2, 19, 20, 21, 22, 23, 24, 25], "0": [0, 1, 2, 3, 4, 5, 7, 13, 16, 18, 19, 20, 21, 22, 23, 24], "00": [16, 18, 20], "000": [16, 18], "000008": 22, "000013": 22, "0000215": 22, "000024": 22, "000053": 22, "0007233619689941406": 23, "006122589": 22, "01": 20, "012834310531616211": 20, "01651487e": 20, "0165149e": 20, "04": 20, "05": 20, "0543647924813107": 21, "07": 24, "08482051e": 20, "0m": 2, "1": [0, 1, 2, 3, 4, 5, 7, 13, 19, 20, 21, 22, 23, 24], "10": [0, 4, 7, 8, 20, 21, 22, 23, 24], "11": [21, 22, 23, 24], "11448": 19, "12": [21, 22, 23, 24], "13": [4, 22, 23, 24], "1380711874576983": 23, "14": [22, 23, 24], "15": [20, 22, 23, 24], "16": [22, 23, 24], "1696410e": 20, "17": [4, 23, 24], "1704664e": 20, "18": [23, 24], "19": [14, 23, 24], "1990": 2, "1d": 2, "1e": 4, "1j": 3, "2": [0, 1, 2, 3, 4, 5, 7, 8, 19, 20, 21, 22, 23, 24], "20": [23, 24], "200": 7, "2003": 2, "2006": 20, "2012": 4, "2013": 3, "2015": 3, "2020": 3, "21": [14, 23, 24], "22": [14, 23, 24], "23": 23, "24": 23, "24000": [19, 22], "2402": 20, "25": 23, "26": 23, "29662704e": 20, "2d": [3, 8, 20], "2z": 22, "3": [1, 2, 3, 4, 17, 19, 20, 21, 22, 23, 24], "30": 4, "302": 23, "303": 23, "304": 23, "3040": 22, "305": 23, "306": 23, "307": 23, "308": 23, "3120": 19, "34": 23, "39": 24, "39015547e": 20, "3d": [3, 4, 7, 8, 20], "3rd": 3, "4": [1, 2, 3, 7, 19, 20, 21, 22, 23, 24], "40824829": 23, "4099089e": 20, "44402239e": 20, "4440224e": 20, "4800": [19, 20, 22], "48000": [19, 20, 22], "48k": 22, "5": [3, 7, 19, 20, 21, 22, 23, 24], "50": [0, 7, 8, 20, 22], "5000": 22, "5010": 22, "5017845e": 20, "5022799e": 20, "57735027": 23, "6": [3, 4, 19, 20, 21, 22, 23, 24], "6049783": 24, "66666667": 23, "67": 3, "69931495": 22, "7": [2, 3, 19, 20, 21, 22, 23, 24], "7071067811865476": 24, "79": 20, "8": [2, 3, 20, 21, 22, 23, 24], "800": 7, "81649658": 23, "8660254": 23, "8660254037844386": 22, "8897915e": 20, "8898811e": 20, "9": [20, 21, 22, 23, 24], "90": 4, "9261": [19, 20, 22], "94": 3, "94489574e": 20, "9802322e": 24, "9999676": 22, "999975": 22, "999988": 22, "9999948": 22, "999999999999998": 23, "A": [0, 2, 4, 8, 16, 17, 18, 22, 24], "And": [23, 24], "As": 22, "But": [21, 23], "For": [0, 2, 4, 5, 7, 14, 19, 20, 23, 24], "If": [0, 2, 3, 4, 8, 23, 24], "In": [20, 22, 23, 24], "It": [0, 1, 4, 5, 17, 20, 23, 24], "No": 21, "Of": 23, "Or": 24, "That": 2, "The": [0, 1, 2, 7, 19, 20, 23, 24], "Then": 24, "These": 1, "To": [7, 22, 24], "Will": [1, 2], "__name__": 24, "a_max": 0, "a_min": 0, "ab": [22, 24], "about": 21, "abov": [0, 1, 2, 20, 22, 24], "access": 1, "accord": 4, "acm": 2, "across": 2, "actual": 24, "ad": [23, 24], "add": [14, 19], "adj": [1, 2], "adj_dir": [2, 23], "adj_direct": [1, 2], "adj_sym": 2, "adjac": [1, 2, 23], "adjust": [4, 19], "adopt": 3, "affect": [0, 20], "after": [0, 1, 4, 20, 21, 23], "again": [19, 20, 22, 24], "aggreg": 23, "agre": 1, "al": [3, 20], "algorithm": [2, 4], "align": [3, 4], "all": [0, 1, 2, 5, 15, 17, 18, 19, 21, 22, 23, 24], "alliez": 2, "allow": [2, 19, 23], "almost": 17, "along": [2, 4, 22, 23, 24], "alreadi": [2, 20], "also": [2, 4, 5, 6, 19, 20, 21, 22, 23, 24], "an": [0, 1, 2, 3, 8, 17, 20, 22, 23, 24], "analys": 20, "andrea": 14, "angl": [2, 23], "ani": [1, 2, 21, 22, 23], "aniso": [0, 5, 8], "aniso_smooth": [0, 8], "anisotop": [0, 8], "anisotrop": [2, 8], "anisotropi": [0, 8], "anyth": 23, "anywai": 23, "apach": 3, "appl": 2, "appli": [5, 7, 8, 22, 24], "applic": 4, "approxim": 24, "ar": [0, 1, 2, 3, 4, 5, 7, 14, 17, 20, 21, 22, 23, 24], "arbitrari": 24, "area": [0, 2, 3, 4, 20, 23, 24], "argument": 7, "around": [2, 4], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23], "array_lik": [1, 2, 3, 6, 7, 8], "associ": [2, 6], "assum": 0, "asymtot": 20, "attach": 24, "attempt": [0, 8, 21], "attribut": 2, "avail": [2, 14, 17], "averag": [1, 2, 5, 21, 23], "avg_edge_length": [1, 2, 21, 23], "ax": [4, 19], "axi": [7, 22], "az": 3, "b": [0, 3, 4, 22, 24], "b0": [22, 24], "back": [1, 4, 23, 24], "background": [4, 7], "background_color": 7, "backward": [5, 24], "bank": 2, "barycent": 4, "base": [0, 8], "bdrtid": 2, "bdrvid": 2, "becaus": 2, "been": [3, 14], "below": [21, 23], "beltrami": [0, 3, 4, 8, 19, 20, 24], "beltrami_coeffici": 3, "berlin": 4, "better": 22, "between": [8, 20], "bi": [22, 24], "block": 7, "bool": [0, 1, 2, 3, 4, 5, 7, 8], "bound": 7, "boundari": [0, 1, 2, 7, 19, 20, 21, 22, 23, 24], "boundary_loop": [2, 23, 24], "boundary_tria": [1, 21, 22], "bracket": 6, "brain": [3, 4], "bruno": 2, "bt": 21, "build": 14, "bvert": [22, 24], "c": [3, 17], "c_gauss": 2, "c_max": 2, "c_maxm": 2, "c_mean": 2, "c_min": 2, "cad": 20, "call": [0, 20, 23, 24], "camelcas": 9, "camera": 7, "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 17, 19, 20, 21, 22, 23, 24, 25], "cannot": [2, 7, 21], "care": 21, "case": [1, 2, 4, 14, 20, 22, 23], "caxi": [7, 19, 22], "cell": 23, "center": [2, 7, 21], "centroid": 2, "chang": 23, "characterist": [2, 23], "check": [1, 2, 21, 23, 24], "choi": 3, "chol": [22, 24], "choleski": [0, 3, 4, 5, 8, 22, 24], "cholmod": [3, 4, 5, 22, 24], "chosen": 2, "cite": 3, "class": [0, 1, 2, 8, 9, 14], "classmethod": [1, 2], "clockwis": 2, "close": [0, 2, 3, 4, 23, 24], "closer": 24, "cluster": 20, "cnr": 4, "code": [3, 7, 8, 15], "coeffici": 3, "cohen": 2, "col": 5, "color": [7, 19, 22], "colorbar": 7, "column": [0, 2, 3, 5], "com": [3, 17], "combin": 2, "comment": 22, "common": 20, "compar": [8, 20], "comparison": [8, 20], "complain": 23, "complex": 3, "compli": 14, "compon": [1, 22], "comput": [0, 2, 3, 4, 5, 8, 17, 19, 20, 21, 22, 23, 24], "compute_dist": [8, 20], "compute_diverg": [4, 22, 24], "compute_geodesic_f": [4, 22, 24], "compute_gradi": [4, 22, 24], "compute_rotated_f": [4, 24], "compute_shapedna": [8, 20], "computeab": 0, "concav": 0, "conda": 17, "condit": [0, 1], "conform": [9, 17], "connect": [1, 2, 7, 22, 24], "consist": [2, 21, 22, 23], "constant": [0, 2, 4, 19, 22], "construct": [0, 1, 2, 22], "construct_adj_dir_tidx": 2, "construct_adj_sym": 1, "constructor": 0, "contain": [0, 1, 2], "contribut": 2, "convent": 14, "convert": 7, "coordin": [1, 2, 3, 4], "copi": [17, 22, 24], "copyright": 3, "core": [1, 2], "corner": 19, "correct": 21, "correctli": 23, "correspond": [0, 24], "could": [2, 4, 22, 24], "counter": 2, "counterclockwis": [1, 2], "cours": [20, 23], "creat": [0, 1, 2, 22, 23], "criteria": 7, "criterion": 7, "cross": 4, "csc": [1, 2, 22, 24], "csc_matrix": [0, 1, 2], "cube": [19, 20, 21, 22, 23, 24], "cube9": 21, "cubetetra": [19, 20, 22], "cubetria": [19, 20], "current": [0, 8], "curv": [4, 24], "curvatur": [0, 2, 4, 5, 8, 17], "curvature_tria": 2, "cut": [7, 19, 22], "cuvatur": 24, "cycl": 2, "cylind": 0, "cz": 3, "d": [2, 3, 6], "data": [0, 1, 2, 6, 17, 19, 20, 22, 24], "david": 2, "de": 4, "debug": [1, 2, 4], "decomp": [22, 24], "decomposit": [0, 3, 4, 5, 8, 19, 20, 22, 24], "decreas": 7, "deep": 17, "default": [0, 2, 3, 4, 5, 7, 8, 19, 20, 22, 24], "defin": [2, 7, 19, 21, 24], "definit": 0, "deform": 20, "degre": [2, 4, 19, 23], "delet": [1, 2], "delta": 24, "demonstr": 24, "dens": 22, "densiti": 4, "depend": 4, "deprec": 14, "deriv": 22, "desbrun": [2, 4], "describ": [4, 5, 7], "descriptor": [8, 20], "desir": 0, "determin": 2, "devil": 2, "dgd": 4, "diagon": [0, 5, 8, 22, 24], "diametr": 19, "dict": [2, 6, 7, 8, 19], "dictionari": [6, 8], "dier": 14, "differenti": [0, 4, 17], "diffgeo": [9, 14, 22, 24], "diffus": [5, 22, 24], "dimens": [7, 19], "dimension": 20, "direct": [0, 2, 7, 21, 23], "directli": [14, 22], "dirichlet": 0, "disk": 19, "displai": 7, "dissimilar": 8, "dist": 8, "distanc": [2, 4, 8, 20, 22, 24], "distort": 3, "distribut": 3, "div": 24, "diverg": [4, 17, 22, 24], "divid": 23, "divx": [22, 24], "divx2": 22, "do": [0, 20, 22, 23], "docstr": 14, "document": 14, "doe": 24, "dof": 19, "domain": [4, 7], "don": [21, 24], "done": [2, 4, 19, 20, 22], "dot": 4, "download": 15, "draw": 17, "drop": [2, 23], "dtup": 0, "dtype": [20, 22], "due": 24, "dure": [0, 4], "e": [0, 1, 2, 6, 7, 20, 21], "e1": 2, "e2": 2, "e3": 2, "e_ij": 4, "each": [1, 2, 4, 7, 22, 23], "earlier": 24, "easi": [22, 24], "easili": [23, 24], "edg": [1, 2, 4, 5, 7, 21, 23], "edge_color": [7, 22], "edu": 3, "effici": [1, 2, 17], "ei": 2, "eig": [0, 19, 22, 24], "eigenfunct": [4, 8, 19, 22, 24], "eigenvalu": [0, 5, 6, 8, 19, 20, 22, 24], "eigenvector": [0, 5, 6, 8, 19, 20], "either": [0, 8], "element": [0, 4, 7, 19, 24], "els": [22, 24], "embed": 4, "emploi": 24, "empti": [0, 2], "enclos": [2, 23], "end": 2, "endpoint": 2, "enough": 4, "ensur": 1, "enter": 4, "entri": [2, 23, 24], "equal": [4, 5, 20, 22, 23, 24], "equat": [0, 4, 17, 22, 23, 24], "equidist": 2, "equilater": [2, 23], "equival": 2, "error": [0, 8, 23], "estim": [4, 17], "et": [3, 20], "etc": [4, 14], "euc": 8, "euclidean": [8, 20], "euler": [2, 4, 5, 23], "ev": [6, 8, 19, 20], "ev1": 8, "ev2": 8, "eval": [5, 8, 19, 22, 24], "eval_j": 5, "evdict": 19, "evec": [5, 19, 22, 24], "evec_j": 5, "evecsnum": 5, "even": 0, "evenli": [22, 24], "everi": 19, "everyth": 2, "evnum": 22, "evolut": 5, "evtet": 20, "exactli": 2, "exampl": [2, 14, 15, 16, 18, 21, 23, 25], "examples_python": 15, "except": [22, 24], "execut": [0, 8, 16, 18], "exist": 23, "exp": 5, "explor": 22, "export_png": 7, "extend": 14, "extern": 0, "extract": [2, 21], "extrema": 19, "ey": 7, "f": [3, 4, 7, 19, 24], "f_h": 4, "f_i": 4, "f_j": 4, "f_k": 4, "face": [4, 7], "fact": 22, "factor": [5, 7, 24], "fail": [2, 21, 23], "fals": [0, 2, 3, 4, 5, 7, 8, 19, 21, 22, 23, 24], "far": 23, "fast": 3, "faster": [0, 2], "fcol": 22, "fem": [0, 1, 2, 17, 19, 22, 23, 24], "fem_tria_mass": 0, "femlab": 2, "few": [23, 24], "field": [4, 8, 24], "figur": 2, "file": [1, 2, 6, 7, 14, 16, 18, 22, 23, 24], "filenam": [1, 2, 6], "final": [2, 4, 22, 23, 24], "find": [2, 3, 20, 24, 25], "finit": 0, "first": [0, 2, 4, 5, 6, 8, 19, 20, 21, 22, 23, 24], "fix": [3, 4, 5, 14, 23], "flash": 3, "flat": 24, "flatshad": [7, 22], "flip": [2, 4, 19, 21, 22, 23], "float": [0, 1, 2, 4, 5, 7, 8], "float32": [20, 22, 24], "float64": [22, 24], "flood": [2, 20, 23], "flow": [4, 17, 24], "flow_it": 4, "flux": 4, "follow": 3, "forg": 17, "format": [2, 6, 19, 20, 22, 24], "formula": 2, "found": [0, 2, 8, 17, 19, 20, 21, 22], "frac": 3, "free": [1, 2, 21, 23], "freesurf": [2, 4], "from": [1, 2, 3, 4, 5, 6, 8, 14, 16, 18, 19, 20, 21, 22, 23, 24], "frontier": 2, "fsinfo": 2, "full": [17, 20], "funcio": 14, "function": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 17, 19, 21, 22, 23, 24, 25], "further": 17, "g": [0, 1, 2, 7, 20, 21], "galleri": [15, 18], "gari": 3, "garyptchoi": 3, "gauss": 2, "ge": 4, "gener": [15, 16], "genu": 3, "geodes": [4, 17, 25], "geom": [4, 8], "geometr": [5, 20], "geometri": [0, 2, 4, 5, 8, 17, 20], "get": [1, 2, 4, 21, 22, 23, 24], "get_tria_idx": 2, "get_vertex_norm": 2, "getformat": [22, 24], "gf": 24, "girodi": 14, "git": 17, "github": [3, 17], "give": [7, 24], "given": [0, 5], "glength": 22, "global": 2, "gmsh": 1, "good": 4, "grad": [4, 22, 24], "gradient": [4, 7, 17, 22, 24], "graph": 2, "graphic": 2, "greatli": 14, "group": 9, "gt": [19, 20, 22, 23], "gu": 22, "h": [0, 5, 22, 24], "ha": [0, 1, 2, 3, 21, 22, 23, 24], "had": 24, "half": [2, 23], "hand": 0, "happen": [20, 23, 24], "harmon": 3, "has_free_vertic": [1, 2, 21, 23], "have": [0, 1, 2, 4, 6, 14, 20, 21, 23, 24], "header": 2, "heat": [4, 9, 17, 22, 24], "height": 7, "help": 3, "here": [2, 19, 22, 23, 24, 25], "heron": 2, "higher": 20, "highlight": 25, "how": [19, 20, 23], "howev": 23, "html": 7, "html_output": [7, 22], "http": [3, 4, 17], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 17, 19, 20, 21, 22, 23, 24], "id": [2, 5], "idea": [4, 24], "idx": 2, "ignor": 2, "imag": [3, 7], "imati": 4, "img": 3, "implement": [0, 1, 2], "import": [1, 2, 6, 7, 14, 19, 20, 21, 22, 23, 24], "import_ev": 14, "import_off": 24, "import_vfunc": 14, "importerror": [22, 24], "improv": [0, 3, 8], "includ": [1, 4, 8, 17], "increas": [7, 20], "independ": 20, "index": [0, 2, 5], "indic": [1, 2, 3, 5, 23], "influenc": 20, "info": 2, "inform": [1, 6], "init_notebook_mod": [7, 22, 24], "initi": [5, 14, 22, 23], "inner": [1, 2, 23, 24], "input": [0, 5, 6, 7], "insid": [6, 19, 23], "instead": [2, 21, 22, 24], "int": [0, 1, 2, 4, 5, 7, 8], "int64": 22, "integr": [2, 4, 24], "interfac": 4, "interior": [7, 22], "intern": [1, 2], "intrins": 20, "inv": [22, 24], "invers": [3, 22, 24], "inverse_stereograph": 3, "invert": 4, "inward": 23, "io": [9, 14, 17, 19, 22, 24], "is_clos": [2, 23], "is_manifold": [2, 23], "is_ori": [1, 2, 21, 22, 23], "isometr": 20, "isotrop": 0, "issu": 14, "iter": [0, 2, 4, 5, 8, 20, 23], "its": [2, 7, 24], "itself": 20, "j": 23, "journal": [3, 20], "just": 24, "juypter": 7, "k": [0, 3, 5, 8, 19, 20], "k_t": 5, "kazhdan": 4, "keep": [2, 4, 19, 21, 23, 24], "kept": [1, 2], "kernel": 5, "kersten": 14, "keyword": 6, "l": [3, 5], "lam": 3, "lambda": [0, 24], "landmark": 3, "lapi": [9, 14, 19, 20, 21, 22, 23, 24, 25], "laplac": [0, 1, 2, 4, 8, 17, 19, 20], "larg": 0, "larger": [1, 19], "last": 23, "later": 23, "least": 23, "leav": 4, "len": 19, "length": [0, 1, 2, 5, 21, 22, 23, 24], "let": [19, 20, 21, 22, 23, 24], "level": [2, 4, 7, 14, 22, 24], "level_length": 2, "level_path": 2, "levelset": 2, "levi": 2, "librari": [0, 8], "licens": 3, "like": 2, "linalg": [22, 24], "line": [6, 23], "linear": [0, 3, 8, 20], "linear_beltrami_solv": 3, "linearli": 20, "list": [1, 2, 6, 7], "littl": 22, "livesu": 4, "load": [1, 2, 6, 14, 19, 20, 21, 24], "local": [7, 19], "look": [1, 2, 19, 22, 23, 24], "lookup": 2, "loop": [2, 17, 23], "low": 23, "lower": [7, 14], "lu": [0, 3, 4, 5, 8, 19, 20, 22, 24], "lui": 3, "lump": [0, 2, 8, 22, 24], "m": [2, 3, 5, 22, 24], "made": 4, "mai": [1, 4], "mainli": 23, "make": 22, "mancinelli": 4, "mani": [23, 24], "manifold": [2, 23], "manual": 22, "map": [2, 3, 4, 17, 23], "map_mobiu": 3, "map_tfunc_to_vfunc": 2, "map_vfunc_to_tfunc": 2, "martin": 14, "mass": [0, 2, 4, 8, 22, 24], "massag": 24, "math": [2, 3], "mathieu": [2, 14], "matlab": 3, "matric": [0, 1, 2], "matrix": [0, 1, 2, 4, 5, 8, 22, 23, 24], "max": [1, 2, 22, 23, 24], "max_it": 4, "maxim": [2, 4], "maximum": 0, "mb": [16, 18], "mean": [2, 4, 17, 23], "mean_curvature_flow": 4, "meaning": 20, "measur": [2, 4, 8, 23], "mehs": 14, "mem": [16, 18], "member": [0, 14], "mesh": [0, 1, 2, 3, 4, 5, 7, 8, 9, 14, 17, 20, 22, 24, 25], "method": [0, 1, 2, 3, 8, 17, 20], "mi": 17, "midpoint": 2, "min": [2, 22, 24], "minim": 2, "minimum": [0, 24], "minu": 2, "mit": [3, 17], "mlp18": 4, "mobiu": 3, "mobius_area_correction_spher": 3, "modifi": 2, "modul": [4, 9, 14], "more": [1, 2, 7, 20, 22, 23], "most": 23, "move": 2, "mu": 3, "much": 2, "multipl": [1, 5], "multipli": [4, 22, 24], "must": 0, "n": [0, 2, 3, 4, 5, 16, 18, 20], "n_point": 2, "n_tria_oposite_v": 4, "n_triangl": 2, "name": [9, 14], "nan_to_num": [22, 24], "necessari": [4, 24], "need": [0, 1, 2, 21, 22, 24], "neg": 2, "neighbor": [2, 21], "neumann": 0, "new": [2, 3], "newaxi": [22, 24], "next": [19, 21, 22, 24], "nibabel": 2, "nice": 24, "no_displai": 7, "node": 21, "nois": 20, "non": [1, 2, 4, 19, 22, 23], "none": [0, 1, 2, 5, 7, 8, 19, 22], "normal": [2, 4, 7, 8, 20, 21, 22, 23, 24], "normal_offset": 2, "normal_offset_": [2, 23], "normalize_": 2, "normalize_ev": [8, 20], "note": [0, 1, 2, 4, 20, 21, 23, 24], "notebook": [7, 25], "noth": [20, 22], "notic": 24, "now": [20, 21, 22, 23, 24], "np": [22, 23, 24], "ntup": 0, "number": [0, 1, 2, 3, 4, 5, 8, 23], "numer": 23, "numew": 19, "numexpr": 4, "numpi": [14, 22, 23, 24], "object": [1, 5, 7, 8, 19, 20], "obtain": [0, 20, 22, 23, 24], "off": [2, 24], "offlin": [7, 22, 24], "offset": 23, "ok": 23, "olivi": 2, "onc": 23, "one": [2, 7, 23], "ones": [4, 23], "onli": [0, 1, 2, 4, 5, 7, 8, 20, 23, 24], "onto": [2, 4], "onum": 1, "open": [17, 19, 22], "oper": [0, 2, 4, 24], "oppos": 19, "opposit": [2, 21], "optim": [3, 22, 24], "option": [1, 6], "order": [1, 2, 20, 21], "ored": 23, "orient": [1, 2, 21, 22, 23], "orient_": [1, 2, 21, 22, 23], "origin": [1, 2, 4, 24], "orthgon": 4, "orthogon": 2, "other": [20, 22], "our": [19, 21, 22, 23, 24], "ourselv": 24, "out": 7, "outer": 4, "output": 7, "outsid": 2, "outward": 23, "over": 24, "overlai": [7, 19, 24], "own": 3, "p": [3, 5], "packag": 17, "pair": 2, "paper": [3, 4], "parallel": 2, "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8], "parameter": 3, "parent": 2, "partial": 22, "pass": 5, "path": [2, 7], "pca": 20, "pdf": 4, "pep8": 14, "per": [3, 4], "perform": [8, 20, 22, 24], "piecewis": 24, "pierr": 2, "pio": [19, 22, 24], "pip": 17, "place": 2, "planar": 3, "plane": [2, 3], "pleas": 3, "plot": [9, 14, 17, 19, 22, 24], "plot_edg": [7, 22, 24], "plot_level": [7, 22, 24], "plot_tet_mesh": [7, 19, 22], "plot_tria_mesh": [7, 19, 24], "plotli": [7, 19, 22, 24], "pltmg": 2, "plu": 2, "point": [2, 4, 5, 21, 23, 24], "poisson": [0, 4, 17, 22, 24], "polygon": 2, "pose": 20, "posit": [0, 5, 23], "possibl": 0, "postur": 20, "potenti": 1, "pp": 3, "practic": 20, "print": [4, 22, 23, 24], "probabl": 20, "problem": [0, 1, 2, 8, 22], "produc": [1, 2], "product": [4, 24], "project": [2, 3, 4, 20], "properti": [23, 24], "provid": 1, "psol": 6, "ptchoi": 3, "pui": 3, "puppo": 4, "pure": 17, "purpos": 21, "px": 7, "py": 23, "pypi": 17, "python": [7, 15, 17], "q": [2, 5, 24], "qualiti": [2, 23, 24], "r": 2, "rais": [4, 23], "rang": 7, "re": [1, 2, 8, 20], "read": [1, 2, 4, 6], "read_": 14, "read_ev": 6, "read_fssurf": 2, "read_gmsh": 1, "read_off": [2, 24], "read_vfunc": 6, "read_vtk": [1, 2, 14, 19, 20, 22], "real": 3, "recent": 23, "reduc": [3, 20, 22, 24], "refin": [2, 19, 23], "refine_": [2, 23], "region": [0, 24], "regular": [19, 20, 22, 24], "remain": 22, "remesh": 2, "remov": [1, 2, 21, 22, 23, 24], "render": [19, 22, 23, 24], "repeat": [20, 21], "replic": 24, "repres": [0, 1, 2, 3, 7, 20, 21, 23, 24], "requir": [0, 8, 23], "resampl": 2, "resolut": 7, "result": [3, 7, 19, 20, 22, 23, 24], "return": [0, 1, 2, 3, 4, 5, 6, 8, 23], "reuter": [14, 20], "reweight": 20, "reweight_ev": [8, 20], "rgb": [7, 22], "right": [0, 24], "ring": [2, 4], "rm_free_vertices_": [1, 2, 21, 23], "rotat": [4, 24], "row": 5, "run": [5, 22], "sacrif": 17, "same": [0, 1, 2, 20, 22, 23, 24], "save": [1, 2, 6, 19], "scalar": [2, 4, 7, 22], "scale": [0, 7, 19, 22, 24], "scale_png": 7, "scheltienn": 14, "scienc": 3, "scikit": [0, 3, 4, 5, 8], "scipi": [1, 2, 22, 24], "search": [20, 23], "sec": [20, 23], "second": [2, 8], "see": [2, 4, 8, 19, 20, 21, 22, 23, 24], "seem": 1, "segment": 2, "select": 5, "self": 23, "semi": 0, "separ": 6, "servic": 4, "set": [0, 2, 4, 7, 8, 22, 24], "shape": [0, 2, 3, 4, 5, 7, 8, 20], "shapedna": [6, 9, 17, 25], "shift": [22, 23, 24], "short": [23, 24], "should": [0, 2, 3, 4, 21, 22, 23, 24], "show": [19, 20, 24], "showcaxi": [7, 19], "siam": 3, "side": 0, "sign": 2, "similar": [2, 22, 23, 24], "simpli": [22, 24], "simplic": 24, "simplifi": [14, 24], "sinc": [20, 23], "singl": [2, 4], "singular": 4, "situat": 23, "size": [4, 22], "skspars": [22, 24], "slice": 22, "sliver": 23, "slower": [0, 8], "small": [20, 21], "smaller": [0, 5, 23], "smallest": 5, "smooth": [0, 2, 5, 7, 8, 24], "smooth_": 2, "smooth_vfunc": 2, "smoothit": 2, "so": [1, 2, 21, 22, 23, 24], "softwar": 23, "solid": [19, 20, 23], "solut": [0, 5, 6, 24], "solv": [4, 8, 22, 23, 24], "solver": [3, 4, 5, 8, 9, 14, 17, 19, 20, 22, 24], "some": [1, 4, 19, 20, 21, 23, 24, 25], "sort": 8, "sourc": [15, 17], "space": [20, 22, 24], "spars": [0, 1, 2, 3, 4, 5, 8, 17, 22, 23, 24], "special": 4, "spectra": [6, 8, 17, 20], "spectral": 4, "spectrum": 0, "speed": [0, 4, 8, 17], "sphere": [2, 3, 4, 24], "spheric": [3, 23], "spherical_conformal_map": 3, "sphinx": 15, "sphinx_galleri": [19, 22, 24], "split": 4, "splu": [22, 24], "spsolv": [3, 4, 5, 19, 20, 22, 24], "sqrt": [2, 22, 24], "squar": [22, 24], "standard": 24, "start": [2, 24], "static": [0, 1, 2], "steeper": 24, "steiner": 2, "step": [4, 20, 21, 24], "stereograph": 3, "stiff": [0, 4, 22, 24], "still": [14, 24], "stop": 4, "stop_ep": 4, "store": 2, "str": [1, 2, 6, 7, 8], "structur": [1, 2, 6, 17], "subdivid": 23, "subtract": 24, "sum": [0, 2, 4, 22, 23, 24], "sum_j": 5, "sure": 22, "surfac": [0, 2, 3, 4, 8, 20, 21, 23], "surround": 6, "symmetr": [0, 1, 2], "t": [1, 2, 3, 5, 19, 20, 21, 22, 23, 24], "t0": 1, "t1": 1, "t2": [1, 24], "t3": 1, "take": 22, "target": 3, "tbdr": 23, "tcolor": 7, "test": [21, 22, 24], "tet": [1, 4, 5, 7, 20, 21], "tet_compute_diverg": 4, "tet_compute_gradi": 4, "tetfunc": 1, "tetio": 14, "tetmesh": [0, 4, 5, 7, 8, 9, 14, 19, 20, 21, 25], "tetra": [1, 4, 7, 19], "tetrahedon": 22, "tetrahedr": [1, 4, 8, 20, 23, 25], "tetrahedra": [1, 2, 17, 19, 21, 22], "tetrahedron": [1, 4, 21, 22], "tetraher": [0, 1, 4, 7], "tetrahera": 1, "tfunc": [2, 4, 7, 22, 24], "than": [0, 1, 2, 19, 23], "thei": [1, 2, 4, 23, 24], "them": 20, "themat": 9, "therefor": 23, "thi": [0, 1, 2, 3, 4, 7, 9, 14, 19, 20, 21, 22, 23, 24], "those": [0, 21], "three": [2, 3, 4, 19, 20], "threshold": 4, "through": 24, "thrown": [0, 8], "thu": 2, "tic_color": 7, "tick": 7, "tid": 2, "time": [4, 5, 24], "too": 24, "top": [1, 14, 19], "topologi": 23, "toru": 2, "total": [2, 16, 18, 23, 24], "totalarea": 2, "traceback": 23, "track": 2, "transact": 2, "transfer": 1, "transform": 3, "translat": 4, "trend": 20, "tria": [0, 1, 2, 3, 4, 5, 7, 19, 20, 22, 23], "tria_area": [2, 23], "tria_compute_diverg": 4, "tria_compute_divergence2": 4, "tria_compute_geodesic_f": 4, "tria_compute_gradi": 4, "tria_compute_rotated_f": 4, "tria_idx": 2, "tria_mean_curvature_flow": [4, 24], "tria_mesh": 23, "tria_norm": [2, 23], "tria_qual": [2, 23, 24], "tria_spherical_project": 4, "triafunc": 1, "triaio": [14, 24], "triamesh": [0, 1, 3, 4, 5, 7, 8, 9, 14, 19, 20, 23, 25], "triangl": [0, 1, 2, 3, 4, 7, 8, 14, 17, 20, 21, 22, 24, 25], "trivial": 20, "true": [0, 1, 2, 3, 4, 5, 7, 8, 19, 21, 22, 23, 24], "try": [22, 24], "tu": 4, "tung": 3, "tupl": [0, 2, 7, 8], "tutori": [19, 20], "twelv": 21, "two": [3, 4, 8, 19, 20, 23, 24], "txt": [2, 6], "type": [4, 24], "u": [3, 22, 24], "u_max": 2, "u_min": 2, "uncom": [22, 24], "under": 17, "underscore_cas": 9, "uniform": 21, "uniqu": [2, 22], "unit": [2, 4, 20, 24], "unknown": 4, "unstabl": 23, "until": [1, 23], "unus": [1, 2], "up": [4, 7, 22], "updat": [1, 2, 3], "upon": 17, "upper": 7, "us": [0, 1, 2, 3, 4, 5, 7, 8, 14, 20, 21, 23, 24], "use_cholmod": [0, 3, 4, 5, 8], "usecholmod": [22, 24], "usual": [1, 20, 23], "v": [1, 2, 3, 4, 19, 20, 22, 23], "v0": [1, 23], "v1": [1, 23], "v1func": 22, "v2": 1, "v3": 1, "v_h": 4, "v_i": 4, "v_j": 4, "v_k": 4, "val": [5, 6], "valu": [0, 1, 2, 4, 5, 6, 22], "valueerror": [4, 23], "varea": 2, "variou": 2, "vcolor": 7, "vdeg": 2, "vdel": [1, 2], "vec": 4, "vector": [2, 4, 5, 7, 8, 17, 20, 22, 24], "veri": 23, "verifi": 24, "version": [4, 13, 22, 24], "vertex": [0, 1, 2, 3, 4, 5, 6, 7, 19, 21, 22, 23, 24], "vertex_area": [2, 23], "vertex_degre": [2, 23], "vertex_norm": [2, 23], "vertic": [0, 1, 2, 4, 5, 7, 8, 19, 21, 23, 24], "vf": 24, "vfix": 5, "vfunc": [2, 4, 5, 6, 7, 19, 22, 24], "vi": 4, "via": [0, 2, 3, 20], "vid": [2, 5], "view": 7, "vismathws10": 4, "visual": [7, 20, 25], "vj": 4, "vk": 4, "vkeep": [1, 2], "vnum": [2, 5], "vol": [2, 3], "volum": [2, 4, 8, 20, 21, 23], "vtk": [1, 2, 14, 19, 20, 22], "wa": [2, 23], "wai": [2, 24], "want": [1, 4, 22], "we": [1, 2, 4, 19, 20, 21, 22, 23, 24], "weigh": 2, "weight": [2, 8, 20, 23], "well": 8, "what": [1, 2, 24], "when": [0, 1, 2, 4, 20, 21, 22, 23, 24], "where": [0, 2, 3, 4, 5, 7, 19, 24], "whether": [1, 2, 7], "which": [0, 2, 3, 4, 5, 7, 20, 22, 23, 24], "while": 22, "whole": 24, "whose": 4, "width": 7, "with_boundari": 2, "without": 17, "won": 23, "wordpress": 4, "work": [1, 2, 3, 4, 23, 24], "would": 2, "wrap": 2, "write": [6, 7, 14], "write_": 14, "write_ev": [6, 19], "write_fssurf": 2, "write_vfunc": 6, "write_vtk": [1, 2], "written": 17, "wrong": 2, "x": [0, 2, 3, 5, 7, 22, 24], "xrang": [7, 19], "y": [7, 22, 24], "yet": 4, "yield": [2, 20, 22, 24], "you": [3, 4, 19, 20, 22, 25], "your": [3, 24], "yrang": [7, 19], "z": [3, 7, 22], "zero": [3, 4, 20, 23], "zip": 15, "zrang": [7, 19]}, "titles": ["lapy.Solver", "lapy.TetMesh", "lapy.TriaMesh", "lapy.conformal", "lapy.diffgeo", "lapy.heat", "lapy.io", "lapy.plot", "lapy.shapedna", "API References", "Meshes", "Modules", "Solver", "Changelog", "Version 1.0", "Tutorials", "Computation times", "LaPy", "Computation times", "Visualization", "ShapeDNA", "Tetrahedral Mesh", "TetMesh Geodesics", "Triangle Mesh", "TriaMesh Geodesics", "Tutorials"], "titleterms": {"0": 14, "1": 14, "api": [9, 14], "author": 14, "bug": 14, "chang": 14, "changelog": 13, "comput": [16, 18], "conform": 3, "curvatur": 24, "diffgeo": 4, "enhanc": 14, "geodes": [22, 24], "heat": 5, "instal": 17, "io": 6, "lapi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 17], "laplac": [22, 24], "licens": 17, "map": 24, "mean": 24, "mesh": [10, 19, 21, 23], "modul": 11, "note": 3, "plot": 7, "refer": 9, "shapedna": [8, 20], "solver": [0, 12], "tetmesh": [1, 22], "tetrahedr": [19, 21], "time": [16, 18], "triamesh": [2, 24], "triangl": [19, 23], "tutori": [15, 25], "version": 14, "visual": 19}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API References": [[9, null]], "API changes": [[14, "api-changes"]], "Authors": [[14, "authors"]], "Bugs": [[14, "bugs"]], "Changelog": [[13, null]], "Computation times": [[16, null], [18, null]], "Enhancements": [[14, "enhancements"]], "Geodesics": [[22, "Geodesics"], [24, "Geodesics"]], "Install": [[17, "install"]], "LaPy": [[17, null]], "Laplace": [[22, "Laplace"], [24, "Laplace"]], "License": [[17, "license"]], "Mean Curvature Mapping": [[24, "Mean-Curvature-Mapping"]], "Meshes": [[10, null]], "Modules": [[11, null]], "Notes": [[3, "notes"]], "ShapeDNA": [[20, null]], "Solver": [[12, null]], "TetMesh Geodesics": [[22, null]], "Tetrahedral Mesh": [[19, "Tetrahedral-Mesh"], [21, null]], "TriaMesh Geodesics": [[24, null]], "Triangle Mesh": [[19, "Triangle-Mesh"], [23, null]], "Tutorials": [[15, null], [25, null]], "Version 1.0": [[14, null]], "Visualization": [[19, null]], "lapy.Solver": [[0, null]], "lapy.TetMesh": [[1, null]], "lapy.TriaMesh": [[2, null]], "lapy.conformal": [[3, null]], "lapy.diffgeo": [[4, null]], "lapy.heat": [[5, null]], "lapy.io": [[6, null]], "lapy.plot": [[7, null]], "lapy.shapedna": [[8, null]]}, "docnames": ["api/generated/lapy.Solver", "api/generated/lapy.TetMesh", "api/generated/lapy.TriaMesh", "api/generated/lapy.conformal", "api/generated/lapy.diffgeo", "api/generated/lapy.heat", "api/generated/lapy.io", "api/generated/lapy.plot", "api/generated/lapy.shapedna", "api/index", "api/lapy.meshes", "api/lapy.modules", "api/lapy.solver", "changes/index", "changes/latest", "generated/examples/index", "generated/examples/sg_execution_times", "index", "sg_execution_times", "tutorials/examples/Test_Plot", "tutorials/examples/Test_ShapeDNA", "tutorials/examples/Test_TetMesh", "tutorials/examples/Test_TetMesh_Geodesics", "tutorials/examples/Test_TriaMesh", "tutorials/examples/Test_TriaMesh_Geodesics", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinxcontrib.bibtex": 9}, "filenames": ["api/generated/lapy.Solver.rst", "api/generated/lapy.TetMesh.rst", "api/generated/lapy.TriaMesh.rst", "api/generated/lapy.conformal.rst", "api/generated/lapy.diffgeo.rst", "api/generated/lapy.heat.rst", "api/generated/lapy.io.rst", "api/generated/lapy.plot.rst", "api/generated/lapy.shapedna.rst", "api/index.rst", "api/lapy.meshes.rst", "api/lapy.modules.rst", "api/lapy.solver.rst", "changes/index.rst", "changes/latest.rst", "generated/examples/index.rst", "generated/examples/sg_execution_times.rst", "index.rst", "sg_execution_times.rst", "tutorials/examples/Test_Plot.ipynb", "tutorials/examples/Test_ShapeDNA.ipynb", "tutorials/examples/Test_TetMesh.ipynb", "tutorials/examples/Test_TetMesh_Geodesics.ipynb", "tutorials/examples/Test_TriaMesh.ipynb", "tutorials/examples/Test_TriaMesh_Geodesics.ipynb", "tutorials/index.rst"], "indexentries": {"area() (lapy.triamesh method)": [[2, "lapy.TriaMesh.area", false]], "avg_edge_length() (lapy.tetmesh method)": [[1, "lapy.TetMesh.avg_edge_length", false]], "avg_edge_length() (lapy.triamesh method)": [[2, "lapy.TriaMesh.avg_edge_length", false]], "beltrami_coefficient() (in module lapy.conformal)": [[3, "lapy.conformal.beltrami_coefficient", false]], "boundary_loops() (lapy.triamesh method)": [[2, "lapy.TriaMesh.boundary_loops", false]], "boundary_tria() (lapy.tetmesh method)": [[1, "lapy.TetMesh.boundary_tria", false]], "centroid() (lapy.triamesh method)": [[2, "lapy.TriaMesh.centroid", false]], "compute_distance() (in module lapy.shapedna)": [[8, "lapy.shapedna.compute_distance", false]], "compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_divergence", false]], "compute_geodesic_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_geodesic_f", false]], "compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_gradient", false]], "compute_rotated_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.compute_rotated_f", false]], "compute_shapedna() (in module lapy.shapedna)": [[8, "lapy.shapedna.compute_shapedna", false]], "construct_adj_dir_tidx() (lapy.triamesh method)": [[2, "lapy.TriaMesh.construct_adj_dir_tidx", false]], "construct_adj_sym() (lapy.tetmesh method)": [[1, "lapy.TetMesh.construct_adj_sym", false]], "curvature() (lapy.triamesh method)": [[2, "lapy.TriaMesh.curvature", false]], "curvature_tria() (lapy.triamesh method)": [[2, "lapy.TriaMesh.curvature_tria", false]], "diagonal() (in module lapy.heat)": [[5, "lapy.heat.diagonal", false]], "diffusion() (in module lapy.heat)": [[5, "lapy.heat.diffusion", false]], "edges() (lapy.triamesh method)": [[2, "lapy.TriaMesh.edges", false]], "eigs() (lapy.solver method)": [[0, "lapy.Solver.eigs", false]], "euler() (lapy.triamesh method)": [[2, "lapy.TriaMesh.euler", false]], "fem_tria_mass() (lapy.solver static method)": [[0, "lapy.Solver.fem_tria_mass", false]], "has_free_vertices() (lapy.tetmesh method)": [[1, "lapy.TetMesh.has_free_vertices", false]], "has_free_vertices() (lapy.triamesh method)": [[2, "lapy.TriaMesh.has_free_vertices", false]], "inverse_stereographic() (in module lapy.conformal)": [[3, "lapy.conformal.inverse_stereographic", false]], "is_closed() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_closed", false]], "is_manifold() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_manifold", false]], "is_oriented() (lapy.tetmesh method)": [[1, "lapy.TetMesh.is_oriented", false]], "is_oriented() (lapy.triamesh method)": [[2, "lapy.TriaMesh.is_oriented", false]], "kernel() (in module lapy.heat)": [[5, "lapy.heat.kernel", false]], "lapy.conformal": [[3, "module-lapy.conformal", false]], "lapy.diffgeo": [[4, "module-lapy.diffgeo", false]], "lapy.heat": [[5, "module-lapy.heat", false]], "lapy.io": [[6, "module-lapy.io", false]], "lapy.plot": [[7, "module-lapy.plot", false]], "lapy.shapedna": [[8, "module-lapy.shapedna", false]], "level_length() (lapy.triamesh method)": [[2, "lapy.TriaMesh.level_length", false]], "level_path() (lapy.triamesh method)": [[2, "lapy.TriaMesh.level_path", false]], "linear_beltrami_solver() (in module lapy.conformal)": [[3, "lapy.conformal.linear_beltrami_solver", false]], "map_tfunc_to_vfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.map_tfunc_to_vfunc", false]], "map_vfunc_to_tfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.map_vfunc_to_tfunc", false]], "mobius_area_correction_spherical() (in module lapy.conformal)": [[3, "lapy.conformal.mobius_area_correction_spherical", false]], "module": [[3, "module-lapy.conformal", false], [4, "module-lapy.diffgeo", false], [5, "module-lapy.heat", false], [6, "module-lapy.io", false], [7, "module-lapy.plot", false], [8, "module-lapy.shapedna", false]], "normal_offset_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.normal_offset_", false]], "normalize_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.normalize_", false]], "normalize_ev() (in module lapy.shapedna)": [[8, "lapy.shapedna.normalize_ev", false]], "orient_() (lapy.tetmesh method)": [[1, "lapy.TetMesh.orient_", false]], "orient_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.orient_", false]], "plot_tet_mesh() (in module lapy.plot)": [[7, "lapy.plot.plot_tet_mesh", false]], "plot_tria_mesh() (in module lapy.plot)": [[7, "lapy.plot.plot_tria_mesh", false]], "poisson() (lapy.solver method)": [[0, "lapy.Solver.poisson", false]], "read_ev() (in module lapy.io)": [[6, "lapy.io.read_ev", false]], "read_fssurf() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_fssurf", false]], "read_gmsh() (lapy.tetmesh class method)": [[1, "lapy.TetMesh.read_gmsh", false]], "read_off() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_off", false]], "read_vfunc() (in module lapy.io)": [[6, "lapy.io.read_vfunc", false]], "read_vtk() (lapy.tetmesh class method)": [[1, "lapy.TetMesh.read_vtk", false]], "read_vtk() (lapy.triamesh class method)": [[2, "lapy.TriaMesh.read_vtk", false]], "refine_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.refine_", false]], "reweight_ev() (in module lapy.shapedna)": [[8, "lapy.shapedna.reweight_ev", false]], "rm_free_vertices_() (lapy.tetmesh method)": [[1, "lapy.TetMesh.rm_free_vertices_", false]], "rm_free_vertices_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.rm_free_vertices_", false]], "smooth_() (lapy.triamesh method)": [[2, "lapy.TriaMesh.smooth_", false]], "smooth_vfunc() (lapy.triamesh method)": [[2, "lapy.TriaMesh.smooth_vfunc", false]], "solver (class in lapy)": [[0, "lapy.Solver", false]], "spherical_conformal_map() (in module lapy.conformal)": [[3, "lapy.conformal.spherical_conformal_map", false]], "stereographic() (in module lapy.conformal)": [[3, "lapy.conformal.stereographic", false]], "tet_compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tet_compute_divergence", false]], "tet_compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tet_compute_gradient", false]], "tetmesh (class in lapy)": [[1, "lapy.TetMesh", false]], "tria_areas() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_areas", false]], "tria_compute_divergence() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_divergence", false]], "tria_compute_divergence2() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_divergence2", false]], "tria_compute_geodesic_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_geodesic_f", false]], "tria_compute_gradient() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_gradient", false]], "tria_compute_rotated_f() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_compute_rotated_f", false]], "tria_mean_curvature_flow() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_mean_curvature_flow", false]], "tria_normals() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_normals", false]], "tria_qualities() (lapy.triamesh method)": [[2, "lapy.TriaMesh.tria_qualities", false]], "tria_spherical_project() (in module lapy.diffgeo)": [[4, "lapy.diffgeo.tria_spherical_project", false]], "triamesh (class in lapy)": [[2, "lapy.TriaMesh", false]], "vertex_areas() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_areas", false]], "vertex_degrees() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_degrees", false]], "vertex_normals() (lapy.triamesh method)": [[2, "lapy.TriaMesh.vertex_normals", false]], "volume() (lapy.triamesh method)": [[2, "lapy.TriaMesh.volume", false]], "write_ev() (in module lapy.io)": [[6, "lapy.io.write_ev", false]], "write_fssurf() (lapy.triamesh method)": [[2, "lapy.TriaMesh.write_fssurf", false]], "write_vfunc() (in module lapy.io)": [[6, "lapy.io.write_vfunc", false]], "write_vtk() (lapy.tetmesh method)": [[1, "lapy.TetMesh.write_vtk", false]], "write_vtk() (lapy.triamesh method)": [[2, "lapy.TriaMesh.write_vtk", false]]}, "objects": {"lapy": [[0, 0, 1, "", "Solver"], [1, 0, 1, "", "TetMesh"], [2, 0, 1, "", "TriaMesh"], [3, 2, 0, "-", "conformal"], [4, 2, 0, "-", "diffgeo"], [5, 2, 0, "-", "heat"], [6, 2, 0, "-", "io"], [7, 2, 0, "-", "plot"], [8, 2, 0, "-", "shapedna"]], "lapy.Solver": [[0, 1, 1, "", "eigs"], [0, 1, 1, "", "fem_tria_mass"], [0, 1, 1, "", "poisson"]], "lapy.TetMesh": [[1, 1, 1, "", "avg_edge_length"], [1, 1, 1, "", "boundary_tria"], [1, 1, 1, "", "construct_adj_sym"], [1, 1, 1, "", "has_free_vertices"], [1, 1, 1, "", "is_oriented"], [1, 1, 1, "", "orient_"], [1, 1, 1, "", "read_gmsh"], [1, 1, 1, "", "read_vtk"], [1, 1, 1, "", "rm_free_vertices_"], [1, 1, 1, "", "write_vtk"]], "lapy.TriaMesh": [[2, 1, 1, "", "area"], [2, 1, 1, "", "avg_edge_length"], [2, 1, 1, "", "boundary_loops"], [2, 1, 1, "", "centroid"], [2, 1, 1, "", "construct_adj_dir_tidx"], [2, 1, 1, "", "curvature"], [2, 1, 1, "", "curvature_tria"], [2, 1, 1, "", "edges"], [2, 1, 1, "", "euler"], [2, 1, 1, "", "has_free_vertices"], [2, 1, 1, "", "is_closed"], [2, 1, 1, "", "is_manifold"], [2, 1, 1, "", "is_oriented"], [2, 1, 1, "", "level_length"], [2, 1, 1, "", "level_path"], [2, 1, 1, "", "map_tfunc_to_vfunc"], [2, 1, 1, "", "map_vfunc_to_tfunc"], [2, 1, 1, "", "normal_offset_"], [2, 1, 1, "", "normalize_"], [2, 1, 1, "", "orient_"], [2, 1, 1, "", "read_fssurf"], [2, 1, 1, "", "read_off"], [2, 1, 1, "", "read_vtk"], [2, 1, 1, "", "refine_"], [2, 1, 1, "", "rm_free_vertices_"], [2, 1, 1, "", "smooth_"], [2, 1, 1, "", "smooth_vfunc"], [2, 1, 1, "", "tria_areas"], [2, 1, 1, "", "tria_normals"], [2, 1, 1, "", "tria_qualities"], [2, 1, 1, "", "vertex_areas"], [2, 1, 1, "", "vertex_degrees"], [2, 1, 1, "", "vertex_normals"], [2, 1, 1, "", "volume"], [2, 1, 1, "", "write_fssurf"], [2, 1, 1, "", "write_vtk"]], "lapy.conformal": [[3, 3, 1, "", "beltrami_coefficient"], [3, 3, 1, "", "inverse_stereographic"], [3, 3, 1, "", "linear_beltrami_solver"], [3, 3, 1, "", "mobius_area_correction_spherical"], [3, 3, 1, "", "spherical_conformal_map"], [3, 3, 1, "", "stereographic"]], "lapy.diffgeo": [[4, 3, 1, "", "compute_divergence"], [4, 3, 1, "", "compute_geodesic_f"], [4, 3, 1, "", "compute_gradient"], [4, 3, 1, "", "compute_rotated_f"], [4, 3, 1, "", "tet_compute_divergence"], [4, 3, 1, "", "tet_compute_gradient"], [4, 3, 1, "", "tria_compute_divergence"], [4, 3, 1, "", "tria_compute_divergence2"], [4, 3, 1, "", "tria_compute_geodesic_f"], [4, 3, 1, "", "tria_compute_gradient"], [4, 3, 1, "", "tria_compute_rotated_f"], [4, 3, 1, "", "tria_mean_curvature_flow"], [4, 3, 1, "", "tria_spherical_project"]], "lapy.heat": [[5, 3, 1, "", "diagonal"], [5, 3, 1, "", "diffusion"], [5, 3, 1, "", "kernel"]], "lapy.io": [[6, 3, 1, "", "read_ev"], [6, 3, 1, "", "read_vfunc"], [6, 3, 1, "", "write_ev"], [6, 3, 1, "", "write_vfunc"]], "lapy.plot": [[7, 3, 1, "", "plot_tet_mesh"], [7, 3, 1, "", "plot_tria_mesh"]], "lapy.shapedna": [[8, 3, 1, "", "compute_distance"], [8, 3, 1, "", "compute_shapedna"], [8, 3, 1, "", "normalize_ev"], [8, 3, 1, "", "reweight_ev"]]}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "module", "Python module"], "3": ["py", "function", "Python function"]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:module", "3": "py:function"}, "terms": {"": [2, 19, 20, 21, 22, 23, 24, 25], "0": [0, 1, 2, 3, 4, 5, 7, 13, 16, 18, 19, 20, 21, 22, 23, 24], "00": [16, 18, 20], "000": [16, 18], "000008": 22, "000013": 22, "0000215": 22, "000024": 22, "000053": 22, "0007233619689941406": 23, "006122589": 22, "01": 20, "012834310531616211": 20, "01651487e": 20, "0165149e": 20, "04": 20, "05": 20, "0543647924813107": 21, "07": 24, "08482051e": 20, "0m": 2, "1": [0, 1, 2, 3, 4, 5, 7, 13, 19, 20, 21, 22, 23, 24], "10": [0, 4, 7, 8, 20, 21, 22, 23, 24], "11": [21, 22, 23, 24], "11448": 19, "12": [21, 22, 23, 24], "13": [4, 22, 23, 24], "1380711874576983": 23, "14": [22, 23, 24], "15": [20, 22, 23, 24], "16": [22, 23, 24], "1696410e": 20, "17": [4, 23, 24], "1704664e": 20, "18": [23, 24], "19": [14, 23, 24], "1990": 2, "1d": 2, "1e": 4, "1j": 3, "2": [0, 1, 2, 3, 4, 5, 7, 8, 19, 20, 21, 22, 23, 24], "20": [23, 24], "200": 7, "2003": 2, "2006": 20, "2012": 4, "2013": 3, "2015": 3, "2020": 3, "21": [14, 23, 24], "22": [14, 23, 24], "23": 23, "24": 23, "24000": [19, 22], "2402": 20, "25": 23, "26": 23, "29662704e": 20, "2d": [3, 8, 20], "2z": 22, "3": [1, 2, 3, 4, 17, 19, 20, 21, 22, 23, 24], "30": 4, "302": 23, "303": 23, "304": 23, "3040": 22, "305": 23, "306": 23, "307": 23, "308": 23, "3120": 19, "34": 23, "39": 24, "39015547e": 20, "3d": [3, 4, 7, 8, 20], "3rd": 3, "4": [1, 2, 3, 7, 19, 20, 21, 22, 23, 24], "40824829": 23, "4099089e": 20, "44402239e": 20, "4440224e": 20, "4800": [19, 20, 22], "48000": [19, 20, 22], "48k": 22, "5": [3, 7, 19, 20, 21, 22, 23, 24], "50": [0, 7, 8, 20, 22], "5000": 22, "5010": 22, "5017845e": 20, "5022799e": 20, "57735027": 23, "6": [3, 4, 19, 20, 21, 22, 23, 24], "6049783": 24, "66666667": 23, "67": 3, "69931495": 22, "7": [2, 3, 19, 20, 21, 22, 23, 24], "7071067811865476": 24, "79": 20, "8": [2, 3, 20, 21, 22, 23, 24], "800": 7, "81649658": 23, "8660254": 23, "8660254037844386": 22, "8897915e": 20, "8898811e": 20, "9": [20, 21, 22, 23, 24], "90": 4, "9261": [19, 20, 22], "94": 3, "94489574e": 20, "9802322e": 24, "9999676": 22, "999975": 22, "999988": 22, "9999948": 22, "999999999999998": 23, "A": [0, 2, 4, 8, 16, 17, 18, 22, 24], "And": [23, 24], "As": 22, "But": [21, 23], "For": [0, 2, 4, 5, 7, 14, 19, 20, 23, 24], "If": [0, 2, 3, 4, 8, 23, 24], "In": [20, 22, 23, 24], "It": [0, 1, 4, 5, 17, 20, 23, 24], "No": 21, "Of": 23, "Or": 24, "That": 2, "The": [0, 1, 2, 7, 19, 20, 23, 24], "Then": 24, "These": 1, "To": [7, 22, 24], "Will": [1, 2], "__name__": 24, "a_max": 0, "a_min": 0, "ab": [22, 24], "about": 21, "abov": [0, 1, 2, 20, 22, 24], "access": 1, "accord": 4, "acm": 2, "across": 2, "actual": 24, "ad": [23, 24], "add": [14, 19], "adj": [1, 2], "adj_dir": [2, 23], "adj_direct": [1, 2], "adj_sym": 2, "adjac": [1, 2, 23], "adjust": [4, 19], "adopt": 3, "affect": [0, 20], "after": [0, 1, 4, 20, 21, 23], "again": [19, 20, 22, 24], "aggreg": 23, "agre": 1, "al": [3, 20], "algorithm": [2, 4], "align": [3, 4], "all": [0, 1, 2, 5, 15, 17, 18, 19, 21, 22, 23, 24], "alliez": 2, "allow": [2, 19, 23], "almost": 17, "along": [2, 4, 22, 23, 24], "alreadi": [2, 20], "also": [2, 4, 5, 6, 19, 20, 21, 22, 23, 24], "an": [0, 1, 2, 3, 8, 17, 20, 22, 23, 24], "analys": 20, "andrea": 14, "angl": [2, 23], "ani": [1, 2, 21, 22, 23], "aniso": [0, 5, 8], "aniso_smooth": [0, 8], "anisotop": [0, 8], "anisotrop": [2, 8], "anisotropi": [0, 8], "anyth": 23, "anywai": 23, "apach": 3, "appl": 2, "appli": [5, 7, 8, 22, 24], "applic": 4, "approxim": 24, "ar": [0, 1, 2, 3, 4, 5, 7, 14, 17, 20, 21, 22, 23, 24], "arbitrari": 24, "area": [0, 2, 3, 4, 20, 23, 24], "argument": 7, "around": [2, 4], "arrai": [0, 1, 2, 3, 4, 5, 6, 7, 8, 20, 21, 22, 23], "array_lik": [1, 2, 3, 6, 7, 8], "associ": [2, 6], "assum": 0, "asymtot": 20, "attach": 24, "attempt": [0, 8, 21], "attribut": 2, "avail": [2, 14, 17], "averag": [1, 2, 5, 21, 23], "avg_edge_length": [1, 2, 21, 23], "ax": [4, 19], "axi": [7, 22], "az": 3, "b": [0, 3, 4, 22, 24], "b0": [22, 24], "back": [1, 4, 23, 24], "background": [4, 7], "background_color": 7, "backward": [5, 24], "bank": 2, "barycent": 4, "base": [0, 8], "bdrtid": 2, "bdrvid": 2, "becaus": 2, "been": [3, 14], "below": [21, 23], "beltrami": [0, 3, 4, 8, 19, 20, 24], "beltrami_coeffici": 3, "berlin": 4, "better": 22, "between": [8, 20], "bi": [22, 24], "block": 7, "bool": [0, 1, 2, 3, 4, 5, 7, 8], "bound": 7, "boundari": [0, 1, 2, 7, 19, 20, 21, 22, 23, 24], "boundary_loop": [2, 23, 24], "boundary_tria": [1, 21, 22], "bracket": 6, "brain": [3, 4], "bruno": 2, "bt": 21, "build": 14, "bvert": [22, 24], "c": [3, 17], "c_gauss": 2, "c_max": 2, "c_maxm": 2, "c_mean": 2, "c_min": 2, "cad": 20, "call": [0, 20, 23, 24], "camelcas": 9, "camera": 7, "can": [0, 1, 2, 3, 4, 5, 6, 7, 8, 17, 19, 20, 21, 22, 23, 24, 25], "cannot": [2, 7, 21], "care": 21, "case": [1, 2, 4, 14, 20, 22, 23], "caxi": [7, 19, 22], "cell": 23, "center": [2, 7, 21], "centroid": 2, "chang": 23, "characterist": [2, 23], "check": [1, 2, 21, 23, 24], "choi": 3, "chol": [22, 24], "choleski": [0, 3, 4, 5, 8, 22, 24], "cholmod": [3, 4, 5, 22, 24], "chosen": 2, "cite": 3, "class": [0, 1, 2, 8, 9, 14], "classmethod": [1, 2], "clockwis": 2, "close": [0, 2, 3, 4, 23, 24], "closer": 24, "cluster": 20, "cnr": 4, "code": [3, 7, 8, 15], "coeffici": 3, "cohen": 2, "col": 5, "color": [7, 19, 22], "colorbar": 7, "column": [0, 2, 3, 5], "com": [3, 17], "combin": 2, "comment": 22, "common": 20, "compar": [8, 20], "comparison": [8, 20], "complain": 23, "complex": 3, "compli": 14, "compon": [1, 22], "comput": [0, 2, 3, 4, 5, 8, 17, 19, 20, 21, 22, 23, 24], "compute_dist": [8, 20], "compute_diverg": [4, 22, 24], "compute_geodesic_f": [4, 22, 24], "compute_gradi": [4, 22, 24], "compute_rotated_f": [4, 24], "compute_shapedna": [8, 20], "computeab": 0, "concav": 0, "conda": 17, "condit": [0, 1], "conform": [9, 17], "connect": [1, 2, 7, 22, 24], "consist": [2, 21, 22, 23], "constant": [0, 2, 4, 19, 22], "construct": [0, 1, 2, 22], "construct_adj_dir_tidx": 2, "construct_adj_sym": 1, "constructor": 0, "contain": [0, 1, 2], "contribut": 2, "convent": 14, "convert": 7, "coordin": [1, 2, 3, 4], "copi": [17, 22, 24], "copyright": 3, "core": [1, 2], "corner": 19, "correct": 21, "correctli": 23, "correspond": [0, 24], "could": [2, 4, 22, 24], "counter": 2, "counterclockwis": [1, 2], "cours": [20, 23], "creat": [0, 1, 2, 22, 23], "criteria": 7, "criterion": 7, "cross": 4, "csc": [1, 2, 22, 24], "csc_matrix": [0, 1, 2], "cube": [19, 20, 21, 22, 23, 24], "cube9": 21, "cubetetra": [19, 20, 22], "cubetria": [19, 20], "current": [0, 8], "curv": [4, 24], "curvatur": [0, 2, 4, 5, 8, 17], "curvature_tria": 2, "cut": [7, 19, 22], "cuvatur": 24, "cycl": 2, "cylind": 0, "cz": 3, "d": [2, 3, 6], "data": [0, 1, 2, 6, 17, 19, 20, 22, 24], "david": 2, "de": 4, "debug": [1, 2, 4], "decomp": [22, 24], "decomposit": [0, 3, 4, 5, 8, 19, 20, 22, 24], "decreas": 7, "deep": 17, "default": [0, 2, 3, 4, 5, 7, 8, 19, 20, 22, 24], "defin": [2, 7, 19, 21, 24], "definit": 0, "deform": 20, "degre": [2, 4, 19, 23], "delet": [1, 2], "delta": 24, "demonstr": 24, "dens": 22, "densiti": 4, "depend": 4, "deprec": 14, "deriv": 22, "desbrun": [2, 4], "describ": [4, 5, 7], "descriptor": [8, 20], "desir": 0, "determin": 2, "devil": 2, "dgd": 4, "diagon": [0, 5, 8, 22, 24], "diametr": 19, "dict": [2, 6, 7, 8, 19], "dictionari": [6, 8], "dier": 14, "differenti": [0, 4, 17], "diffgeo": [9, 14, 22, 24], "diffus": [5, 22, 24], "dimens": [7, 19], "dimension": 20, "direct": [0, 2, 7, 21, 23], "directli": [14, 22], "dirichlet": 0, "disk": 19, "displai": 7, "dissimilar": 8, "dist": 8, "distanc": [2, 4, 8, 20, 22, 24], "distort": 3, "distribut": 3, "div": 24, "diverg": [4, 17, 22, 24], "divid": 23, "divx": [22, 24], "divx2": 22, "do": [0, 20, 22, 23], "docstr": 14, "document": 14, "doe": 24, "dof": 19, "domain": [4, 7], "don": [21, 24], "done": [2, 4, 19, 20, 22], "dot": 4, "download": 15, "draw": 17, "drop": [2, 23], "dtup": 0, "dtype": [20, 22], "due": 24, "dure": [0, 4], "e": [0, 1, 2, 6, 7, 20, 21], "e1": 2, "e2": 2, "e3": 2, "e_ij": 4, "each": [1, 2, 4, 7, 22, 23], "earlier": 24, "easi": [22, 24], "easili": [23, 24], "edg": [1, 2, 4, 5, 7, 21, 23], "edge_color": [7, 22], "edu": 3, "effici": [1, 2, 17], "ei": 2, "eig": [0, 19, 22, 24], "eigenfunct": [4, 8, 19, 22, 24], "eigenvalu": [0, 5, 6, 8, 19, 20, 22, 24], "eigenvector": [0, 5, 6, 8, 19, 20], "either": [0, 8], "element": [0, 4, 7, 19, 24], "els": [22, 24], "embed": 4, "emploi": 24, "empti": [0, 2], "enclos": [2, 23], "end": 2, "endpoint": 2, "enough": 4, "ensur": 1, "enter": 4, "entri": [2, 23, 24], "equal": [4, 5, 20, 22, 23, 24], "equat": [0, 4, 17, 22, 23, 24], "equidist": 2, "equilater": [2, 23], "equival": 2, "error": [0, 8, 23], "estim": [4, 17], "et": [3, 20], "etc": [4, 14], "euc": 8, "euclidean": [8, 20], "euler": [2, 4, 5, 23], "ev": [6, 8, 19, 20], "ev1": 8, "ev2": 8, "eval": [5, 8, 19, 22, 24], "eval_j": 5, "evdict": 19, "evec": [5, 19, 22, 24], "evec_j": 5, "evecsnum": 5, "even": 0, "evenli": [22, 24], "everi": 19, "everyth": 2, "evnum": 22, "evolut": 5, "evtet": 20, "exactli": 2, "exampl": [2, 14, 15, 16, 18, 21, 23, 25], "examples_python": 15, "except": [22, 24], "execut": [0, 8, 16, 18], "exist": 23, "exp": 5, "explor": 22, "export_png": 7, "extend": 14, "extern": 0, "extract": [2, 21], "extrema": 19, "ey": 7, "f": [3, 4, 7, 19, 24], "f_h": 4, "f_i": 4, "f_j": 4, "f_k": 4, "face": [4, 7], "fact": 22, "factor": [5, 7, 24], "fail": [2, 21, 23], "fals": [0, 2, 3, 4, 5, 7, 8, 19, 21, 22, 23, 24], "far": 23, "fast": 3, "faster": [0, 2], "fcol": 22, "fem": [0, 1, 2, 17, 19, 22, 23, 24], "fem_tria_mass": 0, "femlab": 2, "few": [23, 24], "field": [4, 8, 24], "figur": 2, "file": [1, 2, 6, 7, 14, 16, 18, 22, 23, 24], "filenam": [1, 2, 6], "final": [2, 4, 22, 23, 24], "find": [2, 3, 20, 24, 25], "finit": 0, "first": [0, 2, 4, 5, 6, 8, 19, 20, 21, 22, 23, 24], "fix": [3, 4, 5, 14, 23], "flash": 3, "flat": 24, "flatshad": [7, 22], "flip": [2, 4, 19, 21, 22, 23], "float": [0, 1, 2, 4, 5, 7, 8], "float32": [20, 22, 24], "float64": [22, 24], "flood": [2, 20, 23], "flow": [4, 17, 24], "flow_it": 4, "flux": 4, "follow": 3, "forg": 17, "format": [2, 6, 19, 20, 22, 24], "formula": 2, "found": [0, 2, 8, 17, 19, 20, 21, 22], "frac": 3, "free": [1, 2, 21, 23], "freesurf": [2, 4], "from": [1, 2, 3, 4, 5, 6, 8, 14, 16, 18, 19, 20, 21, 22, 23, 24], "frontier": 2, "fsinfo": 2, "full": [17, 20], "funcio": 14, "function": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 14, 17, 19, 21, 22, 23, 24, 25], "further": 17, "g": [0, 1, 2, 7, 20, 21], "galleri": [15, 18], "gari": 3, "garyptchoi": 3, "gauss": 2, "ge": 4, "gener": [15, 16], "genu": 3, "geodes": [4, 17, 25], "geom": [4, 8], "geometr": [5, 20], "geometri": [0, 2, 4, 5, 8, 17, 20], "get": [1, 2, 4, 21, 22, 23, 24], "get_tria_idx": 2, "get_vertex_norm": 2, "getformat": [22, 24], "gf": 24, "girodi": 14, "git": 17, "github": [3, 17], "give": [7, 24], "given": [0, 5], "glength": 22, "global": 2, "gmsh": 1, "good": 4, "grad": [4, 22, 24], "gradient": [4, 7, 17, 22, 24], "graph": 2, "graphic": 2, "greatli": 14, "group": 9, "gt": [19, 20, 22, 23], "gu": 22, "h": [0, 5, 22, 24], "ha": [0, 1, 2, 3, 21, 22, 23, 24], "had": 24, "half": [2, 23], "hand": 0, "happen": [20, 23, 24], "harmon": 3, "has_free_vertic": [1, 2, 21, 23], "have": [0, 1, 2, 4, 6, 14, 20, 21, 23, 24], "header": 2, "heat": [4, 9, 17, 22, 24], "height": 7, "help": 3, "here": [2, 19, 22, 23, 24, 25], "heron": 2, "higher": 20, "highlight": 25, "how": [19, 20, 23], "howev": 23, "html": 7, "html_output": [7, 22], "http": [3, 4, 17], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 17, 19, 20, 21, 22, 23, 24], "id": [2, 5], "idea": [4, 24], "idx": 2, "ignor": 2, "imag": [3, 7], "imati": 4, "img": 3, "implement": [0, 1, 2], "import": [1, 2, 6, 7, 14, 19, 20, 21, 22, 23, 24], "import_ev": 14, "import_off": 24, "import_vfunc": 14, "importerror": [22, 24], "improv": [0, 3, 8], "includ": [1, 4, 8, 17], "increas": [7, 20], "independ": 20, "index": [0, 2, 5], "indic": [1, 2, 3, 5, 23], "influenc": 20, "info": 2, "inform": [1, 6], "init_notebook_mod": [7, 22, 24], "initi": [5, 14, 22, 23], "inner": [1, 2, 23, 24], "input": [0, 5, 6, 7], "insid": [6, 19, 23], "instead": [2, 21, 22, 24], "int": [0, 1, 2, 4, 5, 7, 8], "int64": 22, "integr": [2, 4, 24], "interfac": 4, "interior": [7, 22], "intern": [1, 2], "intrins": 20, "inv": [22, 24], "invers": [3, 22, 24], "inverse_stereograph": 3, "invert": 4, "inward": 23, "io": [9, 14, 17, 19, 22, 24], "is_clos": [2, 23], "is_manifold": [2, 23], "is_ori": [1, 2, 21, 22, 23], "isometr": 20, "isotrop": 0, "issu": 14, "iter": [0, 2, 4, 5, 8, 20, 23], "its": [2, 7, 24], "itself": 20, "j": 23, "journal": [3, 20], "just": 24, "juypter": 7, "k": [0, 3, 5, 8, 19, 20], "k_t": 5, "kazhdan": 4, "keep": [2, 4, 19, 21, 23, 24], "kept": [1, 2], "kernel": 5, "kersten": 14, "keyword": 6, "l": [3, 5], "lam": 3, "lambda": [0, 24], "landmark": 3, "lapi": [9, 14, 19, 20, 21, 22, 23, 24, 25], "laplac": [0, 1, 2, 4, 8, 17, 19, 20], "larg": 0, "larger": [1, 19], "last": 23, "later": 23, "least": 23, "leav": 4, "len": 19, "length": [0, 1, 2, 5, 21, 22, 23, 24], "let": [19, 20, 21, 22, 23, 24], "level": [2, 4, 7, 14, 22, 24], "level_length": 2, "level_path": 2, "levelset": 2, "levi": 2, "librari": [0, 8], "licens": 3, "like": 2, "linalg": [22, 24], "line": [6, 23], "linear": [0, 3, 8, 20], "linear_beltrami_solv": 3, "linearli": 20, "list": [1, 2, 6, 7], "littl": 22, "livesu": 4, "load": [1, 2, 6, 14, 19, 20, 21, 24], "local": [7, 19], "look": [1, 2, 19, 22, 23, 24], "lookup": 2, "loop": [2, 17, 23], "low": 23, "lower": [7, 14], "lu": [0, 3, 4, 5, 8, 19, 20, 22, 24], "lui": 3, "lump": [0, 2, 8, 22, 24], "m": [2, 3, 5, 22, 24], "made": 4, "mai": [1, 4], "mainli": 23, "make": 22, "mancinelli": 4, "mani": [23, 24], "manifold": [2, 23], "manual": 22, "map": [2, 3, 4, 17, 23], "map_mobiu": 3, "map_tfunc_to_vfunc": 2, "map_vfunc_to_tfunc": 2, "martin": 14, "mass": [0, 2, 4, 8, 22, 24], "massag": 24, "math": [2, 3], "mathieu": [2, 14], "matlab": 3, "matric": [0, 1, 2], "matrix": [0, 1, 2, 4, 5, 8, 22, 23, 24], "max": [1, 2, 22, 23, 24], "max_it": 4, "maxim": [2, 4], "maximum": 0, "mb": [16, 18], "mean": [2, 4, 17, 23], "mean_curvature_flow": 4, "meaning": 20, "measur": [2, 4, 8, 23], "mehs": 14, "mem": [16, 18], "member": [0, 14], "mesh": [0, 1, 2, 3, 4, 5, 7, 8, 9, 14, 17, 20, 22, 24, 25], "method": [0, 1, 2, 3, 8, 17, 20], "mi": 17, "midpoint": 2, "min": [2, 22, 24], "minim": 2, "minimum": [0, 24], "minu": 2, "mit": [3, 17], "mlp18": 4, "mobiu": 3, "mobius_area_correction_spher": 3, "modifi": 2, "modul": [4, 9, 14], "more": [1, 2, 7, 20, 22, 23], "most": 23, "move": 2, "mu": 3, "much": 2, "multipl": [1, 5], "multipli": [4, 22, 24], "must": 0, "n": [0, 2, 3, 4, 5, 16, 18, 20], "n_point": 2, "n_tria_oposite_v": 4, "n_triangl": 2, "name": [9, 14], "nan_to_num": [22, 24], "necessari": [4, 24], "need": [0, 1, 2, 21, 22, 24], "neg": 2, "neighbor": [2, 21], "neumann": 0, "new": [2, 3], "newaxi": [22, 24], "next": [19, 21, 22, 24], "nibabel": 2, "nice": 24, "no_displai": 7, "node": 21, "nois": 20, "non": [1, 2, 4, 19, 22, 23], "none": [0, 1, 2, 5, 7, 8, 19, 22], "normal": [2, 4, 7, 8, 20, 21, 22, 23, 24], "normal_offset": 2, "normal_offset_": [2, 23], "normalize_": 2, "normalize_ev": [8, 20], "note": [0, 1, 2, 4, 20, 21, 23, 24], "notebook": [7, 25], "noth": [20, 22], "notic": 24, "now": [20, 21, 22, 23, 24], "np": [22, 23, 24], "ntup": 0, "number": [0, 1, 2, 3, 4, 5, 8, 23], "numer": 23, "numew": 19, "numexpr": 4, "numpi": [14, 22, 23, 24], "object": [1, 5, 7, 8, 19, 20], "obtain": [0, 20, 22, 23, 24], "off": [2, 24], "offlin": [7, 22, 24], "offset": 23, "ok": 23, "olivi": 2, "onc": 23, "one": [2, 7, 23], "ones": [4, 23], "onli": [0, 1, 2, 4, 5, 7, 8, 20, 23, 24], "onto": [2, 4], "onum": 1, "open": [17, 19, 22], "oper": [0, 2, 4, 24], "oppos": 19, "opposit": [2, 21], "optim": [3, 22, 24], "option": [1, 6], "order": [1, 2, 20, 21], "ored": 23, "orient": [1, 2, 21, 22, 23], "orient_": [1, 2, 21, 22, 23], "origin": [1, 2, 4, 24], "orthgon": 4, "orthogon": 2, "other": [20, 22], "our": [19, 21, 22, 23, 24], "ourselv": 24, "out": 7, "outer": 4, "output": 7, "outsid": 2, "outward": 23, "over": 24, "overlai": [7, 19, 24], "own": 3, "p": [3, 5], "packag": 17, "pair": 2, "paper": [3, 4], "parallel": 2, "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8], "parameter": 3, "parent": 2, "partial": 22, "pass": 5, "path": [2, 7], "pca": 20, "pdf": 4, "pep8": 14, "per": [3, 4], "perform": [8, 20, 22, 24], "piecewis": 24, "pierr": 2, "pio": [19, 22, 24], "pip": 17, "place": 2, "planar": 3, "plane": [2, 3], "pleas": 3, "plot": [9, 14, 17, 19, 22, 24], "plot_edg": [7, 22, 24], "plot_level": [7, 22, 24], "plot_tet_mesh": [7, 19, 22], "plot_tria_mesh": [7, 19, 24], "plotli": [7, 19, 22, 24], "pltmg": 2, "plu": 2, "point": [2, 4, 5, 21, 23, 24], "poisson": [0, 4, 17, 22, 24], "polygon": 2, "pose": 20, "posit": [0, 5, 23], "possibl": 0, "postur": 20, "potenti": 1, "pp": 3, "practic": 20, "print": [4, 22, 23, 24], "probabl": 20, "problem": [0, 1, 2, 8, 22], "produc": [1, 2], "product": [4, 24], "project": [2, 3, 4, 20], "properti": [23, 24], "provid": 1, "psol": 6, "ptchoi": 3, "pui": 3, "puppo": 4, "pure": 17, "purpos": 21, "px": 7, "py": 23, "pypi": 17, "python": [7, 15, 17], "q": [2, 5, 24], "qualiti": [2, 23, 24], "r": 2, "rais": [4, 23], "rang": 7, "re": [1, 2, 8, 20], "read": [1, 2, 4, 6], "read_": 14, "read_ev": 6, "read_fssurf": 2, "read_gmsh": 1, "read_off": [2, 24], "read_vfunc": 6, "read_vtk": [1, 2, 14, 19, 20, 22], "real": 3, "recent": 23, "reduc": [3, 20, 22, 24], "refin": [2, 19, 23], "refine_": [2, 23], "region": [0, 24], "regular": [19, 20, 22, 24], "remain": 22, "remesh": 2, "remov": [1, 2, 21, 22, 23, 24], "render": [19, 22, 23, 24], "repeat": [20, 21], "replic": 24, "repres": [0, 1, 2, 3, 7, 20, 21, 23, 24], "requir": [0, 8, 23], "resampl": 2, "resolut": 7, "result": [3, 7, 19, 20, 22, 23, 24], "return": [0, 1, 2, 3, 4, 5, 6, 8, 23], "reuter": [14, 20], "reweight": 20, "reweight_ev": [8, 20], "rgb": [7, 22], "right": [0, 24], "ring": [2, 4], "rm_free_vertices_": [1, 2, 21, 23], "rotat": [4, 24], "row": 5, "run": [5, 22], "sacrif": 17, "same": [0, 1, 2, 20, 22, 23, 24], "save": [1, 2, 6, 19], "scalar": [2, 4, 7, 22], "scale": [0, 7, 19, 22, 24], "scale_png": 7, "scheltienn": 14, "scienc": 3, "scikit": [0, 3, 4, 5, 8], "scipi": [1, 2, 22, 24], "search": [20, 23], "sec": [20, 23], "second": [2, 8], "see": [2, 4, 8, 19, 20, 21, 22, 23, 24], "seem": 1, "segment": 2, "select": 5, "self": 23, "semi": 0, "separ": 6, "servic": 4, "set": [0, 2, 4, 7, 8, 22, 24], "shape": [0, 2, 3, 4, 5, 7, 8, 20], "shapedna": [6, 9, 17, 25], "shift": [22, 23, 24], "short": [23, 24], "should": [0, 2, 3, 4, 21, 22, 23, 24], "show": [19, 20, 24], "showcaxi": [7, 19], "siam": 3, "side": 0, "sign": 2, "similar": [2, 22, 23, 24], "simpli": [22, 24], "simplic": 24, "simplifi": [14, 24], "sinc": [20, 23], "singl": [2, 4], "singular": 4, "situat": 23, "size": [4, 22], "skspars": [22, 24], "slice": 22, "sliver": 23, "slower": [0, 8], "small": [20, 21], "smaller": [0, 5, 23], "smallest": 5, "smooth": [0, 2, 5, 7, 8, 24], "smooth_": 2, "smooth_vfunc": 2, "smoothit": 2, "so": [1, 2, 21, 22, 23, 24], "softwar": 23, "solid": [19, 20, 23], "solut": [0, 5, 6, 24], "solv": [4, 8, 22, 23, 24], "solver": [3, 4, 5, 8, 9, 14, 17, 19, 20, 22, 24], "some": [1, 4, 19, 20, 21, 23, 24, 25], "sort": 8, "sourc": [15, 17], "space": [20, 22, 24], "spars": [0, 1, 2, 3, 4, 5, 8, 17, 22, 23, 24], "special": 4, "spectra": [6, 8, 17, 20], "spectral": 4, "spectrum": 0, "speed": [0, 4, 8, 17], "sphere": [2, 3, 4, 24], "spheric": [3, 23], "spherical_conformal_map": 3, "sphinx": 15, "sphinx_galleri": [19, 22, 24], "split": 4, "splu": [22, 24], "spsolv": [3, 4, 5, 19, 20, 22, 24], "sqrt": [2, 22, 24], "squar": [22, 24], "standard": 24, "start": [2, 24], "static": [0, 1, 2], "steeper": 24, "steiner": 2, "step": [4, 20, 21, 24], "stereograph": 3, "stiff": [0, 4, 22, 24], "still": [14, 24], "stop": 4, "stop_ep": 4, "store": 2, "str": [1, 2, 6, 7, 8], "structur": [1, 2, 6, 17], "subdivid": 23, "subtract": 24, "sum": [0, 2, 4, 22, 23, 24], "sum_j": 5, "sure": 22, "surfac": [0, 2, 3, 4, 8, 20, 21, 23], "surround": 6, "symmetr": [0, 1, 2], "t": [1, 2, 3, 5, 19, 20, 21, 22, 23, 24], "t0": 1, "t1": 1, "t2": [1, 24], "t3": 1, "take": 22, "target": 3, "tbdr": 23, "tcolor": 7, "test": [21, 22, 24], "tet": [1, 4, 5, 7, 20, 21], "tet_compute_diverg": 4, "tet_compute_gradi": 4, "tetfunc": 1, "tetio": 14, "tetmesh": [0, 4, 5, 7, 8, 9, 14, 19, 20, 21, 25], "tetra": [1, 4, 7, 19], "tetrahedon": 22, "tetrahedr": [1, 4, 8, 20, 23, 25], "tetrahedra": [1, 2, 17, 19, 21, 22], "tetrahedron": [1, 4, 21, 22], "tetraher": [0, 1, 4, 7], "tetrahera": 1, "tfunc": [2, 4, 7, 22, 24], "than": [0, 1, 2, 19, 23], "thei": [1, 2, 4, 23, 24], "them": 20, "themat": 9, "therefor": 23, "thi": [0, 1, 2, 3, 4, 7, 9, 14, 19, 20, 21, 22, 23, 24], "those": [0, 21], "three": [2, 3, 4, 19, 20], "threshold": 4, "through": 24, "thrown": [0, 8], "thu": 2, "tic_color": 7, "tick": 7, "tid": 2, "time": [4, 5, 24], "too": 24, "top": [1, 14, 19], "topologi": 23, "toru": 2, "total": [2, 16, 18, 23, 24], "totalarea": 2, "traceback": 23, "track": 2, "transact": 2, "transfer": 1, "transform": 3, "translat": 4, "trend": 20, "tria": [0, 1, 2, 3, 4, 5, 7, 19, 20, 22, 23], "tria_area": [2, 23], "tria_compute_diverg": 4, "tria_compute_divergence2": 4, "tria_compute_geodesic_f": 4, "tria_compute_gradi": 4, "tria_compute_rotated_f": 4, "tria_idx": 2, "tria_mean_curvature_flow": [4, 24], "tria_mesh": 23, "tria_norm": [2, 23], "tria_qual": [2, 23, 24], "tria_spherical_project": 4, "triafunc": 1, "triaio": [14, 24], "triamesh": [0, 1, 3, 4, 5, 7, 8, 9, 14, 19, 20, 23, 25], "triangl": [0, 1, 2, 3, 4, 7, 8, 14, 17, 20, 21, 22, 24, 25], "trivial": 20, "true": [0, 1, 2, 3, 4, 5, 7, 8, 19, 21, 22, 23, 24], "try": [22, 24], "tu": 4, "tung": 3, "tupl": [0, 2, 7, 8], "tutori": [19, 20], "twelv": 21, "two": [3, 4, 8, 19, 20, 23, 24], "txt": [2, 6], "type": [4, 24], "u": [3, 22, 24], "u_max": 2, "u_min": 2, "uncom": [22, 24], "under": 17, "underscore_cas": 9, "uniform": 21, "uniqu": [2, 22], "unit": [2, 4, 20, 24], "unknown": 4, "unstabl": 23, "until": [1, 23], "unus": [1, 2], "up": [4, 7, 22], "updat": [1, 2, 3], "upon": 17, "upper": 7, "us": [0, 1, 2, 3, 4, 5, 7, 8, 14, 20, 21, 23, 24], "use_cholmod": [0, 3, 4, 5, 8], "usecholmod": [22, 24], "usual": [1, 20, 23], "v": [1, 2, 3, 4, 19, 20, 22, 23], "v0": [1, 23], "v1": [1, 23], "v1func": 22, "v2": 1, "v3": 1, "v_h": 4, "v_i": 4, "v_j": 4, "v_k": 4, "val": [5, 6], "valu": [0, 1, 2, 4, 5, 6, 22], "valueerror": [4, 23], "varea": 2, "variou": 2, "vcolor": 7, "vdeg": 2, "vdel": [1, 2], "vec": 4, "vector": [2, 4, 5, 7, 8, 17, 20, 22, 24], "veri": 23, "verifi": 24, "version": [4, 13, 22, 24], "vertex": [0, 1, 2, 3, 4, 5, 6, 7, 19, 21, 22, 23, 24], "vertex_area": [2, 23], "vertex_degre": [2, 23], "vertex_norm": [2, 23], "vertic": [0, 1, 2, 4, 5, 7, 8, 19, 21, 23, 24], "vf": 24, "vfix": 5, "vfunc": [2, 4, 5, 6, 7, 19, 22, 24], "via": [0, 2, 3, 20], "vid": [2, 5], "view": 7, "vismathws10": 4, "visual": [7, 20, 25], "vkeep": [1, 2], "vnum": [2, 5], "vol": [2, 3], "volum": [2, 4, 8, 20, 21, 23], "vtk": [1, 2, 14, 19, 20, 22], "wa": [2, 23], "wai": [2, 24], "want": [1, 4, 22], "we": [1, 2, 4, 19, 20, 21, 22, 23, 24], "weigh": 2, "weight": [2, 8, 20, 23], "well": 8, "what": [1, 2, 24], "when": [0, 1, 2, 4, 20, 21, 22, 23, 24], "where": [0, 2, 3, 4, 5, 7, 19, 24], "whether": [1, 2, 7], "which": [0, 2, 3, 4, 5, 7, 20, 22, 23, 24], "while": 22, "whole": 24, "whose": 4, "width": 7, "with_boundari": 2, "without": 17, "won": 23, "wordpress": 4, "work": [1, 2, 3, 4, 23, 24], "would": 2, "wrap": 2, "write": [6, 7, 14], "write_": 14, "write_ev": [6, 19], "write_fssurf": 2, "write_vfunc": 6, "write_vtk": [1, 2], "written": 17, "wrong": 2, "x": [0, 2, 3, 5, 7, 22, 24], "xrang": [7, 19], "y": [7, 22, 24], "yet": 4, "yield": [2, 20, 22, 24], "you": [3, 4, 19, 20, 22, 25], "your": [3, 24], "yrang": [7, 19], "z": [3, 7, 22], "zero": [3, 4, 20, 23], "zip": 15, "zrang": [7, 19]}, "titles": ["lapy.Solver", "lapy.TetMesh", "lapy.TriaMesh", "lapy.conformal", "lapy.diffgeo", "lapy.heat", "lapy.io", "lapy.plot", "lapy.shapedna", "API References", "Meshes", "Modules", "Solver", "Changelog", "Version 1.0", "Tutorials", "Computation times", "LaPy", "Computation times", "Visualization", "ShapeDNA", "Tetrahedral Mesh", "TetMesh Geodesics", "Triangle Mesh", "TriaMesh Geodesics", "Tutorials"], "titleterms": {"0": 14, "1": 14, "api": [9, 14], "author": 14, "bug": 14, "chang": 14, "changelog": 13, "comput": [16, 18], "conform": 3, "curvatur": 24, "diffgeo": 4, "enhanc": 14, "geodes": [22, 24], "heat": 5, "instal": 17, "io": 6, "lapi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 17], "laplac": [22, 24], "licens": 17, "map": 24, "mean": 24, "mesh": [10, 19, 21, 23], "modul": 11, "note": 3, "plot": 7, "refer": 9, "shapedna": [8, 20], "solver": [0, 12], "tetmesh": [1, 22], "tetrahedr": [19, 21], "time": [16, 18], "triamesh": [2, 24], "triangl": [19, 23], "tutori": [15, 25], "version": 14, "visual": 19}}) \ No newline at end of file diff --git a/dev/tutorials/examples/Test_Plot.html b/dev/tutorials/examples/Test_Plot.html index adc9a05..58aa5dd 100644 --- a/dev/tutorials/examples/Test_Plot.html +++ b/dev/tutorials/examples/Test_Plot.html @@ -349,7 +349,7 @@

Triangle Mesh
-
+

We can also adjust the axes and add a color scale.

@@ -373,7 +373,7 @@

Triangle Mesh
-

+
@@ -442,7 +442,7 @@

Tetrahedral Mesh
-
+

The plot function allows cutting the solid object open (here we keep every vertex where the function is larger than 0).

@@ -476,7 +476,7 @@

Tetrahedral Mesh
-

+

diff --git a/dev/tutorials/examples/Test_Plot.ipynb b/dev/tutorials/examples/Test_Plot.ipynb index f87e092..7d9dec2 100644 --- a/dev/tutorials/examples/Test_Plot.ipynb +++ b/dev/tutorials/examples/Test_Plot.ipynb @@ -19,10 +19,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:27.993660Z", - "iopub.status.busy": "2025-01-17T17:19:27.993454Z", - "iopub.status.idle": "2025-01-17T17:19:28.320823Z", - "shell.execute_reply": "2025-01-17T17:19:28.320203Z" + "iopub.execute_input": "2025-01-17T17:25:26.670373Z", + "iopub.status.busy": "2025-01-17T17:25:26.669904Z", + "iopub.status.idle": "2025-01-17T17:25:26.986607Z", + "shell.execute_reply": "2025-01-17T17:25:26.985882Z" } }, "outputs": [], @@ -46,10 +46,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:28.323000Z", - "iopub.status.busy": "2025-01-17T17:19:28.322787Z", - "iopub.status.idle": "2025-01-17T17:19:28.360844Z", - "shell.execute_reply": "2025-01-17T17:19:28.358053Z" + "iopub.execute_input": "2025-01-17T17:25:26.989166Z", + "iopub.status.busy": "2025-01-17T17:25:26.988913Z", + "iopub.status.idle": "2025-01-17T17:25:27.029289Z", + "shell.execute_reply": "2025-01-17T17:25:27.028365Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:28.406226Z", - "iopub.status.busy": "2025-01-17T17:19:28.405031Z", - "iopub.status.idle": "2025-01-17T17:19:28.674330Z", - "shell.execute_reply": "2025-01-17T17:19:28.673593Z" + "iopub.execute_input": "2025-01-17T17:25:27.106419Z", + "iopub.status.busy": "2025-01-17T17:25:27.106124Z", + "iopub.status.idle": "2025-01-17T17:25:27.376357Z", + "shell.execute_reply": "2025-01-17T17:25:27.375621Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -132,10 +132,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:28.676978Z", - "iopub.status.busy": "2025-01-17T17:19:28.676626Z", - "iopub.status.idle": "2025-01-17T17:19:28.799927Z", - "shell.execute_reply": "2025-01-17T17:19:28.799270Z" + "iopub.execute_input": "2025-01-17T17:25:27.379051Z", + "iopub.status.busy": "2025-01-17T17:25:27.378538Z", + "iopub.status.idle": "2025-01-17T17:25:27.499762Z", + "shell.execute_reply": "2025-01-17T17:25:27.499089Z" } }, "outputs": [ @@ -143,7 +143,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -181,10 +181,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:28.802025Z", - "iopub.status.busy": "2025-01-17T17:19:28.801822Z", - "iopub.status.idle": "2025-01-17T17:19:29.370166Z", - "shell.execute_reply": "2025-01-17T17:19:29.369505Z" + "iopub.execute_input": "2025-01-17T17:25:27.502245Z", + "iopub.status.busy": "2025-01-17T17:25:27.502046Z", + "iopub.status.idle": "2025-01-17T17:25:28.054593Z", + "shell.execute_reply": "2025-01-17T17:25:28.053928Z" } }, "outputs": [ @@ -228,10 +228,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:29.372831Z", - "iopub.status.busy": "2025-01-17T17:19:29.372343Z", - "iopub.status.idle": "2025-01-17T17:19:29.760137Z", - "shell.execute_reply": "2025-01-17T17:19:29.759451Z" + "iopub.execute_input": "2025-01-17T17:25:28.057371Z", + "iopub.status.busy": "2025-01-17T17:25:28.056901Z", + "iopub.status.idle": "2025-01-17T17:25:28.442961Z", + "shell.execute_reply": "2025-01-17T17:25:28.442228Z" } }, "outputs": [ @@ -247,7 +247,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -278,10 +278,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:29.766224Z", - "iopub.status.busy": "2025-01-17T17:19:29.765741Z", - "iopub.status.idle": "2025-01-17T17:19:30.074509Z", - "shell.execute_reply": "2025-01-17T17:19:30.073794Z" + "iopub.execute_input": "2025-01-17T17:25:28.449118Z", + "iopub.status.busy": "2025-01-17T17:25:28.448686Z", + "iopub.status.idle": "2025-01-17T17:25:28.762470Z", + "shell.execute_reply": "2025-01-17T17:25:28.761750Z" } }, "outputs": [ @@ -297,7 +297,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, diff --git a/dev/tutorials/examples/Test_TetMesh_Geodesics.html b/dev/tutorials/examples/Test_TetMesh_Geodesics.html index d461a2e..4644654 100644 --- a/dev/tutorials/examples/Test_TetMesh_Geodesics.html +++ b/dev/tutorials/examples/Test_TetMesh_Geodesics.html @@ -402,7 +402,7 @@

Laplace
-
+

Similar to the triangle case, computing the - divergence of the gradient of an eigenfunctions (and multiplying with inv(B)) yields a scaled version of that function.

-
+

In fact, it is scaled by the eigenvalue.

@@ -515,7 +515,7 @@

Geodesics
-

+

You can see that we get level sets that are not evenly spaced and dense along the boundary. Next we compute the gradient of this heat diffusion, normalize it, and compute the divergence of this normalized gradient.

@@ -608,7 +608,7 @@

Geodesics
-

+
[12]:
@@ -670,7 +670,7 @@ 

Geodesics
-

+

Finally, we want to explore the gradient and divergence functions a little more. Here we construct the gradient of a function that computes the squared distance to each vertex (x2+y2+z^2). As the color of each tetrahedon we set the z component of the gradient which should be 2z (or you could try any other value, such as the gradient length).

@@ -713,7 +713,7 @@

Geodesics
-

+

Now let’s look at the divergence. While the gradient is constant for each tetrahedron, the divergence is a scalar function again, summing up the partial derivatives of the gradient components. In our case it should be 2+2+2=6.

@@ -751,7 +751,7 @@

Geodesics
-

+
[16]:
diff --git a/dev/tutorials/examples/Test_TetMesh_Geodesics.ipynb b/dev/tutorials/examples/Test_TetMesh_Geodesics.ipynb
index 1db96f3..55c5646 100644
--- a/dev/tutorials/examples/Test_TetMesh_Geodesics.ipynb
+++ b/dev/tutorials/examples/Test_TetMesh_Geodesics.ipynb
@@ -12,10 +12,10 @@
    "execution_count": 1,
    "metadata": {
     "execution": {
-     "iopub.execute_input": "2025-01-17T17:19:33.267224Z",
-     "iopub.status.busy": "2025-01-17T17:19:33.266976Z",
-     "iopub.status.idle": "2025-01-17T17:19:33.582390Z",
-     "shell.execute_reply": "2025-01-17T17:19:33.581777Z"
+     "iopub.execute_input": "2025-01-17T17:25:31.843283Z",
+     "iopub.status.busy": "2025-01-17T17:25:31.843085Z",
+     "iopub.status.idle": "2025-01-17T17:25:32.146127Z",
+     "shell.execute_reply": "2025-01-17T17:25:32.145336Z"
     }
    },
    "outputs": [],
@@ -44,10 +44,10 @@
    "execution_count": 2,
    "metadata": {
     "execution": {
-     "iopub.execute_input": "2025-01-17T17:19:33.584884Z",
-     "iopub.status.busy": "2025-01-17T17:19:33.584650Z",
-     "iopub.status.idle": "2025-01-17T17:19:33.664079Z",
-     "shell.execute_reply": "2025-01-17T17:19:33.663389Z"
+     "iopub.execute_input": "2025-01-17T17:25:32.148388Z",
+     "iopub.status.busy": "2025-01-17T17:25:32.148188Z",
+     "iopub.status.idle": "2025-01-17T17:25:32.226812Z",
+     "shell.execute_reply": "2025-01-17T17:25:32.226190Z"
     }
    },
    "outputs": [
@@ -97,10 +97,10 @@
    "execution_count": 3,
    "metadata": {
     "execution": {
-     "iopub.execute_input": "2025-01-17T17:19:33.666276Z",
-     "iopub.status.busy": "2025-01-17T17:19:33.665899Z",
-     "iopub.status.idle": "2025-01-17T17:19:34.218294Z",
-     "shell.execute_reply": "2025-01-17T17:19:34.217615Z"
+     "iopub.execute_input": "2025-01-17T17:25:32.228867Z",
+     "iopub.status.busy": "2025-01-17T17:25:32.228671Z",
+     "iopub.status.idle": "2025-01-17T17:25:32.792527Z",
+     "shell.execute_reply": "2025-01-17T17:25:32.791873Z"
     }
    },
    "outputs": [
@@ -133,10 +133,10 @@
    "execution_count": 4,
    "metadata": {
     "execution": {
-     "iopub.execute_input": "2025-01-17T17:19:34.221722Z",
-     "iopub.status.busy": "2025-01-17T17:19:34.221447Z",
-     "iopub.status.idle": "2025-01-17T17:19:34.226109Z",
-     "shell.execute_reply": "2025-01-17T17:19:34.225486Z"
+     "iopub.execute_input": "2025-01-17T17:25:32.795779Z",
+     "iopub.status.busy": "2025-01-17T17:25:32.795505Z",
+     "iopub.status.idle": "2025-01-17T17:25:32.800138Z",
+     "shell.execute_reply": "2025-01-17T17:25:32.799498Z"
     }
    },
    "outputs": [],
@@ -152,10 +152,10 @@
    "execution_count": 5,
    "metadata": {
     "execution": {
-     "iopub.execute_input": "2025-01-17T17:19:34.229264Z",
-     "iopub.status.busy": "2025-01-17T17:19:34.228675Z",
-     "iopub.status.idle": "2025-01-17T17:19:34.660238Z",
-     "shell.execute_reply": "2025-01-17T17:19:34.659515Z"
+     "iopub.execute_input": "2025-01-17T17:25:32.802898Z",
+     "iopub.status.busy": "2025-01-17T17:25:32.802585Z",
+     "iopub.status.idle": "2025-01-17T17:25:33.257127Z",
+     "shell.execute_reply": "2025-01-17T17:25:33.256453Z"
     },
     "scrolled": true
    },
@@ -172,7 +172,7 @@
      "data": {
       "text/html": [
        "
\n", - "
" + "
" ] }, "metadata": {}, @@ -208,10 +208,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:34.665477Z", - "iopub.status.busy": "2025-01-17T17:19:34.665117Z", - "iopub.status.idle": "2025-01-17T17:19:34.721935Z", - "shell.execute_reply": "2025-01-17T17:19:34.721172Z" + "iopub.execute_input": "2025-01-17T17:25:33.262557Z", + "iopub.status.busy": "2025-01-17T17:25:33.262105Z", + "iopub.status.idle": "2025-01-17T17:25:33.352920Z", + "shell.execute_reply": "2025-01-17T17:25:33.352325Z" } }, "outputs": [], @@ -228,10 +228,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:34.724357Z", - "iopub.status.busy": "2025-01-17T17:19:34.724146Z", - "iopub.status.idle": "2025-01-17T17:19:34.989618Z", - "shell.execute_reply": "2025-01-17T17:19:34.988948Z" + "iopub.execute_input": "2025-01-17T17:25:33.355316Z", + "iopub.status.busy": "2025-01-17T17:25:33.354912Z", + "iopub.status.idle": "2025-01-17T17:25:33.619235Z", + "shell.execute_reply": "2025-01-17T17:25:33.618501Z" } }, "outputs": [ @@ -247,7 +247,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -280,10 +280,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:34.994746Z", - "iopub.status.busy": "2025-01-17T17:19:34.994499Z", - "iopub.status.idle": "2025-01-17T17:19:34.999459Z", - "shell.execute_reply": "2025-01-17T17:19:34.998808Z" + "iopub.execute_input": "2025-01-17T17:25:33.623938Z", + "iopub.status.busy": "2025-01-17T17:25:33.623744Z", + "iopub.status.idle": "2025-01-17T17:25:33.628208Z", + "shell.execute_reply": "2025-01-17T17:25:33.627719Z" } }, "outputs": [ @@ -321,10 +321,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:35.001550Z", - "iopub.status.busy": "2025-01-17T17:19:35.001171Z", - "iopub.status.idle": "2025-01-17T17:19:35.747094Z", - "shell.execute_reply": "2025-01-17T17:19:35.746388Z" + "iopub.execute_input": "2025-01-17T17:25:33.630209Z", + "iopub.status.busy": "2025-01-17T17:25:33.629836Z", + "iopub.status.idle": "2025-01-17T17:25:34.376377Z", + "shell.execute_reply": "2025-01-17T17:25:34.375665Z" } }, "outputs": [ @@ -350,7 +350,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -389,10 +389,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:35.751704Z", - "iopub.status.busy": "2025-01-17T17:19:35.751458Z", - "iopub.status.idle": "2025-01-17T17:19:35.781079Z", - "shell.execute_reply": "2025-01-17T17:19:35.780488Z" + "iopub.execute_input": "2025-01-17T17:25:34.381358Z", + "iopub.status.busy": "2025-01-17T17:25:34.380897Z", + "iopub.status.idle": "2025-01-17T17:25:34.411001Z", + "shell.execute_reply": "2025-01-17T17:25:34.410268Z" } }, "outputs": [], @@ -418,10 +418,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:35.783299Z", - "iopub.status.busy": "2025-01-17T17:19:35.783106Z", - "iopub.status.idle": "2025-01-17T17:19:36.045238Z", - "shell.execute_reply": "2025-01-17T17:19:36.044594Z" + "iopub.execute_input": "2025-01-17T17:25:34.413592Z", + "iopub.status.busy": "2025-01-17T17:25:34.413111Z", + "iopub.status.idle": "2025-01-17T17:25:34.676313Z", + "shell.execute_reply": "2025-01-17T17:25:34.675668Z" } }, "outputs": [ @@ -468,10 +468,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:36.047506Z", - "iopub.status.busy": "2025-01-17T17:19:36.047274Z", - "iopub.status.idle": "2025-01-17T17:19:36.314378Z", - "shell.execute_reply": "2025-01-17T17:19:36.313678Z" + "iopub.execute_input": "2025-01-17T17:25:34.678807Z", + "iopub.status.busy": "2025-01-17T17:25:34.678382Z", + "iopub.status.idle": "2025-01-17T17:25:34.948426Z", + "shell.execute_reply": "2025-01-17T17:25:34.947797Z" } }, "outputs": [ @@ -487,7 +487,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -531,10 +531,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:36.319246Z", - "iopub.status.busy": "2025-01-17T17:19:36.318786Z", - "iopub.status.idle": "2025-01-17T17:19:37.352417Z", - "shell.execute_reply": "2025-01-17T17:19:37.351721Z" + "iopub.execute_input": "2025-01-17T17:25:34.953759Z", + "iopub.status.busy": "2025-01-17T17:25:34.953347Z", + "iopub.status.idle": "2025-01-17T17:25:35.989552Z", + "shell.execute_reply": "2025-01-17T17:25:35.988906Z" } }, "outputs": [ @@ -569,7 +569,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -613,10 +613,10 @@ "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:37.358083Z", - "iopub.status.busy": "2025-01-17T17:19:37.357632Z", - "iopub.status.idle": "2025-01-17T17:19:37.876004Z", - "shell.execute_reply": "2025-01-17T17:19:37.875292Z" + "iopub.execute_input": "2025-01-17T17:25:35.994937Z", + "iopub.status.busy": "2025-01-17T17:25:35.994496Z", + "iopub.status.idle": "2025-01-17T17:25:36.513379Z", + "shell.execute_reply": "2025-01-17T17:25:36.512685Z" } }, "outputs": [ @@ -632,7 +632,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -673,10 +673,10 @@ "execution_count": 15, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:37.880516Z", - "iopub.status.busy": "2025-01-17T17:19:37.880223Z", - "iopub.status.idle": "2025-01-17T17:19:38.227500Z", - "shell.execute_reply": "2025-01-17T17:19:38.226768Z" + "iopub.execute_input": "2025-01-17T17:25:36.518483Z", + "iopub.status.busy": "2025-01-17T17:25:36.517925Z", + "iopub.status.idle": "2025-01-17T17:25:36.863480Z", + "shell.execute_reply": "2025-01-17T17:25:36.862757Z" } }, "outputs": [ @@ -692,7 +692,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -721,10 +721,10 @@ "execution_count": 16, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:38.236570Z", - "iopub.status.busy": "2025-01-17T17:19:38.236113Z", - "iopub.status.idle": "2025-01-17T17:19:38.240871Z", - "shell.execute_reply": "2025-01-17T17:19:38.240237Z" + "iopub.execute_input": "2025-01-17T17:25:36.872372Z", + "iopub.status.busy": "2025-01-17T17:25:36.872157Z", + "iopub.status.idle": "2025-01-17T17:25:36.876938Z", + "shell.execute_reply": "2025-01-17T17:25:36.876388Z" } }, "outputs": [ diff --git a/dev/tutorials/examples/Test_TriaMesh_Geodesics.html b/dev/tutorials/examples/Test_TriaMesh_Geodesics.html index 5375495..5b746d3 100644 --- a/dev/tutorials/examples/Test_TriaMesh_Geodesics.html +++ b/dev/tutorials/examples/Test_TriaMesh_Geodesics.html @@ -340,7 +340,7 @@

TriaMesh Geodesics
-
+

Laplace

@@ -404,7 +404,7 @@

Laplace
-
+

This is the same as the corresponding eigenvalue times the eigenfunction.

-
+

Laplace is also defined as the -div(grad(f)). So first applying the gradient and then the divergence to an eigenfunction and then multiplying with inv(B) should yield the same result as above again. Note, that multiplying with inv(B) is necessary to get back from the integrated divergence to the original function.

-
+

@@ -481,7 +481,7 @@

Geodesics
-
+

Next step is to compute the gradient (vector field) of the heat diffusion function and normalize all vectors to unit length.

@@ -569,7 +569,7 @@

Geodesics
-

+

Nice, but only an approximation.

@@ -615,7 +615,7 @@

Geodesics
-

+

This should give us the same result as what we had earlier.

@@ -662,7 +662,7 @@

Geodesics
-

+

And verify it is still the same result.

@@ -711,7 +711,7 @@

Geodesics
-

+

diff --git a/dev/tutorials/examples/Test_TriaMesh_Geodesics.ipynb b/dev/tutorials/examples/Test_TriaMesh_Geodesics.ipynb index bc66834..4328f25 100644 --- a/dev/tutorials/examples/Test_TriaMesh_Geodesics.ipynb +++ b/dev/tutorials/examples/Test_TriaMesh_Geodesics.ipynb @@ -12,10 +12,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.074566Z", - "iopub.status.busy": "2025-01-17T17:19:41.074363Z", - "iopub.status.idle": "2025-01-17T17:19:41.283238Z", - "shell.execute_reply": "2025-01-17T17:19:41.282631Z" + "iopub.execute_input": "2025-01-17T17:25:39.833233Z", + "iopub.status.busy": "2025-01-17T17:25:39.833028Z", + "iopub.status.idle": "2025-01-17T17:25:40.038604Z", + "shell.execute_reply": "2025-01-17T17:25:40.037982Z" } }, "outputs": [], @@ -35,10 +35,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.286286Z", - "iopub.status.busy": "2025-01-17T17:19:41.286008Z", - "iopub.status.idle": "2025-01-17T17:19:41.297406Z", - "shell.execute_reply": "2025-01-17T17:19:41.296783Z" + "iopub.execute_input": "2025-01-17T17:25:40.041765Z", + "iopub.status.busy": "2025-01-17T17:25:40.041465Z", + "iopub.status.idle": "2025-01-17T17:25:40.052726Z", + "shell.execute_reply": "2025-01-17T17:25:40.052094Z" } }, "outputs": [ @@ -63,10 +63,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.301009Z", - "iopub.status.busy": "2025-01-17T17:19:41.300116Z", - "iopub.status.idle": "2025-01-17T17:19:41.388307Z", - "shell.execute_reply": "2025-01-17T17:19:41.387730Z" + "iopub.execute_input": "2025-01-17T17:25:40.055305Z", + "iopub.status.busy": "2025-01-17T17:25:40.054890Z", + "iopub.status.idle": "2025-01-17T17:25:40.144249Z", + "shell.execute_reply": "2025-01-17T17:25:40.143675Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.390559Z", - "iopub.status.busy": "2025-01-17T17:19:41.390326Z", - "iopub.status.idle": "2025-01-17T17:19:41.640510Z", - "shell.execute_reply": "2025-01-17T17:19:41.639827Z" + "iopub.execute_input": "2025-01-17T17:25:40.146743Z", + "iopub.status.busy": "2025-01-17T17:25:40.146338Z", + "iopub.status.idle": "2025-01-17T17:25:40.397352Z", + "shell.execute_reply": "2025-01-17T17:25:40.396682Z" } }, "outputs": [ @@ -104,7 +104,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -135,10 +135,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.643465Z", - "iopub.status.busy": "2025-01-17T17:19:41.642988Z", - "iopub.status.idle": "2025-01-17T17:19:41.654070Z", - "shell.execute_reply": "2025-01-17T17:19:41.653439Z" + "iopub.execute_input": "2025-01-17T17:25:40.400421Z", + "iopub.status.busy": "2025-01-17T17:25:40.399958Z", + "iopub.status.idle": "2025-01-17T17:25:40.410882Z", + "shell.execute_reply": "2025-01-17T17:25:40.410301Z" } }, "outputs": [ @@ -177,10 +177,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.656043Z", - "iopub.status.busy": "2025-01-17T17:19:41.655679Z", - "iopub.status.idle": "2025-01-17T17:19:41.660201Z", - "shell.execute_reply": "2025-01-17T17:19:41.659587Z" + "iopub.execute_input": "2025-01-17T17:25:40.412826Z", + "iopub.status.busy": "2025-01-17T17:25:40.412591Z", + "iopub.status.idle": "2025-01-17T17:25:40.417293Z", + "shell.execute_reply": "2025-01-17T17:25:40.416653Z" } }, "outputs": [ @@ -211,10 +211,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.662263Z", - "iopub.status.busy": "2025-01-17T17:19:41.661903Z", - "iopub.status.idle": "2025-01-17T17:19:41.710361Z", - "shell.execute_reply": "2025-01-17T17:19:41.709677Z" + "iopub.execute_input": "2025-01-17T17:25:40.419225Z", + "iopub.status.busy": "2025-01-17T17:25:40.418868Z", + "iopub.status.idle": "2025-01-17T17:25:40.467259Z", + "shell.execute_reply": "2025-01-17T17:25:40.466577Z" } }, "outputs": [ @@ -222,7 +222,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -245,10 +245,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.712591Z", - "iopub.status.busy": "2025-01-17T17:19:41.712372Z", - "iopub.status.idle": "2025-01-17T17:19:41.761045Z", - "shell.execute_reply": "2025-01-17T17:19:41.760360Z" + "iopub.execute_input": "2025-01-17T17:25:40.469325Z", + "iopub.status.busy": "2025-01-17T17:25:40.468951Z", + "iopub.status.idle": "2025-01-17T17:25:40.517073Z", + "shell.execute_reply": "2025-01-17T17:25:40.516386Z" } }, "outputs": [ @@ -256,7 +256,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -279,10 +279,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.763788Z", - "iopub.status.busy": "2025-01-17T17:19:41.763358Z", - "iopub.status.idle": "2025-01-17T17:19:41.853499Z", - "shell.execute_reply": "2025-01-17T17:19:41.852827Z" + "iopub.execute_input": "2025-01-17T17:25:40.519230Z", + "iopub.status.busy": "2025-01-17T17:25:40.518864Z", + "iopub.status.idle": "2025-01-17T17:25:40.605801Z", + "shell.execute_reply": "2025-01-17T17:25:40.605085Z" } }, "outputs": [ @@ -290,7 +290,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -319,10 +319,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.856152Z", - "iopub.status.busy": "2025-01-17T17:19:41.855762Z", - "iopub.status.idle": "2025-01-17T17:19:41.863104Z", - "shell.execute_reply": "2025-01-17T17:19:41.862560Z" + "iopub.execute_input": "2025-01-17T17:25:40.608024Z", + "iopub.status.busy": "2025-01-17T17:25:40.607828Z", + "iopub.status.idle": "2025-01-17T17:25:40.615208Z", + "shell.execute_reply": "2025-01-17T17:25:40.614672Z" } }, "outputs": [ @@ -355,10 +355,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.865232Z", - "iopub.status.busy": "2025-01-17T17:19:41.864786Z", - "iopub.status.idle": "2025-01-17T17:19:41.915132Z", - "shell.execute_reply": "2025-01-17T17:19:41.914497Z" + "iopub.execute_input": "2025-01-17T17:25:40.617152Z", + "iopub.status.busy": "2025-01-17T17:25:40.616956Z", + "iopub.status.idle": "2025-01-17T17:25:40.666671Z", + "shell.execute_reply": "2025-01-17T17:25:40.666077Z" } }, "outputs": [ @@ -366,7 +366,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -389,10 +389,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.917203Z", - "iopub.status.busy": "2025-01-17T17:19:41.917011Z", - "iopub.status.idle": "2025-01-17T17:19:41.921371Z", - "shell.execute_reply": "2025-01-17T17:19:41.920879Z" + "iopub.execute_input": "2025-01-17T17:25:40.668909Z", + "iopub.status.busy": "2025-01-17T17:25:40.668524Z", + "iopub.status.idle": "2025-01-17T17:25:40.672812Z", + "shell.execute_reply": "2025-01-17T17:25:40.672157Z" } }, "outputs": [], @@ -419,10 +419,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.923515Z", - "iopub.status.busy": "2025-01-17T17:19:41.923127Z", - "iopub.status.idle": "2025-01-17T17:19:41.927218Z", - "shell.execute_reply": "2025-01-17T17:19:41.926591Z" + "iopub.execute_input": "2025-01-17T17:25:40.674656Z", + "iopub.status.busy": "2025-01-17T17:25:40.674451Z", + "iopub.status.idle": "2025-01-17T17:25:40.678566Z", + "shell.execute_reply": "2025-01-17T17:25:40.677884Z" } }, "outputs": [], @@ -442,10 +442,10 @@ "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.929482Z", - "iopub.status.busy": "2025-01-17T17:19:41.929112Z", - "iopub.status.idle": "2025-01-17T17:19:41.936692Z", - "shell.execute_reply": "2025-01-17T17:19:41.936167Z" + "iopub.execute_input": "2025-01-17T17:25:40.680782Z", + "iopub.status.busy": "2025-01-17T17:25:40.680389Z", + "iopub.status.idle": "2025-01-17T17:25:40.687727Z", + "shell.execute_reply": "2025-01-17T17:25:40.687149Z" } }, "outputs": [ @@ -503,10 +503,10 @@ "execution_count": 15, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.938628Z", - "iopub.status.busy": "2025-01-17T17:19:41.938259Z", - "iopub.status.idle": "2025-01-17T17:19:41.990047Z", - "shell.execute_reply": "2025-01-17T17:19:41.989354Z" + "iopub.execute_input": "2025-01-17T17:25:40.689702Z", + "iopub.status.busy": "2025-01-17T17:25:40.689304Z", + "iopub.status.idle": "2025-01-17T17:25:40.740498Z", + "shell.execute_reply": "2025-01-17T17:25:40.739854Z" } }, "outputs": [ @@ -514,7 +514,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -537,10 +537,10 @@ "execution_count": 16, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.992384Z", - "iopub.status.busy": "2025-01-17T17:19:41.992178Z", - "iopub.status.idle": "2025-01-17T17:19:41.996785Z", - "shell.execute_reply": "2025-01-17T17:19:41.996141Z" + "iopub.execute_input": "2025-01-17T17:25:40.742659Z", + "iopub.status.busy": "2025-01-17T17:25:40.742435Z", + "iopub.status.idle": "2025-01-17T17:25:40.746906Z", + "shell.execute_reply": "2025-01-17T17:25:40.746367Z" } }, "outputs": [ @@ -572,10 +572,10 @@ "execution_count": 17, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:41.998662Z", - "iopub.status.busy": "2025-01-17T17:19:41.998479Z", - "iopub.status.idle": "2025-01-17T17:19:42.050219Z", - "shell.execute_reply": "2025-01-17T17:19:42.049591Z" + "iopub.execute_input": "2025-01-17T17:25:40.748693Z", + "iopub.status.busy": "2025-01-17T17:25:40.748478Z", + "iopub.status.idle": "2025-01-17T17:25:40.800150Z", + "shell.execute_reply": "2025-01-17T17:25:40.799491Z" } }, "outputs": [ @@ -591,7 +591,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -616,10 +616,10 @@ "execution_count": 18, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:42.052346Z", - "iopub.status.busy": "2025-01-17T17:19:42.052144Z", - "iopub.status.idle": "2025-01-17T17:19:42.056784Z", - "shell.execute_reply": "2025-01-17T17:19:42.056111Z" + "iopub.execute_input": "2025-01-17T17:25:40.802122Z", + "iopub.status.busy": "2025-01-17T17:25:40.801919Z", + "iopub.status.idle": "2025-01-17T17:25:40.806615Z", + "shell.execute_reply": "2025-01-17T17:25:40.806057Z" } }, "outputs": [ @@ -650,10 +650,10 @@ "execution_count": 19, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:42.058639Z", - "iopub.status.busy": "2025-01-17T17:19:42.058450Z", - "iopub.status.idle": "2025-01-17T17:19:42.113452Z", - "shell.execute_reply": "2025-01-17T17:19:42.112725Z" + "iopub.execute_input": "2025-01-17T17:25:40.808564Z", + "iopub.status.busy": "2025-01-17T17:25:40.808367Z", + "iopub.status.idle": "2025-01-17T17:25:40.864115Z", + "shell.execute_reply": "2025-01-17T17:25:40.863448Z" } }, "outputs": [ @@ -661,7 +661,13 @@ "name": "stdout", "output_type": "stream", "text": [ - "TriaMesh with regular Laplace-Beltrami\n", + "TriaMesh with regular Laplace-Beltrami\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Matrix Format now: csc\n", "Solver: spsolve (LU decomposition) ...\n" ] @@ -670,7 +676,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -696,10 +702,10 @@ "execution_count": 20, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:42.115810Z", - "iopub.status.busy": "2025-01-17T17:19:42.115334Z", - "iopub.status.idle": "2025-01-17T17:19:42.119749Z", - "shell.execute_reply": "2025-01-17T17:19:42.119218Z" + "iopub.execute_input": "2025-01-17T17:25:40.866321Z", + "iopub.status.busy": "2025-01-17T17:25:40.866111Z", + "iopub.status.idle": "2025-01-17T17:25:40.870670Z", + "shell.execute_reply": "2025-01-17T17:25:40.870106Z" } }, "outputs": [ @@ -731,10 +737,10 @@ "execution_count": 21, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:42.121780Z", - "iopub.status.busy": "2025-01-17T17:19:42.121411Z", - "iopub.status.idle": "2025-01-17T17:19:42.178192Z", - "shell.execute_reply": "2025-01-17T17:19:42.177516Z" + "iopub.execute_input": "2025-01-17T17:25:40.872480Z", + "iopub.status.busy": "2025-01-17T17:25:40.872284Z", + "iopub.status.idle": "2025-01-17T17:25:40.928870Z", + "shell.execute_reply": "2025-01-17T17:25:40.928209Z" } }, "outputs": [ @@ -751,7 +757,7 @@ "data": { "text/html": [ "
\n", - "
" + "
" ] }, "metadata": {}, @@ -780,10 +786,10 @@ "execution_count": 22, "metadata": { "execution": { - "iopub.execute_input": "2025-01-17T17:19:42.180543Z", - "iopub.status.busy": "2025-01-17T17:19:42.180161Z", - "iopub.status.idle": "2025-01-17T17:19:42.183139Z", - "shell.execute_reply": "2025-01-17T17:19:42.182525Z" + "iopub.execute_input": "2025-01-17T17:25:40.931318Z", + "iopub.status.busy": "2025-01-17T17:25:40.930930Z", + "iopub.status.idle": "2025-01-17T17:25:40.933698Z", + "shell.execute_reply": "2025-01-17T17:25:40.933177Z" } }, "outputs": [],