pairwise_winding — DRIVE braidpath op

• Data kinds: any → matrix

• Call: import fullseye as fs; fs.ledger.pairwise_winding(trajectories, obstacles=None) (implementation को सीधे call करना हो तो import braidpath; braidpath.pairwise_winding(trajectories, obstacles=None), registry से लेना हो तो opsdrive.get("pairwise_winding"))

• GPU: नहीं (केवल CPU reference implementation)

उपयोग

हर strand pair का relative winding number [घुमाव] (relative vector के argument का कुल परिवर्तन / 2π)। Symmetric matrix, diagonal 0।

Argument का increment atan2(cross product, dot product) से लिया जाता है (principal value (−π, π])। 1 step में आधा घुमाव या अधिक हो तो दिशा तय नहीं होती, इसलिए रुक जाता है। Closed form: pure braid में दोनों strands के बीच crossings की signed संख्या c हो तो 2π·W = π c ठीक-ठीक (gate)। Winding number एक commutative invariant है, इसलिए commutator [A, B] रूप के braids (सभी pairs में winding number 0 फिर भी non-trivial) को अलग नहीं कर पाता —— यही braid के उपयोग का कारण है।

Returns: (n, n) का float array (n = agents + obstacle points)।

Raises: ValueError (दो strands एक ही point पर पहुँचें, 1 step का increment π तक पहुँचे —— steps को और बारीक करें)।

संदर्भ (sample data, साहित्य)

• 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 में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_braid_homotopy_classes — py -3.11 examples/poc_braid_homotopy_classes.py

वे अगले ops जिनसे type जुड़ता है (matrix को input के रूप में लेते हैं)

world_camera · lidar_scan · relative_motion · foe_from_motion · flow_from_depth_motion · ttc_truth · world_materials · mesh_signed_volume

इसी category के (braidpath)

braid_from_trajectories · braid_reduce · braid_artin_images · dynnikov_coordinates · dynnikov_act · braid_equivalent · homotopy_class_compare · homotopy_shortest_paths


*Provenance: braidpath.py — DRIVE operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.