geometry op• Data kinds: mesh → table
• Call: import fullseye as fs; fs.ledger.geodesic_heat(vertices, faces=None, source=0, *, t: 'float | None' = None) -> 'dict' (implementation को सीधे call करना हो तो import mathgeometry; mathgeometry.geodesic_heat(vertices, faces=None, source=0, *, t: 'float | None' = None) -> 'dict', registry से लेना हो तो opsmath.get("geodesic_heat"))
heat method से surface पर geodesic distance (Crane et al. 2013)। source vertex index है (या indices की series, default vertex 0)। mesh (vertices, faces) या 1 mesh tuple के रूप में दिया जा सकता है।
1) (M − tL) u = δ को 1 step के लिए हल करें (समय t तक heat फैलाएँ; default t = औसत edge लंबाई²)
2) हर triangle पर, X = −∇u / |∇u| (heat जिस दिशा से आई उसके विपरीत = वह दिशा जिसमें दूरी बढ़ती है)
3) L φ = ∇·X हल करें और shift करें ताकि source पर यह 0 हो
Gate: refine करने पर planar mesh पर Euclidean दूरी और sphere पर great-circle दूरी Rθ के निकट पहुँचता है। {"distance", "t"} लौटाता है (जो vertices किसी face में उपयोग नहीं होते, और जो start point से जुड़े नहीं हैं, वे inf हैं)।
mathops के सभी ops गणना से पहले input की जाँच करते हैं (कुछ भी चुपचाप पास नहीं होता):
• complex input से ValueError — float64 में ज़बरदस्ती बदलने पर imaginary part चुपचाप छूट जाता है (numpy केवल ComplexWarning देता है और "सही दिखने वाला पर गलत" real number लौटाता है)। .real/.imag/abs() स्पष्ट रूप से लिखें, या complex data संभालने वाले complexops का उपयोग करें।
• masked array (masked elements वाला) से ValueError — mask हटाकर नीचे के raw values इस्तेमाल करने वाला implicit conversion अस्वीकार है। भरना है या हटाना है, यह स्पष्ट रूप से बताएँ।
• हर input पर NaN/Inf से ValueError (गिनती बताकर अस्वीकार — क्योंकि यह पूरे परिणाम में फैल जाता है)।
• Shape सख़्त है: 1-D और 2-D को implicit रूप से promote या broadcast नहीं किया जाता (vector slot में matrix या matrix slot में vector देने पर ValueError; reshape स्पष्ट रूप से करें)।
• Size की सीमा: matrix लेने वाले ops और stat_histogram के bins, mathops.MAX_ELEMENTS (2^26 ≈ 6.7 करोड़ elements) से अधिक होने पर ValueError देते हैं।
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।
• geometry_tour — py -3.11 examples/geometry_tour.py
table को input के रूप में लेते हैं)dynsys_poincare_section · dwt_inverse · chebyshev_eval_nd
geometry)mesh_euler_characteristic · angle_defect · delaunay_triangulate · geodesic_heat_grid · mesh_torus · nurbs_curve · nurbs_circle · nurbs_surface
*Provenance: mathgeometry.py — MATH operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.