[{"data":1,"prerenderedAt":18938},["ShallowReactive",2],{"lesson:\u002Falgorithms\u002Fdata-structures\u002Fspatial-data-structures":3,"course-wordcounts":13118,"ref-card-index":14013,"nav:algorithms":18697,"tikz:d17e5185f17c7affcdc657e1afab7535dfbd5397fa1b4a7339e024ddfd4cc07f":18929,"tikz:2037af224bce50ef654fc77c6332ce6b74285f77e3709e3c6ff9477421f86ccf":18930,"tikz:cc631f2228378a7dcb0ac6584c43b6efee884212ffdc9f5d001cc9d0181d90fd":18931,"tikz:50fdb11ac6f43bd1a6cb44cb3dc6b48b305b658cc9099727c0a72718024f4829":18932,"tikz:f9865d9738dc93f23254bef541a733674df40808798e5f3730c0dae6aa1b20da":18933,"tikz:e9aa7851583da0175cd0858cad5cb616e8cb2f382614e36c12d28489e8230a87":18934,"tikz:370b96d99780e2b364547726a90e370b42ceac92b3773cb915ab69390a62a557":18935,"tikz:03524bf58b1bf908081faeb26d52aa5e13248bf6b2231d412d0b3fd43983ee07":18936,"tikz:477f13d8e3503890da5d17712032fa7d57a9ab64f72ccd7b5abc546212302286":18937},{"id":4,"title":5,"blurb":6,"body":7,"brief":13075,"category":13076,"description":13077,"draft":13078,"extension":13079,"meta":13080,"module":13082,"navigation":972,"path":13083,"practice":13084,"rawbody":13099,"readingTime":13100,"seo":13105,"sources":13106,"status":13113,"stem":13114,"summary":13115,"topics":13116,"__hash__":13117},"course\u002F01.algorithms\u002F04.data-structures\u002F08.spatial-data-structures.md","Spatial Data Structures","",{"type":8,"value":9,"toc":13063},"minimark",[10,185,256,261,372,472,476,479,580,624,739,742,745,762,934,3210,3214,3366,3617,3624,3627,3955,3958,4202,4207,4317,4504,4581,4723,5139,6794,6938,6941,6944,7069,9149,9153,9447,9542,10382,10385,10777,10781,10971,11063,11114,11394,11397,11711,11715,11725,12304,12314,12318,12321,12348,12399,12423,12427,12981,13059],[11,12,13,14,19,20,24,25,88,89,93,94,115,116,133,134,150,151,166,167,170,171,174,175],"p",{},"A ",[15,16,18],"a",{"href":17},"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees","balanced search tree"," is built on one assumption: the keys are\n",[21,22,23],"strong",{},"totally ordered",", so a single comparison sends a query left or right. Points\nin the plane break that assumption. There is no order on ",[26,27,30],"span",{"className":28},[29],"katex",[26,31,35],{"className":32,"ariaHidden":34},[33],"katex-html","true",[26,36,39,44],{"className":37},[38],"base",[26,40],{"className":41,"style":43},[42],"strut","height:0.8141em;",[26,45,48,53],{"className":46},[47],"mord",[26,49,52],{"className":50},[47,51],"mathbb","R",[26,54,57],{"className":55},[56],"msupsub",[26,58,61],{"className":59},[60],"vlist-t",[26,62,65],{"className":63},[64],"vlist-r",[26,66,69],{"className":67,"style":43},[68],"vlist",[26,70,72,77],{"style":71},"top:-3.063em;margin-right:0.05em;",[26,73],{"className":74,"style":76},[75],"pstrut","height:2.7em;",[26,78,84],{"className":79},[80,81,82,83],"sizing","reset-size6","size3","mtight",[26,85,87],{"className":86},[47,83],"2"," that makes\nboth ",[90,91,92],"q",{},"all points in this rectangle"," and ",[90,95,96,97],{},"the point nearest to ",[26,98,100],{"className":99},[29],[26,101,103],{"className":102,"ariaHidden":34},[33],[26,104,106,110],{"className":105},[38],[26,107],{"className":108,"style":109},[42],"height:0.625em;vertical-align:-0.1944em;",[26,111,90],{"className":112,"style":114},[47,113],"mathnormal","margin-right:0.0359em;"," cheap — sort by\n",[26,117,119],{"className":118},[29],[26,120,122],{"className":121,"ariaHidden":34},[33],[26,123,125,129],{"className":124},[38],[26,126],{"className":127,"style":128},[42],"height:0.4306em;",[26,130,132],{"className":131},[47,113],"x"," and two points far apart in ",[26,135,137],{"className":136},[29],[26,138,140],{"className":139,"ariaHidden":34},[33],[26,141,143,146],{"className":142},[38],[26,144],{"className":145,"style":109},[42],[26,147,149],{"className":148,"style":114},[47,113],"y"," end up adjacent; sort by ",[26,152,154],{"className":153},[29],[26,155,157],{"className":156,"ariaHidden":34},[33],[26,158,160,163],{"className":159},[38],[26,161],{"className":162,"style":109},[42],[26,164,149],{"className":165,"style":114},[47,113]," and the reverse.\nA ",[21,168,169],{},"spatial data structure"," stores points so that geometry, not a one-dimensional\nkey, guides the search: it partitions space into ",[21,172,173],{},"boxes",", and a query that lands\nin one box can ignore every box it cannot possibly intersect.",[176,177,178],"sup",{},[15,179,184],{"href":180,"ariaDescribedBy":181,"dataFootnoteRef":6,"id":183},"#user-content-fn-skiena-kd",[182],"footnote-label","user-content-fnref-skiena-kd","1",[11,186,187,188,191,192,195,196,211,212,211,227,242,243,246,247,251,252,255],{},"Two partitions dominate. A ",[21,189,190],{},"quadtree"," splits each square into four equal\nquadrants, recursively, until each cell is simple. A ",[21,193,194],{},"k-d tree"," splits on one\ncoordinate at a time — ",[26,197,199],{"className":198},[29],[26,200,202],{"className":201,"ariaHidden":34},[33],[26,203,205,208],{"className":204},[38],[26,206],{"className":207,"style":128},[42],[26,209,132],{"className":210},[47,113],", then ",[26,213,215],{"className":214},[29],[26,216,218],{"className":217,"ariaHidden":34},[33],[26,219,221,224],{"className":220},[38],[26,222],{"className":223,"style":109},[42],[26,225,149],{"className":226,"style":114},[47,113],[26,228,230],{"className":229},[29],[26,231,233],{"className":232,"ariaHidden":34},[33],[26,234,236,239],{"className":235},[38],[26,237],{"className":238,"style":128},[42],[26,240,132],{"className":241},[47,113]," again — always at the ",[21,244,245],{},"median",", so\nthe tree stays balanced. The quadtree is splitting ",[248,249,250],"em",{},"space"," into a fixed grid; the\nk-d tree is splitting the ",[248,253,254],{},"points"," into equal halves. That difference is what\nmakes one degrade on clustered data while the other does not.",[257,258,260],"h2",{"id":259},"quadtrees-recursive-subdivision-of-space","Quadtrees: recursive subdivision of space",[11,262,13,263,266,267,290,291,311,312,290,331,349,350,353,354,371],{},[21,264,265],{},"point quadtree"," stores a set of 2-D points by recursively cutting an\naxis-aligned square into four equal sub-squares — the four quadrants ",[26,268,270],{"className":269},[29],[26,271,273],{"className":272,"ariaHidden":34},[33],[26,274,276,280,285],{"className":275},[38],[26,277],{"className":278,"style":279},[42],"height:0.6833em;",[26,281,284],{"className":282,"style":283},[47,113],"margin-right:0.109em;","N",[26,286,289],{"className":287,"style":288},[47,113],"margin-right:0.1389em;","W",", ",[26,292,294],{"className":293},[29],[26,295,297],{"className":296,"ariaHidden":34},[33],[26,298,300,303,306],{"className":299},[38],[26,301],{"className":302,"style":279},[42],[26,304,284],{"className":305,"style":283},[47,113],[26,307,310],{"className":308,"style":309},[47,113],"margin-right:0.0576em;","E",",\n",[26,313,315],{"className":314},[29],[26,316,318],{"className":317,"ariaHidden":34},[33],[26,319,321,324,328],{"className":320},[38],[26,322],{"className":323,"style":279},[42],[26,325,327],{"className":326,"style":309},[47,113],"S",[26,329,289],{"className":330,"style":288},[47,113],[26,332,334],{"className":333},[29],[26,335,337],{"className":336,"ariaHidden":34},[33],[26,338,340,343,346],{"className":339},[38],[26,341],{"className":342,"style":279},[42],[26,344,327],{"className":345,"style":309},[47,113],[26,347,310],{"className":348,"style":309},[47,113]," — until every cell holds at most one point. Each internal node owns a\nsquare region and has up to four children, one per quadrant; each leaf holds at\nmost one point (or, in a ",[21,351,352],{},"bucket"," variant, up to ",[26,355,357],{"className":356},[29],[26,358,360],{"className":359,"ariaHidden":34},[33],[26,361,363,367],{"className":362},[38],[26,364],{"className":365,"style":366},[42],"height:0.6944em;",[26,368,370],{"className":369},[47,113],"b"," points before it splits).",[373,374,376],"callout",{"type":375},"definition",[11,377,378,381,382,398,399,290,417,290,435,290,453,471],{},[21,379,380],{},"Definition (Point quadtree)."," A point quadtree over a square region ",[26,383,385],{"className":384},[29],[26,386,388],{"className":387,"ariaHidden":34},[33],[26,389,391,394],{"className":390},[38],[26,392],{"className":393,"style":279},[42],[26,395,52],{"className":396,"style":397},[47,113],"margin-right:0.0077em;"," is a\ntree where each node owns an axis-aligned square. A leaf holds at most one\npoint. An internal node's square is divided at its centre into four equal\nquadrants ",[26,400,402],{"className":401},[29],[26,403,405],{"className":404,"ariaHidden":34},[33],[26,406,408,411,414],{"className":407},[38],[26,409],{"className":410,"style":279},[42],[26,412,284],{"className":413,"style":283},[47,113],[26,415,289],{"className":416,"style":288},[47,113],[26,418,420],{"className":419},[29],[26,421,423],{"className":422,"ariaHidden":34},[33],[26,424,426,429,432],{"className":425},[38],[26,427],{"className":428,"style":279},[42],[26,430,284],{"className":431,"style":283},[47,113],[26,433,310],{"className":434,"style":309},[47,113],[26,436,438],{"className":437},[29],[26,439,441],{"className":440,"ariaHidden":34},[33],[26,442,444,447,450],{"className":443},[38],[26,445],{"className":446,"style":279},[42],[26,448,327],{"className":449,"style":309},[47,113],[26,451,289],{"className":452,"style":288},[47,113],[26,454,456],{"className":455},[29],[26,457,459],{"className":458,"ariaHidden":34},[33],[26,460,462,465,468],{"className":461},[38],[26,463],{"className":464,"style":279},[42],[26,466,327],{"className":467,"style":309},[47,113],[26,469,310],{"className":470,"style":309},[47,113],", each the region of one child.",[473,474],"tikz-figure",{"hash":475},"d17e5185f17c7affcdc657e1afab7535dfbd5397fa1b4a7339e024ddfd4cc07f",[473,477],{"hash":478},"2037af224bce50ef654fc77c6332ce6b74285f77e3709e3c6ff9477421f86ccf",[11,480,481,484,485,500,501,516,517,532,533,548,549,93,564,579],{},[21,482,483],{},"Insert."," To insert a point ",[26,486,488],{"className":487},[29],[26,489,491],{"className":490,"ariaHidden":34},[33],[26,492,494,497],{"className":493},[38],[26,495],{"className":496,"style":109},[42],[26,498,11],{"className":499},[47,113],", descend from the root: at each internal node\ndecide which of the four quadrants contains ",[26,502,504],{"className":503},[29],[26,505,507],{"className":506,"ariaHidden":34},[33],[26,508,510,513],{"className":509},[38],[26,511],{"className":512,"style":109},[42],[26,514,11],{"className":515},[47,113]," (two coordinate comparisons\nagainst the node's centre) and recurse into that child. When you reach an empty\nleaf, store ",[26,518,520],{"className":519},[29],[26,521,523],{"className":522,"ariaHidden":34},[33],[26,524,526,529],{"className":525},[38],[26,527],{"className":528,"style":109},[42],[26,530,11],{"className":531},[47,113]," there. If you reach a leaf that already holds a point ",[26,534,536],{"className":535},[29],[26,537,539],{"className":538,"ariaHidden":34},[33],[26,540,542,545],{"className":541},[38],[26,543],{"className":544,"style":109},[42],[26,546,90],{"className":547,"style":114},[47,113],", split\nthat leaf into four quadrants and re-insert both ",[26,550,552],{"className":551},[29],[26,553,555],{"className":554,"ariaHidden":34},[33],[26,556,558,561],{"className":557},[38],[26,559],{"className":560,"style":109},[42],[26,562,11],{"className":563},[47,113],[26,565,567],{"className":566},[29],[26,568,570],{"className":569,"ariaHidden":34},[33],[26,571,573,576],{"className":572},[38],[26,574],{"className":575,"style":109},[42],[26,577,90],{"className":578,"style":114},[47,113]," into the appropriate\nsub-quadrants — repeating until they fall into different cells. Search for an\nexact point is the same descent without the split.",[11,581,582,585,586,603,604,607,608,623],{},[21,583,584],{},"Region query."," To report every stored point inside a query rectangle ",[26,587,589],{"className":588},[29],[26,590,592],{"className":591,"ariaHidden":34},[33],[26,593,595,599],{"className":594},[38],[26,596],{"className":597,"style":598},[42],"height:0.8778em;vertical-align:-0.1944em;",[26,600,602],{"className":601},[47,113],"Q",",\ndescend from the root but ",[21,605,606],{},"prune",": at a node owning square ",[26,609,611],{"className":610},[29],[26,612,614],{"className":613,"ariaHidden":34},[33],[26,615,617,620],{"className":616},[38],[26,618],{"className":619,"style":279},[42],[26,621,327],{"className":622,"style":309},[47,113],",",[625,626,627,663,697],"ul",{},[628,629,630,631,646,647,662],"li",{},"if ",[26,632,634],{"className":633},[29],[26,635,637],{"className":636,"ariaHidden":34},[33],[26,638,640,643],{"className":639},[38],[26,641],{"className":642,"style":279},[42],[26,644,327],{"className":645,"style":309},[47,113]," is disjoint from ",[26,648,650],{"className":649},[29],[26,651,653],{"className":652,"ariaHidden":34},[33],[26,654,656,659],{"className":655},[38],[26,657],{"className":658,"style":598},[42],[26,660,602],{"className":661},[47,113],", return nothing — that whole subtree is skipped;",[628,664,630,665,680,681,696],{},[26,666,668],{"className":667},[29],[26,669,671],{"className":670,"ariaHidden":34},[33],[26,672,674,677],{"className":673},[38],[26,675],{"className":676,"style":279},[42],[26,678,327],{"className":679,"style":309},[47,113]," lies entirely inside ",[26,682,684],{"className":683},[29],[26,685,687],{"className":686,"ariaHidden":34},[33],[26,688,690,693],{"className":689},[38],[26,691],{"className":692,"style":598},[42],[26,694,602],{"className":695},[47,113],", report every point in the subtree;",[628,698,699,700,715,716,731,732],{},"otherwise ",[26,701,703],{"className":702},[29],[26,704,706],{"className":705,"ariaHidden":34},[33],[26,707,709,712],{"className":708},[38],[26,710],{"className":711,"style":279},[42],[26,713,327],{"className":714,"style":309},[47,113]," straddles the boundary of ",[26,717,719],{"className":718},[29],[26,720,722],{"className":721,"ariaHidden":34},[33],[26,723,725,728],{"className":724},[38],[26,726],{"className":727,"style":598},[42],[26,729,602],{"className":730},[47,113],", so recurse into all four children.",[176,733,734],{},[15,735,87],{"href":736,"ariaDescribedBy":737,"dataFootnoteRef":6,"id":738},"#user-content-fn-erickson-ds",[182],"user-content-fnref-erickson-ds",[473,740],{"hash":741},"cc631f2228378a7dcb0ac6584c43b6efee884212ffdc9f5d001cc9d0181d90fd",[11,743,744],{},"The pruning is what makes the query fast: a query touching a small corner of the\nplane visits only the handful of cells along that corner, not the whole tree.",[373,746,748],{"type":747},"note",[11,749,750,753,754,757,758,761],{},[21,751,752],{},"Intuition."," The quadtree is a ",[248,755,756],{},"spatial"," index, not a balanced one. Its shape\nfollows the ",[21,759,760],{},"geometry of the data",", not its cardinality: the depth in any\nregion is however many halvings it takes to separate the points there. Sparse\nregions stay shallow; dense clumps grow deep.",[11,763,764,765,781,782,829,830,833,834,850,851,878,879,911,912,927,928,930,931,933],{},"That last sentence is also the quadtree's weakness. Because it always cuts a\nsquare exactly in half regardless of where the points lie, two points a distance\n",[26,766,768],{"className":767},[29],[26,769,771],{"className":770,"ariaHidden":34},[33],[26,772,774,777],{"className":773},[38],[26,775],{"className":776,"style":128},[42],[26,778,780],{"className":779},[47,113],"ε"," apart force ",[26,783,785],{"className":784},[29],[26,786,788],{"className":787,"ariaHidden":34},[33],[26,789,791,795,799,804,814,817,821,824],{"className":790},[38],[26,792],{"className":793,"style":794},[42],"height:1em;vertical-align:-0.25em;",[26,796,798],{"className":797},[47],"Θ",[26,800,803],{"className":801},[802],"mopen","(",[26,805,808],{"className":806},[807],"mop",[26,809,813],{"className":810,"style":812},[47,811],"mathrm","margin-right:0.0139em;","log",[26,815,803],{"className":816},[802],[26,818,820],{"className":819},[47],"1\u002F",[26,822,780],{"className":823},[47,113],[26,825,828],{"className":826},[827],"mclose","))"," levels of subdivision\nbefore they separate — the tree depth depends on the ",[248,831,832],{},"coordinates",", not just on\n",[26,835,837],{"className":836},[29],[26,838,840],{"className":839,"ariaHidden":34},[33],[26,841,843,846],{"className":842},[38],[26,844],{"className":845,"style":128},[42],[26,847,849],{"className":848},[47,113],"n",". A tightly clustered set, or points near-collinear at fine scale, can drive\nthe height far beyond ",[26,852,854],{"className":853},[29],[26,855,857],{"className":856,"ariaHidden":34},[33],[26,858,860,864,870,875],{"className":859},[38],[26,861],{"className":862,"style":863},[42],"height:0.8889em;vertical-align:-0.1944em;",[26,865,867],{"className":866},[807],[26,868,813],{"className":869,"style":812},[47,811],[26,871],{"className":872,"style":874},[873],"mspace","margin-right:0.1667em;",[26,876,849],{"className":877},[47,113],", so quadtree operations are ",[26,880,882],{"className":881},[29],[26,883,885],{"className":884,"ariaHidden":34},[33],[26,886,888,891,896,899,907],{"className":887},[38],[26,889],{"className":890,"style":794},[42],[26,892,895],{"className":893,"style":894},[47,113],"margin-right:0.0278em;","O",[26,897,803],{"className":898},[802],[26,900,903],{"className":901},[47,902],"text",[26,904,906],{"className":905},[47],"depth",[26,908,910],{"className":909},[827],")"," with\nno worst-case bound tied to ",[26,913,915],{"className":914},[29],[26,916,918],{"className":917,"ariaHidden":34},[33],[26,919,921,924],{"className":920},[38],[26,922],{"className":923,"style":128},[42],[26,925,849],{"className":926},[47,113]," alone. Splitting the ",[248,929,254],{}," in half instead of the ",[248,932,250],{}," avoids this;\nthat is the k-d tree.",[935,936,939],"impl-embed",{"dataImplLabel":937,"id":938},"point quadtree implementation","impl-point-quadtree",[940,941,946],"pre",{"className":942,"code":943,"filename":944,"language":945,"meta":6,"style":6},"language-python shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","from __future__ import annotations\n\nfrom collections.abc import Iterator\nfrom typing import NamedTuple, Optional\n\nclass Point(NamedTuple):\n  \"\"\"\n    A 2-D point: its x and y coordinates.\\n\n  \"\"\"\n  x: float\n  y: float\n\nclass Rectangle(NamedTuple):\n  \"\"\"\n    An axis-aligned rectangle given by its inclusive bounds.\\n\n    A point lies inside when its coordinates fall within both ranges.\\n\n  \"\"\"\n  min_x: float\n  min_y: float\n  max_x: float\n  max_y: float\n\n  def contains(self, point: Point) -> bool:\n    \"\"\"\n      Whether `point` lies within this rectangle (boundaries included).\\n\n    \"\"\"\n    return (\n      self.min_x \u003C= point.x \u003C= self.max_x\n      and self.min_y \u003C= point.y \u003C= self.max_y\n    )\n\n  def covers(self, other: Rectangle) -> bool:\n    \"\"\"\n      Whether this rectangle wholly contains `other`.\\n\n    \"\"\"\n    return (\n      self.min_x \u003C= other.min_x\n      and self.min_y \u003C= other.min_y\n      and other.max_x \u003C= self.max_x\n      and other.max_y \u003C= self.max_y\n    )\n\n  def intersects(self, other: Rectangle) -> bool:\n    \"\"\"\n      Whether this rectangle and `other` share any area or boundary.\\n\n    \"\"\"\n    return not (\n      other.min_x > self.max_x\n      or other.max_x \u003C self.min_x\n      or other.min_y > self.max_y\n      or other.max_y \u003C self.min_y\n    )\n\nclass QuadNode:\n  \"\"\"\n    One quadtree node owning the square `region`.\\n\n    A leaf stores at most one `point` and has no children. An internal node\\n\n    has four children — north-west, north-east, south-west, south-east —\\n\n    splitting `region` at its centre, and carries no point of its own.\\n\n  \"\"\"\n\n  def __init__(self, region: Rectangle) -> None:\n    self.region: Rectangle = region\n    self.point: Optional[Point] = None\n    self.north_west: Optional[QuadNode] = None\n    self.north_east: Optional[QuadNode] = None\n    self.south_west: Optional[QuadNode] = None\n    self.south_east: Optional[QuadNode] = None\n\n  @property\n  def is_leaf(self) -> bool:\n    \"\"\"\n      Whether this node has no children (so it may hold a point).\\n\n    \"\"\"\n    return self.north_west is None\n\n  def quadrant_of(self, point: Point) -> QuadNode:\n    \"\"\"\n      The child node whose quadrant contains `point`. Two comparisons\\n\n      against the region centre pick north\u002Fsouth and east\u002Fwest.\\n\n    \"\"\"\n    # compare against the region centre to fix north\u002Fsouth and east\u002Fwest.\n    mid_x: float = (self.region.min_x + self.region.max_x) \u002F 2\n    mid_y: float = (self.region.min_y + self.region.max_y) \u002F 2\n    is_north: bool = point.y >= mid_y\n    is_east: bool = point.x >= mid_x\n\n    # pick the matching child (internal nodes only).\n    if is_north:\n      child = self.north_east if is_east else self.north_west\n    else:\n      child = self.south_east if is_east else self.south_west\n    assert child is not None  # only called on internal nodes\n    return child\n\n  def subdivide(self) -> None:\n    \"\"\"\n      Split this leaf's square into four equal quadrant children.\\n\n    \"\"\"\n    # split the square at its centre.\n    mid_x: float = (self.region.min_x + self.region.max_x) \u002F 2\n    mid_y: float = (self.region.min_y + self.region.max_y) \u002F 2\n\n    # northern quadrants (upper half).\n    self.north_west = QuadNode(\n      Rectangle(self.region.min_x, mid_y, mid_x, self.region.max_y)\n    )\n    self.north_east = QuadNode(\n      Rectangle(mid_x, mid_y, self.region.max_x, self.region.max_y)\n    )\n\n    # southern quadrants (lower half).\n    self.south_west = QuadNode(\n      Rectangle(self.region.min_x, self.region.min_y, mid_x, mid_y)\n    )\n    self.south_east = QuadNode(\n      Rectangle(mid_x, self.region.min_y, self.region.max_x, mid_y)\n    )\n\n  def children(self) -> tuple[QuadNode, QuadNode, QuadNode, QuadNode]:\n    \"\"\"\n      The four children in NW, NE, SW, SE order (internal nodes only).\\n\n    \"\"\"\n    assert (\n      self.north_west is not None\n      and self.north_east is not None\n      and self.south_west is not None\n      and self.south_east is not None\n    )\n    return (\n      self.north_west,\n      self.north_east,\n      self.south_west,\n      self.south_east,\n    )\n\nclass PointQuadtree:\n  \"\"\"\n    A set of 2-D points indexed by recursive subdivision of a square.\\n\n    Insert descends to the leaf the point belongs in and subdivides any leaf\\n\n    that already holds a different point. Membership is the same descent.\\n\n    `query_range` reports every stored point inside a query rectangle,\\n\n    pruning subtrees the rectangle cannot reach.\\n\n  \"\"\"\n\n  def __init__(self, boundary: Rectangle) -> None:\n    \"\"\"\n      Build an empty quadtree spanning `boundary`. Every inserted point\\n\n      must fall within this square.\\n\n    \"\"\"\n    self.root: QuadNode = QuadNode(boundary)\n    self._size: int = 0\n\n  def insert(self, point: Point) -> bool:\n    \"\"\"\n      Add `point` to the tree. Returns False if `point` lies outside the\\n\n      boundary or an identical point is already stored. Descend to the\\n\n      target leaf; subdivide and push both points down while a leaf would\\n\n      otherwise hold two distinct points.\\n\n    \"\"\"\n    if not self.root.region.contains(point):\n      return False\n\n    node: QuadNode = self.root\n    while not node.is_leaf:\n      node = node.quadrant_of(point)\n\n    if node.point is None:  # empty leaf — store here.\n      node.point = point\n      self._size += 1\n      return True\n    if node.point == point:  # duplicate — nothing to do.\n      return False\n\n    # leaf already holds a different point: subdivide until they separate.\n    resident: Point = node.point\n    node.point = None\n    while True:\n      node.subdivide()\n      target_for_new: QuadNode = node.quadrant_of(point)\n      target_for_old: QuadNode = node.quadrant_of(resident)\n      if target_for_new is not target_for_old:\n        target_for_new.point = point\n        target_for_old.point = resident\n        self._size += 1\n        return True\n      node = target_for_new  # collided again — descend and split deeper.\n\n  def __contains__(self, point: Point) -> bool:\n    if not self.root.region.contains(point):\n      return False\n\n    # descend to the leaf the point would occupy and check it.\n    node: QuadNode = self.root\n    while not node.is_leaf:\n      node = node.quadrant_of(point)\n    return node.point == point\n\n  def query_range(self, query: Rectangle) -> list[Point]:\n    \"\"\"\n      Every stored point lying inside `query`. Skip a subtree whose square\\n\n      is disjoint from `query`; report a subtree whose square lies wholly\\n\n      inside `query`; otherwise recurse into all four children.\\n\n    \"\"\"\n    found: list[Point] = []\n\n    def descend(node: QuadNode) -> None:\n      if not query.intersects(node.region):\n        return  # disjoint — prune the whole subtree.\n      if query.covers(node.region):\n        found.extend(self._points_in(node))  # contained — report all.\n        return\n      if node.is_leaf:\n        if node.point is not None and query.contains(node.point):\n          found.append(node.point)\n        return\n      for child in node.children():\n        descend(child)\n\n    descend(self.root)\n    return found\n\n  def _points_in(self, node: QuadNode) -> Iterator[Point]:\n    \"\"\"\n      Every point stored in the subtree rooted at `node`.\\n\n    \"\"\"\n    if node.is_leaf:\n      if node.point is not None:\n        yield node.point\n      return\n    for child in node.children():\n      yield from self._points_in(child)\n\n  def __iter__(self) -> Iterator[Point]:\n    return self._points_in(self.root)\n\n  def __len__(self) -> int:\n    return self._size\n","point_quadtree.py","python",[947,948,949,967,974,987,1000,1005,1018,1025,1034,1039,1048,1056,1061,1071,1076,1084,1092,1097,1105,1113,1121,1129,1134,1152,1158,1166,1171,1180,1203,1226,1232,1237,1252,1257,1265,1270,1277,1289,1303,1317,1331,1336,1341,1355,1360,1368,1373,1383,1396,1412,1426,1440,1445,1450,1460,1465,1473,1481,1489,1497,1502,1507,1518,1533,1546,1558,1570,1582,1594,1599,1605,1620,1625,1633,1638,1653,1658,1669,1674,1682,1690,1695,1702,1737,1765,1783,1800,1805,1811,1820,1847,1855,1878,1897,1905,1910,1921,1926,1934,1939,1945,1970,1995,2000,2006,2018,2034,2039,2050,2065,2070,2075,2081,2093,2108,2113,2124,2140,2145,2150,2161,2166,2174,2179,2186,2199,2214,2229,2244,2249,2256,2264,2272,2280,2288,2293,2298,2308,2313,2321,2329,2337,2345,2353,2358,2363,2373,2378,2386,2394,2399,2412,2428,2433,2447,2452,2460,2468,2476,2484,2489,2501,2510,2515,2528,2539,2550,2555,2571,2582,2596,2604,2620,2627,2632,2638,2649,2659,2667,2673,2683,2694,2710,2720,2731,2743,2751,2764,2769,2783,2794,2801,2806,2812,2823,2832,2841,2852,2857,2868,2873,2881,2889,2897,2902,2913,2918,2930,2940,2948,2956,2970,2976,2983,3004,3010,3015,3029,3035,3040,3051,3059,3064,3075,3080,3088,3093,3100,3114,3122,3128,3140,3151,3156,3167,3181,3186,3200],"code",{"__ignoreMap":6},[26,950,953,957,961,964],{"class":951,"line":952},"line",1,[26,954,956],{"class":955},"sdxpw","from",[26,958,960],{"class":959},"s3i95"," __future__ ",[26,962,963],{"class":955},"import",[26,965,966],{"class":959}," annotations\n",[26,968,970],{"class":951,"line":969},2,[26,971,973],{"emptyLinePlaceholder":972},true,"\n",[26,975,977,979,982,984],{"class":951,"line":976},3,[26,978,956],{"class":955},[26,980,981],{"class":959}," collections.abc ",[26,983,963],{"class":955},[26,985,986],{"class":959}," Iterator\n",[26,988,990,992,995,997],{"class":951,"line":989},4,[26,991,956],{"class":955},[26,993,994],{"class":959}," typing ",[26,996,963],{"class":955},[26,998,999],{"class":959}," NamedTuple, Optional\n",[26,1001,1003],{"class":951,"line":1002},5,[26,1004,973],{"emptyLinePlaceholder":972},[26,1006,1008,1011,1015],{"class":951,"line":1007},6,[26,1009,1010],{"class":955},"class",[26,1012,1014],{"class":1013},"sat3U"," Point",[26,1016,1017],{"class":959},"(NamedTuple):\n",[26,1019,1021],{"class":951,"line":1020},7,[26,1022,1024],{"class":1023},"sDYuN","  \"\"\"\n",[26,1026,1028,1031],{"class":951,"line":1027},8,[26,1029,1030],{"class":1023},"    A 2-D point: its x and y coordinates.",[26,1032,1033],{"class":955},"\\n\n",[26,1035,1037],{"class":951,"line":1036},9,[26,1038,1024],{"class":1023},[26,1040,1042,1045],{"class":951,"line":1041},10,[26,1043,1044],{"class":959},"  x: ",[26,1046,1047],{"class":1013},"float\n",[26,1049,1051,1054],{"class":951,"line":1050},11,[26,1052,1053],{"class":959},"  y: ",[26,1055,1047],{"class":1013},[26,1057,1059],{"class":951,"line":1058},12,[26,1060,973],{"emptyLinePlaceholder":972},[26,1062,1064,1066,1069],{"class":951,"line":1063},13,[26,1065,1010],{"class":955},[26,1067,1068],{"class":1013}," Rectangle",[26,1070,1017],{"class":959},[26,1072,1074],{"class":951,"line":1073},14,[26,1075,1024],{"class":1023},[26,1077,1079,1082],{"class":951,"line":1078},15,[26,1080,1081],{"class":1023},"    An axis-aligned rectangle given by its inclusive bounds.",[26,1083,1033],{"class":955},[26,1085,1087,1090],{"class":951,"line":1086},16,[26,1088,1089],{"class":1023},"    A point lies inside when its coordinates fall within both ranges.",[26,1091,1033],{"class":955},[26,1093,1095],{"class":951,"line":1094},17,[26,1096,1024],{"class":1023},[26,1098,1100,1103],{"class":951,"line":1099},18,[26,1101,1102],{"class":959},"  min_x: ",[26,1104,1047],{"class":1013},[26,1106,1108,1111],{"class":951,"line":1107},19,[26,1109,1110],{"class":959},"  min_y: ",[26,1112,1047],{"class":1013},[26,1114,1116,1119],{"class":951,"line":1115},20,[26,1117,1118],{"class":959},"  max_x: ",[26,1120,1047],{"class":1013},[26,1122,1124,1127],{"class":951,"line":1123},21,[26,1125,1126],{"class":959},"  max_y: ",[26,1128,1047],{"class":1013},[26,1130,1132],{"class":951,"line":1131},22,[26,1133,973],{"emptyLinePlaceholder":972},[26,1135,1137,1140,1143,1146,1149],{"class":951,"line":1136},23,[26,1138,1139],{"class":955},"  def",[26,1141,1142],{"class":1013}," contains",[26,1144,1145],{"class":959},"(self, point: Point) -> ",[26,1147,1148],{"class":1013},"bool",[26,1150,1151],{"class":959},":\n",[26,1153,1155],{"class":951,"line":1154},24,[26,1156,1157],{"class":1023},"    \"\"\"\n",[26,1159,1161,1164],{"class":951,"line":1160},25,[26,1162,1163],{"class":1023},"      Whether `point` lies within this rectangle (boundaries included).",[26,1165,1033],{"class":955},[26,1167,1169],{"class":951,"line":1168},26,[26,1170,1157],{"class":1023},[26,1172,1174,1177],{"class":951,"line":1173},27,[26,1175,1176],{"class":955},"    return",[26,1178,1179],{"class":959}," (\n",[26,1181,1183,1186,1189,1192,1195,1197,1200],{"class":951,"line":1182},28,[26,1184,1185],{"class":955},"      self",[26,1187,1188],{"class":959},".min_x ",[26,1190,1191],{"class":955},"\u003C=",[26,1193,1194],{"class":959}," point.x ",[26,1196,1191],{"class":955},[26,1198,1199],{"class":955}," self",[26,1201,1202],{"class":959},".max_x\n",[26,1204,1206,1209,1211,1214,1216,1219,1221,1223],{"class":951,"line":1205},29,[26,1207,1208],{"class":955},"      and",[26,1210,1199],{"class":955},[26,1212,1213],{"class":959},".min_y ",[26,1215,1191],{"class":955},[26,1217,1218],{"class":959}," point.y ",[26,1220,1191],{"class":955},[26,1222,1199],{"class":955},[26,1224,1225],{"class":959},".max_y\n",[26,1227,1229],{"class":951,"line":1228},30,[26,1230,1231],{"class":959},"    )\n",[26,1233,1235],{"class":951,"line":1234},31,[26,1236,973],{"emptyLinePlaceholder":972},[26,1238,1240,1242,1245,1248,1250],{"class":951,"line":1239},32,[26,1241,1139],{"class":955},[26,1243,1244],{"class":1013}," covers",[26,1246,1247],{"class":959},"(self, other: Rectangle) -> ",[26,1249,1148],{"class":1013},[26,1251,1151],{"class":959},[26,1253,1255],{"class":951,"line":1254},33,[26,1256,1157],{"class":1023},[26,1258,1260,1263],{"class":951,"line":1259},34,[26,1261,1262],{"class":1023},"      Whether this rectangle wholly contains `other`.",[26,1264,1033],{"class":955},[26,1266,1268],{"class":951,"line":1267},35,[26,1269,1157],{"class":1023},[26,1271,1273,1275],{"class":951,"line":1272},36,[26,1274,1176],{"class":955},[26,1276,1179],{"class":959},[26,1278,1280,1282,1284,1286],{"class":951,"line":1279},37,[26,1281,1185],{"class":955},[26,1283,1188],{"class":959},[26,1285,1191],{"class":955},[26,1287,1288],{"class":959}," other.min_x\n",[26,1290,1292,1294,1296,1298,1300],{"class":951,"line":1291},38,[26,1293,1208],{"class":955},[26,1295,1199],{"class":955},[26,1297,1213],{"class":959},[26,1299,1191],{"class":955},[26,1301,1302],{"class":959}," other.min_y\n",[26,1304,1306,1308,1311,1313,1315],{"class":951,"line":1305},39,[26,1307,1208],{"class":955},[26,1309,1310],{"class":959}," other.max_x ",[26,1312,1191],{"class":955},[26,1314,1199],{"class":955},[26,1316,1202],{"class":959},[26,1318,1320,1322,1325,1327,1329],{"class":951,"line":1319},40,[26,1321,1208],{"class":955},[26,1323,1324],{"class":959}," other.max_y ",[26,1326,1191],{"class":955},[26,1328,1199],{"class":955},[26,1330,1225],{"class":959},[26,1332,1334],{"class":951,"line":1333},41,[26,1335,1231],{"class":959},[26,1337,1339],{"class":951,"line":1338},42,[26,1340,973],{"emptyLinePlaceholder":972},[26,1342,1344,1346,1349,1351,1353],{"class":951,"line":1343},43,[26,1345,1139],{"class":955},[26,1347,1348],{"class":1013}," intersects",[26,1350,1247],{"class":959},[26,1352,1148],{"class":1013},[26,1354,1151],{"class":959},[26,1356,1358],{"class":951,"line":1357},44,[26,1359,1157],{"class":1023},[26,1361,1363,1366],{"class":951,"line":1362},45,[26,1364,1365],{"class":1023},"      Whether this rectangle and `other` share any area or boundary.",[26,1367,1033],{"class":955},[26,1369,1371],{"class":951,"line":1370},46,[26,1372,1157],{"class":1023},[26,1374,1376,1378,1381],{"class":951,"line":1375},47,[26,1377,1176],{"class":955},[26,1379,1380],{"class":955}," not",[26,1382,1179],{"class":959},[26,1384,1386,1389,1392,1394],{"class":951,"line":1385},48,[26,1387,1388],{"class":959},"      other.min_x ",[26,1390,1391],{"class":955},">",[26,1393,1199],{"class":955},[26,1395,1202],{"class":959},[26,1397,1399,1402,1404,1407,1409],{"class":951,"line":1398},49,[26,1400,1401],{"class":955},"      or",[26,1403,1310],{"class":959},[26,1405,1406],{"class":955},"\u003C",[26,1408,1199],{"class":955},[26,1410,1411],{"class":959},".min_x\n",[26,1413,1415,1417,1420,1422,1424],{"class":951,"line":1414},50,[26,1416,1401],{"class":955},[26,1418,1419],{"class":959}," other.min_y ",[26,1421,1391],{"class":955},[26,1423,1199],{"class":955},[26,1425,1225],{"class":959},[26,1427,1429,1431,1433,1435,1437],{"class":951,"line":1428},51,[26,1430,1401],{"class":955},[26,1432,1324],{"class":959},[26,1434,1406],{"class":955},[26,1436,1199],{"class":955},[26,1438,1439],{"class":959},".min_y\n",[26,1441,1443],{"class":951,"line":1442},52,[26,1444,1231],{"class":959},[26,1446,1448],{"class":951,"line":1447},53,[26,1449,973],{"emptyLinePlaceholder":972},[26,1451,1453,1455,1458],{"class":951,"line":1452},54,[26,1454,1010],{"class":955},[26,1456,1457],{"class":1013}," QuadNode",[26,1459,1151],{"class":959},[26,1461,1463],{"class":951,"line":1462},55,[26,1464,1024],{"class":1023},[26,1466,1468,1471],{"class":951,"line":1467},56,[26,1469,1470],{"class":1023},"    One quadtree node owning the square `region`.",[26,1472,1033],{"class":955},[26,1474,1476,1479],{"class":951,"line":1475},57,[26,1477,1478],{"class":1023},"    A leaf stores at most one `point` and has no children. An internal node",[26,1480,1033],{"class":955},[26,1482,1484,1487],{"class":951,"line":1483},58,[26,1485,1486],{"class":1023},"    has four children — north-west, north-east, south-west, south-east —",[26,1488,1033],{"class":955},[26,1490,1492,1495],{"class":951,"line":1491},59,[26,1493,1494],{"class":1023},"    splitting `region` at its centre, and carries no point of its own.",[26,1496,1033],{"class":955},[26,1498,1500],{"class":951,"line":1499},60,[26,1501,1024],{"class":1023},[26,1503,1505],{"class":951,"line":1504},61,[26,1506,973],{"emptyLinePlaceholder":972},[26,1508,1510,1512,1515],{"class":951,"line":1509},62,[26,1511,1139],{"class":955},[26,1513,1514],{"class":1013}," __init__",[26,1516,1517],{"class":959},"(self, region: Rectangle) -> None:\n",[26,1519,1521,1524,1527,1530],{"class":951,"line":1520},63,[26,1522,1523],{"class":955},"    self",[26,1525,1526],{"class":959},".region: Rectangle ",[26,1528,1529],{"class":955},"=",[26,1531,1532],{"class":959}," region\n",[26,1534,1536,1538,1541,1543],{"class":951,"line":1535},64,[26,1537,1523],{"class":955},[26,1539,1540],{"class":959},".point: Optional[Point] ",[26,1542,1529],{"class":955},[26,1544,1545],{"class":959}," None\n",[26,1547,1549,1551,1554,1556],{"class":951,"line":1548},65,[26,1550,1523],{"class":955},[26,1552,1553],{"class":959},".north_west: Optional[QuadNode] ",[26,1555,1529],{"class":955},[26,1557,1545],{"class":959},[26,1559,1561,1563,1566,1568],{"class":951,"line":1560},66,[26,1562,1523],{"class":955},[26,1564,1565],{"class":959},".north_east: Optional[QuadNode] ",[26,1567,1529],{"class":955},[26,1569,1545],{"class":959},[26,1571,1573,1575,1578,1580],{"class":951,"line":1572},67,[26,1574,1523],{"class":955},[26,1576,1577],{"class":959},".south_west: Optional[QuadNode] ",[26,1579,1529],{"class":955},[26,1581,1545],{"class":959},[26,1583,1585,1587,1590,1592],{"class":951,"line":1584},68,[26,1586,1523],{"class":955},[26,1588,1589],{"class":959},".south_east: Optional[QuadNode] ",[26,1591,1529],{"class":955},[26,1593,1545],{"class":959},[26,1595,1597],{"class":951,"line":1596},69,[26,1598,973],{"emptyLinePlaceholder":972},[26,1600,1602],{"class":951,"line":1601},70,[26,1603,1604],{"class":1013},"  @property\n",[26,1606,1608,1610,1613,1616,1618],{"class":951,"line":1607},71,[26,1609,1139],{"class":955},[26,1611,1612],{"class":1013}," is_leaf",[26,1614,1615],{"class":959},"(self) -> ",[26,1617,1148],{"class":1013},[26,1619,1151],{"class":959},[26,1621,1623],{"class":951,"line":1622},72,[26,1624,1157],{"class":1023},[26,1626,1628,1631],{"class":951,"line":1627},73,[26,1629,1630],{"class":1023},"      Whether this node has no children (so it may hold a point).",[26,1632,1033],{"class":955},[26,1634,1636],{"class":951,"line":1635},74,[26,1637,1157],{"class":1023},[26,1639,1641,1643,1645,1648,1651],{"class":951,"line":1640},75,[26,1642,1176],{"class":955},[26,1644,1199],{"class":955},[26,1646,1647],{"class":959},".north_west ",[26,1649,1650],{"class":955},"is",[26,1652,1545],{"class":959},[26,1654,1656],{"class":951,"line":1655},76,[26,1657,973],{"emptyLinePlaceholder":972},[26,1659,1661,1663,1666],{"class":951,"line":1660},77,[26,1662,1139],{"class":955},[26,1664,1665],{"class":1013}," quadrant_of",[26,1667,1668],{"class":959},"(self, point: Point) -> QuadNode:\n",[26,1670,1672],{"class":951,"line":1671},78,[26,1673,1157],{"class":1023},[26,1675,1677,1680],{"class":951,"line":1676},79,[26,1678,1679],{"class":1023},"      The child node whose quadrant contains `point`. Two comparisons",[26,1681,1033],{"class":955},[26,1683,1685,1688],{"class":951,"line":1684},80,[26,1686,1687],{"class":1023},"      against the region centre pick north\u002Fsouth and east\u002Fwest.",[26,1689,1033],{"class":955},[26,1691,1693],{"class":951,"line":1692},81,[26,1694,1157],{"class":1023},[26,1696,1698],{"class":951,"line":1697},82,[26,1699,1701],{"class":1700},"sEX4i","    # compare against the region centre to fix north\u002Fsouth and east\u002Fwest.\n",[26,1703,1705,1708,1711,1714,1717,1720,1723,1726,1728,1731,1734],{"class":951,"line":1704},83,[26,1706,1707],{"class":959},"    mid_x: ",[26,1709,1710],{"class":1013},"float",[26,1712,1713],{"class":955}," =",[26,1715,1716],{"class":959}," (",[26,1718,1719],{"class":955},"self",[26,1721,1722],{"class":959},".region.min_x ",[26,1724,1725],{"class":955},"+",[26,1727,1199],{"class":955},[26,1729,1730],{"class":959},".region.max_x) ",[26,1732,1733],{"class":955},"\u002F",[26,1735,1736],{"class":1013}," 2\n",[26,1738,1740,1743,1745,1747,1749,1751,1754,1756,1758,1761,1763],{"class":951,"line":1739},84,[26,1741,1742],{"class":959},"    mid_y: ",[26,1744,1710],{"class":1013},[26,1746,1713],{"class":955},[26,1748,1716],{"class":959},[26,1750,1719],{"class":955},[26,1752,1753],{"class":959},".region.min_y ",[26,1755,1725],{"class":955},[26,1757,1199],{"class":955},[26,1759,1760],{"class":959},".region.max_y) ",[26,1762,1733],{"class":955},[26,1764,1736],{"class":1013},[26,1766,1768,1771,1773,1775,1777,1780],{"class":951,"line":1767},85,[26,1769,1770],{"class":959},"    is_north: ",[26,1772,1148],{"class":1013},[26,1774,1713],{"class":955},[26,1776,1218],{"class":959},[26,1778,1779],{"class":955},">=",[26,1781,1782],{"class":959}," mid_y\n",[26,1784,1786,1789,1791,1793,1795,1797],{"class":951,"line":1785},86,[26,1787,1788],{"class":959},"    is_east: ",[26,1790,1148],{"class":1013},[26,1792,1713],{"class":955},[26,1794,1194],{"class":959},[26,1796,1779],{"class":955},[26,1798,1799],{"class":959}," mid_x\n",[26,1801,1803],{"class":951,"line":1802},87,[26,1804,973],{"emptyLinePlaceholder":972},[26,1806,1808],{"class":951,"line":1807},88,[26,1809,1810],{"class":1700},"    # pick the matching child (internal nodes only).\n",[26,1812,1814,1817],{"class":951,"line":1813},89,[26,1815,1816],{"class":955},"    if",[26,1818,1819],{"class":959}," is_north:\n",[26,1821,1823,1826,1828,1830,1833,1836,1839,1842,1844],{"class":951,"line":1822},90,[26,1824,1825],{"class":959},"      child ",[26,1827,1529],{"class":955},[26,1829,1199],{"class":955},[26,1831,1832],{"class":959},".north_east ",[26,1834,1835],{"class":955},"if",[26,1837,1838],{"class":959}," is_east ",[26,1840,1841],{"class":955},"else",[26,1843,1199],{"class":955},[26,1845,1846],{"class":959},".north_west\n",[26,1848,1850,1853],{"class":951,"line":1849},91,[26,1851,1852],{"class":955},"    else",[26,1854,1151],{"class":959},[26,1856,1858,1860,1862,1864,1867,1869,1871,1873,1875],{"class":951,"line":1857},92,[26,1859,1825],{"class":959},[26,1861,1529],{"class":955},[26,1863,1199],{"class":955},[26,1865,1866],{"class":959},".south_east ",[26,1868,1835],{"class":955},[26,1870,1838],{"class":959},[26,1872,1841],{"class":955},[26,1874,1199],{"class":955},[26,1876,1877],{"class":959},".south_west\n",[26,1879,1881,1884,1887,1889,1891,1894],{"class":951,"line":1880},93,[26,1882,1883],{"class":955},"    assert",[26,1885,1886],{"class":959}," child ",[26,1888,1650],{"class":955},[26,1890,1380],{"class":955},[26,1892,1893],{"class":959}," None  ",[26,1895,1896],{"class":1700},"# only called on internal nodes\n",[26,1898,1900,1902],{"class":951,"line":1899},94,[26,1901,1176],{"class":955},[26,1903,1904],{"class":959}," child\n",[26,1906,1908],{"class":951,"line":1907},95,[26,1909,973],{"emptyLinePlaceholder":972},[26,1911,1913,1915,1918],{"class":951,"line":1912},96,[26,1914,1139],{"class":955},[26,1916,1917],{"class":1013}," subdivide",[26,1919,1920],{"class":959},"(self) -> None:\n",[26,1922,1924],{"class":951,"line":1923},97,[26,1925,1157],{"class":1023},[26,1927,1929,1932],{"class":951,"line":1928},98,[26,1930,1931],{"class":1023},"      Split this leaf's square into four equal quadrant children.",[26,1933,1033],{"class":955},[26,1935,1937],{"class":951,"line":1936},99,[26,1938,1157],{"class":1023},[26,1940,1942],{"class":951,"line":1941},100,[26,1943,1944],{"class":1700},"    # split the square at its centre.\n",[26,1946,1948,1950,1952,1954,1956,1958,1960,1962,1964,1966,1968],{"class":951,"line":1947},101,[26,1949,1707],{"class":959},[26,1951,1710],{"class":1013},[26,1953,1713],{"class":955},[26,1955,1716],{"class":959},[26,1957,1719],{"class":955},[26,1959,1722],{"class":959},[26,1961,1725],{"class":955},[26,1963,1199],{"class":955},[26,1965,1730],{"class":959},[26,1967,1733],{"class":955},[26,1969,1736],{"class":1013},[26,1971,1973,1975,1977,1979,1981,1983,1985,1987,1989,1991,1993],{"class":951,"line":1972},102,[26,1974,1742],{"class":959},[26,1976,1710],{"class":1013},[26,1978,1713],{"class":955},[26,1980,1716],{"class":959},[26,1982,1719],{"class":955},[26,1984,1753],{"class":959},[26,1986,1725],{"class":955},[26,1988,1199],{"class":955},[26,1990,1760],{"class":959},[26,1992,1733],{"class":955},[26,1994,1736],{"class":1013},[26,1996,1998],{"class":951,"line":1997},103,[26,1999,973],{"emptyLinePlaceholder":972},[26,2001,2003],{"class":951,"line":2002},104,[26,2004,2005],{"class":1700},"    # northern quadrants (upper half).\n",[26,2007,2009,2011,2013,2015],{"class":951,"line":2008},105,[26,2010,1523],{"class":955},[26,2012,1647],{"class":959},[26,2014,1529],{"class":955},[26,2016,2017],{"class":959}," QuadNode(\n",[26,2019,2021,2024,2026,2029,2031],{"class":951,"line":2020},106,[26,2022,2023],{"class":959},"      Rectangle(",[26,2025,1719],{"class":955},[26,2027,2028],{"class":959},".region.min_x, mid_y, mid_x, ",[26,2030,1719],{"class":955},[26,2032,2033],{"class":959},".region.max_y)\n",[26,2035,2037],{"class":951,"line":2036},107,[26,2038,1231],{"class":959},[26,2040,2042,2044,2046,2048],{"class":951,"line":2041},108,[26,2043,1523],{"class":955},[26,2045,1832],{"class":959},[26,2047,1529],{"class":955},[26,2049,2017],{"class":959},[26,2051,2053,2056,2058,2061,2063],{"class":951,"line":2052},109,[26,2054,2055],{"class":959},"      Rectangle(mid_x, mid_y, ",[26,2057,1719],{"class":955},[26,2059,2060],{"class":959},".region.max_x, ",[26,2062,1719],{"class":955},[26,2064,2033],{"class":959},[26,2066,2068],{"class":951,"line":2067},110,[26,2069,1231],{"class":959},[26,2071,2073],{"class":951,"line":2072},111,[26,2074,973],{"emptyLinePlaceholder":972},[26,2076,2078],{"class":951,"line":2077},112,[26,2079,2080],{"class":1700},"    # southern quadrants (lower half).\n",[26,2082,2084,2086,2089,2091],{"class":951,"line":2083},113,[26,2085,1523],{"class":955},[26,2087,2088],{"class":959},".south_west ",[26,2090,1529],{"class":955},[26,2092,2017],{"class":959},[26,2094,2096,2098,2100,2103,2105],{"class":951,"line":2095},114,[26,2097,2023],{"class":959},[26,2099,1719],{"class":955},[26,2101,2102],{"class":959},".region.min_x, ",[26,2104,1719],{"class":955},[26,2106,2107],{"class":959},".region.min_y, mid_x, mid_y)\n",[26,2109,2111],{"class":951,"line":2110},115,[26,2112,1231],{"class":959},[26,2114,2116,2118,2120,2122],{"class":951,"line":2115},116,[26,2117,1523],{"class":955},[26,2119,1866],{"class":959},[26,2121,1529],{"class":955},[26,2123,2017],{"class":959},[26,2125,2127,2130,2132,2135,2137],{"class":951,"line":2126},117,[26,2128,2129],{"class":959},"      Rectangle(mid_x, ",[26,2131,1719],{"class":955},[26,2133,2134],{"class":959},".region.min_y, ",[26,2136,1719],{"class":955},[26,2138,2139],{"class":959},".region.max_x, mid_y)\n",[26,2141,2143],{"class":951,"line":2142},118,[26,2144,1231],{"class":959},[26,2146,2148],{"class":951,"line":2147},119,[26,2149,973],{"emptyLinePlaceholder":972},[26,2151,2153,2155,2158],{"class":951,"line":2152},120,[26,2154,1139],{"class":955},[26,2156,2157],{"class":1013}," children",[26,2159,2160],{"class":959},"(self) -> tuple[QuadNode, QuadNode, QuadNode, QuadNode]:\n",[26,2162,2164],{"class":951,"line":2163},121,[26,2165,1157],{"class":1023},[26,2167,2169,2172],{"class":951,"line":2168},122,[26,2170,2171],{"class":1023},"      The four children in NW, NE, SW, SE order (internal nodes only).",[26,2173,1033],{"class":955},[26,2175,2177],{"class":951,"line":2176},123,[26,2178,1157],{"class":1023},[26,2180,2182,2184],{"class":951,"line":2181},124,[26,2183,1883],{"class":955},[26,2185,1179],{"class":959},[26,2187,2189,2191,2193,2195,2197],{"class":951,"line":2188},125,[26,2190,1185],{"class":955},[26,2192,1647],{"class":959},[26,2194,1650],{"class":955},[26,2196,1380],{"class":955},[26,2198,1545],{"class":959},[26,2200,2202,2204,2206,2208,2210,2212],{"class":951,"line":2201},126,[26,2203,1208],{"class":955},[26,2205,1199],{"class":955},[26,2207,1832],{"class":959},[26,2209,1650],{"class":955},[26,2211,1380],{"class":955},[26,2213,1545],{"class":959},[26,2215,2217,2219,2221,2223,2225,2227],{"class":951,"line":2216},127,[26,2218,1208],{"class":955},[26,2220,1199],{"class":955},[26,2222,2088],{"class":959},[26,2224,1650],{"class":955},[26,2226,1380],{"class":955},[26,2228,1545],{"class":959},[26,2230,2232,2234,2236,2238,2240,2242],{"class":951,"line":2231},128,[26,2233,1208],{"class":955},[26,2235,1199],{"class":955},[26,2237,1866],{"class":959},[26,2239,1650],{"class":955},[26,2241,1380],{"class":955},[26,2243,1545],{"class":959},[26,2245,2247],{"class":951,"line":2246},129,[26,2248,1231],{"class":959},[26,2250,2252,2254],{"class":951,"line":2251},130,[26,2253,1176],{"class":955},[26,2255,1179],{"class":959},[26,2257,2259,2261],{"class":951,"line":2258},131,[26,2260,1185],{"class":955},[26,2262,2263],{"class":959},".north_west,\n",[26,2265,2267,2269],{"class":951,"line":2266},132,[26,2268,1185],{"class":955},[26,2270,2271],{"class":959},".north_east,\n",[26,2273,2275,2277],{"class":951,"line":2274},133,[26,2276,1185],{"class":955},[26,2278,2279],{"class":959},".south_west,\n",[26,2281,2283,2285],{"class":951,"line":2282},134,[26,2284,1185],{"class":955},[26,2286,2287],{"class":959},".south_east,\n",[26,2289,2291],{"class":951,"line":2290},135,[26,2292,1231],{"class":959},[26,2294,2296],{"class":951,"line":2295},136,[26,2297,973],{"emptyLinePlaceholder":972},[26,2299,2301,2303,2306],{"class":951,"line":2300},137,[26,2302,1010],{"class":955},[26,2304,2305],{"class":1013}," PointQuadtree",[26,2307,1151],{"class":959},[26,2309,2311],{"class":951,"line":2310},138,[26,2312,1024],{"class":1023},[26,2314,2316,2319],{"class":951,"line":2315},139,[26,2317,2318],{"class":1023},"    A set of 2-D points indexed by recursive subdivision of a square.",[26,2320,1033],{"class":955},[26,2322,2324,2327],{"class":951,"line":2323},140,[26,2325,2326],{"class":1023},"    Insert descends to the leaf the point belongs in and subdivides any leaf",[26,2328,1033],{"class":955},[26,2330,2332,2335],{"class":951,"line":2331},141,[26,2333,2334],{"class":1023},"    that already holds a different point. Membership is the same descent.",[26,2336,1033],{"class":955},[26,2338,2340,2343],{"class":951,"line":2339},142,[26,2341,2342],{"class":1023},"    `query_range` reports every stored point inside a query rectangle,",[26,2344,1033],{"class":955},[26,2346,2348,2351],{"class":951,"line":2347},143,[26,2349,2350],{"class":1023},"    pruning subtrees the rectangle cannot reach.",[26,2352,1033],{"class":955},[26,2354,2356],{"class":951,"line":2355},144,[26,2357,1024],{"class":1023},[26,2359,2361],{"class":951,"line":2360},145,[26,2362,973],{"emptyLinePlaceholder":972},[26,2364,2366,2368,2370],{"class":951,"line":2365},146,[26,2367,1139],{"class":955},[26,2369,1514],{"class":1013},[26,2371,2372],{"class":959},"(self, boundary: Rectangle) -> None:\n",[26,2374,2376],{"class":951,"line":2375},147,[26,2377,1157],{"class":1023},[26,2379,2381,2384],{"class":951,"line":2380},148,[26,2382,2383],{"class":1023},"      Build an empty quadtree spanning `boundary`. Every inserted point",[26,2385,1033],{"class":955},[26,2387,2389,2392],{"class":951,"line":2388},149,[26,2390,2391],{"class":1023},"      must fall within this square.",[26,2393,1033],{"class":955},[26,2395,2397],{"class":951,"line":2396},150,[26,2398,1157],{"class":1023},[26,2400,2402,2404,2407,2409],{"class":951,"line":2401},151,[26,2403,1523],{"class":955},[26,2405,2406],{"class":959},".root: QuadNode ",[26,2408,1529],{"class":955},[26,2410,2411],{"class":959}," QuadNode(boundary)\n",[26,2413,2415,2417,2420,2423,2425],{"class":951,"line":2414},152,[26,2416,1523],{"class":955},[26,2418,2419],{"class":959},"._size: ",[26,2421,2422],{"class":1013},"int",[26,2424,1713],{"class":955},[26,2426,2427],{"class":1013}," 0\n",[26,2429,2431],{"class":951,"line":2430},153,[26,2432,973],{"emptyLinePlaceholder":972},[26,2434,2436,2438,2441,2443,2445],{"class":951,"line":2435},154,[26,2437,1139],{"class":955},[26,2439,2440],{"class":1013}," insert",[26,2442,1145],{"class":959},[26,2444,1148],{"class":1013},[26,2446,1151],{"class":959},[26,2448,2450],{"class":951,"line":2449},155,[26,2451,1157],{"class":1023},[26,2453,2455,2458],{"class":951,"line":2454},156,[26,2456,2457],{"class":1023},"      Add `point` to the tree. Returns False if `point` lies outside the",[26,2459,1033],{"class":955},[26,2461,2463,2466],{"class":951,"line":2462},157,[26,2464,2465],{"class":1023},"      boundary or an identical point is already stored. Descend to the",[26,2467,1033],{"class":955},[26,2469,2471,2474],{"class":951,"line":2470},158,[26,2472,2473],{"class":1023},"      target leaf; subdivide and push both points down while a leaf would",[26,2475,1033],{"class":955},[26,2477,2479,2482],{"class":951,"line":2478},159,[26,2480,2481],{"class":1023},"      otherwise hold two distinct points.",[26,2483,1033],{"class":955},[26,2485,2487],{"class":951,"line":2486},160,[26,2488,1157],{"class":1023},[26,2490,2492,2494,2496,2498],{"class":951,"line":2491},161,[26,2493,1816],{"class":955},[26,2495,1380],{"class":955},[26,2497,1199],{"class":955},[26,2499,2500],{"class":959},".root.region.contains(point):\n",[26,2502,2504,2507],{"class":951,"line":2503},162,[26,2505,2506],{"class":955},"      return",[26,2508,2509],{"class":959}," False\n",[26,2511,2513],{"class":951,"line":2512},163,[26,2514,973],{"emptyLinePlaceholder":972},[26,2516,2518,2521,2523,2525],{"class":951,"line":2517},164,[26,2519,2520],{"class":959},"    node: QuadNode ",[26,2522,1529],{"class":955},[26,2524,1199],{"class":955},[26,2526,2527],{"class":959},".root\n",[26,2529,2531,2534,2536],{"class":951,"line":2530},165,[26,2532,2533],{"class":955},"    while",[26,2535,1380],{"class":955},[26,2537,2538],{"class":959}," node.is_leaf:\n",[26,2540,2542,2545,2547],{"class":951,"line":2541},166,[26,2543,2544],{"class":959},"      node ",[26,2546,1529],{"class":955},[26,2548,2549],{"class":959}," node.quadrant_of(point)\n",[26,2551,2553],{"class":951,"line":2552},167,[26,2554,973],{"emptyLinePlaceholder":972},[26,2556,2558,2560,2563,2565,2568],{"class":951,"line":2557},168,[26,2559,1816],{"class":955},[26,2561,2562],{"class":959}," node.point ",[26,2564,1650],{"class":955},[26,2566,2567],{"class":959}," None:  ",[26,2569,2570],{"class":1700},"# empty leaf — store here.\n",[26,2572,2574,2577,2579],{"class":951,"line":2573},169,[26,2575,2576],{"class":959},"      node.point ",[26,2578,1529],{"class":955},[26,2580,2581],{"class":959}," point\n",[26,2583,2585,2587,2590,2593],{"class":951,"line":2584},170,[26,2586,1185],{"class":955},[26,2588,2589],{"class":959},"._size ",[26,2591,2592],{"class":955},"+=",[26,2594,2595],{"class":1013}," 1\n",[26,2597,2599,2601],{"class":951,"line":2598},171,[26,2600,2506],{"class":955},[26,2602,2603],{"class":959}," True\n",[26,2605,2607,2609,2611,2614,2617],{"class":951,"line":2606},172,[26,2608,1816],{"class":955},[26,2610,2562],{"class":959},[26,2612,2613],{"class":955},"==",[26,2615,2616],{"class":959}," point:  ",[26,2618,2619],{"class":1700},"# duplicate — nothing to do.\n",[26,2621,2623,2625],{"class":951,"line":2622},173,[26,2624,2506],{"class":955},[26,2626,2509],{"class":959},[26,2628,2630],{"class":951,"line":2629},174,[26,2631,973],{"emptyLinePlaceholder":972},[26,2633,2635],{"class":951,"line":2634},175,[26,2636,2637],{"class":1700},"    # leaf already holds a different point: subdivide until they separate.\n",[26,2639,2641,2644,2646],{"class":951,"line":2640},176,[26,2642,2643],{"class":959},"    resident: Point ",[26,2645,1529],{"class":955},[26,2647,2648],{"class":959}," node.point\n",[26,2650,2652,2655,2657],{"class":951,"line":2651},177,[26,2653,2654],{"class":959},"    node.point ",[26,2656,1529],{"class":955},[26,2658,1545],{"class":959},[26,2660,2662,2664],{"class":951,"line":2661},178,[26,2663,2533],{"class":955},[26,2665,2666],{"class":959}," True:\n",[26,2668,2670],{"class":951,"line":2669},179,[26,2671,2672],{"class":959},"      node.subdivide()\n",[26,2674,2676,2679,2681],{"class":951,"line":2675},180,[26,2677,2678],{"class":959},"      target_for_new: QuadNode ",[26,2680,1529],{"class":955},[26,2682,2549],{"class":959},[26,2684,2686,2689,2691],{"class":951,"line":2685},181,[26,2687,2688],{"class":959},"      target_for_old: QuadNode ",[26,2690,1529],{"class":955},[26,2692,2693],{"class":959}," node.quadrant_of(resident)\n",[26,2695,2697,2700,2703,2705,2707],{"class":951,"line":2696},182,[26,2698,2699],{"class":955},"      if",[26,2701,2702],{"class":959}," target_for_new ",[26,2704,1650],{"class":955},[26,2706,1380],{"class":955},[26,2708,2709],{"class":959}," target_for_old:\n",[26,2711,2713,2716,2718],{"class":951,"line":2712},183,[26,2714,2715],{"class":959},"        target_for_new.point ",[26,2717,1529],{"class":955},[26,2719,2581],{"class":959},[26,2721,2723,2726,2728],{"class":951,"line":2722},184,[26,2724,2725],{"class":959},"        target_for_old.point ",[26,2727,1529],{"class":955},[26,2729,2730],{"class":959}," resident\n",[26,2732,2734,2737,2739,2741],{"class":951,"line":2733},185,[26,2735,2736],{"class":955},"        self",[26,2738,2589],{"class":959},[26,2740,2592],{"class":955},[26,2742,2595],{"class":1013},[26,2744,2746,2749],{"class":951,"line":2745},186,[26,2747,2748],{"class":955},"        return",[26,2750,2603],{"class":959},[26,2752,2754,2756,2758,2761],{"class":951,"line":2753},187,[26,2755,2544],{"class":959},[26,2757,1529],{"class":955},[26,2759,2760],{"class":959}," target_for_new  ",[26,2762,2763],{"class":1700},"# collided again — descend and split deeper.\n",[26,2765,2767],{"class":951,"line":2766},188,[26,2768,973],{"emptyLinePlaceholder":972},[26,2770,2772,2774,2777,2779,2781],{"class":951,"line":2771},189,[26,2773,1139],{"class":955},[26,2775,2776],{"class":1013}," __contains__",[26,2778,1145],{"class":959},[26,2780,1148],{"class":1013},[26,2782,1151],{"class":959},[26,2784,2786,2788,2790,2792],{"class":951,"line":2785},190,[26,2787,1816],{"class":955},[26,2789,1380],{"class":955},[26,2791,1199],{"class":955},[26,2793,2500],{"class":959},[26,2795,2797,2799],{"class":951,"line":2796},191,[26,2798,2506],{"class":955},[26,2800,2509],{"class":959},[26,2802,2804],{"class":951,"line":2803},192,[26,2805,973],{"emptyLinePlaceholder":972},[26,2807,2809],{"class":951,"line":2808},193,[26,2810,2811],{"class":1700},"    # descend to the leaf the point would occupy and check it.\n",[26,2813,2815,2817,2819,2821],{"class":951,"line":2814},194,[26,2816,2520],{"class":959},[26,2818,1529],{"class":955},[26,2820,1199],{"class":955},[26,2822,2527],{"class":959},[26,2824,2826,2828,2830],{"class":951,"line":2825},195,[26,2827,2533],{"class":955},[26,2829,1380],{"class":955},[26,2831,2538],{"class":959},[26,2833,2835,2837,2839],{"class":951,"line":2834},196,[26,2836,2544],{"class":959},[26,2838,1529],{"class":955},[26,2840,2549],{"class":959},[26,2842,2844,2846,2848,2850],{"class":951,"line":2843},197,[26,2845,1176],{"class":955},[26,2847,2562],{"class":959},[26,2849,2613],{"class":955},[26,2851,2581],{"class":959},[26,2853,2855],{"class":951,"line":2854},198,[26,2856,973],{"emptyLinePlaceholder":972},[26,2858,2860,2862,2865],{"class":951,"line":2859},199,[26,2861,1139],{"class":955},[26,2863,2864],{"class":1013}," query_range",[26,2866,2867],{"class":959},"(self, query: Rectangle) -> list[Point]:\n",[26,2869,2871],{"class":951,"line":2870},200,[26,2872,1157],{"class":1023},[26,2874,2876,2879],{"class":951,"line":2875},201,[26,2877,2878],{"class":1023},"      Every stored point lying inside `query`. Skip a subtree whose square",[26,2880,1033],{"class":955},[26,2882,2884,2887],{"class":951,"line":2883},202,[26,2885,2886],{"class":1023},"      is disjoint from `query`; report a subtree whose square lies wholly",[26,2888,1033],{"class":955},[26,2890,2892,2895],{"class":951,"line":2891},203,[26,2893,2894],{"class":1023},"      inside `query`; otherwise recurse into all four children.",[26,2896,1033],{"class":955},[26,2898,2900],{"class":951,"line":2899},204,[26,2901,1157],{"class":1023},[26,2903,2905,2908,2910],{"class":951,"line":2904},205,[26,2906,2907],{"class":959},"    found: list[Point] ",[26,2909,1529],{"class":955},[26,2911,2912],{"class":959}," []\n",[26,2914,2916],{"class":951,"line":2915},206,[26,2917,973],{"emptyLinePlaceholder":972},[26,2919,2921,2924,2927],{"class":951,"line":2920},207,[26,2922,2923],{"class":955},"    def",[26,2925,2926],{"class":1013}," descend",[26,2928,2929],{"class":959},"(node: QuadNode) -> None:\n",[26,2931,2933,2935,2937],{"class":951,"line":2932},208,[26,2934,2699],{"class":955},[26,2936,1380],{"class":955},[26,2938,2939],{"class":959}," query.intersects(node.region):\n",[26,2941,2943,2945],{"class":951,"line":2942},209,[26,2944,2748],{"class":955},[26,2946,2947],{"class":1700},"  # disjoint — prune the whole subtree.\n",[26,2949,2951,2953],{"class":951,"line":2950},210,[26,2952,2699],{"class":955},[26,2954,2955],{"class":959}," query.covers(node.region):\n",[26,2957,2959,2962,2964,2967],{"class":951,"line":2958},211,[26,2960,2961],{"class":959},"        found.extend(",[26,2963,1719],{"class":955},[26,2965,2966],{"class":959},"._points_in(node))  ",[26,2968,2969],{"class":1700},"# contained — report all.\n",[26,2971,2973],{"class":951,"line":2972},212,[26,2974,2975],{"class":955},"        return\n",[26,2977,2979,2981],{"class":951,"line":2978},213,[26,2980,2699],{"class":955},[26,2982,2538],{"class":959},[26,2984,2986,2989,2991,2993,2995,2998,3001],{"class":951,"line":2985},214,[26,2987,2988],{"class":955},"        if",[26,2990,2562],{"class":959},[26,2992,1650],{"class":955},[26,2994,1380],{"class":955},[26,2996,2997],{"class":959}," None ",[26,2999,3000],{"class":955},"and",[26,3002,3003],{"class":959}," query.contains(node.point):\n",[26,3005,3007],{"class":951,"line":3006},215,[26,3008,3009],{"class":959},"          found.append(node.point)\n",[26,3011,3013],{"class":951,"line":3012},216,[26,3014,2975],{"class":955},[26,3016,3018,3021,3023,3026],{"class":951,"line":3017},217,[26,3019,3020],{"class":955},"      for",[26,3022,1886],{"class":959},[26,3024,3025],{"class":955},"in",[26,3027,3028],{"class":959}," node.children():\n",[26,3030,3032],{"class":951,"line":3031},218,[26,3033,3034],{"class":959},"        descend(child)\n",[26,3036,3038],{"class":951,"line":3037},219,[26,3039,973],{"emptyLinePlaceholder":972},[26,3041,3043,3046,3048],{"class":951,"line":3042},220,[26,3044,3045],{"class":959},"    descend(",[26,3047,1719],{"class":955},[26,3049,3050],{"class":959},".root)\n",[26,3052,3054,3056],{"class":951,"line":3053},221,[26,3055,1176],{"class":955},[26,3057,3058],{"class":959}," found\n",[26,3060,3062],{"class":951,"line":3061},222,[26,3063,973],{"emptyLinePlaceholder":972},[26,3065,3067,3069,3072],{"class":951,"line":3066},223,[26,3068,1139],{"class":955},[26,3070,3071],{"class":1013}," _points_in",[26,3073,3074],{"class":959},"(self, node: QuadNode) -> Iterator[Point]:\n",[26,3076,3078],{"class":951,"line":3077},224,[26,3079,1157],{"class":1023},[26,3081,3083,3086],{"class":951,"line":3082},225,[26,3084,3085],{"class":1023},"      Every point stored in the subtree rooted at `node`.",[26,3087,1033],{"class":955},[26,3089,3091],{"class":951,"line":3090},226,[26,3092,1157],{"class":1023},[26,3094,3096,3098],{"class":951,"line":3095},227,[26,3097,1816],{"class":955},[26,3099,2538],{"class":959},[26,3101,3103,3105,3107,3109,3111],{"class":951,"line":3102},228,[26,3104,2699],{"class":955},[26,3106,2562],{"class":959},[26,3108,1650],{"class":955},[26,3110,1380],{"class":955},[26,3112,3113],{"class":959}," None:\n",[26,3115,3117,3120],{"class":951,"line":3116},229,[26,3118,3119],{"class":955},"        yield",[26,3121,2648],{"class":959},[26,3123,3125],{"class":951,"line":3124},230,[26,3126,3127],{"class":955},"      return\n",[26,3129,3131,3134,3136,3138],{"class":951,"line":3130},231,[26,3132,3133],{"class":955},"    for",[26,3135,1886],{"class":959},[26,3137,3025],{"class":955},[26,3139,3028],{"class":959},[26,3141,3143,3146,3148],{"class":951,"line":3142},232,[26,3144,3145],{"class":955},"      yield from",[26,3147,1199],{"class":955},[26,3149,3150],{"class":959},"._points_in(child)\n",[26,3152,3154],{"class":951,"line":3153},233,[26,3155,973],{"emptyLinePlaceholder":972},[26,3157,3159,3161,3164],{"class":951,"line":3158},234,[26,3160,1139],{"class":955},[26,3162,3163],{"class":1013}," __iter__",[26,3165,3166],{"class":959},"(self) -> Iterator[Point]:\n",[26,3168,3170,3172,3174,3177,3179],{"class":951,"line":3169},235,[26,3171,1176],{"class":955},[26,3173,1199],{"class":955},[26,3175,3176],{"class":959},"._points_in(",[26,3178,1719],{"class":955},[26,3180,3050],{"class":959},[26,3182,3184],{"class":951,"line":3183},236,[26,3185,973],{"emptyLinePlaceholder":972},[26,3187,3189,3191,3194,3196,3198],{"class":951,"line":3188},237,[26,3190,1139],{"class":955},[26,3192,3193],{"class":1013}," __len__",[26,3195,1615],{"class":959},[26,3197,2422],{"class":1013},[26,3199,1151],{"class":959},[26,3201,3203,3205,3207],{"class":951,"line":3202},238,[26,3204,1176],{"class":955},[26,3206,1199],{"class":955},[26,3208,3209],{"class":959},"._size\n",[257,3211,3213],{"id":3212},"k-d-trees-split-on-alternating-coordinates-at-the-median","k-d trees: split on alternating coordinates at the median",[11,3215,13,3216,1716,3218,3235,3236,3272,3273,3276,3277,3280,3281,3296,3297,3312,3313,3328,3329,3331,3332,3365],{},[21,3217,194],{},[26,3219,3221],{"className":3220},[29],[26,3222,3224],{"className":3223,"ariaHidden":34},[33],[26,3225,3227,3230],{"className":3226},[38],[26,3228],{"className":3229,"style":366},[42],[26,3231,3234],{"className":3232,"style":3233},[47,113],"margin-right:0.0315em;","k","-dimensional tree; here ",[26,3237,3239],{"className":3238},[29],[26,3240,3242,3262],{"className":3241,"ariaHidden":34},[33],[26,3243,3245,3248,3251,3255,3259],{"className":3244},[38],[26,3246],{"className":3247,"style":366},[42],[26,3249,3234],{"className":3250,"style":3233},[47,113],[26,3252],{"className":3253,"style":3254},[873],"margin-right:0.2778em;",[26,3256,1529],{"className":3257},[3258],"mrel",[26,3260],{"className":3261,"style":3254},[873],[26,3263,3265,3269],{"className":3264},[38],[26,3266],{"className":3267,"style":3268},[42],"height:0.6444em;",[26,3270,87],{"className":3271},[47],") is a binary tree in which each\ninternal node splits the remaining points by a ",[21,3274,3275],{},"single coordinate",", and the\nsplitting coordinate ",[21,3278,3279],{},"cycles"," with depth: the root splits on ",[26,3282,3284],{"className":3283},[29],[26,3285,3287],{"className":3286,"ariaHidden":34},[33],[26,3288,3290,3293],{"className":3289},[38],[26,3291],{"className":3292,"style":128},[42],[26,3294,132],{"className":3295},[47,113],", its children\nsplit on ",[26,3298,3300],{"className":3299},[29],[26,3301,3303],{"className":3302,"ariaHidden":34},[33],[26,3304,3306,3309],{"className":3305},[38],[26,3307],{"className":3308,"style":109},[42],[26,3310,149],{"className":3311,"style":114},[47,113],", the grandchildren on ",[26,3314,3316],{"className":3315},[29],[26,3317,3319],{"className":3318,"ariaHidden":34},[33],[26,3320,3322,3325],{"className":3321},[38],[26,3323],{"className":3324,"style":128},[42],[26,3326,132],{"className":3327},[47,113]," again, and so on. At each node\nthe split is at the ",[21,3330,245],{}," value of the active coordinate, so each child receives\nhalf the points — which forces height ",[26,3333,3335],{"className":3334},[29],[26,3336,3338],{"className":3337,"ariaHidden":34},[33],[26,3339,3341,3344,3347,3350,3356,3359,3362],{"className":3340},[38],[26,3342],{"className":3343,"style":794},[42],[26,3345,895],{"className":3346,"style":894},[47,113],[26,3348,803],{"className":3349},[802],[26,3351,3353],{"className":3352},[807],[26,3354,813],{"className":3355,"style":812},[47,811],[26,3357],{"className":3358,"style":874},[873],[26,3360,849],{"className":3361},[47,113],[26,3363,910],{"className":3364},[827]," no matter how the points are\ndistributed.",[373,3367,3368],{"type":375},[11,3369,3370,3373,3374,3389,3390,3432,3433,3449,3450,3517,3518,3534,3535,3550,3551,3566,3567,3582,3583,3616],{},[21,3371,3372],{},"Definition (k-d tree)."," A k-d tree over ",[26,3375,3377],{"className":3376},[29],[26,3378,3380],{"className":3379,"ariaHidden":34},[33],[26,3381,3383,3386],{"className":3382},[38],[26,3384],{"className":3385,"style":128},[42],[26,3387,849],{"className":3388},[47,113]," points in ",[26,3391,3393],{"className":3392},[29],[26,3394,3396],{"className":3395,"ariaHidden":34},[33],[26,3397,3399,3403],{"className":3398},[38],[26,3400],{"className":3401,"style":3402},[42],"height:0.8491em;",[26,3404,3406,3409],{"className":3405},[47],[26,3407,52],{"className":3408},[47,51],[26,3410,3412],{"className":3411},[56],[26,3413,3415],{"className":3414},[60],[26,3416,3418],{"className":3417},[64],[26,3419,3421],{"className":3420,"style":3402},[68],[26,3422,3423,3426],{"style":71},[26,3424],{"className":3425,"style":76},[75],[26,3427,3429],{"className":3428},[80,81,82,83],[26,3430,3234],{"className":3431,"style":3233},[47,113,83]," is a\nbinary tree where a node at depth ",[26,3434,3436],{"className":3435},[29],[26,3437,3439],{"className":3438,"ariaHidden":34},[33],[26,3440,3442,3445],{"className":3441},[38],[26,3443],{"className":3444,"style":366},[42],[26,3446,3448],{"className":3447},[47,113],"d"," splits on coordinate ",[26,3451,3453],{"className":3452},[29],[26,3454,3456,3474,3508],{"className":3455,"ariaHidden":34},[33],[26,3457,3459,3462,3465,3468,3471],{"className":3458},[38],[26,3460],{"className":3461,"style":128},[42],[26,3463,15],{"className":3464},[47,113],[26,3466],{"className":3467,"style":3254},[873],[26,3469,1529],{"className":3470},[3258],[26,3472],{"className":3473,"style":3254},[873],[26,3475,3477,3480,3483,3487,3491,3502,3505],{"className":3476},[38],[26,3478],{"className":3479,"style":366},[42],[26,3481,3448],{"className":3482},[47,113],[26,3484],{"className":3485,"style":3486},[873],"margin-right:0.0556em;",[26,3488],{"className":3489,"style":3490},[873],"margin-right:0.2222em;",[26,3492,3495],{"className":3493},[3494],"mbin",[26,3496,3498],{"className":3497},[47],[26,3499,3501],{"className":3500},[47,811],"mod",[26,3503],{"className":3504,"style":3486},[873],[26,3506],{"className":3507,"style":3490},[873],[26,3509,3511,3514],{"className":3510},[38],[26,3512],{"className":3513,"style":366},[42],[26,3515,3234],{"className":3516,"style":3233},[47,113]," at a\nvalue ",[26,3519,3521],{"className":3520},[29],[26,3522,3524],{"className":3523,"ariaHidden":34},[33],[26,3525,3527,3530],{"className":3526},[38],[26,3528],{"className":3529,"style":128},[42],[26,3531,3533],{"className":3532},[47,113],"m",": its left subtree holds points with coordinate ",[26,3536,3538],{"className":3537},[29],[26,3539,3541],{"className":3540,"ariaHidden":34},[33],[26,3542,3544,3547],{"className":3543},[38],[26,3545],{"className":3546,"style":128},[42],[26,3548,15],{"className":3549},[47,113]," less than ",[26,3552,3554],{"className":3553},[29],[26,3555,3557],{"className":3556,"ariaHidden":34},[33],[26,3558,3560,3563],{"className":3559},[38],[26,3561],{"className":3562,"style":128},[42],[26,3564,3533],{"className":3565},[47,113],", its\nright subtree the rest. Choosing ",[26,3568,3570],{"className":3569},[29],[26,3571,3573],{"className":3572,"ariaHidden":34},[33],[26,3574,3576,3579],{"className":3575},[38],[26,3577],{"className":3578,"style":128},[42],[26,3580,3533],{"className":3581},[47,113]," as the median of the active coordinate\nbalances the tree at height ",[26,3584,3586],{"className":3585},[29],[26,3587,3589],{"className":3588,"ariaHidden":34},[33],[26,3590,3592,3595,3598,3601,3607,3610,3613],{"className":3591},[38],[26,3593],{"className":3594,"style":794},[42],[26,3596,895],{"className":3597,"style":894},[47,113],[26,3599,803],{"className":3600},[802],[26,3602,3604],{"className":3603},[807],[26,3605,813],{"className":3606,"style":812},[47,811],[26,3608],{"className":3609,"style":874},[873],[26,3611,849],{"className":3612},[47,113],[26,3614,910],{"className":3615},[827],".",[11,3618,3619,3620,3623],{},"Geometrically, each split is an ",[21,3621,3622],{},"axis-aligned line"," (a hyperplane in higher\ndimensions): a vertical cut at the root, horizontal cuts at the next level,\nvertical again below that. The cuts nest, carving the plane into rectangular\ncells — one per leaf — each containing a single point.",[473,3625],{"hash":3626},"50fdb11ac6f43bd1a6cb44cb3dc6b48b305b658cc9099727c0a72718024f4829",[11,3628,3629,3632,3633,3648,3649,3664,3665,3728,3729,3731,3732,3747,3748,3752,3753,3839,3840,3879,3880,3616],{},[21,3630,3631],{},"Build."," Given all ",[26,3634,3636],{"className":3635},[29],[26,3637,3639],{"className":3638,"ariaHidden":34},[33],[26,3640,3642,3645],{"className":3641},[38],[26,3643],{"className":3644,"style":128},[42],[26,3646,849],{"className":3647},[47,113]," points, build top-down. At depth ",[26,3650,3652],{"className":3651},[29],[26,3653,3655],{"className":3654,"ariaHidden":34},[33],[26,3656,3658,3661],{"className":3657},[38],[26,3659],{"className":3660,"style":366},[42],[26,3662,3448],{"className":3663},[47,113]," pick the active\ncoordinate ",[26,3666,3668],{"className":3667},[29],[26,3669,3671,3689,3719],{"className":3670,"ariaHidden":34},[33],[26,3672,3674,3677,3680,3683,3686],{"className":3673},[38],[26,3675],{"className":3676,"style":128},[42],[26,3678,15],{"className":3679},[47,113],[26,3681],{"className":3682,"style":3254},[873],[26,3684,1529],{"className":3685},[3258],[26,3687],{"className":3688,"style":3254},[873],[26,3690,3692,3695,3698,3701,3704,3713,3716],{"className":3691},[38],[26,3693],{"className":3694,"style":366},[42],[26,3696,3448],{"className":3697},[47,113],[26,3699],{"className":3700,"style":3486},[873],[26,3702],{"className":3703,"style":3490},[873],[26,3705,3707],{"className":3706},[3494],[26,3708,3710],{"className":3709},[47],[26,3711,3501],{"className":3712},[47,811],[26,3714],{"className":3715,"style":3486},[873],[26,3717],{"className":3718,"style":3490},[873],[26,3720,3722,3725],{"className":3721},[38],[26,3723],{"className":3724,"style":3268},[42],[26,3726,87],{"className":3727},[47],", find the ",[21,3730,245],{}," of the points by coordinate ",[26,3733,3735],{"className":3734},[29],[26,3736,3738],{"className":3737,"ariaHidden":34},[33],[26,3739,3741,3744],{"className":3740},[38],[26,3742],{"className":3743,"style":128},[42],[26,3745,15],{"className":3746},[47,113],"\n(linear time via ",[15,3749,3751],{"href":3750},"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection","quickselect",", or by pre-sorting), store it at the node,\nand recurse on the two halves. The recurrence ",[26,3754,3756],{"className":3755},[29],[26,3757,3759,3787,3821],{"className":3758,"ariaHidden":34},[33],[26,3760,3762,3765,3769,3772,3775,3778,3781,3784],{"className":3761},[38],[26,3763],{"className":3764,"style":794},[42],[26,3766,3768],{"className":3767,"style":288},[47,113],"T",[26,3770,803],{"className":3771},[802],[26,3773,849],{"className":3774},[47,113],[26,3776,910],{"className":3777},[827],[26,3779],{"className":3780,"style":3254},[873],[26,3782,1529],{"className":3783},[3258],[26,3785],{"className":3786,"style":3254},[873],[26,3788,3790,3793,3796,3799,3802,3805,3809,3812,3815,3818],{"className":3789},[38],[26,3791],{"className":3792,"style":794},[42],[26,3794,87],{"className":3795},[47],[26,3797,3768],{"className":3798,"style":288},[47,113],[26,3800,803],{"className":3801},[802],[26,3803,849],{"className":3804},[47,113],[26,3806,3808],{"className":3807},[47],"\u002F2",[26,3810,910],{"className":3811},[827],[26,3813],{"className":3814,"style":3490},[873],[26,3816,1725],{"className":3817},[3494],[26,3819],{"className":3820,"style":3490},[873],[26,3822,3824,3827,3830,3833,3836],{"className":3823},[38],[26,3825],{"className":3826,"style":794},[42],[26,3828,895],{"className":3829,"style":894},[47,113],[26,3831,803],{"className":3832},[802],[26,3834,849],{"className":3835},[47,113],[26,3837,910],{"className":3838},[827]," solves to\n",[26,3841,3843],{"className":3842},[29],[26,3844,3846],{"className":3845,"ariaHidden":34},[33],[26,3847,3849,3852,3855,3858,3861,3864,3870,3873,3876],{"className":3848},[38],[26,3850],{"className":3851,"style":794},[42],[26,3853,895],{"className":3854,"style":894},[47,113],[26,3856,803],{"className":3857},[802],[26,3859,849],{"className":3860},[47,113],[26,3862],{"className":3863,"style":874},[873],[26,3865,3867],{"className":3866},[807],[26,3868,813],{"className":3869,"style":812},[47,811],[26,3871],{"className":3872,"style":874},[873],[26,3874,849],{"className":3875},[47,113],[26,3877,910],{"className":3878},[827],", and because every split is at the median the resulting tree has\nheight ",[26,3881,3883],{"className":3882},[29],[26,3884,3886],{"className":3885,"ariaHidden":34},[33],[26,3887,3889,3892,3896,3945,3948,3951],{"className":3888},[38],[26,3890],{"className":3891,"style":794},[42],[26,3893,3895],{"className":3894},[802],"⌈",[26,3897,3899,3905],{"className":3898},[807],[26,3900,3902],{"className":3901},[807],[26,3903,813],{"className":3904,"style":812},[47,811],[26,3906,3908],{"className":3907},[56],[26,3909,3912,3936],{"className":3910},[60,3911],"vlist-t2",[26,3913,3915,3931],{"className":3914},[64],[26,3916,3919],{"className":3917,"style":3918},[68],"height:0.207em;",[26,3920,3922,3925],{"style":3921},"top:-2.4559em;margin-right:0.05em;",[26,3923],{"className":3924,"style":76},[75],[26,3926,3928],{"className":3927},[80,81,82,83],[26,3929,87],{"className":3930},[47,83],[26,3932,3935],{"className":3933},[3934],"vlist-s","​",[26,3937,3939],{"className":3938},[64],[26,3940,3943],{"className":3941,"style":3942},[68],"height:0.2441em;",[26,3944],{},[26,3946],{"className":3947,"style":874},[873],[26,3949,849],{"className":3950},[47,113],[26,3952,3954],{"className":3953},[827],"⌉",[473,3956],{"hash":3957},"f9865d9738dc93f23254bef541a733674df40808798e5f3730c0dae6aa1b20da",[11,3959,3960,3963,3964,3979,3980,3995,3996,4011,4012,4029,4030,4135,4136,4193,4194],{},[21,3961,3962],{},"Range search."," Reporting the points in a query rectangle ",[26,3965,3967],{"className":3966},[29],[26,3968,3970],{"className":3969,"ariaHidden":34},[33],[26,3971,3973,3976],{"className":3972},[38],[26,3974],{"className":3975,"style":598},[42],[26,3977,602],{"className":3978},[47,113]," works just like\nthe quadtree's, pruning on the cell each node owns: skip a subtree whose region is\ndisjoint from ",[26,3981,3983],{"className":3982},[29],[26,3984,3986],{"className":3985,"ariaHidden":34},[33],[26,3987,3989,3992],{"className":3988},[38],[26,3990],{"className":3991,"style":598},[42],[26,3993,602],{"className":3994},[47,113],", report a subtree whose region lies wholly inside ",[26,3997,3999],{"className":3998},[29],[26,4000,4002],{"className":4001,"ariaHidden":34},[33],[26,4003,4005,4008],{"className":4004},[38],[26,4006],{"className":4007,"style":598},[42],[26,4009,602],{"className":4010},[47,113],", and\nrecurse otherwise. A range query touching ",[26,4013,4015],{"className":4014},[29],[26,4016,4018],{"className":4017,"ariaHidden":34},[33],[26,4019,4021,4025],{"className":4020},[38],[26,4022],{"className":4023,"style":4024},[42],"height:0.6151em;",[26,4026,4028],{"className":4027},[47,113],"t"," output points costs\n",[26,4031,4033],{"className":4032},[29],[26,4034,4036,4123],{"className":4035,"ariaHidden":34},[33],[26,4037,4039,4043,4046,4049,4114,4117,4120],{"className":4038},[38],[26,4040],{"className":4041,"style":4042},[42],"height:1.0503em;vertical-align:-0.25em;",[26,4044,895],{"className":4045,"style":894},[47,113],[26,4047,803],{"className":4048},[802],[26,4050,4053],{"className":4051},[47,4052],"sqrt",[26,4054,4056,4105],{"className":4055},[60,3911],[26,4057,4059,4102],{"className":4058},[64],[26,4060,4063,4079],{"className":4061,"style":4062},[68],"height:0.8003em;",[26,4064,4068,4072],{"className":4065,"style":4067},[4066],"svg-align","top:-3em;",[26,4069],{"className":4070,"style":4071},[75],"height:3em;",[26,4073,4076],{"className":4074,"style":4075},[47],"padding-left:0.833em;",[26,4077,849],{"className":4078},[47,113],[26,4080,4082,4085],{"style":4081},"top:-2.7603em;",[26,4083],{"className":4084,"style":4071},[75],[26,4086,4090],{"className":4087,"style":4089},[4088],"hide-tail","min-width:0.853em;height:1.08em;",[4091,4092,4098],"svg",{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg","400em","1.08em","0 0 400000 1080","xMinYMin slice",[4099,4100],"path",{"d":4101},"M95,702\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl0 -0\nc5.3,-9.3,12,-14,20,-14\nH400000v40H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM834 80h400000v40h-400000z",[26,4103,3935],{"className":4104},[3934],[26,4106,4108],{"className":4107},[64],[26,4109,4112],{"className":4110,"style":4111},[68],"height:0.2397em;",[26,4113],{},[26,4115],{"className":4116,"style":3490},[873],[26,4118,1725],{"className":4119},[3494],[26,4121],{"className":4122,"style":3490},[873],[26,4124,4126,4129,4132],{"className":4125},[38],[26,4127],{"className":4128,"style":794},[42],[26,4130,4028],{"className":4131},[47,113],[26,4133,910],{"className":4134},[827]," in the plane — the ",[26,4137,4139],{"className":4138},[29],[26,4140,4142],{"className":4141,"ariaHidden":34},[33],[26,4143,4145,4149],{"className":4144},[38],[26,4146],{"className":4147,"style":4148},[42],"height:1.04em;vertical-align:-0.2397em;",[26,4150,4152],{"className":4151},[47,4052],[26,4153,4155,4185],{"className":4154},[60,3911],[26,4156,4158,4182],{"className":4157},[64],[26,4159,4161,4170],{"className":4160,"style":4062},[68],[26,4162,4164,4167],{"className":4163,"style":4067},[4066],[26,4165],{"className":4166,"style":4071},[75],[26,4168,849],{"className":4169,"style":4075},[47,113],[26,4171,4172,4175],{"style":4081},[26,4173],{"className":4174,"style":4071},[75],[26,4176,4178],{"className":4177,"style":4089},[4088],[4091,4179,4180],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,4181],{"d":4101},[26,4183,3935],{"className":4184},[3934],[26,4186,4188],{"className":4187},[64],[26,4189,4191],{"className":4190,"style":4111},[68],[26,4192],{}," comes from the cells the query\nboundary crosses.",[176,4195,4196],{},[15,4197,4201],{"href":4198,"ariaDescribedBy":4199,"dataFootnoteRef":6,"id":4200},"#user-content-fn-clrs-geom",[182],"user-content-fnref-clrs-geom","3",[4203,4204,4206],"h3",{"id":4205},"nearest-neighbour-search-with-branch-and-bound","Nearest-neighbour search with branch-and-bound",[11,4208,4209,4210,4213,4214,4229,4230,4254,4255,4288,4289,4292,4293,4308,4309,4312,4313,4316],{},"The k-d tree's signature query is ",[21,4211,4212],{},"nearest neighbour",": given a query\npoint ",[26,4215,4217],{"className":4216},[29],[26,4218,4220],{"className":4219,"ariaHidden":34},[33],[26,4221,4223,4226],{"className":4222},[38],[26,4224],{"className":4225,"style":109},[42],[26,4227,90],{"className":4228,"style":114},[47,113],", find the stored point closest to it. The naive scan is ",[26,4231,4233],{"className":4232},[29],[26,4234,4236],{"className":4235,"ariaHidden":34},[33],[26,4237,4239,4242,4245,4248,4251],{"className":4238},[38],[26,4240],{"className":4241,"style":794},[42],[26,4243,895],{"className":4244,"style":894},[47,113],[26,4246,803],{"className":4247},[802],[26,4249,849],{"className":4250},[47,113],[26,4252,910],{"className":4253},[827],"; the k-d\ntree does it in ",[26,4256,4258],{"className":4257},[29],[26,4259,4261],{"className":4260,"ariaHidden":34},[33],[26,4262,4264,4267,4270,4273,4279,4282,4285],{"className":4263},[38],[26,4265],{"className":4266,"style":794},[42],[26,4268,895],{"className":4269,"style":894},[47,113],[26,4271,803],{"className":4272},[802],[26,4274,4276],{"className":4275},[807],[26,4277,813],{"className":4278,"style":812},[47,811],[26,4280],{"className":4281,"style":874},[873],[26,4283,849],{"className":4284},[47,113],[26,4286,910],{"className":4287},[827]," expected time on well-distributed data by\n",[21,4290,4291],{},"branch-and-bound"," — descend to the leaf ",[26,4294,4296],{"className":4295},[29],[26,4297,4299],{"className":4298,"ariaHidden":34},[33],[26,4300,4302,4305],{"className":4301},[38],[26,4303],{"className":4304,"style":109},[42],[26,4306,90],{"className":4307,"style":114},[47,113]," ",[90,4310,4311],{},"belongs"," in to get a first\ncandidate, then unwind, only entering the ",[248,4314,4315],{},"other"," side of a split if a closer\npoint could possibly hide there.",[11,4318,4319,4320,4335,4336,4351,4352,4385,4386,4389,4390,4405,4406,4421,4422,4503],{},"The pruning test is geometric. At a node splitting coordinate ",[26,4321,4323],{"className":4322},[29],[26,4324,4326],{"className":4325,"ariaHidden":34},[33],[26,4327,4329,4332],{"className":4328},[38],[26,4330],{"className":4331,"style":128},[42],[26,4333,15],{"className":4334},[47,113]," at value ",[26,4337,4339],{"className":4338},[29],[26,4340,4342],{"className":4341,"ariaHidden":34},[33],[26,4343,4345,4348],{"className":4344},[38],[26,4346],{"className":4347,"style":128},[42],[26,4349,3533],{"className":4350},[47,113],",\nthe far subtree lies entirely on the far side of the line ",[26,4353,4355],{"className":4354},[29],[26,4356,4358,4376],{"className":4357,"ariaHidden":34},[33],[26,4359,4361,4364,4367,4370,4373],{"className":4360},[38],[26,4362],{"className":4363,"style":128},[42],[26,4365,15],{"className":4366},[47,113],[26,4368],{"className":4369,"style":3254},[873],[26,4371,1529],{"className":4372},[3258],[26,4374],{"className":4375,"style":3254},[873],[26,4377,4379,4382],{"className":4378},[38],[26,4380],{"className":4381,"style":128},[42],[26,4383,3533],{"className":4384},[47,113],". The closest\nthat ",[248,4387,4388],{},"any"," far-side point could be to ",[26,4391,4393],{"className":4392},[29],[26,4394,4396],{"className":4395,"ariaHidden":34},[33],[26,4397,4399,4402],{"className":4398},[38],[26,4400],{"className":4401,"style":109},[42],[26,4403,90],{"className":4404,"style":114},[47,113]," is the perpendicular distance from ",[26,4407,4409],{"className":4408},[29],[26,4410,4412],{"className":4411,"ariaHidden":34},[33],[26,4413,4415,4418],{"className":4414},[38],[26,4416],{"className":4417,"style":109},[42],[26,4419,90],{"className":4420,"style":114},[47,113],"\nto that line, ",[26,4423,4425],{"className":4424},[29],[26,4426,4428,4491],{"className":4427,"ariaHidden":34},[33],[26,4429,4431,4434,4438,4481,4484,4488],{"className":4430},[38],[26,4432],{"className":4433,"style":794},[42],[26,4435,4437],{"className":4436},[47],"∣",[26,4439,4441,4444],{"className":4440},[47],[26,4442,90],{"className":4443,"style":114},[47,113],[26,4445,4447],{"className":4446},[56],[26,4448,4450,4472],{"className":4449},[60,3911],[26,4451,4453,4469],{"className":4452},[64],[26,4454,4457],{"className":4455,"style":4456},[68],"height:0.1514em;",[26,4458,4460,4463],{"style":4459},"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;",[26,4461],{"className":4462,"style":76},[75],[26,4464,4466],{"className":4465},[80,81,82,83],[26,4467,15],{"className":4468},[47,113,83],[26,4470,3935],{"className":4471},[3934],[26,4473,4475],{"className":4474},[64],[26,4476,4479],{"className":4477,"style":4478},[68],"height:0.15em;",[26,4480],{},[26,4482],{"className":4483,"style":3490},[873],[26,4485,4487],{"className":4486},[3494],"−",[26,4489],{"className":4490,"style":3490},[873],[26,4492,4494,4497,4500],{"className":4493},[38],[26,4495],{"className":4496,"style":794},[42],[26,4498,3533],{"className":4499},[47,113],[26,4501,4437],{"className":4502},[47],". If that distance already exceeds the best distance\nfound so far, no point over there can beat the current best — so we skip the\nentire far subtree. Otherwise the far side might hold something closer, and we\nrecurse into it too.",[940,4505,4509],{"className":4506,"code":4507,"language":4508,"meta":6,"style":6},"language-algorithm shiki shiki-themes Vesper Light - Orange Boost (Quick Open Adjusted) vesper","caption: $\\textsc{NearestNeighbor}(v, q, best)$ — closest stored point to $q$\nnumber: 1\nif $v = \\text{nil}$ then return $best$\nif $\\dist(q, point(v)) \u003C \\dist(q, best)$ then\n  $best \\gets point(v)$ \u002F\u002F this node beats the incumbent\n$a \\gets depth(v) \\bmod 2$ \u002F\u002F active split coordinate\nif $q_a \u003C value(v)$ then\n  $near \\gets left(v),\\ far \\gets right(v)$\nelse\n  $near \\gets right(v),\\ far \\gets left(v)$\n$best \\gets \\textsc{NearestNeighbor}(near, q, best)$ \u002F\u002F descend the likely side first\nif $|q_a - value(v)| \u003C \\dist(q, best)$ then \u002F\u002F splitting line within reach?\n  $best \\gets \\textsc{NearestNeighbor}(far, q, best)$ \u002F\u002F only then check the far side\nreturn $best$\n","algorithm",[947,4510,4511,4516,4521,4526,4531,4536,4541,4546,4551,4556,4561,4566,4571,4576],{"__ignoreMap":6},[26,4512,4513],{"class":951,"line":952},[26,4514,4515],{},"caption: $\\textsc{NearestNeighbor}(v, q, best)$ — closest stored point to $q$\n",[26,4517,4518],{"class":951,"line":969},[26,4519,4520],{},"number: 1\n",[26,4522,4523],{"class":951,"line":976},[26,4524,4525],{},"if $v = \\text{nil}$ then return $best$\n",[26,4527,4528],{"class":951,"line":989},[26,4529,4530],{},"if $\\dist(q, point(v)) \u003C \\dist(q, best)$ then\n",[26,4532,4533],{"class":951,"line":1002},[26,4534,4535],{},"  $best \\gets point(v)$ \u002F\u002F this node beats the incumbent\n",[26,4537,4538],{"class":951,"line":1007},[26,4539,4540],{},"$a \\gets depth(v) \\bmod 2$ \u002F\u002F active split coordinate\n",[26,4542,4543],{"class":951,"line":1020},[26,4544,4545],{},"if $q_a \u003C value(v)$ then\n",[26,4547,4548],{"class":951,"line":1027},[26,4549,4550],{},"  $near \\gets left(v),\\ far \\gets right(v)$\n",[26,4552,4553],{"class":951,"line":1036},[26,4554,4555],{},"else\n",[26,4557,4558],{"class":951,"line":1041},[26,4559,4560],{},"  $near \\gets right(v),\\ far \\gets left(v)$\n",[26,4562,4563],{"class":951,"line":1050},[26,4564,4565],{},"$best \\gets \\textsc{NearestNeighbor}(near, q, best)$ \u002F\u002F descend the likely side first\n",[26,4567,4568],{"class":951,"line":1058},[26,4569,4570],{},"if $|q_a - value(v)| \u003C \\dist(q, best)$ then \u002F\u002F splitting line within reach?\n",[26,4572,4573],{"class":951,"line":1063},[26,4574,4575],{},"  $best \\gets \\textsc{NearestNeighbor}(far, q, best)$ \u002F\u002F only then check the far side\n",[26,4577,4578],{"class":951,"line":1073},[26,4579,4580],{},"return $best$\n",[11,4582,4583,4584,4587,4588,4690,4691,4706,4707,4722],{},"Visiting the ",[248,4585,4586],{},"near"," side first is what makes the bound tight: it usually finds a\ngood candidate immediately, so the ",[26,4589,4591],{"className":4590},[29],[26,4592,4594,4652],{"className":4593,"ariaHidden":34},[33],[26,4595,4597,4600,4603,4643,4646,4649],{"className":4596},[38],[26,4598],{"className":4599,"style":794},[42],[26,4601,4437],{"className":4602},[47],[26,4604,4606,4609],{"className":4605},[47],[26,4607,90],{"className":4608,"style":114},[47,113],[26,4610,4612],{"className":4611},[56],[26,4613,4615,4635],{"className":4614},[60,3911],[26,4616,4618,4632],{"className":4617},[64],[26,4619,4621],{"className":4620,"style":4456},[68],[26,4622,4623,4626],{"style":4459},[26,4624],{"className":4625,"style":76},[75],[26,4627,4629],{"className":4628},[80,81,82,83],[26,4630,15],{"className":4631},[47,113,83],[26,4633,3935],{"className":4634},[3934],[26,4636,4638],{"className":4637},[64],[26,4639,4641],{"className":4640,"style":4478},[68],[26,4642],{},[26,4644],{"className":4645,"style":3490},[873],[26,4647,4487],{"className":4648},[3494],[26,4650],{"className":4651,"style":3490},[873],[26,4653,4655,4658,4662,4665,4670,4674,4678,4681,4684,4687],{"className":4654},[38],[26,4656],{"className":4657,"style":794},[42],[26,4659,4661],{"className":4660,"style":114},[47,113],"v",[26,4663,15],{"className":4664},[47,113],[26,4666,4669],{"className":4667,"style":4668},[47,113],"margin-right:0.0197em;","l",[26,4671,4673],{"className":4672},[47,113],"u",[26,4675,4677],{"className":4676},[47,113],"e",[26,4679,803],{"className":4680},[802],[26,4682,4661],{"className":4683,"style":114},[47,113],[26,4685,910],{"className":4686},[827],[26,4688,4437],{"className":4689},[47]," test fails at most far-side\nnodes and prunes them away. The same branch-and-bound extends to ",[26,4692,4694],{"className":4693},[29],[26,4695,4697],{"className":4696,"ariaHidden":34},[33],[26,4698,4700,4703],{"className":4699},[38],[26,4701],{"className":4702,"style":366},[42],[26,4704,3234],{"className":4705,"style":3233},[47,113]," nearest\nneighbours (keep a bounded max-heap of the best ",[26,4708,4710],{"className":4709},[29],[26,4711,4713],{"className":4712,"ariaHidden":34},[33],[26,4714,4716,4719],{"className":4715},[38],[26,4717],{"className":4718,"style":366},[42],[26,4720,3234],{"className":4721,"style":3233},[47,113],", prune against its worst\ndistance) and to approximate nearest neighbour (multiply the bound by a slack\nfactor to prune more aggressively).",[11,4724,4725,4728,4729,290,4764,290,4801,290,4838,311,4873,4907,4908,4941,4942,4957,4958,4973,4974,4989,4990,4957,5024,93,5039,5054,5055,5090,5091,3616],{},[21,4726,4727],{},"A worked query."," Take the five points ",[26,4730,4732],{"className":4731},[29],[26,4733,4735],{"className":4734,"ariaHidden":34},[33],[26,4736,4738,4741,4745,4748,4751,4755,4758,4761],{"className":4737},[38],[26,4739],{"className":4740,"style":794},[42],[26,4742,4744],{"className":4743},[47,113],"A",[26,4746,803],{"className":4747},[802],[26,4749,87],{"className":4750},[47],[26,4752,623],{"className":4753},[4754],"mpunct",[26,4756],{"className":4757,"style":874},[873],[26,4759,4201],{"className":4760},[47],[26,4762,910],{"className":4763},[827],[26,4765,4767],{"className":4766},[29],[26,4768,4770],{"className":4769,"ariaHidden":34},[33],[26,4771,4773,4776,4781,4784,4788,4791,4794,4798],{"className":4772},[38],[26,4774],{"className":4775,"style":794},[42],[26,4777,4780],{"className":4778,"style":4779},[47,113],"margin-right:0.0502em;","B",[26,4782,803],{"className":4783},[802],[26,4785,4787],{"className":4786},[47],"5",[26,4789,623],{"className":4790},[4754],[26,4792],{"className":4793,"style":874},[873],[26,4795,4797],{"className":4796},[47],"4",[26,4799,910],{"className":4800},[827],[26,4802,4804],{"className":4803},[29],[26,4805,4807],{"className":4806,"ariaHidden":34},[33],[26,4808,4810,4813,4818,4821,4825,4828,4831,4835],{"className":4809},[38],[26,4811],{"className":4812,"style":794},[42],[26,4814,4817],{"className":4815,"style":4816},[47,113],"margin-right:0.0715em;","C",[26,4819,803],{"className":4820},[802],[26,4822,4824],{"className":4823},[47],"9",[26,4826,623],{"className":4827},[4754],[26,4829],{"className":4830,"style":874},[873],[26,4832,4834],{"className":4833},[47],"6",[26,4836,910],{"className":4837},[827],[26,4839,4841],{"className":4840},[29],[26,4842,4844],{"className":4843,"ariaHidden":34},[33],[26,4845,4847,4850,4854,4857,4860,4863,4866,4870],{"className":4846},[38],[26,4848],{"className":4849,"style":794},[42],[26,4851,4853],{"className":4852,"style":894},[47,113],"D",[26,4855,803],{"className":4856},[802],[26,4858,4797],{"className":4859},[47],[26,4861,623],{"className":4862},[4754],[26,4864],{"className":4865,"style":874},[873],[26,4867,4869],{"className":4868},[47],"7",[26,4871,910],{"className":4872},[827],[26,4874,4876],{"className":4875},[29],[26,4877,4879],{"className":4878,"ariaHidden":34},[33],[26,4880,4882,4885,4888,4891,4895,4898,4901,4904],{"className":4881},[38],[26,4883],{"className":4884,"style":794},[42],[26,4886,310],{"className":4887,"style":309},[47,113],[26,4889,803],{"className":4890},[802],[26,4892,4894],{"className":4893},[47],"8",[26,4896,623],{"className":4897},[4754],[26,4899],{"className":4900,"style":874},[873],[26,4902,184],{"className":4903},[47],[26,4905,910],{"className":4906},[827]," built into a k-d tree with ",[26,4909,4911],{"className":4910},[29],[26,4912,4914],{"className":4913,"ariaHidden":34},[33],[26,4915,4917,4920,4923,4926,4929,4932,4935,4938],{"className":4916},[38],[26,4918],{"className":4919,"style":794},[42],[26,4921,4780],{"className":4922,"style":4779},[47,113],[26,4924,803],{"className":4925},[802],[26,4927,4787],{"className":4928},[47],[26,4930,623],{"className":4931},[4754],[26,4933],{"className":4934,"style":874},[873],[26,4936,4797],{"className":4937},[47],[26,4939,910],{"className":4940},[827]," at the root (split on ",[26,4943,4945],{"className":4944},[29],[26,4946,4948],{"className":4947,"ariaHidden":34},[33],[26,4949,4951,4954],{"className":4950},[38],[26,4952],{"className":4953,"style":128},[42],[26,4955,132],{"className":4956},[47,113],"), ",[26,4959,4961],{"className":4960},[29],[26,4962,4964],{"className":4963,"ariaHidden":34},[33],[26,4965,4967,4970],{"className":4966},[38],[26,4968],{"className":4969,"style":279},[42],[26,4971,4744],{"className":4972},[47,113]," and\n",[26,4975,4977],{"className":4976},[29],[26,4978,4980],{"className":4979,"ariaHidden":34},[33],[26,4981,4983,4986],{"className":4982},[38],[26,4984],{"className":4985,"style":279},[42],[26,4987,4853],{"className":4988,"style":894},[47,113]," in the left subtree (",[26,4991,4993],{"className":4992},[29],[26,4994,4996,5015],{"className":4995,"ariaHidden":34},[33],[26,4997,4999,5003,5006,5009,5012],{"className":4998},[38],[26,5000],{"className":5001,"style":5002},[42],"height:0.5782em;vertical-align:-0.0391em;",[26,5004,132],{"className":5005},[47,113],[26,5007],{"className":5008,"style":3254},[873],[26,5010,1406],{"className":5011},[3258],[26,5013],{"className":5014,"style":3254},[873],[26,5016,5018,5021],{"className":5017},[38],[26,5019],{"className":5020,"style":3268},[42],[26,5022,4787],{"className":5023},[47],[26,5025,5027],{"className":5026},[29],[26,5028,5030],{"className":5029,"ariaHidden":34},[33],[26,5031,5033,5036],{"className":5032},[38],[26,5034],{"className":5035,"style":279},[42],[26,5037,310],{"className":5038,"style":309},[47,113],[26,5040,5042],{"className":5041},[29],[26,5043,5045],{"className":5044,"ariaHidden":34},[33],[26,5046,5048,5051],{"className":5047},[38],[26,5049],{"className":5050,"style":279},[42],[26,5052,4817],{"className":5053,"style":4816},[47,113]," in the right (",[26,5056,5058],{"className":5057},[29],[26,5059,5061,5081],{"className":5060,"ariaHidden":34},[33],[26,5062,5064,5068,5071,5074,5078],{"className":5063},[38],[26,5065],{"className":5066,"style":5067},[42],"height:0.7719em;vertical-align:-0.136em;",[26,5069,132],{"className":5070},[47,113],[26,5072],{"className":5073,"style":3254},[873],[26,5075,5077],{"className":5076},[3258],"≥",[26,5079],{"className":5080,"style":3254},[873],[26,5082,5084,5087],{"className":5083},[38],[26,5085],{"className":5086,"style":3268},[42],[26,5088,4787],{"className":5089},[47],"). Query\n",[26,5092,5094],{"className":5093},[29],[26,5095,5097,5115],{"className":5096,"ariaHidden":34},[33],[26,5098,5100,5103,5106,5109,5112],{"className":5099},[38],[26,5101],{"className":5102,"style":109},[42],[26,5104,90],{"className":5105,"style":114},[47,113],[26,5107],{"className":5108,"style":3254},[873],[26,5110,1529],{"className":5111},[3258],[26,5113],{"className":5114,"style":3254},[873],[26,5116,5118,5121,5124,5127,5130,5133,5136],{"className":5117},[38],[26,5119],{"className":5120,"style":794},[42],[26,5122,803],{"className":5123},[802],[26,5125,4834],{"className":5126},[47],[26,5128,623],{"className":5129},[4754],[26,5131],{"className":5132,"style":874},[873],[26,5134,4201],{"className":5135},[47],[26,5137,910],{"className":5138},[827],[5140,5141,5142,5639,6042,6435],"ol",{},[628,5143,5144,5180,5181,5214,5215,5470,5471,290,5511,5545,5546,5635,5636,5638],{},[21,5145,5146,5147],{},"Root ",[26,5148,5150],{"className":5149},[29],[26,5151,5153],{"className":5152,"ariaHidden":34},[33],[26,5154,5156,5159,5162,5165,5168,5171,5174,5177],{"className":5155},[38],[26,5157],{"className":5158,"style":794},[42],[26,5160,4780],{"className":5161,"style":4779},[47,113],[26,5163,803],{"className":5164},[802],[26,5166,4787],{"className":5167},[47],[26,5169,623],{"className":5170},[4754],[26,5172],{"className":5173,"style":874},[873],[26,5175,4797],{"className":5176},[47],[26,5178,910],{"className":5179},[827],", split on ",[26,5182,5184],{"className":5183},[29],[26,5185,5187,5205],{"className":5186,"ariaHidden":34},[33],[26,5188,5190,5193,5196,5199,5202],{"className":5189},[38],[26,5191],{"className":5192,"style":128},[42],[26,5194,132],{"className":5195},[47,113],[26,5197],{"className":5198,"style":3254},[873],[26,5200,1529],{"className":5201},[3258],[26,5203],{"className":5204,"style":3254},[873],[26,5206,5208,5211],{"className":5207},[38],[26,5209],{"className":5210,"style":3268},[42],[26,5212,4787],{"className":5213},[47],". Distance ",[26,5216,5218],{"className":5217},[29],[26,5219,5221,5396,5460],{"className":5220,"ariaHidden":34},[33],[26,5222,5224,5228,5387,5390,5393],{"className":5223},[38],[26,5225],{"className":5226,"style":5227},[42],"height:1.24em;vertical-align:-0.305em;",[26,5229,5231],{"className":5230},[47,4052],[26,5232,5234,5378],{"className":5233},[60,3911],[26,5235,5237,5375],{"className":5236},[64],[26,5238,5241,5358],{"className":5239,"style":5240},[68],"height:0.935em;",[26,5242,5245,5249],{"className":5243,"style":5244},[4066],"top:-3.2em;",[26,5246],{"className":5247,"style":5248},[75],"height:3.2em;",[26,5250,5253,5256,5259,5262,5265,5268,5271,5302,5305,5308,5311,5314,5317,5320,5323,5326,5329],{"className":5251,"style":5252},[47],"padding-left:1em;",[26,5254,803],{"className":5255},[802],[26,5257,4834],{"className":5258},[47],[26,5260],{"className":5261,"style":3490},[873],[26,5263,4487],{"className":5264},[3494],[26,5266],{"className":5267,"style":3490},[873],[26,5269,4787],{"className":5270},[47],[26,5272,5274,5277],{"className":5273},[827],[26,5275,910],{"className":5276},[827],[26,5278,5280],{"className":5279},[56],[26,5281,5283],{"className":5282},[60],[26,5284,5286],{"className":5285},[64],[26,5287,5290],{"className":5288,"style":5289},[68],"height:0.7401em;",[26,5291,5293,5296],{"style":5292},"top:-2.989em;margin-right:0.05em;",[26,5294],{"className":5295,"style":76},[75],[26,5297,5299],{"className":5298},[80,81,82,83],[26,5300,87],{"className":5301},[47,83],[26,5303],{"className":5304,"style":3490},[873],[26,5306,1725],{"className":5307},[3494],[26,5309],{"className":5310,"style":3490},[873],[26,5312,803],{"className":5313},[802],[26,5315,4201],{"className":5316},[47],[26,5318],{"className":5319,"style":3490},[873],[26,5321,4487],{"className":5322},[3494],[26,5324],{"className":5325,"style":3490},[873],[26,5327,4797],{"className":5328},[47],[26,5330,5332,5335],{"className":5331},[827],[26,5333,910],{"className":5334},[827],[26,5336,5338],{"className":5337},[56],[26,5339,5341],{"className":5340},[60],[26,5342,5344],{"className":5343},[64],[26,5345,5347],{"className":5346,"style":5289},[68],[26,5348,5349,5352],{"style":5292},[26,5350],{"className":5351,"style":76},[75],[26,5353,5355],{"className":5354},[80,81,82,83],[26,5356,87],{"className":5357},[47,83],[26,5359,5361,5364],{"style":5360},"top:-2.895em;",[26,5362],{"className":5363,"style":5248},[75],[26,5365,5368],{"className":5366,"style":5367},[4088],"min-width:1.02em;height:1.28em;",[4091,5369,5372],{"xmlns":4093,"width":4094,"height":5370,"viewBox":5371,"preserveAspectRatio":4097},"1.28em","0 0 400000 1296",[4099,5373],{"d":5374},"M263,681c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl0 -0\nc4.7,-7.3,11,-11,19,-11\nH40000v40H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM1001 80h400000v40h-400000z",[26,5376,3935],{"className":5377},[3934],[26,5379,5381],{"className":5380},[64],[26,5382,5385],{"className":5383,"style":5384},[68],"height:0.305em;",[26,5386],{},[26,5388],{"className":5389,"style":3254},[873],[26,5391,1529],{"className":5392},[3258],[26,5394],{"className":5395,"style":3254},[873],[26,5397,5399,5403,5450,5453,5457],{"className":5398},[38],[26,5400],{"className":5401,"style":5402},[42],"height:1.04em;vertical-align:-0.1328em;",[26,5404,5406],{"className":5405},[47,4052],[26,5407,5409,5441],{"className":5408},[60,3911],[26,5410,5412,5438],{"className":5411},[64],[26,5413,5416,5425],{"className":5414,"style":5415},[68],"height:0.9072em;",[26,5417,5419,5422],{"className":5418,"style":4067},[4066],[26,5420],{"className":5421,"style":4071},[75],[26,5423,87],{"className":5424,"style":4075},[47],[26,5426,5428,5431],{"style":5427},"top:-2.8672em;",[26,5429],{"className":5430,"style":4071},[75],[26,5432,5434],{"className":5433,"style":4089},[4088],[4091,5435,5436],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,5437],{"d":4101},[26,5439,3935],{"className":5440},[3934],[26,5442,5444],{"className":5443},[64],[26,5445,5448],{"className":5446,"style":5447},[68],"height:0.1328em;",[26,5449],{},[26,5451],{"className":5452,"style":3254},[873],[26,5454,5456],{"className":5455},[3258],"≈",[26,5458],{"className":5459,"style":3254},[873],[26,5461,5463,5466],{"className":5462},[38],[26,5464],{"className":5465,"style":3268},[42],[26,5467,5469],{"className":5468},[47],"1.41","; set ",[26,5472,5474],{"className":5473},[29],[26,5475,5477,5502],{"className":5476,"ariaHidden":34},[33],[26,5478,5480,5483,5486,5490,5493,5496,5499],{"className":5479},[38],[26,5481],{"className":5482,"style":366},[42],[26,5484,370],{"className":5485},[47,113],[26,5487,5489],{"className":5488},[47,113],"es",[26,5491,4028],{"className":5492},[47,113],[26,5494],{"className":5495,"style":3254},[873],[26,5497,1529],{"className":5498},[3258],[26,5500],{"className":5501,"style":3254},[873],[26,5503,5505,5508],{"className":5504},[38],[26,5506],{"className":5507,"style":279},[42],[26,5509,4780],{"className":5510,"style":4779},[47,113],[26,5512,5514],{"className":5513},[29],[26,5515,5517,5536],{"className":5516,"ariaHidden":34},[33],[26,5518,5520,5523,5527,5530,5533],{"className":5519},[38],[26,5521],{"className":5522,"style":128},[42],[26,5524,5526],{"className":5525,"style":894},[47,113],"r",[26,5528],{"className":5529,"style":3254},[873],[26,5531,1529],{"className":5532},[3258],[26,5534],{"className":5535,"style":3254},[873],[26,5537,5539,5542],{"className":5538},[38],[26,5540],{"className":5541,"style":3268},[42],[26,5543,5469],{"className":5544},[47],". Since ",[26,5547,5549],{"className":5548},[29],[26,5550,5552,5607,5626],{"className":5551,"ariaHidden":34},[33],[26,5553,5555,5558,5598,5601,5604],{"className":5554},[38],[26,5556],{"className":5557,"style":109},[42],[26,5559,5561,5564],{"className":5560},[47],[26,5562,90],{"className":5563,"style":114},[47,113],[26,5565,5567],{"className":5566},[56],[26,5568,5570,5590],{"className":5569},[60,3911],[26,5571,5573,5587],{"className":5572},[64],[26,5574,5576],{"className":5575,"style":4456},[68],[26,5577,5578,5581],{"style":4459},[26,5579],{"className":5580,"style":76},[75],[26,5582,5584],{"className":5583},[80,81,82,83],[26,5585,132],{"className":5586},[47,113,83],[26,5588,3935],{"className":5589},[3934],[26,5591,5593],{"className":5592},[64],[26,5594,5596],{"className":5595,"style":4478},[68],[26,5597],{},[26,5599],{"className":5600,"style":3254},[873],[26,5602,1529],{"className":5603},[3258],[26,5605],{"className":5606,"style":3254},[873],[26,5608,5610,5614,5617,5620,5623],{"className":5609},[38],[26,5611],{"className":5612,"style":5613},[42],"height:0.7804em;vertical-align:-0.136em;",[26,5615,4834],{"className":5616},[47],[26,5618],{"className":5619,"style":3254},[873],[26,5621,5077],{"className":5622},[3258],[26,5624],{"className":5625,"style":3254},[873],[26,5627,5629,5632],{"className":5628},[38],[26,5630],{"className":5631,"style":3268},[42],[26,5633,4787],{"className":5634},[47],", the\n",[248,5637,4586],{}," side is the right subtree; descend there first.",[628,5640,5641,5180,5677,5214,5710,5882,5883,5898,5899,5545,5920,6010,6011,6026,6027,3616],{},[21,5642,5643,5644],{},"Right child ",[26,5645,5647],{"className":5646},[29],[26,5648,5650],{"className":5649,"ariaHidden":34},[33],[26,5651,5653,5656,5659,5662,5665,5668,5671,5674],{"className":5652},[38],[26,5654],{"className":5655,"style":794},[42],[26,5657,310],{"className":5658,"style":309},[47,113],[26,5660,803],{"className":5661},[802],[26,5663,4894],{"className":5664},[47],[26,5666,623],{"className":5667},[4754],[26,5669],{"className":5670,"style":874},[873],[26,5672,184],{"className":5673},[47],[26,5675,910],{"className":5676},[827],[26,5678,5680],{"className":5679},[29],[26,5681,5683,5701],{"className":5682,"ariaHidden":34},[33],[26,5684,5686,5689,5692,5695,5698],{"className":5685},[38],[26,5687],{"className":5688,"style":109},[42],[26,5690,149],{"className":5691,"style":114},[47,113],[26,5693],{"className":5694,"style":3254},[873],[26,5696,1529],{"className":5697},[3258],[26,5699],{"className":5700,"style":3254},[873],[26,5702,5704,5707],{"className":5703},[38],[26,5705],{"className":5706,"style":3268},[42],[26,5708,184],{"className":5709},[47],[26,5711,5713],{"className":5712},[29],[26,5714,5716,5794,5853,5873],{"className":5715,"ariaHidden":34},[33],[26,5717,5719,5723,5785,5788,5791],{"className":5718},[38],[26,5720],{"className":5721,"style":5722},[42],"height:1.04em;vertical-align:-0.1744em;",[26,5724,5726],{"className":5725},[47,4052],[26,5727,5729,5776],{"className":5728},[60,3911],[26,5730,5732,5773],{"className":5731},[64],[26,5733,5736,5760],{"className":5734,"style":5735},[68],"height:0.8656em;",[26,5737,5739,5742],{"className":5738,"style":4067},[4066],[26,5740],{"className":5741,"style":4071},[75],[26,5743,5745,5748,5751,5754,5757],{"className":5744,"style":4075},[47],[26,5746,4797],{"className":5747},[47],[26,5749],{"className":5750,"style":3490},[873],[26,5752,1725],{"className":5753},[3494],[26,5755],{"className":5756,"style":3490},[873],[26,5758,4797],{"className":5759},[47],[26,5761,5763,5766],{"style":5762},"top:-2.8256em;",[26,5764],{"className":5765,"style":4071},[75],[26,5767,5769],{"className":5768,"style":4089},[4088],[4091,5770,5771],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,5772],{"d":4101},[26,5774,3935],{"className":5775},[3934],[26,5777,5779],{"className":5778},[64],[26,5780,5783],{"className":5781,"style":5782},[68],"height:0.1744em;",[26,5784],{},[26,5786],{"className":5787,"style":3254},[873],[26,5789,1529],{"className":5790},[3258],[26,5792],{"className":5793,"style":3254},[873],[26,5795,5797,5800,5844,5847,5850],{"className":5796},[38],[26,5798],{"className":5799,"style":5402},[42],[26,5801,5803],{"className":5802},[47,4052],[26,5804,5806,5836],{"className":5805},[60,3911],[26,5807,5809,5833],{"className":5808},[64],[26,5810,5812,5821],{"className":5811,"style":5415},[68],[26,5813,5815,5818],{"className":5814,"style":4067},[4066],[26,5816],{"className":5817,"style":4071},[75],[26,5819,4894],{"className":5820,"style":4075},[47],[26,5822,5823,5826],{"style":5427},[26,5824],{"className":5825,"style":4071},[75],[26,5827,5829],{"className":5828,"style":4089},[4088],[4091,5830,5831],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,5832],{"d":4101},[26,5834,3935],{"className":5835},[3934],[26,5837,5839],{"className":5838},[64],[26,5840,5842],{"className":5841,"style":5447},[68],[26,5843],{},[26,5845],{"className":5846,"style":3254},[873],[26,5848,5456],{"className":5849},[3258],[26,5851],{"className":5852,"style":3254},[873],[26,5854,5856,5860,5864,5867,5870],{"className":5855},[38],[26,5857],{"className":5858,"style":5859},[42],"height:0.6835em;vertical-align:-0.0391em;",[26,5861,5863],{"className":5862},[47],"2.83",[26,5865],{"className":5866,"style":3254},[873],[26,5868,1391],{"className":5869},[3258],[26,5871],{"className":5872,"style":3254},[873],[26,5874,5876,5879],{"className":5875},[38],[26,5877],{"className":5878,"style":128},[42],[26,5880,5526],{"className":5881,"style":894},[47,113],", so ",[26,5884,5886],{"className":5885},[29],[26,5887,5889],{"className":5888,"ariaHidden":34},[33],[26,5890,5892,5895],{"className":5891},[38],[26,5893],{"className":5894,"style":279},[42],[26,5896,310],{"className":5897,"style":309},[47,113]," does not improve ",[26,5900,5902],{"className":5901},[29],[26,5903,5905],{"className":5904,"ariaHidden":34},[33],[26,5906,5908,5911,5914,5917],{"className":5907},[38],[26,5909],{"className":5910,"style":366},[42],[26,5912,370],{"className":5913},[47,113],[26,5915,5489],{"className":5916},[47,113],[26,5918,4028],{"className":5919},[47,113],[26,5921,5923],{"className":5922},[29],[26,5924,5926,5983,6001],{"className":5925,"ariaHidden":34},[33],[26,5927,5929,5933,5974,5977,5980],{"className":5928},[38],[26,5930],{"className":5931,"style":5932},[42],"height:0.7167em;vertical-align:-0.2861em;",[26,5934,5936,5939],{"className":5935},[47],[26,5937,90],{"className":5938,"style":114},[47,113],[26,5940,5942],{"className":5941},[56],[26,5943,5945,5965],{"className":5944},[60,3911],[26,5946,5948,5962],{"className":5947},[64],[26,5949,5951],{"className":5950,"style":4456},[68],[26,5952,5953,5956],{"style":4459},[26,5954],{"className":5955,"style":76},[75],[26,5957,5959],{"className":5958},[80,81,82,83],[26,5960,149],{"className":5961,"style":114},[47,113,83],[26,5963,3935],{"className":5964},[3934],[26,5966,5968],{"className":5967},[64],[26,5969,5972],{"className":5970,"style":5971},[68],"height:0.2861em;",[26,5973],{},[26,5975],{"className":5976,"style":3254},[873],[26,5978,1529],{"className":5979},[3258],[26,5981],{"className":5982,"style":3254},[873],[26,5984,5986,5989,5992,5995,5998],{"className":5985},[38],[26,5987],{"className":5988,"style":5613},[42],[26,5990,4201],{"className":5991},[47],[26,5993],{"className":5994,"style":3254},[873],[26,5996,5077],{"className":5997},[3258],[26,5999],{"className":6000,"style":3254},[873],[26,6002,6004,6007],{"className":6003},[38],[26,6005],{"className":6006,"style":3268},[42],[26,6008,184],{"className":6009},[47],", the\nnear child is ",[26,6012,6014],{"className":6013},[29],[26,6015,6017],{"className":6016,"ariaHidden":34},[33],[26,6018,6020,6023],{"className":6019},[38],[26,6021],{"className":6022,"style":279},[42],[26,6024,310],{"className":6025,"style":309},[47,113],"'s right subtree holding ",[26,6028,6030],{"className":6029},[29],[26,6031,6033],{"className":6032,"ariaHidden":34},[33],[26,6034,6036,6039],{"className":6035},[38],[26,6037],{"className":6038,"style":279},[42],[26,6040,4817],{"className":6041,"style":4816},[47,113],[628,6043,6044,6079,6080,6251,6252,6267,6268,6301,6302,6431,6432,3616],{},[21,6045,6046],{},[26,6047,6049],{"className":6048},[29],[26,6050,6052],{"className":6051,"ariaHidden":34},[33],[26,6053,6055,6058,6061,6064,6067,6070,6073,6076],{"className":6054},[38],[26,6056],{"className":6057,"style":794},[42],[26,6059,4817],{"className":6060,"style":4816},[47,113],[26,6062,803],{"className":6063},[802],[26,6065,4824],{"className":6066},[47],[26,6068,623],{"className":6069},[4754],[26,6071],{"className":6072,"style":874},[873],[26,6074,4834],{"className":6075},[47],[26,6077,910],{"className":6078},[827],", a leaf. Distance ",[26,6081,6083],{"className":6082},[29],[26,6084,6086,6160,6223,6242],{"className":6085,"ariaHidden":34},[33],[26,6087,6089,6092,6151,6154,6157],{"className":6088},[38],[26,6090],{"className":6091,"style":5722},[42],[26,6093,6095],{"className":6094},[47,4052],[26,6096,6098,6143],{"className":6097},[60,3911],[26,6099,6101,6140],{"className":6100},[64],[26,6102,6104,6128],{"className":6103,"style":5735},[68],[26,6105,6107,6110],{"className":6106,"style":4067},[4066],[26,6108],{"className":6109,"style":4071},[75],[26,6111,6113,6116,6119,6122,6125],{"className":6112,"style":4075},[47],[26,6114,4824],{"className":6115},[47],[26,6117],{"className":6118,"style":3490},[873],[26,6120,1725],{"className":6121},[3494],[26,6123],{"className":6124,"style":3490},[873],[26,6126,4824],{"className":6127},[47],[26,6129,6130,6133],{"style":5762},[26,6131],{"className":6132,"style":4071},[75],[26,6134,6136],{"className":6135,"style":4089},[4088],[4091,6137,6138],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,6139],{"d":4101},[26,6141,3935],{"className":6142},[3934],[26,6144,6146],{"className":6145},[64],[26,6147,6149],{"className":6148,"style":5782},[68],[26,6150],{},[26,6152],{"className":6153,"style":3254},[873],[26,6155,1529],{"className":6156},[3258],[26,6158],{"className":6159,"style":3254},[873],[26,6161,6163,6166,6214,6217,6220],{"className":6162},[38],[26,6164],{"className":6165,"style":5402},[42],[26,6167,6169],{"className":6168},[47,4052],[26,6170,6172,6206],{"className":6171},[60,3911],[26,6173,6175,6203],{"className":6174},[64],[26,6176,6178,6191],{"className":6177,"style":5415},[68],[26,6179,6181,6184],{"className":6180,"style":4067},[4066],[26,6182],{"className":6183,"style":4071},[75],[26,6185,6187],{"className":6186,"style":4075},[47],[26,6188,6190],{"className":6189},[47],"18",[26,6192,6193,6196],{"style":5427},[26,6194],{"className":6195,"style":4071},[75],[26,6197,6199],{"className":6198,"style":4089},[4088],[4091,6200,6201],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,6202],{"d":4101},[26,6204,3935],{"className":6205},[3934],[26,6207,6209],{"className":6208},[64],[26,6210,6212],{"className":6211,"style":5447},[68],[26,6213],{},[26,6215],{"className":6216,"style":3254},[873],[26,6218,5456],{"className":6219},[3258],[26,6221],{"className":6222,"style":3254},[873],[26,6224,6226,6229,6233,6236,6239],{"className":6225},[38],[26,6227],{"className":6228,"style":5859},[42],[26,6230,6232],{"className":6231},[47],"4.24",[26,6234],{"className":6235,"style":3254},[873],[26,6237,1391],{"className":6238},[3258],[26,6240],{"className":6241,"style":3254},[873],[26,6243,6245,6248],{"className":6244},[38],[26,6246],{"className":6247,"style":128},[42],[26,6249,5526],{"className":6250,"style":894},[47,113],"; no\nimprovement. Unwind to ",[26,6253,6255],{"className":6254},[29],[26,6256,6258],{"className":6257,"ariaHidden":34},[33],[26,6259,6261,6264],{"className":6260},[38],[26,6262],{"className":6263,"style":279},[42],[26,6265,310],{"className":6266,"style":309},[47,113],": its far subtree lies below ",[26,6269,6271],{"className":6270},[29],[26,6272,6274,6292],{"className":6273,"ariaHidden":34},[33],[26,6275,6277,6280,6283,6286,6289],{"className":6276},[38],[26,6278],{"className":6279,"style":109},[42],[26,6281,149],{"className":6282,"style":114},[47,113],[26,6284],{"className":6285,"style":3254},[873],[26,6287,1529],{"className":6288},[3258],[26,6290],{"className":6291,"style":3254},[873],[26,6293,6295,6298],{"className":6294},[38],[26,6296],{"className":6297,"style":3268},[42],[26,6299,184],{"className":6300},[47],", at perpendicular\ndistance ",[26,6303,6305],{"className":6304},[29],[26,6306,6308,6367,6386,6404,6422],{"className":6307,"ariaHidden":34},[33],[26,6309,6311,6315,6318,6358,6361,6364],{"className":6310},[38],[26,6312],{"className":6313,"style":6314},[42],"height:1.0361em;vertical-align:-0.2861em;",[26,6316,4437],{"className":6317},[47],[26,6319,6321,6324],{"className":6320},[47],[26,6322,90],{"className":6323,"style":114},[47,113],[26,6325,6327],{"className":6326},[56],[26,6328,6330,6350],{"className":6329},[60,3911],[26,6331,6333,6347],{"className":6332},[64],[26,6334,6336],{"className":6335,"style":4456},[68],[26,6337,6338,6341],{"style":4459},[26,6339],{"className":6340,"style":76},[75],[26,6342,6344],{"className":6343},[80,81,82,83],[26,6345,149],{"className":6346,"style":114},[47,113,83],[26,6348,3935],{"className":6349},[3934],[26,6351,6353],{"className":6352},[64],[26,6354,6356],{"className":6355,"style":5971},[68],[26,6357],{},[26,6359],{"className":6360,"style":3490},[873],[26,6362,4487],{"className":6363},[3494],[26,6365],{"className":6366,"style":3490},[873],[26,6368,6370,6373,6377,6380,6383],{"className":6369},[38],[26,6371],{"className":6372,"style":794},[42],[26,6374,6376],{"className":6375},[47],"1∣",[26,6378],{"className":6379,"style":3254},[873],[26,6381,1529],{"className":6382},[3258],[26,6384],{"className":6385,"style":3254},[873],[26,6387,6389,6392,6395,6398,6401],{"className":6388},[38],[26,6390],{"className":6391,"style":5859},[42],[26,6393,87],{"className":6394},[47],[26,6396],{"className":6397,"style":3254},[873],[26,6399,1391],{"className":6400},[3258],[26,6402],{"className":6403,"style":3254},[873],[26,6405,6407,6410,6413,6416,6419],{"className":6406},[38],[26,6408],{"className":6409,"style":128},[42],[26,6411,5526],{"className":6412,"style":894},[47,113],[26,6414],{"className":6415,"style":3254},[873],[26,6417,1529],{"className":6418},[3258],[26,6420],{"className":6421,"style":3254},[873],[26,6423,6425,6428],{"className":6424},[38],[26,6426],{"className":6427,"style":3268},[42],[26,6429,5469],{"className":6430},[47]," — ",[21,6433,6434],{},"pruned",[628,6436,6437,6438,6301,6471,6599,6600,6603,6604,6637,6638,6653,6654,6637,6687,6778,6779,3616],{},"Unwind to the root. Its far subtree is the left side, ",[26,6439,6441],{"className":6440},[29],[26,6442,6444,6462],{"className":6443,"ariaHidden":34},[33],[26,6445,6447,6450,6453,6456,6459],{"className":6446},[38],[26,6448],{"className":6449,"style":5002},[42],[26,6451,132],{"className":6452},[47,113],[26,6454],{"className":6455,"style":3254},[873],[26,6457,1406],{"className":6458},[3258],[26,6460],{"className":6461,"style":3254},[873],[26,6463,6465,6468],{"className":6464},[38],[26,6466],{"className":6467,"style":3268},[42],[26,6469,4787],{"className":6470},[47],[26,6472,6474],{"className":6473},[29],[26,6475,6477,6535,6554,6572,6590],{"className":6476,"ariaHidden":34},[33],[26,6478,6480,6483,6486,6526,6529,6532],{"className":6479},[38],[26,6481],{"className":6482,"style":794},[42],[26,6484,4437],{"className":6485},[47],[26,6487,6489,6492],{"className":6488},[47],[26,6490,90],{"className":6491,"style":114},[47,113],[26,6493,6495],{"className":6494},[56],[26,6496,6498,6518],{"className":6497},[60,3911],[26,6499,6501,6515],{"className":6500},[64],[26,6502,6504],{"className":6503,"style":4456},[68],[26,6505,6506,6509],{"style":4459},[26,6507],{"className":6508,"style":76},[75],[26,6510,6512],{"className":6511},[80,81,82,83],[26,6513,132],{"className":6514},[47,113,83],[26,6516,3935],{"className":6517},[3934],[26,6519,6521],{"className":6520},[64],[26,6522,6524],{"className":6523,"style":4478},[68],[26,6525],{},[26,6527],{"className":6528,"style":3490},[873],[26,6530,4487],{"className":6531},[3494],[26,6533],{"className":6534,"style":3490},[873],[26,6536,6538,6541,6545,6548,6551],{"className":6537},[38],[26,6539],{"className":6540,"style":794},[42],[26,6542,6544],{"className":6543},[47],"5∣",[26,6546],{"className":6547,"style":3254},[873],[26,6549,1529],{"className":6550},[3258],[26,6552],{"className":6553,"style":3254},[873],[26,6555,6557,6560,6563,6566,6569],{"className":6556},[38],[26,6558],{"className":6559,"style":5859},[42],[26,6561,184],{"className":6562},[47],[26,6564],{"className":6565,"style":3254},[873],[26,6567,1406],{"className":6568},[3258],[26,6570],{"className":6571,"style":3254},[873],[26,6573,6575,6578,6581,6584,6587],{"className":6574},[38],[26,6576],{"className":6577,"style":128},[42],[26,6579,5526],{"className":6580,"style":894},[47,113],[26,6582],{"className":6583,"style":3254},[873],[26,6585,1529],{"className":6586},[3258],[26,6588],{"className":6589,"style":3254},[873],[26,6591,6593,6596],{"className":6592},[38],[26,6594],{"className":6595,"style":3268},[42],[26,6597,5469],{"className":6598},[47]," — the circle crosses the splitting line, so\nthe left side ",[21,6601,6602],{},"could"," hide something closer and must be searched. It holds\n",[26,6605,6607],{"className":6606},[29],[26,6608,6610],{"className":6609,"ariaHidden":34},[33],[26,6611,6613,6616,6619,6622,6625,6628,6631,6634],{"className":6612},[38],[26,6614],{"className":6615,"style":794},[42],[26,6617,4744],{"className":6618},[47,113],[26,6620,803],{"className":6621},[802],[26,6623,87],{"className":6624},[47],[26,6626,623],{"className":6627},[4754],[26,6629],{"className":6630,"style":874},[873],[26,6632,4201],{"className":6633},[47],[26,6635,910],{"className":6636},[827]," (distance ",[26,6639,6641],{"className":6640},[29],[26,6642,6644],{"className":6643,"ariaHidden":34},[33],[26,6645,6647,6650],{"className":6646},[38],[26,6648],{"className":6649,"style":3268},[42],[26,6651,4797],{"className":6652},[47],") and ",[26,6655,6657],{"className":6656},[29],[26,6658,6660],{"className":6659,"ariaHidden":34},[33],[26,6661,6663,6666,6669,6672,6675,6678,6681,6684],{"className":6662},[38],[26,6664],{"className":6665,"style":794},[42],[26,6667,4853],{"className":6668,"style":894},[47,113],[26,6670,803],{"className":6671},[802],[26,6673,4797],{"className":6674},[47],[26,6676,623],{"className":6677},[4754],[26,6679],{"className":6680,"style":874},[873],[26,6682,4869],{"className":6683},[47],[26,6685,910],{"className":6686},[827],[26,6688,6690],{"className":6689},[29],[26,6691,6693,6768],{"className":6692,"ariaHidden":34},[33],[26,6694,6696,6699,6759,6762,6765],{"className":6695},[38],[26,6697],{"className":6698,"style":5722},[42],[26,6700,6702],{"className":6701},[47,4052],[26,6703,6705,6751],{"className":6704},[60,3911],[26,6706,6708,6748],{"className":6707},[64],[26,6709,6711,6736],{"className":6710,"style":5735},[68],[26,6712,6714,6717],{"className":6713,"style":4067},[4066],[26,6715],{"className":6716,"style":4071},[75],[26,6718,6720,6723,6726,6729,6732],{"className":6719,"style":4075},[47],[26,6721,4797],{"className":6722},[47],[26,6724],{"className":6725,"style":3490},[873],[26,6727,1725],{"className":6728},[3494],[26,6730],{"className":6731,"style":3490},[873],[26,6733,6735],{"className":6734},[47],"16",[26,6737,6738,6741],{"style":5762},[26,6739],{"className":6740,"style":4071},[75],[26,6742,6744],{"className":6743,"style":4089},[4088],[4091,6745,6746],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,6747],{"d":4101},[26,6749,3935],{"className":6750},[3934],[26,6752,6754],{"className":6753},[64],[26,6755,6757],{"className":6756,"style":5782},[68],[26,6758],{},[26,6760],{"className":6761,"style":3254},[873],[26,6763,5456],{"className":6764},[3258],[26,6766],{"className":6767,"style":3254},[873],[26,6769,6771,6774],{"className":6770},[38],[26,6772],{"className":6773,"style":3268},[42],[26,6775,6777],{"className":6776},[47],"4.47","),\nneither beating ",[26,6780,6782],{"className":6781},[29],[26,6783,6785],{"className":6784,"ariaHidden":34},[33],[26,6786,6788,6791],{"className":6787},[38],[26,6789],{"className":6790,"style":128},[42],[26,6792,5526],{"className":6793,"style":894},[47,113],[11,6795,6796,6797,6830,6831,6887,6888,6921,6922,6937],{},"The answer is ",[26,6798,6800],{"className":6799},[29],[26,6801,6803],{"className":6802,"ariaHidden":34},[33],[26,6804,6806,6809,6812,6815,6818,6821,6824,6827],{"className":6805},[38],[26,6807],{"className":6808,"style":794},[42],[26,6810,4780],{"className":6811,"style":4779},[47,113],[26,6813,803],{"className":6814},[802],[26,6816,4787],{"className":6817},[47],[26,6819,623],{"className":6820},[4754],[26,6822],{"className":6823,"style":874},[873],[26,6825,4797],{"className":6826},[47],[26,6828,910],{"className":6829},[827]," at distance ",[26,6832,6834],{"className":6833},[29],[26,6835,6837],{"className":6836,"ariaHidden":34},[33],[26,6838,6840,6843],{"className":6839},[38],[26,6841],{"className":6842,"style":5402},[42],[26,6844,6846],{"className":6845},[47,4052],[26,6847,6849,6879],{"className":6848},[60,3911],[26,6850,6852,6876],{"className":6851},[64],[26,6853,6855,6864],{"className":6854,"style":5415},[68],[26,6856,6858,6861],{"className":6857,"style":4067},[4066],[26,6859],{"className":6860,"style":4071},[75],[26,6862,87],{"className":6863,"style":4075},[47],[26,6865,6866,6869],{"style":5427},[26,6867],{"className":6868,"style":4071},[75],[26,6870,6872],{"className":6871,"style":4089},[4088],[4091,6873,6874],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,6875],{"d":4101},[26,6877,3935],{"className":6878},[3934],[26,6880,6882],{"className":6881},[64],[26,6883,6885],{"className":6884,"style":5447},[68],[26,6886],{},". The search touched ",[26,6889,6891],{"className":6890},[29],[26,6892,6894],{"className":6893,"ariaHidden":34},[33],[26,6895,6897,6900,6903,6906,6909,6912,6915,6918],{"className":6896},[38],[26,6898],{"className":6899,"style":598},[42],[26,6901,4780],{"className":6902,"style":4779},[47,113],[26,6904,623],{"className":6905},[4754],[26,6907],{"className":6908,"style":874},[873],[26,6910,310],{"className":6911,"style":309},[47,113],[26,6913,623],{"className":6914},[4754],[26,6916],{"className":6917,"style":874},[873],[26,6919,4817],{"className":6920,"style":4816},[47,113],", and\nthe left subtree; the bound at step 3 pruned ",[26,6923,6925],{"className":6924},[29],[26,6926,6928],{"className":6927,"ariaHidden":34},[33],[26,6929,6931,6934],{"className":6930},[38],[26,6932],{"className":6933,"style":279},[42],[26,6935,310],{"className":6936,"style":309},[47,113],"'s lower half, which a linear\nscan would have to examine.",[473,6939],{"hash":6940},"e9aa7851583da0175cd0858cad5cb616e8cb2f382614e36c12d28489e8230a87",[473,6942],{"hash":6943},"370b96d99780e2b364547726a90e370b42ceac92b3773cb915ab69390a62a557",[11,6945,6946,6947,6962,6963,7039,7040,7064,7065,7068],{},"The pruning is only effective in low dimensions. As ",[26,6948,6950],{"className":6949},[29],[26,6951,6953],{"className":6952,"ariaHidden":34},[33],[26,6954,6956,6959],{"className":6955},[38],[26,6957],{"className":6958,"style":366},[42],[26,6960,3234],{"className":6961,"style":3233},[47,113]," grows the perpendicular\ndistance ",[26,6964,6966],{"className":6965},[29],[26,6967,6969,7027],{"className":6968,"ariaHidden":34},[33],[26,6970,6972,6975,6978,7018,7021,7024],{"className":6971},[38],[26,6973],{"className":6974,"style":794},[42],[26,6976,4437],{"className":6977},[47],[26,6979,6981,6984],{"className":6980},[47],[26,6982,90],{"className":6983,"style":114},[47,113],[26,6985,6987],{"className":6986},[56],[26,6988,6990,7010],{"className":6989},[60,3911],[26,6991,6993,7007],{"className":6992},[64],[26,6994,6996],{"className":6995,"style":4456},[68],[26,6997,6998,7001],{"style":4459},[26,6999],{"className":7000,"style":76},[75],[26,7002,7004],{"className":7003},[80,81,82,83],[26,7005,15],{"className":7006},[47,113,83],[26,7008,3935],{"className":7009},[3934],[26,7011,7013],{"className":7012},[64],[26,7014,7016],{"className":7015,"style":4478},[68],[26,7017],{},[26,7019],{"className":7020,"style":3490},[873],[26,7022,4487],{"className":7023},[3494],[26,7025],{"className":7026,"style":3490},[873],[26,7028,7030,7033,7036],{"className":7029},[38],[26,7031],{"className":7032,"style":794},[42],[26,7034,3533],{"className":7035},[47,113],[26,7037,4437],{"className":7038},[47]," to any single splitting line shrinks relative to the typical\npoint-to-point distance, so the bound rarely fires and the search degrades toward\nthe ",[26,7041,7043],{"className":7042},[29],[26,7044,7046],{"className":7045,"ariaHidden":34},[33],[26,7047,7049,7052,7055,7058,7061],{"className":7048},[38],[26,7050],{"className":7051,"style":794},[42],[26,7053,895],{"className":7054,"style":894},[47,113],[26,7056,803],{"className":7057},[802],[26,7059,849],{"className":7060},[47,113],[26,7062,910],{"className":7063},[827]," scan — the ",[21,7066,7067],{},"curse of dimensionality",". Beyond roughly a dozen\ndimensions, exact k-d nearest neighbour offers little over brute force, and\npractitioners switch to approximate methods. In two or three dimensions, though,\nthe k-d tree is the standard answer.",[935,7070,7073],{"dataImplLabel":7071,"id":7072},"kd tree implementation","impl-kd-tree",[940,7074,7077],{"className":942,"code":7075,"filename":7076,"language":945,"meta":6,"style":6},"import heapq\nfrom collections.abc import Iterator, Sequence\nfrom typing import NamedTuple, Optional\n\n# the plane is two-dimensional; split axes cycle x (0), y (1), x (0), ...\nDIMENSIONS: int = 2\n\nclass Point(NamedTuple):\n  \"\"\"\n    A 2-D point: its x and y coordinates.\\n\n  \"\"\"\n  x: float\n  y: float\n\n  def coordinate(self, axis: int) -> float:\n    \"\"\"\n      The value of this point on `axis` — x when axis is 0, y when 1.\\n\n    \"\"\"\n    return self.x if axis == 0 else self.y\n\nclass Rectangle(NamedTuple):\n  \"\"\"\n    An axis-aligned query rectangle given by its inclusive bounds.\\n\n  \"\"\"\n  min_x: float\n  min_y: float\n  max_x: float\n  max_y: float\n\n  def contains(self, point: Point) -> bool:\n    \"\"\"\n      Whether `point` lies within this rectangle (boundaries included).\\n\n    \"\"\"\n    return (\n      self.min_x \u003C= point.x \u003C= self.max_x\n      and self.min_y \u003C= point.y \u003C= self.max_y\n    )\n\ndef squared_distance(first: Point, second: Point) -> float:\n  \"\"\"\n    The squared Euclidean distance between two points. Squared because\\n\n    comparing distances never needs the square root, which only adds cost\\n\n    and rounding error.\\n\n  \"\"\"\n  delta_x: float = first.x - second.x\n  delta_y: float = first.y - second.y\n  return delta_x * delta_x + delta_y * delta_y\n\nclass KDNode:\n  \"\"\"\n    One k-d tree node: the `point` stored here, the `axis` it splits on,\\n\n    and links to the left and right subtrees. Points whose coordinate on\\n\n    `axis` is below the node's fall left; the rest fall right.\\n\n  \"\"\"\n\n  def __init__(self, point: Point, axis: int) -> None:\n    self.point: Point = point\n    self.axis: int = axis\n    self.left: Optional[KDNode] = None\n    self.right: Optional[KDNode] = None\n\n  def __repr__(self) -> str:\n    return f\"KDNode({self.point!r}, axis={self.axis})\"\n\nclass KDTree:\n  \"\"\"\n    A balanced 2-D point index supporting range search and (k-)nearest\\n\n    neighbour queries. Built once from a fixed point set by repeatedly\\n\n    splitting on the median of the cycling coordinate.\\n\n  \"\"\"\n\n  def __init__(self, points: Sequence[Point]) -> None:\n    \"\"\"\n      Build the tree from `points`. Duplicate points are kept. The root\\n\n      splits on x, the next level on y, and so on, each at the median of\\n\n      the active coordinate, giving height O(log n) and O(n log n) build.\\n\n    \"\"\"\n    self._size: int = len(points)\n    self.root: Optional[KDNode] = self._build(list(points), depth=0)\n\n  def _build(self, points: list[Point], depth: int) -> Optional[KDNode]:\n    \"\"\"\n      Recursively build a subtree from `points`. Sort by the active\\n\n      coordinate, take the median as this node, and recurse on the halves.\\n\n    \"\"\"\n    if not points:\n      return None\n\n    # sort by the active coordinate and pick the median as this node.\n    axis: int = depth % DIMENSIONS\n    points.sort(key=lambda point: point.coordinate(axis))\n    median: int = len(points) \u002F\u002F 2\n\n    # recurse on the lower and upper halves to form the subtrees.\n    node: KDNode = KDNode(points[median], axis)\n    node.left = self._build(points[:median], depth + 1)\n    node.right = self._build(points[median + 1:], depth + 1)\n    return node\n\n  def __contains__(self, target: Point) -> bool:\n    def search(node: Optional[KDNode]) -> bool:\n      if node is None:\n        return False\n      if node.point == target:\n        return True\n\n      split: float = node.point.coordinate(node.axis)\n      probe: float = target.coordinate(node.axis)\n      # strictly-less goes left, strictly-greater goes right; an exact tie\n      # on the split coordinate could sit on either side, so check both.\n      if probe \u003C split:\n        return search(node.left)\n      if probe > split:\n        return search(node.right)\n      return search(node.left) or search(node.right)\n\n    return search(self.root)\n\n  def query_range(self, query: Rectangle) -> list[Point]:\n    \"\"\"\n      Every stored point inside `query`. At each node, descend a side only\\n\n      when the splitting line allows some of its region to fall within the\\n\n      query band on the active axis — pruning the rest.\\n\n    \"\"\"\n    found: list[Point] = []\n\n    def descend(node: Optional[KDNode]) -> None:\n      if node is None:\n        return\n      if query.contains(node.point):\n        found.append(node.point)\n\n      split: float = node.point.coordinate(node.axis)\n      low: float = query.min_x if node.axis == 0 else query.min_y\n      high: float = query.max_x if node.axis == 0 else query.max_y\n\n      # the left subtree holds coordinates at or below the split (ties at\n      # the median may sit left), so visit it whenever the query band\n      # reaches the split, and the right whenever the band reaches above.\n      if low \u003C= split:\n        descend(node.left)\n      if split \u003C= high:\n        descend(node.right)\n\n    descend(self.root)\n    return found\n\n  def nearest(self, query: Point) -> Optional[Point]:\n    \"\"\"\n      The stored point closest to `query`, or None if the tree is empty.\\n\n      Branch-and-bound: descend to the leaf `query` belongs in for a first\\n\n      candidate, then unwind, entering a far subtree only when the\\n\n      splitting line lies nearer than the best distance found so far.\\n\n    \"\"\"\n    neighbours: list[Point] = self.k_nearest(query, 1)\n    return neighbours[0] if neighbours else None\n\n  def k_nearest(self, query: Point, count: int) -> list[Point]:\n    \"\"\"\n      The `count` stored points closest to `query`, nearest first.\\n\n      Keep a bounded max-heap of the best candidates keyed by negated\\n\n      distance; prune a far subtree once the heap is full and the\\n\n      splitting line is farther than the heap's worst distance.\\n\n    \"\"\"\n    if count \u003C= 0 or self.root is None:\n      return []\n\n    # max-heap of (-squared_distance, tie_breaker, point); the largest\n    # distance sits at the top so we can evict it when a closer point wins.\n    best: list[tuple[float, int, Point]] = []\n    tie_breaker: int = 0\n\n    def consider(point: Point) -> None:\n      nonlocal tie_breaker\n      distance: float = squared_distance(query, point)\n      if len(best) \u003C count:\n        heapq.heappush(best, (-distance, tie_breaker, point))\n        tie_breaker += 1\n      elif -distance > best[0][0]:  # closer than the current worst.\n        heapq.heapreplace(best, (-distance, tie_breaker, point))\n        tie_breaker += 1\n\n    def worst_distance() -> float:\n      \"\"\"\n        The squared distance of the current farthest candidate, or\n        infinity while the heap still has room for more.\n      \"\"\"\n      if len(best) \u003C count:\n        return float(\"inf\")\n      return -best[0][0]\n\n    def descend(node: Optional[KDNode]) -> None:\n      if node is None:\n        return\n      consider(node.point)\n\n      offset: float = (\n        query.coordinate(node.axis) - node.point.coordinate(node.axis)\n      )\n      near: Optional[KDNode] = node.left if offset \u003C 0 else node.right\n      far: Optional[KDNode] = node.right if offset \u003C 0 else node.left\n\n      descend(near)  # the side query falls in — likely holds the best.\n      # only cross the splitting line if a closer point could hide beyond.\n      if offset * offset \u003C worst_distance():\n        descend(far)\n\n    descend(self.root)\n    ordered: list[tuple[float, int, Point]] = sorted(\n      best, key=lambda entry: -entry[0]\n    )\n    return [point for _, _, point in ordered]\n\n  def __iter__(self) -> Iterator[Point]:\n    def walk(node: Optional[KDNode]) -> Iterator[Point]:\n      if node is not None:\n        yield node.point\n        yield from walk(node.left)\n        yield from walk(node.right)\n\n    return walk(self.root)\n\n  def height(self) -> int:\n    \"\"\"\n      The number of edges on the longest root-to-leaf path; -1 when empty.\\n\n      Median splitting keeps this at floor(log2 n).\\n\n    \"\"\"\n\n    def depth(node: Optional[KDNode]) -> int:\n      if node is None:\n        return -1\n      return 1 + max(depth(node.left), depth(node.right))\n\n    return depth(self.root)\n\n  def __len__(self) -> int:\n    return self._size\n","kd_tree.py",[947,7078,7079,7086,7097,7107,7111,7116,7127,7131,7139,7143,7149,7153,7159,7165,7169,7188,7192,7199,7203,7230,7234,7242,7246,7253,7257,7263,7269,7275,7281,7285,7297,7301,7307,7311,7317,7333,7351,7355,7359,7374,7378,7385,7392,7399,7403,7421,7438,7461,7465,7474,7478,7485,7492,7499,7503,7507,7521,7532,7546,7557,7568,7572,7586,7625,7629,7638,7642,7649,7656,7663,7667,7671,7680,7684,7691,7698,7705,7709,7725,7753,7757,7772,7776,7783,7790,7794,7803,7809,7813,7818,7836,7847,7866,7870,7875,7885,7904,7929,7936,7940,7953,7967,7978,7984,7995,8001,8005,8017,8029,8034,8039,8051,8058,8068,8075,8087,8091,8102,8106,8114,8118,8125,8132,8139,8143,8151,8155,8164,8174,8178,8184,8189,8193,8203,8229,8254,8258,8263,8268,8273,8284,8289,8301,8306,8310,8318,8324,8328,8338,8342,8349,8356,8363,8370,8374,8390,8411,8415,8430,8434,8441,8448,8455,8462,8466,8489,8495,8499,8504,8509,8527,8538,8542,8552,8560,8572,8586,8596,8605,8634,8643,8651,8655,8669,8674,8679,8684,8688,8700,8714,8732,8736,8744,8754,8758,8763,8767,8778,8787,8792,8816,8839,8843,8851,8856,8871,8876,8880,8888,8909,8928,8932,8950,8954,8962,8972,8984,8990,8998,9005,9009,9020,9024,9037,9041,9048,9055,9059,9063,9076,9086,9095,9110,9114,9125,9129,9141],{"__ignoreMap":6},[26,7080,7081,7083],{"class":951,"line":952},[26,7082,963],{"class":955},[26,7084,7085],{"class":959}," heapq\n",[26,7087,7088,7090,7092,7094],{"class":951,"line":969},[26,7089,956],{"class":955},[26,7091,981],{"class":959},[26,7093,963],{"class":955},[26,7095,7096],{"class":959}," Iterator, Sequence\n",[26,7098,7099,7101,7103,7105],{"class":951,"line":976},[26,7100,956],{"class":955},[26,7102,994],{"class":959},[26,7104,963],{"class":955},[26,7106,999],{"class":959},[26,7108,7109],{"class":951,"line":989},[26,7110,973],{"emptyLinePlaceholder":972},[26,7112,7113],{"class":951,"line":1002},[26,7114,7115],{"class":1700},"# the plane is two-dimensional; split axes cycle x (0), y (1), x (0), ...\n",[26,7117,7118,7121,7123,7125],{"class":951,"line":1007},[26,7119,7120],{"class":959},"DIMENSIONS: ",[26,7122,2422],{"class":1013},[26,7124,1713],{"class":955},[26,7126,1736],{"class":1013},[26,7128,7129],{"class":951,"line":1020},[26,7130,973],{"emptyLinePlaceholder":972},[26,7132,7133,7135,7137],{"class":951,"line":1027},[26,7134,1010],{"class":955},[26,7136,1014],{"class":1013},[26,7138,1017],{"class":959},[26,7140,7141],{"class":951,"line":1036},[26,7142,1024],{"class":1023},[26,7144,7145,7147],{"class":951,"line":1041},[26,7146,1030],{"class":1023},[26,7148,1033],{"class":955},[26,7150,7151],{"class":951,"line":1050},[26,7152,1024],{"class":1023},[26,7154,7155,7157],{"class":951,"line":1058},[26,7156,1044],{"class":959},[26,7158,1047],{"class":1013},[26,7160,7161,7163],{"class":951,"line":1063},[26,7162,1053],{"class":959},[26,7164,1047],{"class":1013},[26,7166,7167],{"class":951,"line":1073},[26,7168,973],{"emptyLinePlaceholder":972},[26,7170,7171,7173,7176,7179,7181,7184,7186],{"class":951,"line":1078},[26,7172,1139],{"class":955},[26,7174,7175],{"class":1013}," coordinate",[26,7177,7178],{"class":959},"(self, axis: ",[26,7180,2422],{"class":1013},[26,7182,7183],{"class":959},") -> ",[26,7185,1710],{"class":1013},[26,7187,1151],{"class":959},[26,7189,7190],{"class":951,"line":1086},[26,7191,1157],{"class":1023},[26,7193,7194,7197],{"class":951,"line":1094},[26,7195,7196],{"class":1023},"      The value of this point on `axis` — x when axis is 0, y when 1.",[26,7198,1033],{"class":955},[26,7200,7201],{"class":951,"line":1099},[26,7202,1157],{"class":1023},[26,7204,7205,7207,7209,7212,7214,7217,7219,7222,7225,7227],{"class":951,"line":1107},[26,7206,1176],{"class":955},[26,7208,1199],{"class":955},[26,7210,7211],{"class":959},".x ",[26,7213,1835],{"class":955},[26,7215,7216],{"class":959}," axis ",[26,7218,2613],{"class":955},[26,7220,7221],{"class":1013}," 0",[26,7223,7224],{"class":955}," else",[26,7226,1199],{"class":955},[26,7228,7229],{"class":959},".y\n",[26,7231,7232],{"class":951,"line":1115},[26,7233,973],{"emptyLinePlaceholder":972},[26,7235,7236,7238,7240],{"class":951,"line":1123},[26,7237,1010],{"class":955},[26,7239,1068],{"class":1013},[26,7241,1017],{"class":959},[26,7243,7244],{"class":951,"line":1131},[26,7245,1024],{"class":1023},[26,7247,7248,7251],{"class":951,"line":1136},[26,7249,7250],{"class":1023},"    An axis-aligned query rectangle given by its inclusive bounds.",[26,7252,1033],{"class":955},[26,7254,7255],{"class":951,"line":1154},[26,7256,1024],{"class":1023},[26,7258,7259,7261],{"class":951,"line":1160},[26,7260,1102],{"class":959},[26,7262,1047],{"class":1013},[26,7264,7265,7267],{"class":951,"line":1168},[26,7266,1110],{"class":959},[26,7268,1047],{"class":1013},[26,7270,7271,7273],{"class":951,"line":1173},[26,7272,1118],{"class":959},[26,7274,1047],{"class":1013},[26,7276,7277,7279],{"class":951,"line":1182},[26,7278,1126],{"class":959},[26,7280,1047],{"class":1013},[26,7282,7283],{"class":951,"line":1205},[26,7284,973],{"emptyLinePlaceholder":972},[26,7286,7287,7289,7291,7293,7295],{"class":951,"line":1228},[26,7288,1139],{"class":955},[26,7290,1142],{"class":1013},[26,7292,1145],{"class":959},[26,7294,1148],{"class":1013},[26,7296,1151],{"class":959},[26,7298,7299],{"class":951,"line":1234},[26,7300,1157],{"class":1023},[26,7302,7303,7305],{"class":951,"line":1239},[26,7304,1163],{"class":1023},[26,7306,1033],{"class":955},[26,7308,7309],{"class":951,"line":1254},[26,7310,1157],{"class":1023},[26,7312,7313,7315],{"class":951,"line":1259},[26,7314,1176],{"class":955},[26,7316,1179],{"class":959},[26,7318,7319,7321,7323,7325,7327,7329,7331],{"class":951,"line":1267},[26,7320,1185],{"class":955},[26,7322,1188],{"class":959},[26,7324,1191],{"class":955},[26,7326,1194],{"class":959},[26,7328,1191],{"class":955},[26,7330,1199],{"class":955},[26,7332,1202],{"class":959},[26,7334,7335,7337,7339,7341,7343,7345,7347,7349],{"class":951,"line":1272},[26,7336,1208],{"class":955},[26,7338,1199],{"class":955},[26,7340,1213],{"class":959},[26,7342,1191],{"class":955},[26,7344,1218],{"class":959},[26,7346,1191],{"class":955},[26,7348,1199],{"class":955},[26,7350,1225],{"class":959},[26,7352,7353],{"class":951,"line":1279},[26,7354,1231],{"class":959},[26,7356,7357],{"class":951,"line":1291},[26,7358,973],{"emptyLinePlaceholder":972},[26,7360,7361,7364,7367,7370,7372],{"class":951,"line":1305},[26,7362,7363],{"class":955},"def",[26,7365,7366],{"class":1013}," squared_distance",[26,7368,7369],{"class":959},"(first: Point, second: Point) -> ",[26,7371,1710],{"class":1013},[26,7373,1151],{"class":959},[26,7375,7376],{"class":951,"line":1319},[26,7377,1024],{"class":1023},[26,7379,7380,7383],{"class":951,"line":1333},[26,7381,7382],{"class":1023},"    The squared Euclidean distance between two points. Squared because",[26,7384,1033],{"class":955},[26,7386,7387,7390],{"class":951,"line":1338},[26,7388,7389],{"class":1023},"    comparing distances never needs the square root, which only adds cost",[26,7391,1033],{"class":955},[26,7393,7394,7397],{"class":951,"line":1343},[26,7395,7396],{"class":1023},"    and rounding error.",[26,7398,1033],{"class":955},[26,7400,7401],{"class":951,"line":1357},[26,7402,1024],{"class":1023},[26,7404,7405,7408,7410,7412,7415,7418],{"class":951,"line":1362},[26,7406,7407],{"class":959},"  delta_x: ",[26,7409,1710],{"class":1013},[26,7411,1713],{"class":955},[26,7413,7414],{"class":959}," first.x ",[26,7416,7417],{"class":955},"-",[26,7419,7420],{"class":959}," second.x\n",[26,7422,7423,7426,7428,7430,7433,7435],{"class":951,"line":1370},[26,7424,7425],{"class":959},"  delta_y: ",[26,7427,1710],{"class":1013},[26,7429,1713],{"class":955},[26,7431,7432],{"class":959}," first.y ",[26,7434,7417],{"class":955},[26,7436,7437],{"class":959}," second.y\n",[26,7439,7440,7443,7446,7449,7451,7453,7456,7458],{"class":951,"line":1375},[26,7441,7442],{"class":955},"  return",[26,7444,7445],{"class":959}," delta_x ",[26,7447,7448],{"class":955},"*",[26,7450,7445],{"class":959},[26,7452,1725],{"class":955},[26,7454,7455],{"class":959}," delta_y ",[26,7457,7448],{"class":955},[26,7459,7460],{"class":959}," delta_y\n",[26,7462,7463],{"class":951,"line":1385},[26,7464,973],{"emptyLinePlaceholder":972},[26,7466,7467,7469,7472],{"class":951,"line":1398},[26,7468,1010],{"class":955},[26,7470,7471],{"class":1013}," KDNode",[26,7473,1151],{"class":959},[26,7475,7476],{"class":951,"line":1414},[26,7477,1024],{"class":1023},[26,7479,7480,7483],{"class":951,"line":1428},[26,7481,7482],{"class":1023},"    One k-d tree node: the `point` stored here, the `axis` it splits on,",[26,7484,1033],{"class":955},[26,7486,7487,7490],{"class":951,"line":1442},[26,7488,7489],{"class":1023},"    and links to the left and right subtrees. Points whose coordinate on",[26,7491,1033],{"class":955},[26,7493,7494,7497],{"class":951,"line":1447},[26,7495,7496],{"class":1023},"    `axis` is below the node's fall left; the rest fall right.",[26,7498,1033],{"class":955},[26,7500,7501],{"class":951,"line":1452},[26,7502,1024],{"class":1023},[26,7504,7505],{"class":951,"line":1462},[26,7506,973],{"emptyLinePlaceholder":972},[26,7508,7509,7511,7513,7516,7518],{"class":951,"line":1467},[26,7510,1139],{"class":955},[26,7512,1514],{"class":1013},[26,7514,7515],{"class":959},"(self, point: Point, axis: ",[26,7517,2422],{"class":1013},[26,7519,7520],{"class":959},") -> None:\n",[26,7522,7523,7525,7528,7530],{"class":951,"line":1475},[26,7524,1523],{"class":955},[26,7526,7527],{"class":959},".point: Point ",[26,7529,1529],{"class":955},[26,7531,2581],{"class":959},[26,7533,7534,7536,7539,7541,7543],{"class":951,"line":1483},[26,7535,1523],{"class":955},[26,7537,7538],{"class":959},".axis: ",[26,7540,2422],{"class":1013},[26,7542,1713],{"class":955},[26,7544,7545],{"class":959}," axis\n",[26,7547,7548,7550,7553,7555],{"class":951,"line":1491},[26,7549,1523],{"class":955},[26,7551,7552],{"class":959},".left: Optional[KDNode] ",[26,7554,1529],{"class":955},[26,7556,1545],{"class":959},[26,7558,7559,7561,7564,7566],{"class":951,"line":1499},[26,7560,1523],{"class":955},[26,7562,7563],{"class":959},".right: Optional[KDNode] ",[26,7565,1529],{"class":955},[26,7567,1545],{"class":959},[26,7569,7570],{"class":951,"line":1504},[26,7571,973],{"emptyLinePlaceholder":972},[26,7573,7574,7576,7579,7581,7584],{"class":951,"line":1509},[26,7575,1139],{"class":955},[26,7577,7578],{"class":1013}," __repr__",[26,7580,1615],{"class":959},[26,7582,7583],{"class":1013},"str",[26,7585,1151],{"class":959},[26,7587,7588,7590,7593,7596,7599,7601,7604,7607,7610,7613,7615,7617,7620,7622],{"class":951,"line":1520},[26,7589,1176],{"class":955},[26,7591,7592],{"class":955}," f",[26,7594,7595],{"class":1023},"\"KDNode(",[26,7597,7598],{"class":1013},"{",[26,7600,1719],{"class":955},[26,7602,7603],{"class":959},".point",[26,7605,7606],{"class":955},"!r",[26,7608,7609],{"class":1013},"}",[26,7611,7612],{"class":1023},", axis=",[26,7614,7598],{"class":1013},[26,7616,1719],{"class":955},[26,7618,7619],{"class":959},".axis",[26,7621,7609],{"class":1013},[26,7623,7624],{"class":1023},")\"\n",[26,7626,7627],{"class":951,"line":1535},[26,7628,973],{"emptyLinePlaceholder":972},[26,7630,7631,7633,7636],{"class":951,"line":1548},[26,7632,1010],{"class":955},[26,7634,7635],{"class":1013}," KDTree",[26,7637,1151],{"class":959},[26,7639,7640],{"class":951,"line":1560},[26,7641,1024],{"class":1023},[26,7643,7644,7647],{"class":951,"line":1572},[26,7645,7646],{"class":1023},"    A balanced 2-D point index supporting range search and (k-)nearest",[26,7648,1033],{"class":955},[26,7650,7651,7654],{"class":951,"line":1584},[26,7652,7653],{"class":1023},"    neighbour queries. Built once from a fixed point set by repeatedly",[26,7655,1033],{"class":955},[26,7657,7658,7661],{"class":951,"line":1596},[26,7659,7660],{"class":1023},"    splitting on the median of the cycling coordinate.",[26,7662,1033],{"class":955},[26,7664,7665],{"class":951,"line":1601},[26,7666,1024],{"class":1023},[26,7668,7669],{"class":951,"line":1607},[26,7670,973],{"emptyLinePlaceholder":972},[26,7672,7673,7675,7677],{"class":951,"line":1622},[26,7674,1139],{"class":955},[26,7676,1514],{"class":1013},[26,7678,7679],{"class":959},"(self, points: Sequence[Point]) -> None:\n",[26,7681,7682],{"class":951,"line":1627},[26,7683,1157],{"class":1023},[26,7685,7686,7689],{"class":951,"line":1635},[26,7687,7688],{"class":1023},"      Build the tree from `points`. Duplicate points are kept. The root",[26,7690,1033],{"class":955},[26,7692,7693,7696],{"class":951,"line":1640},[26,7694,7695],{"class":1023},"      splits on x, the next level on y, and so on, each at the median of",[26,7697,1033],{"class":955},[26,7699,7700,7703],{"class":951,"line":1655},[26,7701,7702],{"class":1023},"      the active coordinate, giving height O(log n) and O(n log n) build.",[26,7704,1033],{"class":955},[26,7706,7707],{"class":951,"line":1660},[26,7708,1157],{"class":1023},[26,7710,7711,7713,7715,7717,7719,7722],{"class":951,"line":1671},[26,7712,1523],{"class":955},[26,7714,2419],{"class":959},[26,7716,2422],{"class":1013},[26,7718,1713],{"class":955},[26,7720,7721],{"class":1013}," len",[26,7723,7724],{"class":959},"(points)\n",[26,7726,7727,7729,7732,7734,7736,7739,7742,7745,7747,7750],{"class":951,"line":1676},[26,7728,1523],{"class":955},[26,7730,7731],{"class":959},".root: Optional[KDNode] ",[26,7733,1529],{"class":955},[26,7735,1199],{"class":955},[26,7737,7738],{"class":959},"._build(",[26,7740,7741],{"class":1013},"list",[26,7743,7744],{"class":959},"(points), depth",[26,7746,1529],{"class":955},[26,7748,7749],{"class":1013},"0",[26,7751,7752],{"class":959},")\n",[26,7754,7755],{"class":951,"line":1684},[26,7756,973],{"emptyLinePlaceholder":972},[26,7758,7759,7761,7764,7767,7769],{"class":951,"line":1692},[26,7760,1139],{"class":955},[26,7762,7763],{"class":1013}," _build",[26,7765,7766],{"class":959},"(self, points: list[Point], depth: ",[26,7768,2422],{"class":1013},[26,7770,7771],{"class":959},") -> Optional[KDNode]:\n",[26,7773,7774],{"class":951,"line":1697},[26,7775,1157],{"class":1023},[26,7777,7778,7781],{"class":951,"line":1704},[26,7779,7780],{"class":1023},"      Recursively build a subtree from `points`. Sort by the active",[26,7782,1033],{"class":955},[26,7784,7785,7788],{"class":951,"line":1739},[26,7786,7787],{"class":1023},"      coordinate, take the median as this node, and recurse on the halves.",[26,7789,1033],{"class":955},[26,7791,7792],{"class":951,"line":1767},[26,7793,1157],{"class":1023},[26,7795,7796,7798,7800],{"class":951,"line":1785},[26,7797,1816],{"class":955},[26,7799,1380],{"class":955},[26,7801,7802],{"class":959}," points:\n",[26,7804,7805,7807],{"class":951,"line":1802},[26,7806,2506],{"class":955},[26,7808,1545],{"class":959},[26,7810,7811],{"class":951,"line":1807},[26,7812,973],{"emptyLinePlaceholder":972},[26,7814,7815],{"class":951,"line":1813},[26,7816,7817],{"class":1700},"    # sort by the active coordinate and pick the median as this node.\n",[26,7819,7820,7823,7825,7827,7830,7833],{"class":951,"line":1822},[26,7821,7822],{"class":959},"    axis: ",[26,7824,2422],{"class":1013},[26,7826,1713],{"class":955},[26,7828,7829],{"class":959}," depth ",[26,7831,7832],{"class":955},"%",[26,7834,7835],{"class":959}," DIMENSIONS\n",[26,7837,7838,7841,7844],{"class":951,"line":1849},[26,7839,7840],{"class":959},"    points.sort(key",[26,7842,7843],{"class":955},"=lambda",[26,7845,7846],{"class":959}," point: point.coordinate(axis))\n",[26,7848,7849,7852,7854,7856,7858,7861,7864],{"class":951,"line":1857},[26,7850,7851],{"class":959},"    median: ",[26,7853,2422],{"class":1013},[26,7855,1713],{"class":955},[26,7857,7721],{"class":1013},[26,7859,7860],{"class":959},"(points) ",[26,7862,7863],{"class":955},"\u002F\u002F",[26,7865,1736],{"class":1013},[26,7867,7868],{"class":951,"line":1880},[26,7869,973],{"emptyLinePlaceholder":972},[26,7871,7872],{"class":951,"line":1899},[26,7873,7874],{"class":1700},"    # recurse on the lower and upper halves to form the subtrees.\n",[26,7876,7877,7880,7882],{"class":951,"line":1907},[26,7878,7879],{"class":959},"    node: KDNode ",[26,7881,1529],{"class":955},[26,7883,7884],{"class":959}," KDNode(points[median], axis)\n",[26,7886,7887,7890,7892,7894,7897,7899,7902],{"class":951,"line":1912},[26,7888,7889],{"class":959},"    node.left ",[26,7891,1529],{"class":955},[26,7893,1199],{"class":955},[26,7895,7896],{"class":959},"._build(points[:median], depth ",[26,7898,1725],{"class":955},[26,7900,7901],{"class":1013}," 1",[26,7903,7752],{"class":959},[26,7905,7906,7909,7911,7913,7916,7918,7920,7923,7925,7927],{"class":951,"line":1923},[26,7907,7908],{"class":959},"    node.right ",[26,7910,1529],{"class":955},[26,7912,1199],{"class":955},[26,7914,7915],{"class":959},"._build(points[median ",[26,7917,1725],{"class":955},[26,7919,7901],{"class":1013},[26,7921,7922],{"class":959},":], depth ",[26,7924,1725],{"class":955},[26,7926,7901],{"class":1013},[26,7928,7752],{"class":959},[26,7930,7931,7933],{"class":951,"line":1928},[26,7932,1176],{"class":955},[26,7934,7935],{"class":959}," node\n",[26,7937,7938],{"class":951,"line":1936},[26,7939,973],{"emptyLinePlaceholder":972},[26,7941,7942,7944,7946,7949,7951],{"class":951,"line":1941},[26,7943,1139],{"class":955},[26,7945,2776],{"class":1013},[26,7947,7948],{"class":959},"(self, target: Point) -> ",[26,7950,1148],{"class":1013},[26,7952,1151],{"class":959},[26,7954,7955,7957,7960,7963,7965],{"class":951,"line":1947},[26,7956,2923],{"class":955},[26,7958,7959],{"class":1013}," search",[26,7961,7962],{"class":959},"(node: Optional[KDNode]) -> ",[26,7964,1148],{"class":1013},[26,7966,1151],{"class":959},[26,7968,7969,7971,7974,7976],{"class":951,"line":1972},[26,7970,2699],{"class":955},[26,7972,7973],{"class":959}," node ",[26,7975,1650],{"class":955},[26,7977,3113],{"class":959},[26,7979,7980,7982],{"class":951,"line":1997},[26,7981,2748],{"class":955},[26,7983,2509],{"class":959},[26,7985,7986,7988,7990,7992],{"class":951,"line":2002},[26,7987,2699],{"class":955},[26,7989,2562],{"class":959},[26,7991,2613],{"class":955},[26,7993,7994],{"class":959}," target:\n",[26,7996,7997,7999],{"class":951,"line":2008},[26,7998,2748],{"class":955},[26,8000,2603],{"class":959},[26,8002,8003],{"class":951,"line":2020},[26,8004,973],{"emptyLinePlaceholder":972},[26,8006,8007,8010,8012,8014],{"class":951,"line":2036},[26,8008,8009],{"class":959},"      split: ",[26,8011,1710],{"class":1013},[26,8013,1713],{"class":955},[26,8015,8016],{"class":959}," node.point.coordinate(node.axis)\n",[26,8018,8019,8022,8024,8026],{"class":951,"line":2041},[26,8020,8021],{"class":959},"      probe: ",[26,8023,1710],{"class":1013},[26,8025,1713],{"class":955},[26,8027,8028],{"class":959}," target.coordinate(node.axis)\n",[26,8030,8031],{"class":951,"line":2052},[26,8032,8033],{"class":1700},"      # strictly-less goes left, strictly-greater goes right; an exact tie\n",[26,8035,8036],{"class":951,"line":2067},[26,8037,8038],{"class":1700},"      # on the split coordinate could sit on either side, so check both.\n",[26,8040,8041,8043,8046,8048],{"class":951,"line":2072},[26,8042,2699],{"class":955},[26,8044,8045],{"class":959}," probe ",[26,8047,1406],{"class":955},[26,8049,8050],{"class":959}," split:\n",[26,8052,8053,8055],{"class":951,"line":2077},[26,8054,2748],{"class":955},[26,8056,8057],{"class":959}," search(node.left)\n",[26,8059,8060,8062,8064,8066],{"class":951,"line":2083},[26,8061,2699],{"class":955},[26,8063,8045],{"class":959},[26,8065,1391],{"class":955},[26,8067,8050],{"class":959},[26,8069,8070,8072],{"class":951,"line":2095},[26,8071,2748],{"class":955},[26,8073,8074],{"class":959}," search(node.right)\n",[26,8076,8077,8079,8082,8085],{"class":951,"line":2110},[26,8078,2506],{"class":955},[26,8080,8081],{"class":959}," search(node.left) ",[26,8083,8084],{"class":955},"or",[26,8086,8074],{"class":959},[26,8088,8089],{"class":951,"line":2115},[26,8090,973],{"emptyLinePlaceholder":972},[26,8092,8093,8095,8098,8100],{"class":951,"line":2126},[26,8094,1176],{"class":955},[26,8096,8097],{"class":959}," search(",[26,8099,1719],{"class":955},[26,8101,3050],{"class":959},[26,8103,8104],{"class":951,"line":2142},[26,8105,973],{"emptyLinePlaceholder":972},[26,8107,8108,8110,8112],{"class":951,"line":2147},[26,8109,1139],{"class":955},[26,8111,2864],{"class":1013},[26,8113,2867],{"class":959},[26,8115,8116],{"class":951,"line":2152},[26,8117,1157],{"class":1023},[26,8119,8120,8123],{"class":951,"line":2163},[26,8121,8122],{"class":1023},"      Every stored point inside `query`. At each node, descend a side only",[26,8124,1033],{"class":955},[26,8126,8127,8130],{"class":951,"line":2168},[26,8128,8129],{"class":1023},"      when the splitting line allows some of its region to fall within the",[26,8131,1033],{"class":955},[26,8133,8134,8137],{"class":951,"line":2176},[26,8135,8136],{"class":1023},"      query band on the active axis — pruning the rest.",[26,8138,1033],{"class":955},[26,8140,8141],{"class":951,"line":2181},[26,8142,1157],{"class":1023},[26,8144,8145,8147,8149],{"class":951,"line":2188},[26,8146,2907],{"class":959},[26,8148,1529],{"class":955},[26,8150,2912],{"class":959},[26,8152,8153],{"class":951,"line":2201},[26,8154,973],{"emptyLinePlaceholder":972},[26,8156,8157,8159,8161],{"class":951,"line":2216},[26,8158,2923],{"class":955},[26,8160,2926],{"class":1013},[26,8162,8163],{"class":959},"(node: Optional[KDNode]) -> None:\n",[26,8165,8166,8168,8170,8172],{"class":951,"line":2231},[26,8167,2699],{"class":955},[26,8169,7973],{"class":959},[26,8171,1650],{"class":955},[26,8173,3113],{"class":959},[26,8175,8176],{"class":951,"line":2246},[26,8177,2975],{"class":955},[26,8179,8180,8182],{"class":951,"line":2251},[26,8181,2699],{"class":955},[26,8183,3003],{"class":959},[26,8185,8186],{"class":951,"line":2258},[26,8187,8188],{"class":959},"        found.append(node.point)\n",[26,8190,8191],{"class":951,"line":2266},[26,8192,973],{"emptyLinePlaceholder":972},[26,8194,8195,8197,8199,8201],{"class":951,"line":2274},[26,8196,8009],{"class":959},[26,8198,1710],{"class":1013},[26,8200,1713],{"class":955},[26,8202,8016],{"class":959},[26,8204,8205,8208,8210,8212,8215,8217,8220,8222,8224,8226],{"class":951,"line":2282},[26,8206,8207],{"class":959},"      low: ",[26,8209,1710],{"class":1013},[26,8211,1713],{"class":955},[26,8213,8214],{"class":959}," query.min_x ",[26,8216,1835],{"class":955},[26,8218,8219],{"class":959}," node.axis ",[26,8221,2613],{"class":955},[26,8223,7221],{"class":1013},[26,8225,7224],{"class":955},[26,8227,8228],{"class":959}," query.min_y\n",[26,8230,8231,8234,8236,8238,8241,8243,8245,8247,8249,8251],{"class":951,"line":2290},[26,8232,8233],{"class":959},"      high: ",[26,8235,1710],{"class":1013},[26,8237,1713],{"class":955},[26,8239,8240],{"class":959}," query.max_x ",[26,8242,1835],{"class":955},[26,8244,8219],{"class":959},[26,8246,2613],{"class":955},[26,8248,7221],{"class":1013},[26,8250,7224],{"class":955},[26,8252,8253],{"class":959}," query.max_y\n",[26,8255,8256],{"class":951,"line":2295},[26,8257,973],{"emptyLinePlaceholder":972},[26,8259,8260],{"class":951,"line":2300},[26,8261,8262],{"class":1700},"      # the left subtree holds coordinates at or below the split (ties at\n",[26,8264,8265],{"class":951,"line":2310},[26,8266,8267],{"class":1700},"      # the median may sit left), so visit it whenever the query band\n",[26,8269,8270],{"class":951,"line":2315},[26,8271,8272],{"class":1700},"      # reaches the split, and the right whenever the band reaches above.\n",[26,8274,8275,8277,8280,8282],{"class":951,"line":2323},[26,8276,2699],{"class":955},[26,8278,8279],{"class":959}," low ",[26,8281,1191],{"class":955},[26,8283,8050],{"class":959},[26,8285,8286],{"class":951,"line":2331},[26,8287,8288],{"class":959},"        descend(node.left)\n",[26,8290,8291,8293,8296,8298],{"class":951,"line":2339},[26,8292,2699],{"class":955},[26,8294,8295],{"class":959}," split ",[26,8297,1191],{"class":955},[26,8299,8300],{"class":959}," high:\n",[26,8302,8303],{"class":951,"line":2347},[26,8304,8305],{"class":959},"        descend(node.right)\n",[26,8307,8308],{"class":951,"line":2355},[26,8309,973],{"emptyLinePlaceholder":972},[26,8311,8312,8314,8316],{"class":951,"line":2360},[26,8313,3045],{"class":959},[26,8315,1719],{"class":955},[26,8317,3050],{"class":959},[26,8319,8320,8322],{"class":951,"line":2365},[26,8321,1176],{"class":955},[26,8323,3058],{"class":959},[26,8325,8326],{"class":951,"line":2375},[26,8327,973],{"emptyLinePlaceholder":972},[26,8329,8330,8332,8335],{"class":951,"line":2380},[26,8331,1139],{"class":955},[26,8333,8334],{"class":1013}," nearest",[26,8336,8337],{"class":959},"(self, query: Point) -> Optional[Point]:\n",[26,8339,8340],{"class":951,"line":2388},[26,8341,1157],{"class":1023},[26,8343,8344,8347],{"class":951,"line":2396},[26,8345,8346],{"class":1023},"      The stored point closest to `query`, or None if the tree is empty.",[26,8348,1033],{"class":955},[26,8350,8351,8354],{"class":951,"line":2401},[26,8352,8353],{"class":1023},"      Branch-and-bound: descend to the leaf `query` belongs in for a first",[26,8355,1033],{"class":955},[26,8357,8358,8361],{"class":951,"line":2414},[26,8359,8360],{"class":1023},"      candidate, then unwind, entering a far subtree only when the",[26,8362,1033],{"class":955},[26,8364,8365,8368],{"class":951,"line":2430},[26,8366,8367],{"class":1023},"      splitting line lies nearer than the best distance found so far.",[26,8369,1033],{"class":955},[26,8371,8372],{"class":951,"line":2435},[26,8373,1157],{"class":1023},[26,8375,8376,8379,8381,8383,8386,8388],{"class":951,"line":2449},[26,8377,8378],{"class":959},"    neighbours: list[Point] ",[26,8380,1529],{"class":955},[26,8382,1199],{"class":955},[26,8384,8385],{"class":959},".k_nearest(query, ",[26,8387,184],{"class":1013},[26,8389,7752],{"class":959},[26,8391,8392,8394,8397,8399,8402,8404,8407,8409],{"class":951,"line":2454},[26,8393,1176],{"class":955},[26,8395,8396],{"class":959}," neighbours[",[26,8398,7749],{"class":1013},[26,8400,8401],{"class":959},"] ",[26,8403,1835],{"class":955},[26,8405,8406],{"class":959}," neighbours ",[26,8408,1841],{"class":955},[26,8410,1545],{"class":959},[26,8412,8413],{"class":951,"line":2462},[26,8414,973],{"emptyLinePlaceholder":972},[26,8416,8417,8419,8422,8425,8427],{"class":951,"line":2470},[26,8418,1139],{"class":955},[26,8420,8421],{"class":1013}," k_nearest",[26,8423,8424],{"class":959},"(self, query: Point, count: ",[26,8426,2422],{"class":1013},[26,8428,8429],{"class":959},") -> list[Point]:\n",[26,8431,8432],{"class":951,"line":2478},[26,8433,1157],{"class":1023},[26,8435,8436,8439],{"class":951,"line":2486},[26,8437,8438],{"class":1023},"      The `count` stored points closest to `query`, nearest first.",[26,8440,1033],{"class":955},[26,8442,8443,8446],{"class":951,"line":2491},[26,8444,8445],{"class":1023},"      Keep a bounded max-heap of the best candidates keyed by negated",[26,8447,1033],{"class":955},[26,8449,8450,8453],{"class":951,"line":2503},[26,8451,8452],{"class":1023},"      distance; prune a far subtree once the heap is full and the",[26,8454,1033],{"class":955},[26,8456,8457,8460],{"class":951,"line":2512},[26,8458,8459],{"class":1023},"      splitting line is farther than the heap's worst distance.",[26,8461,1033],{"class":955},[26,8463,8464],{"class":951,"line":2517},[26,8465,1157],{"class":1023},[26,8467,8468,8470,8473,8475,8477,8480,8482,8485,8487],{"class":951,"line":2530},[26,8469,1816],{"class":955},[26,8471,8472],{"class":959}," count ",[26,8474,1191],{"class":955},[26,8476,7221],{"class":1013},[26,8478,8479],{"class":955}," or",[26,8481,1199],{"class":955},[26,8483,8484],{"class":959},".root ",[26,8486,1650],{"class":955},[26,8488,3113],{"class":959},[26,8490,8491,8493],{"class":951,"line":2541},[26,8492,2506],{"class":955},[26,8494,2912],{"class":959},[26,8496,8497],{"class":951,"line":2552},[26,8498,973],{"emptyLinePlaceholder":972},[26,8500,8501],{"class":951,"line":2557},[26,8502,8503],{"class":1700},"    # max-heap of (-squared_distance, tie_breaker, point); the largest\n",[26,8505,8506],{"class":951,"line":2573},[26,8507,8508],{"class":1700},"    # distance sits at the top so we can evict it when a closer point wins.\n",[26,8510,8511,8514,8516,8518,8520,8523,8525],{"class":951,"line":2584},[26,8512,8513],{"class":959},"    best: list[tuple[",[26,8515,1710],{"class":1013},[26,8517,290],{"class":959},[26,8519,2422],{"class":1013},[26,8521,8522],{"class":959},", Point]] ",[26,8524,1529],{"class":955},[26,8526,2912],{"class":959},[26,8528,8529,8532,8534,8536],{"class":951,"line":2598},[26,8530,8531],{"class":959},"    tie_breaker: ",[26,8533,2422],{"class":1013},[26,8535,1713],{"class":955},[26,8537,2427],{"class":1013},[26,8539,8540],{"class":951,"line":2606},[26,8541,973],{"emptyLinePlaceholder":972},[26,8543,8544,8546,8549],{"class":951,"line":2622},[26,8545,2923],{"class":955},[26,8547,8548],{"class":1013}," consider",[26,8550,8551],{"class":959},"(point: Point) -> None:\n",[26,8553,8554,8557],{"class":951,"line":2629},[26,8555,8556],{"class":955},"      nonlocal",[26,8558,8559],{"class":959}," tie_breaker\n",[26,8561,8562,8565,8567,8569],{"class":951,"line":2634},[26,8563,8564],{"class":959},"      distance: ",[26,8566,1710],{"class":1013},[26,8568,1713],{"class":955},[26,8570,8571],{"class":959}," squared_distance(query, point)\n",[26,8573,8574,8576,8578,8581,8583],{"class":951,"line":2640},[26,8575,2699],{"class":955},[26,8577,7721],{"class":1013},[26,8579,8580],{"class":959},"(best) ",[26,8582,1406],{"class":955},[26,8584,8585],{"class":959}," count:\n",[26,8587,8588,8591,8593],{"class":951,"line":2651},[26,8589,8590],{"class":959},"        heapq.heappush(best, (",[26,8592,7417],{"class":955},[26,8594,8595],{"class":959},"distance, tie_breaker, point))\n",[26,8597,8598,8601,8603],{"class":951,"line":2661},[26,8599,8600],{"class":959},"        tie_breaker ",[26,8602,2592],{"class":955},[26,8604,2595],{"class":1013},[26,8606,8607,8610,8613,8616,8618,8621,8623,8626,8628,8631],{"class":951,"line":2669},[26,8608,8609],{"class":955},"      elif",[26,8611,8612],{"class":955}," -",[26,8614,8615],{"class":959},"distance ",[26,8617,1391],{"class":955},[26,8619,8620],{"class":959}," best[",[26,8622,7749],{"class":1013},[26,8624,8625],{"class":959},"][",[26,8627,7749],{"class":1013},[26,8629,8630],{"class":959},"]:  ",[26,8632,8633],{"class":1700},"# closer than the current worst.\n",[26,8635,8636,8639,8641],{"class":951,"line":2675},[26,8637,8638],{"class":959},"        heapq.heapreplace(best, (",[26,8640,7417],{"class":955},[26,8642,8595],{"class":959},[26,8644,8645,8647,8649],{"class":951,"line":2685},[26,8646,8600],{"class":959},[26,8648,2592],{"class":955},[26,8650,2595],{"class":1013},[26,8652,8653],{"class":951,"line":2696},[26,8654,973],{"emptyLinePlaceholder":972},[26,8656,8657,8659,8662,8665,8667],{"class":951,"line":2712},[26,8658,2923],{"class":955},[26,8660,8661],{"class":1013}," worst_distance",[26,8663,8664],{"class":959},"() -> ",[26,8666,1710],{"class":1013},[26,8668,1151],{"class":959},[26,8670,8671],{"class":951,"line":2722},[26,8672,8673],{"class":1023},"      \"\"\"\n",[26,8675,8676],{"class":951,"line":2733},[26,8677,8678],{"class":1023},"        The squared distance of the current farthest candidate, or\n",[26,8680,8681],{"class":951,"line":2745},[26,8682,8683],{"class":1023},"        infinity while the heap still has room for more.\n",[26,8685,8686],{"class":951,"line":2753},[26,8687,8673],{"class":1023},[26,8689,8690,8692,8694,8696,8698],{"class":951,"line":2766},[26,8691,2699],{"class":955},[26,8693,7721],{"class":1013},[26,8695,8580],{"class":959},[26,8697,1406],{"class":955},[26,8699,8585],{"class":959},[26,8701,8702,8704,8707,8709,8712],{"class":951,"line":2771},[26,8703,2748],{"class":955},[26,8705,8706],{"class":1013}," float",[26,8708,803],{"class":959},[26,8710,8711],{"class":1023},"\"inf\"",[26,8713,7752],{"class":959},[26,8715,8716,8718,8720,8723,8725,8727,8729],{"class":951,"line":2785},[26,8717,2506],{"class":955},[26,8719,8612],{"class":955},[26,8721,8722],{"class":959},"best[",[26,8724,7749],{"class":1013},[26,8726,8625],{"class":959},[26,8728,7749],{"class":1013},[26,8730,8731],{"class":959},"]\n",[26,8733,8734],{"class":951,"line":2796},[26,8735,973],{"emptyLinePlaceholder":972},[26,8737,8738,8740,8742],{"class":951,"line":2803},[26,8739,2923],{"class":955},[26,8741,2926],{"class":1013},[26,8743,8163],{"class":959},[26,8745,8746,8748,8750,8752],{"class":951,"line":2808},[26,8747,2699],{"class":955},[26,8749,7973],{"class":959},[26,8751,1650],{"class":955},[26,8753,3113],{"class":959},[26,8755,8756],{"class":951,"line":2814},[26,8757,2975],{"class":955},[26,8759,8760],{"class":951,"line":2825},[26,8761,8762],{"class":959},"      consider(node.point)\n",[26,8764,8765],{"class":951,"line":2834},[26,8766,973],{"emptyLinePlaceholder":972},[26,8768,8769,8772,8774,8776],{"class":951,"line":2843},[26,8770,8771],{"class":959},"      offset: ",[26,8773,1710],{"class":1013},[26,8775,1713],{"class":955},[26,8777,1179],{"class":959},[26,8779,8780,8783,8785],{"class":951,"line":2854},[26,8781,8782],{"class":959},"        query.coordinate(node.axis) ",[26,8784,7417],{"class":955},[26,8786,8016],{"class":959},[26,8788,8789],{"class":951,"line":2859},[26,8790,8791],{"class":959},"      )\n",[26,8793,8794,8797,8799,8802,8804,8807,8809,8811,8813],{"class":951,"line":2870},[26,8795,8796],{"class":959},"      near: Optional[KDNode] ",[26,8798,1529],{"class":955},[26,8800,8801],{"class":959}," node.left ",[26,8803,1835],{"class":955},[26,8805,8806],{"class":959}," offset ",[26,8808,1406],{"class":955},[26,8810,7221],{"class":1013},[26,8812,7224],{"class":955},[26,8814,8815],{"class":959}," node.right\n",[26,8817,8818,8821,8823,8826,8828,8830,8832,8834,8836],{"class":951,"line":2875},[26,8819,8820],{"class":959},"      far: Optional[KDNode] ",[26,8822,1529],{"class":955},[26,8824,8825],{"class":959}," node.right ",[26,8827,1835],{"class":955},[26,8829,8806],{"class":959},[26,8831,1406],{"class":955},[26,8833,7221],{"class":1013},[26,8835,7224],{"class":955},[26,8837,8838],{"class":959}," node.left\n",[26,8840,8841],{"class":951,"line":2883},[26,8842,973],{"emptyLinePlaceholder":972},[26,8844,8845,8848],{"class":951,"line":2891},[26,8846,8847],{"class":959},"      descend(near)  ",[26,8849,8850],{"class":1700},"# the side query falls in — likely holds the best.\n",[26,8852,8853],{"class":951,"line":2899},[26,8854,8855],{"class":1700},"      # only cross the splitting line if a closer point could hide beyond.\n",[26,8857,8858,8860,8862,8864,8866,8868],{"class":951,"line":2904},[26,8859,2699],{"class":955},[26,8861,8806],{"class":959},[26,8863,7448],{"class":955},[26,8865,8806],{"class":959},[26,8867,1406],{"class":955},[26,8869,8870],{"class":959}," worst_distance():\n",[26,8872,8873],{"class":951,"line":2915},[26,8874,8875],{"class":959},"        descend(far)\n",[26,8877,8878],{"class":951,"line":2920},[26,8879,973],{"emptyLinePlaceholder":972},[26,8881,8882,8884,8886],{"class":951,"line":2932},[26,8883,3045],{"class":959},[26,8885,1719],{"class":955},[26,8887,3050],{"class":959},[26,8889,8890,8893,8895,8897,8899,8901,8903,8906],{"class":951,"line":2942},[26,8891,8892],{"class":959},"    ordered: list[tuple[",[26,8894,1710],{"class":1013},[26,8896,290],{"class":959},[26,8898,2422],{"class":1013},[26,8900,8522],{"class":959},[26,8902,1529],{"class":955},[26,8904,8905],{"class":1013}," sorted",[26,8907,8908],{"class":959},"(\n",[26,8910,8911,8914,8916,8919,8921,8924,8926],{"class":951,"line":2950},[26,8912,8913],{"class":959},"      best, key",[26,8915,7843],{"class":955},[26,8917,8918],{"class":959}," entry: ",[26,8920,7417],{"class":955},[26,8922,8923],{"class":959},"entry[",[26,8925,7749],{"class":1013},[26,8927,8731],{"class":959},[26,8929,8930],{"class":951,"line":2958},[26,8931,1231],{"class":959},[26,8933,8934,8936,8939,8942,8945,8947],{"class":951,"line":2972},[26,8935,1176],{"class":955},[26,8937,8938],{"class":959}," [point ",[26,8940,8941],{"class":955},"for",[26,8943,8944],{"class":959}," _, _, point ",[26,8946,3025],{"class":955},[26,8948,8949],{"class":959}," ordered]\n",[26,8951,8952],{"class":951,"line":2978},[26,8953,973],{"emptyLinePlaceholder":972},[26,8955,8956,8958,8960],{"class":951,"line":2985},[26,8957,1139],{"class":955},[26,8959,3163],{"class":1013},[26,8961,3166],{"class":959},[26,8963,8964,8966,8969],{"class":951,"line":3006},[26,8965,2923],{"class":955},[26,8967,8968],{"class":1013}," walk",[26,8970,8971],{"class":959},"(node: Optional[KDNode]) -> Iterator[Point]:\n",[26,8973,8974,8976,8978,8980,8982],{"class":951,"line":3012},[26,8975,2699],{"class":955},[26,8977,7973],{"class":959},[26,8979,1650],{"class":955},[26,8981,1380],{"class":955},[26,8983,3113],{"class":959},[26,8985,8986,8988],{"class":951,"line":3017},[26,8987,3119],{"class":955},[26,8989,2648],{"class":959},[26,8991,8992,8995],{"class":951,"line":3031},[26,8993,8994],{"class":955},"        yield from",[26,8996,8997],{"class":959}," walk(node.left)\n",[26,8999,9000,9002],{"class":951,"line":3037},[26,9001,8994],{"class":955},[26,9003,9004],{"class":959}," walk(node.right)\n",[26,9006,9007],{"class":951,"line":3042},[26,9008,973],{"emptyLinePlaceholder":972},[26,9010,9011,9013,9016,9018],{"class":951,"line":3053},[26,9012,1176],{"class":955},[26,9014,9015],{"class":959}," walk(",[26,9017,1719],{"class":955},[26,9019,3050],{"class":959},[26,9021,9022],{"class":951,"line":3061},[26,9023,973],{"emptyLinePlaceholder":972},[26,9025,9026,9028,9031,9033,9035],{"class":951,"line":3066},[26,9027,1139],{"class":955},[26,9029,9030],{"class":1013}," height",[26,9032,1615],{"class":959},[26,9034,2422],{"class":1013},[26,9036,1151],{"class":959},[26,9038,9039],{"class":951,"line":3077},[26,9040,1157],{"class":1023},[26,9042,9043,9046],{"class":951,"line":3082},[26,9044,9045],{"class":1023},"      The number of edges on the longest root-to-leaf path; -1 when empty.",[26,9047,1033],{"class":955},[26,9049,9050,9053],{"class":951,"line":3090},[26,9051,9052],{"class":1023},"      Median splitting keeps this at floor(log2 n).",[26,9054,1033],{"class":955},[26,9056,9057],{"class":951,"line":3095},[26,9058,1157],{"class":1023},[26,9060,9061],{"class":951,"line":3102},[26,9062,973],{"emptyLinePlaceholder":972},[26,9064,9065,9067,9070,9072,9074],{"class":951,"line":3116},[26,9066,2923],{"class":955},[26,9068,9069],{"class":1013}," depth",[26,9071,7962],{"class":959},[26,9073,2422],{"class":1013},[26,9075,1151],{"class":959},[26,9077,9078,9080,9082,9084],{"class":951,"line":3124},[26,9079,2699],{"class":955},[26,9081,7973],{"class":959},[26,9083,1650],{"class":955},[26,9085,3113],{"class":959},[26,9087,9088,9090,9092],{"class":951,"line":3130},[26,9089,2748],{"class":955},[26,9091,8612],{"class":955},[26,9093,9094],{"class":1013},"1\n",[26,9096,9097,9099,9101,9104,9107],{"class":951,"line":3142},[26,9098,2506],{"class":955},[26,9100,7901],{"class":1013},[26,9102,9103],{"class":955}," +",[26,9105,9106],{"class":1013}," max",[26,9108,9109],{"class":959},"(depth(node.left), depth(node.right))\n",[26,9111,9112],{"class":951,"line":3153},[26,9113,973],{"emptyLinePlaceholder":972},[26,9115,9116,9118,9121,9123],{"class":951,"line":3158},[26,9117,1176],{"class":955},[26,9119,9120],{"class":959}," depth(",[26,9122,1719],{"class":955},[26,9124,3050],{"class":959},[26,9126,9127],{"class":951,"line":3169},[26,9128,973],{"emptyLinePlaceholder":972},[26,9130,9131,9133,9135,9137,9139],{"class":951,"line":3183},[26,9132,1139],{"class":955},[26,9134,3193],{"class":1013},[26,9136,1615],{"class":959},[26,9138,2422],{"class":1013},[26,9140,1151],{"class":959},[26,9142,9143,9145,9147],{"class":951,"line":3188},[26,9144,1176],{"class":955},[26,9146,1199],{"class":955},[26,9148,3209],{"class":959},[257,9150,9152],{"id":9151},"range-trees-faster-orthogonal-range-reporting","Range trees: faster orthogonal range reporting",[11,9154,9155,9156,9239,9240,9296,9297,9300,9301,9381,9382,9421,9422,9446],{},"The k-d tree answers a rectangle query in ",[26,9157,9159],{"className":9158},[29],[26,9160,9162,9227],{"className":9161,"ariaHidden":34},[33],[26,9163,9165,9168,9171,9174,9218,9221,9224],{"className":9164},[38],[26,9166],{"className":9167,"style":4042},[42],[26,9169,895],{"className":9170,"style":894},[47,113],[26,9172,803],{"className":9173},[802],[26,9175,9177],{"className":9176},[47,4052],[26,9178,9180,9210],{"className":9179},[60,3911],[26,9181,9183,9207],{"className":9182},[64],[26,9184,9186,9195],{"className":9185,"style":4062},[68],[26,9187,9189,9192],{"className":9188,"style":4067},[4066],[26,9190],{"className":9191,"style":4071},[75],[26,9193,849],{"className":9194,"style":4075},[47,113],[26,9196,9197,9200],{"style":4081},[26,9198],{"className":9199,"style":4071},[75],[26,9201,9203],{"className":9202,"style":4089},[4088],[4091,9204,9205],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,9206],{"d":4101},[26,9208,3935],{"className":9209},[3934],[26,9211,9213],{"className":9212},[64],[26,9214,9216],{"className":9215,"style":4111},[68],[26,9217],{},[26,9219],{"className":9220,"style":3490},[873],[26,9222,1725],{"className":9223},[3494],[26,9225],{"className":9226,"style":3490},[873],[26,9228,9230,9233,9236],{"className":9229},[38],[26,9231],{"className":9232,"style":794},[42],[26,9234,4028],{"className":9235},[47,113],[26,9237,910],{"className":9238},[827],", and the ",[26,9241,9243],{"className":9242},[29],[26,9244,9246],{"className":9245,"ariaHidden":34},[33],[26,9247,9249,9252],{"className":9248},[38],[26,9250],{"className":9251,"style":4148},[42],[26,9253,9255],{"className":9254},[47,4052],[26,9256,9258,9288],{"className":9257},[60,3911],[26,9259,9261,9285],{"className":9260},[64],[26,9262,9264,9273],{"className":9263,"style":4062},[68],[26,9265,9267,9270],{"className":9266,"style":4067},[4066],[26,9268],{"className":9269,"style":4071},[75],[26,9271,849],{"className":9272,"style":4075},[47,113],[26,9274,9275,9278],{"style":4081},[26,9276],{"className":9277,"style":4071},[75],[26,9279,9281],{"className":9280,"style":4089},[4088],[4091,9282,9283],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,9284],{"d":4101},[26,9286,3935],{"className":9287},[3934],[26,9289,9291],{"className":9290},[64],[26,9292,9294],{"className":9293,"style":4111},[68],[26,9295],{}," term\nhurts when the query is thin and reports few points. A ",[21,9298,9299],{},"range tree"," trades space\nfor a sharper query bound: ",[26,9302,9304],{"className":9303},[29],[26,9305,9307,9369],{"className":9306,"ariaHidden":34},[33],[26,9308,9310,9314,9317,9320,9354,9357,9360,9363,9366],{"className":9309},[38],[26,9311],{"className":9312,"style":9313},[42],"height:1.1484em;vertical-align:-0.25em;",[26,9315,895],{"className":9316,"style":894},[47,113],[26,9318,803],{"className":9319},[802],[26,9321,9323,9329],{"className":9322},[807],[26,9324,9326],{"className":9325},[807],[26,9327,813],{"className":9328,"style":812},[47,811],[26,9330,9332],{"className":9331},[56],[26,9333,9335],{"className":9334},[60],[26,9336,9338],{"className":9337},[64],[26,9339,9342],{"className":9340,"style":9341},[68],"height:0.8984em;",[26,9343,9345,9348],{"style":9344},"top:-3.1473em;margin-right:0.05em;",[26,9346],{"className":9347,"style":76},[75],[26,9349,9351],{"className":9350},[80,81,82,83],[26,9352,87],{"className":9353},[47,83],[26,9355],{"className":9356,"style":874},[873],[26,9358,849],{"className":9359},[47,113],[26,9361],{"className":9362,"style":3490},[873],[26,9364,1725],{"className":9365},[3494],[26,9367],{"className":9368,"style":3490},[873],[26,9370,9372,9375,9378],{"className":9371},[38],[26,9373],{"className":9374,"style":794},[42],[26,9376,4028],{"className":9377},[47,113],[26,9379,910],{"className":9380},[827]," in the plane, at a cost of\n",[26,9383,9385],{"className":9384},[29],[26,9386,9388],{"className":9387,"ariaHidden":34},[33],[26,9389,9391,9394,9397,9400,9403,9406,9412,9415,9418],{"className":9390},[38],[26,9392],{"className":9393,"style":794},[42],[26,9395,895],{"className":9396,"style":894},[47,113],[26,9398,803],{"className":9399},[802],[26,9401,849],{"className":9402},[47,113],[26,9404],{"className":9405,"style":874},[873],[26,9407,9409],{"className":9408},[807],[26,9410,813],{"className":9411,"style":812},[47,811],[26,9413],{"className":9414,"style":874},[873],[26,9416,849],{"className":9417},[47,113],[26,9419,910],{"className":9420},[827]," storage instead of ",[26,9423,9425],{"className":9424},[29],[26,9426,9428],{"className":9427,"ariaHidden":34},[33],[26,9429,9431,9434,9437,9440,9443],{"className":9430},[38],[26,9432],{"className":9433,"style":794},[42],[26,9435,895],{"className":9436,"style":894},[47,113],[26,9438,803],{"className":9439},[802],[26,9441,849],{"className":9442},[47,113],[26,9444,910],{"className":9445},[827],". It is built by nesting one balanced\nsearch tree inside another.",[373,9448,9449],{"type":375},[11,9450,9451,9454,9455,9470,9471,9474,9475,9490,9491,9494,9495,9510,9511,9526,9527,3616],{},[21,9452,9453],{},"Definition (Range tree)."," A 2-D range tree is a balanced BST on the\n",[26,9456,9458],{"className":9457},[29],[26,9459,9461],{"className":9460,"ariaHidden":34},[33],[26,9462,9464,9467],{"className":9463},[38],[26,9465],{"className":9466,"style":128},[42],[26,9468,132],{"className":9469},[47,113],"-coordinates of the points (the ",[21,9472,9473],{},"primary"," tree). Every node ",[26,9476,9478],{"className":9477},[29],[26,9479,9481],{"className":9480,"ariaHidden":34},[33],[26,9482,9484,9487],{"className":9483},[38],[26,9485],{"className":9486,"style":128},[42],[26,9488,4661],{"className":9489,"style":114},[47,113]," of the\nprimary tree carries an ",[21,9492,9493],{},"associated"," balanced BST — the secondary tree — on\nthe ",[26,9496,9498],{"className":9497},[29],[26,9499,9501],{"className":9500,"ariaHidden":34},[33],[26,9502,9504,9507],{"className":9503},[38],[26,9505],{"className":9506,"style":109},[42],[26,9508,149],{"className":9509,"style":114},[47,113],"-coordinates of exactly the points in ",[26,9512,9514],{"className":9513},[29],[26,9515,9517],{"className":9516,"ariaHidden":34},[33],[26,9518,9520,9523],{"className":9519},[38],[26,9521],{"className":9522,"style":128},[42],[26,9524,4661],{"className":9525,"style":114},[47,113],"'s subtree, sorted by ",[26,9528,9530],{"className":9529},[29],[26,9531,9533],{"className":9532,"ariaHidden":34},[33],[26,9534,9536,9539],{"className":9535},[38],[26,9537],{"className":9538,"style":109},[42],[26,9540,149],{"className":9541,"style":114},[47,113],[11,9543,9544,9545,9761,9762,9777,9778,93,9831,9883,9884,10007,10008,4308,10041,10044,10045,10060,10061,10076,10077,10181,10182,10270,10271,10304,10305,3616],{},"A rectangle query ",[26,9546,9548],{"className":9547},[29],[26,9549,9551,9663],{"className":9550,"ariaHidden":34},[33],[26,9552,9554,9557,9561,9603,9606,9609,9649,9653,9656,9660],{"className":9553},[38],[26,9555],{"className":9556,"style":794},[42],[26,9558,9560],{"className":9559},[802],"[",[26,9562,9564,9567],{"className":9563},[47],[26,9565,132],{"className":9566},[47,113],[26,9568,9570],{"className":9569},[56],[26,9571,9573,9595],{"className":9572},[60,3911],[26,9574,9576,9592],{"className":9575},[64],[26,9577,9580],{"className":9578,"style":9579},[68],"height:0.3011em;",[26,9581,9583,9586],{"style":9582},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[26,9584],{"className":9585,"style":76},[75],[26,9587,9589],{"className":9588},[80,81,82,83],[26,9590,184],{"className":9591},[47,83],[26,9593,3935],{"className":9594},[3934],[26,9596,9598],{"className":9597},[64],[26,9599,9601],{"className":9600,"style":4478},[68],[26,9602],{},[26,9604,623],{"className":9605},[4754],[26,9607],{"className":9608,"style":874},[873],[26,9610,9612,9615],{"className":9611},[47],[26,9613,132],{"className":9614},[47,113],[26,9616,9618],{"className":9617},[56],[26,9619,9621,9641],{"className":9620},[60,3911],[26,9622,9624,9638],{"className":9623},[64],[26,9625,9627],{"className":9626,"style":9579},[68],[26,9628,9629,9632],{"style":9582},[26,9630],{"className":9631,"style":76},[75],[26,9633,9635],{"className":9634},[80,81,82,83],[26,9636,87],{"className":9637},[47,83],[26,9639,3935],{"className":9640},[3934],[26,9642,9644],{"className":9643},[64],[26,9645,9647],{"className":9646,"style":4478},[68],[26,9648],{},[26,9650,9652],{"className":9651},[827],"]",[26,9654],{"className":9655,"style":3490},[873],[26,9657,9659],{"className":9658},[3494],"×",[26,9661],{"className":9662,"style":3490},[873],[26,9664,9666,9669,9672,9712,9715,9718,9758],{"className":9665},[38],[26,9667],{"className":9668,"style":794},[42],[26,9670,9560],{"className":9671},[802],[26,9673,9675,9678],{"className":9674},[47],[26,9676,149],{"className":9677,"style":114},[47,113],[26,9679,9681],{"className":9680},[56],[26,9682,9684,9704],{"className":9683},[60,3911],[26,9685,9687,9701],{"className":9686},[64],[26,9688,9690],{"className":9689,"style":9579},[68],[26,9691,9692,9695],{"style":4459},[26,9693],{"className":9694,"style":76},[75],[26,9696,9698],{"className":9697},[80,81,82,83],[26,9699,184],{"className":9700},[47,83],[26,9702,3935],{"className":9703},[3934],[26,9705,9707],{"className":9706},[64],[26,9708,9710],{"className":9709,"style":4478},[68],[26,9711],{},[26,9713,623],{"className":9714},[4754],[26,9716],{"className":9717,"style":874},[873],[26,9719,9721,9724],{"className":9720},[47],[26,9722,149],{"className":9723,"style":114},[47,113],[26,9725,9727],{"className":9726},[56],[26,9728,9730,9750],{"className":9729},[60,3911],[26,9731,9733,9747],{"className":9732},[64],[26,9734,9736],{"className":9735,"style":9579},[68],[26,9737,9738,9741],{"style":4459},[26,9739],{"className":9740,"style":76},[75],[26,9742,9744],{"className":9743},[80,81,82,83],[26,9745,87],{"className":9746},[47,83],[26,9748,3935],{"className":9749},[3934],[26,9751,9753],{"className":9752},[64],[26,9754,9756],{"className":9755,"style":4478},[68],[26,9757],{},[26,9759,9652],{"className":9760},[827]," runs in two stages. First, search\nthe primary (",[26,9763,9765],{"className":9764},[29],[26,9766,9768],{"className":9767,"ariaHidden":34},[33],[26,9769,9771,9774],{"className":9770},[38],[26,9772],{"className":9773,"style":128},[42],[26,9775,132],{"className":9776},[47,113],") tree for the split node where the paths to ",[26,9779,9781],{"className":9780},[29],[26,9782,9784],{"className":9783,"ariaHidden":34},[33],[26,9785,9787,9791],{"className":9786},[38],[26,9788],{"className":9789,"style":9790},[42],"height:0.5806em;vertical-align:-0.15em;",[26,9792,9794,9797],{"className":9793},[47],[26,9795,132],{"className":9796},[47,113],[26,9798,9800],{"className":9799},[56],[26,9801,9803,9823],{"className":9802},[60,3911],[26,9804,9806,9820],{"className":9805},[64],[26,9807,9809],{"className":9808,"style":9579},[68],[26,9810,9811,9814],{"style":9582},[26,9812],{"className":9813,"style":76},[75],[26,9815,9817],{"className":9816},[80,81,82,83],[26,9818,184],{"className":9819},[47,83],[26,9821,3935],{"className":9822},[3934],[26,9824,9826],{"className":9825},[64],[26,9827,9829],{"className":9828,"style":4478},[68],[26,9830],{},[26,9832,9834],{"className":9833},[29],[26,9835,9837],{"className":9836,"ariaHidden":34},[33],[26,9838,9840,9843],{"className":9839},[38],[26,9841],{"className":9842,"style":9790},[42],[26,9844,9846,9849],{"className":9845},[47],[26,9847,132],{"className":9848},[47,113],[26,9850,9852],{"className":9851},[56],[26,9853,9855,9875],{"className":9854},[60,3911],[26,9856,9858,9872],{"className":9857},[64],[26,9859,9861],{"className":9860,"style":9579},[68],[26,9862,9863,9866],{"style":9582},[26,9864],{"className":9865,"style":76},[75],[26,9867,9869],{"className":9868},[80,81,82,83],[26,9870,87],{"className":9871},[47,83],[26,9873,3935],{"className":9874},[3934],[26,9876,9878],{"className":9877},[64],[26,9879,9881],{"className":9880,"style":4478},[68],[26,9882],{},"\ndiverge; the points with ",[26,9885,9887],{"className":9886},[29],[26,9888,9890,9909],{"className":9889,"ariaHidden":34},[33],[26,9891,9893,9896,9899,9902,9906],{"className":9892},[38],[26,9894],{"className":9895,"style":5002},[42],[26,9897,132],{"className":9898},[47,113],[26,9900],{"className":9901,"style":3254},[873],[26,9903,9905],{"className":9904},[3258],"∈",[26,9907],{"className":9908,"style":3254},[873],[26,9910,9912,9915,9918,9958,9961,9964,10004],{"className":9911},[38],[26,9913],{"className":9914,"style":794},[42],[26,9916,9560],{"className":9917},[802],[26,9919,9921,9924],{"className":9920},[47],[26,9922,132],{"className":9923},[47,113],[26,9925,9927],{"className":9926},[56],[26,9928,9930,9950],{"className":9929},[60,3911],[26,9931,9933,9947],{"className":9932},[64],[26,9934,9936],{"className":9935,"style":9579},[68],[26,9937,9938,9941],{"style":9582},[26,9939],{"className":9940,"style":76},[75],[26,9942,9944],{"className":9943},[80,81,82,83],[26,9945,184],{"className":9946},[47,83],[26,9948,3935],{"className":9949},[3934],[26,9951,9953],{"className":9952},[64],[26,9954,9956],{"className":9955,"style":4478},[68],[26,9957],{},[26,9959,623],{"className":9960},[4754],[26,9962],{"className":9963,"style":874},[873],[26,9965,9967,9970],{"className":9966},[47],[26,9968,132],{"className":9969},[47,113],[26,9971,9973],{"className":9972},[56],[26,9974,9976,9996],{"className":9975},[60,3911],[26,9977,9979,9993],{"className":9978},[64],[26,9980,9982],{"className":9981,"style":9579},[68],[26,9983,9984,9987],{"style":9582},[26,9985],{"className":9986,"style":76},[75],[26,9988,9990],{"className":9989},[80,81,82,83],[26,9991,87],{"className":9992},[47,83],[26,9994,3935],{"className":9995},[3934],[26,9997,9999],{"className":9998},[64],[26,10000,10002],{"className":10001,"style":4478},[68],[26,10003],{},[26,10005,9652],{"className":10006},[827]," are precisely those in a set of\n",[26,10009,10011],{"className":10010},[29],[26,10012,10014],{"className":10013,"ariaHidden":34},[33],[26,10015,10017,10020,10023,10026,10032,10035,10038],{"className":10016},[38],[26,10018],{"className":10019,"style":794},[42],[26,10021,895],{"className":10022,"style":894},[47,113],[26,10024,803],{"className":10025},[802],[26,10027,10029],{"className":10028},[807],[26,10030,813],{"className":10031,"style":812},[47,811],[26,10033],{"className":10034,"style":874},[873],[26,10036,849],{"className":10037},[47,113],[26,10039,910],{"className":10040},[827],[21,10042,10043],{},"canonical subtrees"," hanging off the two search paths. Rather than\nwalk each subtree, consult its associated ",[26,10046,10048],{"className":10047},[29],[26,10049,10051],{"className":10050,"ariaHidden":34},[33],[26,10052,10054,10057],{"className":10053},[38],[26,10055],{"className":10056,"style":109},[42],[26,10058,149],{"className":10059,"style":114},[47,113],"-tree and report the points whose ",[26,10062,10064],{"className":10063},[29],[26,10065,10067],{"className":10066,"ariaHidden":34},[33],[26,10068,10070,10073],{"className":10069},[38],[26,10071],{"className":10072,"style":109},[42],[26,10074,149],{"className":10075,"style":114},[47,113],"\nfalls in ",[26,10078,10080],{"className":10079},[29],[26,10081,10083],{"className":10082,"ariaHidden":34},[33],[26,10084,10086,10089,10092,10132,10135,10138,10178],{"className":10085},[38],[26,10087],{"className":10088,"style":794},[42],[26,10090,9560],{"className":10091},[802],[26,10093,10095,10098],{"className":10094},[47],[26,10096,149],{"className":10097,"style":114},[47,113],[26,10099,10101],{"className":10100},[56],[26,10102,10104,10124],{"className":10103},[60,3911],[26,10105,10107,10121],{"className":10106},[64],[26,10108,10110],{"className":10109,"style":9579},[68],[26,10111,10112,10115],{"style":4459},[26,10113],{"className":10114,"style":76},[75],[26,10116,10118],{"className":10117},[80,81,82,83],[26,10119,184],{"className":10120},[47,83],[26,10122,3935],{"className":10123},[3934],[26,10125,10127],{"className":10126},[64],[26,10128,10130],{"className":10129,"style":4478},[68],[26,10131],{},[26,10133,623],{"className":10134},[4754],[26,10136],{"className":10137,"style":874},[873],[26,10139,10141,10144],{"className":10140},[47],[26,10142,149],{"className":10143,"style":114},[47,113],[26,10145,10147],{"className":10146},[56],[26,10148,10150,10170],{"className":10149},[60,3911],[26,10151,10153,10167],{"className":10152},[64],[26,10154,10156],{"className":10155,"style":9579},[68],[26,10157,10158,10161],{"style":4459},[26,10159],{"className":10160,"style":76},[75],[26,10162,10164],{"className":10163},[80,81,82,83],[26,10165,87],{"className":10166},[47,83],[26,10168,3935],{"className":10169},[3934],[26,10171,10173],{"className":10172},[64],[26,10174,10176],{"className":10175,"style":4478},[68],[26,10177],{},[26,10179,9652],{"className":10180},[827]," — a 1-D range query costing ",[26,10183,10185],{"className":10184},[29],[26,10186,10188,10221],{"className":10187,"ariaHidden":34},[33],[26,10189,10191,10194,10197,10200,10206,10209,10212,10215,10218],{"className":10190},[38],[26,10192],{"className":10193,"style":794},[42],[26,10195,895],{"className":10196,"style":894},[47,113],[26,10198,803],{"className":10199},[802],[26,10201,10203],{"className":10202},[807],[26,10204,813],{"className":10205,"style":812},[47,811],[26,10207],{"className":10208,"style":874},[873],[26,10210,849],{"className":10211},[47,113],[26,10213],{"className":10214,"style":3490},[873],[26,10216,1725],{"className":10217},[3494],[26,10219],{"className":10220,"style":3490},[873],[26,10222,10224,10227,10267],{"className":10223},[38],[26,10225],{"className":10226,"style":794},[42],[26,10228,10230,10233],{"className":10229},[47],[26,10231,4028],{"className":10232},[47,113],[26,10234,10236],{"className":10235},[56],[26,10237,10239,10259],{"className":10238},[60,3911],[26,10240,10242,10256],{"className":10241},[64],[26,10243,10245],{"className":10244,"style":4456},[68],[26,10246,10247,10250],{"style":9582},[26,10248],{"className":10249,"style":76},[75],[26,10251,10253],{"className":10252},[80,81,82,83],[26,10254,4661],{"className":10255,"style":114},[47,113,83],[26,10257,3935],{"className":10258},[3934],[26,10260,10262],{"className":10261},[64],[26,10263,10265],{"className":10264,"style":4478},[68],[26,10266],{},[26,10268,910],{"className":10269},[827],". Summed over\nthe ",[26,10272,10274],{"className":10273},[29],[26,10275,10277],{"className":10276,"ariaHidden":34},[33],[26,10278,10280,10283,10286,10289,10295,10298,10301],{"className":10279},[38],[26,10281],{"className":10282,"style":794},[42],[26,10284,895],{"className":10285,"style":894},[47,113],[26,10287,803],{"className":10288},[802],[26,10290,10292],{"className":10291},[807],[26,10293,813],{"className":10294,"style":812},[47,811],[26,10296],{"className":10297,"style":874},[873],[26,10299,849],{"className":10300},[47,113],[26,10302,910],{"className":10303},[827]," canonical subtrees, the query is ",[26,10306,10308],{"className":10307},[29],[26,10309,10311,10370],{"className":10310,"ariaHidden":34},[33],[26,10312,10314,10317,10320,10323,10355,10358,10361,10364,10367],{"className":10313},[38],[26,10315],{"className":10316,"style":9313},[42],[26,10318,895],{"className":10319,"style":894},[47,113],[26,10321,803],{"className":10322},[802],[26,10324,10326,10332],{"className":10325},[807],[26,10327,10329],{"className":10328},[807],[26,10330,813],{"className":10331,"style":812},[47,811],[26,10333,10335],{"className":10334},[56],[26,10336,10338],{"className":10337},[60],[26,10339,10341],{"className":10340},[64],[26,10342,10344],{"className":10343,"style":9341},[68],[26,10345,10346,10349],{"style":9344},[26,10347],{"className":10348,"style":76},[75],[26,10350,10352],{"className":10351},[80,81,82,83],[26,10353,87],{"className":10354},[47,83],[26,10356],{"className":10357,"style":874},[873],[26,10359,849],{"className":10360},[47,113],[26,10362],{"className":10363,"style":3490},[873],[26,10365,1725],{"className":10366},[3494],[26,10368],{"className":10369,"style":3490},[873],[26,10371,10373,10376,10379],{"className":10372},[38],[26,10374],{"className":10375,"style":794},[42],[26,10377,4028],{"className":10378},[47,113],[26,10380,910],{"className":10381},[827],[473,10383],{"hash":10384},"03524bf58b1bf908081faeb26d52aa5e13248bf6b2231d412d0b3fd43983ee07",[11,10386,10387,10390,10391,10406,10407,10431,10432,10465,10466,10481,10482,10515,10516,10540,10541,10592,10593,10608,10609,10685,10686,10772,10773,10776],{},[21,10388,10389],{},"Fractional cascading"," removes one log factor. If the associated structures are\nlinked so that a position found in one ",[26,10392,10394],{"className":10393},[29],[26,10395,10397],{"className":10396,"ariaHidden":34},[33],[26,10398,10400,10403],{"className":10399},[38],[26,10401],{"className":10402,"style":109},[42],[26,10404,149],{"className":10405,"style":114},[47,113],"-list transfers in ",[26,10408,10410],{"className":10409},[29],[26,10411,10413],{"className":10412,"ariaHidden":34},[33],[26,10414,10416,10419,10422,10425,10428],{"className":10415},[38],[26,10417],{"className":10418,"style":794},[42],[26,10420,895],{"className":10421,"style":894},[47,113],[26,10423,803],{"className":10424},[802],[26,10426,184],{"className":10427},[47],[26,10429,910],{"className":10430},[827]," to the next,\nthe ",[26,10433,10435],{"className":10434},[29],[26,10436,10438],{"className":10437,"ariaHidden":34},[33],[26,10439,10441,10444,10447,10450,10456,10459,10462],{"className":10440},[38],[26,10442],{"className":10443,"style":794},[42],[26,10445,895],{"className":10446,"style":894},[47,113],[26,10448,803],{"className":10449},[802],[26,10451,10453],{"className":10452},[807],[26,10454,813],{"className":10455,"style":812},[47,811],[26,10457],{"className":10458,"style":874},[873],[26,10460,849],{"className":10461},[47,113],[26,10463,910],{"className":10464},[827]," repeated ",[26,10467,10469],{"className":10468},[29],[26,10470,10472],{"className":10471,"ariaHidden":34},[33],[26,10473,10475,10478],{"className":10474},[38],[26,10476],{"className":10477,"style":109},[42],[26,10479,149],{"className":10480,"style":114},[47,113],"-searches collapse to a single ",[26,10483,10485],{"className":10484},[29],[26,10486,10488],{"className":10487,"ariaHidden":34},[33],[26,10489,10491,10494,10497,10500,10506,10509,10512],{"className":10490},[38],[26,10492],{"className":10493,"style":794},[42],[26,10495,895],{"className":10496,"style":894},[47,113],[26,10498,803],{"className":10499},[802],[26,10501,10503],{"className":10502},[807],[26,10504,813],{"className":10505,"style":812},[47,811],[26,10507],{"className":10508,"style":874},[873],[26,10510,849],{"className":10511},[47,113],[26,10513,910],{"className":10514},[827]," search plus\n",[26,10517,10519],{"className":10518},[29],[26,10520,10522],{"className":10521,"ariaHidden":34},[33],[26,10523,10525,10528,10531,10534,10537],{"className":10524},[38],[26,10526],{"className":10527,"style":794},[42],[26,10529,895],{"className":10530,"style":894},[47,113],[26,10532,803],{"className":10533},[802],[26,10535,184],{"className":10536},[47],[26,10538,910],{"className":10539},[827]," hops, giving ",[26,10542,10544],{"className":10543},[29],[26,10545,10547,10580],{"className":10546,"ariaHidden":34},[33],[26,10548,10550,10553,10556,10559,10565,10568,10571,10574,10577],{"className":10549},[38],[26,10551],{"className":10552,"style":794},[42],[26,10554,895],{"className":10555,"style":894},[47,113],[26,10557,803],{"className":10558},[802],[26,10560,10562],{"className":10561},[807],[26,10563,813],{"className":10564,"style":812},[47,811],[26,10566],{"className":10567,"style":874},[873],[26,10569,849],{"className":10570},[47,113],[26,10572],{"className":10573,"style":3490},[873],[26,10575,1725],{"className":10576},[3494],[26,10578],{"className":10579,"style":3490},[873],[26,10581,10583,10586,10589],{"className":10582},[38],[26,10584],{"className":10585,"style":794},[42],[26,10587,4028],{"className":10588},[47,113],[26,10590,910],{"className":10591},[827]," per query. The construction generalizes to ",[26,10594,10596],{"className":10595},[29],[26,10597,10599],{"className":10598,"ariaHidden":34},[33],[26,10600,10602,10605],{"className":10601},[38],[26,10603],{"className":10604,"style":366},[42],[26,10606,3448],{"className":10607},[47,113],"\ndimensions at ",[26,10610,10612],{"className":10611},[29],[26,10613,10615],{"className":10614,"ariaHidden":34},[33],[26,10616,10618,10622,10625,10628,10631,10634,10676,10679,10682],{"className":10617},[38],[26,10619],{"className":10620,"style":10621},[42],"height:1.1834em;vertical-align:-0.25em;",[26,10623,895],{"className":10624,"style":894},[47,113],[26,10626,803],{"className":10627},[802],[26,10629,849],{"className":10630},[47,113],[26,10632],{"className":10633,"style":874},[873],[26,10635,10637,10643],{"className":10636},[807],[26,10638,10640],{"className":10639},[807],[26,10641,813],{"className":10642,"style":812},[47,811],[26,10644,10646],{"className":10645},[56],[26,10647,10649],{"className":10648},[60],[26,10650,10652],{"className":10651},[64],[26,10653,10656],{"className":10654,"style":10655},[68],"height:0.9334em;",[26,10657,10658,10661],{"style":9344},[26,10659],{"className":10660,"style":76},[75],[26,10662,10664],{"className":10663},[80,81,82,83],[26,10665,10667,10670,10673],{"className":10666},[47,83],[26,10668,3448],{"className":10669},[47,113,83],[26,10671,4487],{"className":10672},[3494,83],[26,10674,184],{"className":10675},[47,83],[26,10677],{"className":10678,"style":874},[873],[26,10680,849],{"className":10681},[47,113],[26,10683,910],{"className":10684},[827]," space and ",[26,10687,10689],{"className":10688},[29],[26,10690,10692,10760],{"className":10691,"ariaHidden":34},[33],[26,10693,10695,10698,10701,10704,10745,10748,10751,10754,10757],{"className":10694},[38],[26,10696],{"className":10697,"style":10621},[42],[26,10699,895],{"className":10700,"style":894},[47,113],[26,10702,803],{"className":10703},[802],[26,10705,10707,10713],{"className":10706},[807],[26,10708,10710],{"className":10709},[807],[26,10711,813],{"className":10712,"style":812},[47,811],[26,10714,10716],{"className":10715},[56],[26,10717,10719],{"className":10718},[60],[26,10720,10722],{"className":10721},[64],[26,10723,10725],{"className":10724,"style":10655},[68],[26,10726,10727,10730],{"style":9344},[26,10728],{"className":10729,"style":76},[75],[26,10731,10733],{"className":10732},[80,81,82,83],[26,10734,10736,10739,10742],{"className":10735},[47,83],[26,10737,3448],{"className":10738},[47,113,83],[26,10740,4487],{"className":10741},[3494,83],[26,10743,184],{"className":10744},[47,83],[26,10746],{"className":10747,"style":874},[873],[26,10749,849],{"className":10750},[47,113],[26,10752],{"className":10753,"style":3490},[873],[26,10755,1725],{"className":10756},[3494],[26,10758],{"className":10759,"style":3490},[873],[26,10761,10763,10766,10769],{"className":10762},[38],[26,10764],{"className":10765,"style":794},[42],[26,10767,4028],{"className":10768},[47,113],[26,10770,910],{"className":10771},[827]," query time — the\nstandard answer when range ",[248,10774,10775],{},"reporting"," must be fast and the points are static.",[257,10778,10780],{"id":10779},"interval-trees-which-intervals-contain-a-point","Interval trees: which intervals contain a point",[11,10782,10783,10784,10786,10787,10790,10791,10806,10807,10915,10916,10931,10932,4308,10935,10950,10951,10954,10955,10970],{},"The structures so far index ",[248,10785,254],{},". A different question indexes ",[248,10788,10789],{},"intervals"," on\nthe line: given ",[26,10792,10794],{"className":10793},[29],[26,10795,10797],{"className":10796,"ariaHidden":34},[33],[26,10798,10800,10803],{"className":10799},[38],[26,10801],{"className":10802,"style":128},[42],[26,10804,849],{"className":10805},[47,113]," intervals ",[26,10808,10810],{"className":10809},[29],[26,10811,10813],{"className":10812,"ariaHidden":34},[33],[26,10814,10816,10819,10822,10865,10868,10871,10912],{"className":10815},[38],[26,10817],{"className":10818,"style":794},[42],[26,10820,9560],{"className":10821},[802],[26,10823,10825,10828],{"className":10824},[47],[26,10826,4669],{"className":10827,"style":4668},[47,113],[26,10829,10831],{"className":10830},[56],[26,10832,10834,10857],{"className":10833},[60,3911],[26,10835,10837,10854],{"className":10836},[64],[26,10838,10841],{"className":10839,"style":10840},[68],"height:0.3117em;",[26,10842,10844,10847],{"style":10843},"top:-2.55em;margin-left:-0.0197em;margin-right:0.05em;",[26,10845],{"className":10846,"style":76},[75],[26,10848,10850],{"className":10849},[80,81,82,83],[26,10851,10853],{"className":10852},[47,113,83],"i",[26,10855,3935],{"className":10856},[3934],[26,10858,10860],{"className":10859},[64],[26,10861,10863],{"className":10862,"style":4478},[68],[26,10864],{},[26,10866,623],{"className":10867},[4754],[26,10869],{"className":10870,"style":874},[873],[26,10872,10874,10877],{"className":10873},[47],[26,10875,5526],{"className":10876,"style":894},[47,113],[26,10878,10880],{"className":10879},[56],[26,10881,10883,10904],{"className":10882},[60,3911],[26,10884,10886,10901],{"className":10885},[64],[26,10887,10889],{"className":10888,"style":10840},[68],[26,10890,10892,10895],{"style":10891},"top:-2.55em;margin-left:-0.0278em;margin-right:0.05em;",[26,10893],{"className":10894,"style":76},[75],[26,10896,10898],{"className":10897},[80,81,82,83],[26,10899,10853],{"className":10900},[47,113,83],[26,10902,3935],{"className":10903},[3934],[26,10905,10907],{"className":10906},[64],[26,10908,10910],{"className":10909,"style":4478},[68],[26,10911],{},[26,10913,9652],{"className":10914},[827]," and a query value ",[26,10917,10919],{"className":10918},[29],[26,10920,10922],{"className":10921,"ariaHidden":34},[33],[26,10923,10925,10928],{"className":10924},[38],[26,10926],{"className":10927,"style":109},[42],[26,10929,90],{"className":10930,"style":114},[47,113],", report every\ninterval that ",[21,10933,10934],{},"contains",[26,10936,10938],{"className":10937},[29],[26,10939,10941],{"className":10940,"ariaHidden":34},[33],[26,10942,10944,10947],{"className":10943},[38],[26,10945],{"className":10946,"style":109},[42],[26,10948,90],{"className":10949,"style":114},[47,113]," (a ",[21,10952,10953],{},"stabbing"," query). This shows up in scheduling\n(which reservations are live at time ",[26,10956,10958],{"className":10957},[29],[26,10959,10961],{"className":10960,"ariaHidden":34},[33],[26,10962,10964,10967],{"className":10963},[38],[26,10965],{"className":10966,"style":109},[42],[26,10968,90],{"className":10969,"style":114},[47,113],"), computational geometry (segment\nintersection), and genome analysis (which features span a locus).",[373,10972,10973],{"type":375},[11,10974,10975,10978,10979,10994,10995,11010,11011,4308,11014,11029,11030,3616],{},[21,10976,10977],{},"Definition (Interval tree)."," Pick the median endpoint ",[26,10980,10982],{"className":10981},[29],[26,10983,10985],{"className":10984,"ariaHidden":34},[33],[26,10986,10988,10991],{"className":10987},[38],[26,10989],{"className":10990,"style":128},[42],[26,10992,3533],{"className":10993},[47,113]," of all interval\nendpoints and store it at the root. Intervals entirely left of ",[26,10996,10998],{"className":10997},[29],[26,10999,11001],{"className":11000,"ariaHidden":34},[33],[26,11002,11004,11007],{"className":11003},[38],[26,11005],{"className":11006,"style":128},[42],[26,11008,3533],{"className":11009},[47,113]," go to the\nleft subtree, entirely right to the right subtree; intervals ",[21,11012,11013],{},"crossing",[26,11015,11017],{"className":11016},[29],[26,11018,11020],{"className":11019,"ariaHidden":34},[33],[26,11021,11023,11026],{"className":11022},[38],[26,11024],{"className":11025,"style":128},[42],[26,11027,3533],{"className":11028},[47,113],"\nstay at the root, kept in two sorted lists — one by left endpoint, one by right.\nRecurse on the two sides. The tree has height ",[26,11031,11033],{"className":11032},[29],[26,11034,11036],{"className":11035,"ariaHidden":34},[33],[26,11037,11039,11042,11045,11048,11054,11057,11060],{"className":11038},[38],[26,11040],{"className":11041,"style":794},[42],[26,11043,895],{"className":11044,"style":894},[47,113],[26,11046,803],{"className":11047},[802],[26,11049,11051],{"className":11050},[807],[26,11052,813],{"className":11053,"style":812},[47,811],[26,11055],{"className":11056,"style":874},[873],[26,11058,849],{"className":11059},[47,113],[26,11061,910],{"className":11062},[827],[11,11064,11065,11066,11081,11082,11097,11098,11113],{},"A stabbing query for ",[26,11067,11069],{"className":11068},[29],[26,11070,11072],{"className":11071,"ariaHidden":34},[33],[26,11073,11075,11078],{"className":11074},[38],[26,11076],{"className":11077,"style":109},[42],[26,11079,90],{"className":11080,"style":114},[47,113]," descends from the root. At a node with center ",[26,11083,11085],{"className":11084},[29],[26,11086,11088],{"className":11087,"ariaHidden":34},[33],[26,11089,11091,11094],{"className":11090},[38],[26,11092],{"className":11093,"style":128},[42],[26,11095,3533],{"className":11096},[47,113],", every\ninterval crossing ",[26,11099,11101],{"className":11100},[29],[26,11102,11104],{"className":11103,"ariaHidden":34},[33],[26,11105,11107,11110],{"className":11106},[38],[26,11108],{"className":11109,"style":128},[42],[26,11111,3533],{"className":11112},[47,113]," is a candidate:",[625,11115,11116,11230,11342],{},[628,11117,630,11118,11152,11153,11156,11157,11229],{},[26,11119,11121],{"className":11120},[29],[26,11122,11124,11143],{"className":11123,"ariaHidden":34},[33],[26,11125,11127,11131,11134,11137,11140],{"className":11126},[38],[26,11128],{"className":11129,"style":11130},[42],"height:0.7335em;vertical-align:-0.1944em;",[26,11132,90],{"className":11133,"style":114},[47,113],[26,11135],{"className":11136,"style":3254},[873],[26,11138,1406],{"className":11139},[3258],[26,11141],{"className":11142,"style":3254},[873],[26,11144,11146,11149],{"className":11145},[38],[26,11147],{"className":11148,"style":128},[42],[26,11150,3533],{"className":11151},[47,113],", scan the node's list ",[21,11154,11155],{},"sorted by left endpoint"," from the smallest,\nreporting each interval with ",[26,11158,11160],{"className":11159},[29],[26,11161,11163,11220],{"className":11162,"ariaHidden":34},[33],[26,11164,11166,11170,11210,11213,11217],{"className":11165},[38],[26,11167],{"className":11168,"style":11169},[42],"height:0.8444em;vertical-align:-0.15em;",[26,11171,11173,11176],{"className":11172},[47],[26,11174,4669],{"className":11175,"style":4668},[47,113],[26,11177,11179],{"className":11178},[56],[26,11180,11182,11202],{"className":11181},[60,3911],[26,11183,11185,11199],{"className":11184},[64],[26,11186,11188],{"className":11187,"style":10840},[68],[26,11189,11190,11193],{"style":10843},[26,11191],{"className":11192,"style":76},[75],[26,11194,11196],{"className":11195},[80,81,82,83],[26,11197,10853],{"className":11198},[47,113,83],[26,11200,3935],{"className":11201},[3934],[26,11203,11205],{"className":11204},[64],[26,11206,11208],{"className":11207,"style":4478},[68],[26,11209],{},[26,11211],{"className":11212,"style":3254},[873],[26,11214,11216],{"className":11215},[3258],"≤",[26,11218],{"className":11219,"style":3254},[873],[26,11221,11223,11226],{"className":11222},[38],[26,11224],{"className":11225,"style":109},[42],[26,11227,90],{"className":11228,"style":114},[47,113]," and stopping at the first that fails\n(all later ones start even further right), then recurse left;",[628,11231,630,11232,11265,11266,11269,11270,11341],{},[26,11233,11235],{"className":11234},[29],[26,11236,11238,11256],{"className":11237,"ariaHidden":34},[33],[26,11239,11241,11244,11247,11250,11253],{"className":11240},[38],[26,11242],{"className":11243,"style":11130},[42],[26,11245,90],{"className":11246,"style":114},[47,113],[26,11248],{"className":11249,"style":3254},[873],[26,11251,1391],{"className":11252},[3258],[26,11254],{"className":11255,"style":3254},[873],[26,11257,11259,11262],{"className":11258},[38],[26,11260],{"className":11261,"style":128},[42],[26,11263,3533],{"className":11264},[47,113],", scan the list ",[21,11267,11268],{},"sorted by right endpoint"," from the largest,\nreporting each with ",[26,11271,11273],{"className":11272},[29],[26,11274,11276,11332],{"className":11275,"ariaHidden":34},[33],[26,11277,11279,11283,11323,11326,11329],{"className":11278},[38],[26,11280],{"className":11281,"style":11282},[42],"height:0.786em;vertical-align:-0.15em;",[26,11284,11286,11289],{"className":11285},[47],[26,11287,5526],{"className":11288,"style":894},[47,113],[26,11290,11292],{"className":11291},[56],[26,11293,11295,11315],{"className":11294},[60,3911],[26,11296,11298,11312],{"className":11297},[64],[26,11299,11301],{"className":11300,"style":10840},[68],[26,11302,11303,11306],{"style":10891},[26,11304],{"className":11305,"style":76},[75],[26,11307,11309],{"className":11308},[80,81,82,83],[26,11310,10853],{"className":11311},[47,113,83],[26,11313,3935],{"className":11314},[3934],[26,11316,11318],{"className":11317},[64],[26,11319,11321],{"className":11320,"style":4478},[68],[26,11322],{},[26,11324],{"className":11325,"style":3254},[873],[26,11327,5077],{"className":11328},[3258],[26,11330],{"className":11331,"style":3254},[873],[26,11333,11335,11338],{"className":11334},[38],[26,11336],{"className":11337,"style":109},[42],[26,11339,90],{"className":11340,"style":114},[47,113],", then recurse right;",[628,11343,630,11344,11377,11378,11393],{},[26,11345,11347],{"className":11346},[29],[26,11348,11350,11368],{"className":11349,"ariaHidden":34},[33],[26,11351,11353,11356,11359,11362,11365],{"className":11352},[38],[26,11354],{"className":11355,"style":109},[42],[26,11357,90],{"className":11358,"style":114},[47,113],[26,11360],{"className":11361,"style":3254},[873],[26,11363,1529],{"className":11364},[3258],[26,11366],{"className":11367,"style":3254},[873],[26,11369,11371,11374],{"className":11370},[38],[26,11372],{"className":11373,"style":128},[42],[26,11375,3533],{"className":11376},[47,113],", every stored interval at the node contains ",[26,11379,11381],{"className":11380},[29],[26,11382,11384],{"className":11383,"ariaHidden":34},[33],[26,11385,11387,11390],{"className":11386},[38],[26,11388],{"className":11389,"style":109},[42],[26,11391,90],{"className":11392,"style":114},[47,113],"; report them all.",[473,11395],{"hash":11396},"477f13d8e3503890da5d17712032fa7d57a9ab64f72ccd7b5abc546212302286",[11,11398,11399,11400,11453,11454,11533,11534,11567,11568,11619,11620,11635,11636,11675,11676,11700,11701,11704,11705],{},"Each node scan reports ",[26,11401,11403],{"className":11402},[29],[26,11404,11406],{"className":11405,"ariaHidden":34},[33],[26,11407,11409,11412],{"className":11408},[38],[26,11410],{"className":11411,"style":11169},[42],[26,11413,11415,11418],{"className":11414},[47],[26,11416,3234],{"className":11417,"style":3233},[47,113],[26,11419,11421],{"className":11420},[56],[26,11422,11424,11445],{"className":11423},[60,3911],[26,11425,11427,11442],{"className":11426},[64],[26,11428,11430],{"className":11429,"style":4456},[68],[26,11431,11433,11436],{"style":11432},"top:-2.55em;margin-left:-0.0315em;margin-right:0.05em;",[26,11434],{"className":11435,"style":76},[75],[26,11437,11439],{"className":11438},[80,81,82,83],[26,11440,4661],{"className":11441,"style":114},[47,113,83],[26,11443,3935],{"className":11444},[3934],[26,11446,11448],{"className":11447},[64],[26,11449,11451],{"className":11450,"style":4478},[68],[26,11452],{}," hits in ",[26,11455,11457],{"className":11456},[29],[26,11458,11460,11521],{"className":11459,"ariaHidden":34},[33],[26,11461,11463,11466,11469,11472,11512,11515,11518],{"className":11462},[38],[26,11464],{"className":11465,"style":794},[42],[26,11467,895],{"className":11468,"style":894},[47,113],[26,11470,803],{"className":11471},[802],[26,11473,11475,11478],{"className":11474},[47],[26,11476,3234],{"className":11477,"style":3233},[47,113],[26,11479,11481],{"className":11480},[56],[26,11482,11484,11504],{"className":11483},[60,3911],[26,11485,11487,11501],{"className":11486},[64],[26,11488,11490],{"className":11489,"style":4456},[68],[26,11491,11492,11495],{"style":11432},[26,11493],{"className":11494,"style":76},[75],[26,11496,11498],{"className":11497},[80,81,82,83],[26,11499,4661],{"className":11500,"style":114},[47,113,83],[26,11502,3935],{"className":11503},[3934],[26,11505,11507],{"className":11506},[64],[26,11508,11510],{"className":11509,"style":4478},[68],[26,11511],{},[26,11513],{"className":11514,"style":3490},[873],[26,11516,1725],{"className":11517},[3494],[26,11519],{"className":11520,"style":3490},[873],[26,11522,11524,11527,11530],{"className":11523},[38],[26,11525],{"className":11526,"style":794},[42],[26,11528,184],{"className":11529},[47],[26,11531,910],{"className":11532},[827]," time, and the descent visits\n",[26,11535,11537],{"className":11536},[29],[26,11538,11540],{"className":11539,"ariaHidden":34},[33],[26,11541,11543,11546,11549,11552,11558,11561,11564],{"className":11542},[38],[26,11544],{"className":11545,"style":794},[42],[26,11547,895],{"className":11548,"style":894},[47,113],[26,11550,803],{"className":11551},[802],[26,11553,11555],{"className":11554},[807],[26,11556,813],{"className":11557,"style":812},[47,811],[26,11559],{"className":11560,"style":874},[873],[26,11562,849],{"className":11563},[47,113],[26,11565,910],{"className":11566},[827]," nodes, so a stabbing query costs ",[26,11569,11571],{"className":11570},[29],[26,11572,11574,11607],{"className":11573,"ariaHidden":34},[33],[26,11575,11577,11580,11583,11586,11592,11595,11598,11601,11604],{"className":11576},[38],[26,11578],{"className":11579,"style":794},[42],[26,11581,895],{"className":11582,"style":894},[47,113],[26,11584,803],{"className":11585},[802],[26,11587,11589],{"className":11588},[807],[26,11590,813],{"className":11591,"style":812},[47,811],[26,11593],{"className":11594,"style":874},[873],[26,11596,849],{"className":11597},[47,113],[26,11599],{"className":11600,"style":3490},[873],[26,11602,1725],{"className":11603},[3494],[26,11605],{"className":11606,"style":3490},[873],[26,11608,11610,11613,11616],{"className":11609},[38],[26,11611],{"className":11612,"style":794},[42],[26,11614,4028],{"className":11615},[47,113],[26,11617,910],{"className":11618},[827]," for ",[26,11621,11623],{"className":11622},[29],[26,11624,11626],{"className":11625,"ariaHidden":34},[33],[26,11627,11629,11632],{"className":11628},[38],[26,11630],{"className":11631,"style":4024},[42],[26,11633,4028],{"className":11634},[47,113]," reported\nintervals. Build is ",[26,11637,11639],{"className":11638},[29],[26,11640,11642],{"className":11641,"ariaHidden":34},[33],[26,11643,11645,11648,11651,11654,11657,11660,11666,11669,11672],{"className":11644},[38],[26,11646],{"className":11647,"style":794},[42],[26,11649,895],{"className":11650,"style":894},[47,113],[26,11652,803],{"className":11653},[802],[26,11655,849],{"className":11656},[47,113],[26,11658],{"className":11659,"style":874},[873],[26,11661,11663],{"className":11662},[807],[26,11664,813],{"className":11665,"style":812},[47,811],[26,11667],{"className":11668,"style":874},[873],[26,11670,849],{"className":11671},[47,113],[26,11673,910],{"className":11674},[827]," and space is ",[26,11677,11679],{"className":11678},[29],[26,11680,11682],{"className":11681,"ariaHidden":34},[33],[26,11683,11685,11688,11691,11694,11697],{"className":11684},[38],[26,11686],{"className":11687,"style":794},[42],[26,11689,895],{"className":11690,"style":894},[47,113],[26,11692,803],{"className":11693},[802],[26,11695,849],{"className":11696},[47,113],[26,11698,910],{"className":11699},[827],". When the query is itself an\n",[248,11702,11703],{},"interval"," and you want every stored interval overlapping it, the same tree works\nwith an overlap test at each node. Skiena's segment-tree and interval-tree\ntreatments cover the reporting variants in full.",[176,11706,11707],{},[15,11708,184],{"href":180,"ariaDescribedBy":11709,"dataFootnoteRef":6,"id":11710},[182],"user-content-fnref-skiena-kd-2",[257,11712,11714],{"id":11713},"choosing-a-spatial-structure","Choosing a spatial structure",[11,11716,11717,11718,11721,11722,11724],{},"These structures index geometry so that a query prunes what it cannot reach; they\ndiffer in ",[248,11719,11720],{},"what"," they cut and ",[248,11723,11720],{}," they index.",[625,11726,11727,11773,11989,12200],{},[628,11728,11729,11732,11733,11735,11736,11738,11739,11772],{},[21,11730,11731],{},"Quadtree."," Splits ",[21,11734,250],{}," into a fixed quadrant grid. Simple, supports easy\ndynamic insert\u002Fdelete, and natural for images and uniformly-spread data. But\nits depth tracks the ",[248,11737,832],{}," of the points, so clustered or\nnear-coincident data blows up the height — no ",[26,11740,11742],{"className":11741},[29],[26,11743,11745],{"className":11744,"ariaHidden":34},[33],[26,11746,11748,11751,11754,11757,11763,11766,11769],{"className":11747},[38],[26,11749],{"className":11750,"style":794},[42],[26,11752,895],{"className":11753,"style":894},[47,113],[26,11755,803],{"className":11756},[802],[26,11758,11760],{"className":11759},[807],[26,11761,813],{"className":11762,"style":812},[47,811],[26,11764],{"className":11765,"style":874},[873],[26,11767,849],{"className":11768},[47,113],[26,11770,910],{"className":11771},[827]," guarantee.",[628,11774,11775,11778,11779,11781,11782,11815,11816,11855,11856,11939,11940,11973,11974,3616],{},[21,11776,11777],{},"k-d tree."," Splits the ",[21,11780,254],{}," at the median on alternating axes, forcing\nheight ",[26,11783,11785],{"className":11784},[29],[26,11786,11788],{"className":11787,"ariaHidden":34},[33],[26,11789,11791,11794,11797,11800,11806,11809,11812],{"className":11790},[38],[26,11792],{"className":11793,"style":794},[42],[26,11795,895],{"className":11796,"style":894},[47,113],[26,11798,803],{"className":11799},[802],[26,11801,11803],{"className":11802},[807],[26,11804,813],{"className":11805,"style":812},[47,811],[26,11807],{"className":11808,"style":874},[873],[26,11810,849],{"className":11811},[47,113],[26,11813,910],{"className":11814},[827]," regardless of distribution. Build is ",[26,11817,11819],{"className":11818},[29],[26,11820,11822],{"className":11821,"ariaHidden":34},[33],[26,11823,11825,11828,11831,11834,11837,11840,11846,11849,11852],{"className":11824},[38],[26,11826],{"className":11827,"style":794},[42],[26,11829,895],{"className":11830,"style":894},[47,113],[26,11832,803],{"className":11833},[802],[26,11835,849],{"className":11836},[47,113],[26,11838],{"className":11839,"style":874},[873],[26,11841,11843],{"className":11842},[807],[26,11844,813],{"className":11845,"style":812},[47,811],[26,11847],{"className":11848,"style":874},[873],[26,11850,849],{"className":11851},[47,113],[26,11853,910],{"className":11854},[827],", range\nsearch ",[26,11857,11859],{"className":11858},[29],[26,11860,11862,11927],{"className":11861,"ariaHidden":34},[33],[26,11863,11865,11868,11871,11874,11918,11921,11924],{"className":11864},[38],[26,11866],{"className":11867,"style":4042},[42],[26,11869,895],{"className":11870,"style":894},[47,113],[26,11872,803],{"className":11873},[802],[26,11875,11877],{"className":11876},[47,4052],[26,11878,11880,11910],{"className":11879},[60,3911],[26,11881,11883,11907],{"className":11882},[64],[26,11884,11886,11895],{"className":11885,"style":4062},[68],[26,11887,11889,11892],{"className":11888,"style":4067},[4066],[26,11890],{"className":11891,"style":4071},[75],[26,11893,849],{"className":11894,"style":4075},[47,113],[26,11896,11897,11900],{"style":4081},[26,11898],{"className":11899,"style":4071},[75],[26,11901,11903],{"className":11902,"style":4089},[4088],[4091,11904,11905],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,11906],{"d":4101},[26,11908,3935],{"className":11909},[3934],[26,11911,11913],{"className":11912},[64],[26,11914,11916],{"className":11915,"style":4111},[68],[26,11917],{},[26,11919],{"className":11920,"style":3490},[873],[26,11922,1725],{"className":11923},[3494],[26,11925],{"className":11926,"style":3490},[873],[26,11928,11930,11933,11936],{"className":11929},[38],[26,11931],{"className":11932,"style":794},[42],[26,11934,4028],{"className":11935},[47,113],[26,11937,910],{"className":11938},[827],", nearest neighbour ",[26,11941,11943],{"className":11942},[29],[26,11944,11946],{"className":11945,"ariaHidden":34},[33],[26,11947,11949,11952,11955,11958,11964,11967,11970],{"className":11948},[38],[26,11950],{"className":11951,"style":794},[42],[26,11953,895],{"className":11954,"style":894},[47,113],[26,11956,803],{"className":11957},[802],[26,11959,11961],{"className":11960},[807],[26,11962,813],{"className":11963,"style":812},[47,811],[26,11965],{"className":11966,"style":874},[873],[26,11968,849],{"className":11969},[47,113],[26,11971,910],{"className":11972},[827]," expected in low\ndimensions. Less natural to update incrementally (medians shift), and it\nsuccumbs to the curse of dimensionality in high ",[26,11975,11977],{"className":11976},[29],[26,11978,11980],{"className":11979,"ariaHidden":34},[33],[26,11981,11983,11986],{"className":11982},[38],[26,11984],{"className":11985,"style":366},[42],[26,11987,3234],{"className":11988,"style":3233},[47,113],[628,11990,11991,11994,11995,12010,12011,12026,12027,12029,12030,12107,12108,12159,12160,12199],{},[21,11992,11993],{},"Range tree."," Nests a ",[26,11996,11998],{"className":11997},[29],[26,11999,12001],{"className":12000,"ariaHidden":34},[33],[26,12002,12004,12007],{"className":12003},[38],[26,12005],{"className":12006,"style":109},[42],[26,12008,149],{"className":12009,"style":114},[47,113],"-tree inside an ",[26,12012,12014],{"className":12013},[29],[26,12015,12017],{"className":12016,"ariaHidden":34},[33],[26,12018,12020,12023],{"className":12019},[38],[26,12021],{"className":12022,"style":128},[42],[26,12024,132],{"className":12025},[47,113],"-tree to answer rectangle\n",[248,12028,10775],{}," queries in ",[26,12031,12033],{"className":12032},[29],[26,12034,12036,12095],{"className":12035,"ariaHidden":34},[33],[26,12037,12039,12042,12045,12048,12080,12083,12086,12089,12092],{"className":12038},[38],[26,12040],{"className":12041,"style":9313},[42],[26,12043,895],{"className":12044,"style":894},[47,113],[26,12046,803],{"className":12047},[802],[26,12049,12051,12057],{"className":12050},[807],[26,12052,12054],{"className":12053},[807],[26,12055,813],{"className":12056,"style":812},[47,811],[26,12058,12060],{"className":12059},[56],[26,12061,12063],{"className":12062},[60],[26,12064,12066],{"className":12065},[64],[26,12067,12069],{"className":12068,"style":9341},[68],[26,12070,12071,12074],{"style":9344},[26,12072],{"className":12073,"style":76},[75],[26,12075,12077],{"className":12076},[80,81,82,83],[26,12078,87],{"className":12079},[47,83],[26,12081],{"className":12082,"style":874},[873],[26,12084,849],{"className":12085},[47,113],[26,12087],{"className":12088,"style":3490},[873],[26,12090,1725],{"className":12091},[3494],[26,12093],{"className":12094,"style":3490},[873],[26,12096,12098,12101,12104],{"className":12097},[38],[26,12099],{"className":12100,"style":794},[42],[26,12102,4028],{"className":12103},[47,113],[26,12105,910],{"className":12106},[827]," (or ",[26,12109,12111],{"className":12110},[29],[26,12112,12114,12147],{"className":12113,"ariaHidden":34},[33],[26,12115,12117,12120,12123,12126,12132,12135,12138,12141,12144],{"className":12116},[38],[26,12118],{"className":12119,"style":794},[42],[26,12121,895],{"className":12122,"style":894},[47,113],[26,12124,803],{"className":12125},[802],[26,12127,12129],{"className":12128},[807],[26,12130,813],{"className":12131,"style":812},[47,811],[26,12133],{"className":12134,"style":874},[873],[26,12136,849],{"className":12137},[47,113],[26,12139],{"className":12140,"style":3490},[873],[26,12142,1725],{"className":12143},[3494],[26,12145],{"className":12146,"style":3490},[873],[26,12148,12150,12153,12156],{"className":12149},[38],[26,12151],{"className":12152,"style":794},[42],[26,12154,4028],{"className":12155},[47,113],[26,12157,910],{"className":12158},[827]," with fractional\ncascading), at ",[26,12161,12163],{"className":12162},[29],[26,12164,12166],{"className":12165,"ariaHidden":34},[33],[26,12167,12169,12172,12175,12178,12181,12184,12190,12193,12196],{"className":12168},[38],[26,12170],{"className":12171,"style":794},[42],[26,12173,895],{"className":12174,"style":894},[47,113],[26,12176,803],{"className":12177},[802],[26,12179,849],{"className":12180},[47,113],[26,12182],{"className":12183,"style":874},[873],[26,12185,12187],{"className":12186},[807],[26,12188,813],{"className":12189,"style":812},[47,811],[26,12191],{"className":12192,"style":874},[873],[26,12194,849],{"className":12195},[47,113],[26,12197,910],{"className":12198},[827]," space. Best when queries are frequent, thin, and\nthe point set is static.",[628,12201,12202,12205,12206,12208,12209,12260,12261,12285,12286,3616],{},[21,12203,12204],{},"Interval tree."," Indexes ",[248,12207,10789],{}," rather than points, answering stabbing\nand overlap queries in ",[26,12210,12212],{"className":12211},[29],[26,12213,12215,12248],{"className":12214,"ariaHidden":34},[33],[26,12216,12218,12221,12224,12227,12233,12236,12239,12242,12245],{"className":12217},[38],[26,12219],{"className":12220,"style":794},[42],[26,12222,895],{"className":12223,"style":894},[47,113],[26,12225,803],{"className":12226},[802],[26,12228,12230],{"className":12229},[807],[26,12231,813],{"className":12232,"style":812},[47,811],[26,12234],{"className":12235,"style":874},[873],[26,12237,849],{"className":12238},[47,113],[26,12240],{"className":12241,"style":3490},[873],[26,12243,1725],{"className":12244},[3494],[26,12246],{"className":12247,"style":3490},[873],[26,12249,12251,12254,12257],{"className":12250},[38],[26,12252],{"className":12253,"style":794},[42],[26,12255,4028],{"className":12256},[47,113],[26,12258,910],{"className":12259},[827]," with ",[26,12262,12264],{"className":12263},[29],[26,12265,12267],{"className":12266,"ariaHidden":34},[33],[26,12268,12270,12273,12276,12279,12282],{"className":12269},[38],[26,12271],{"className":12272,"style":794},[42],[26,12274,895],{"className":12275,"style":894},[47,113],[26,12277,803],{"className":12278},[802],[26,12280,849],{"className":12281},[47,113],[26,12283,910],{"className":12284},[827]," space — the tool when the\ndata are ranges and the question is ",[90,12287,12288,12289],{},"what covers ",[26,12290,12292],{"className":12291},[29],[26,12293,12295],{"className":12294,"ariaHidden":34},[33],[26,12296,12298,12301],{"className":12297},[38],[26,12299],{"className":12300,"style":109},[42],[26,12302,90],{"className":12303,"style":114},[47,113],[11,12305,12306,12307,12309,12310,12313],{},"In short: the quadtree halves the ",[248,12308,250],{},", the k-d tree halves the ",[248,12311,12312],{},"data",". Use\nthe quadtree when the points are well-spread and updates must be cheap; the k-d\ntree when a balance guarantee and fast nearest-neighbour queries matter in two\nor three dimensions; the range tree when range reporting on static points must\nbe as fast as possible; and the interval tree when the objects themselves are\nintervals.",[257,12315,12317],{"id":12316},"spatial-indexing-at-scale","Spatial indexing at scale",[11,12319,12320],{},"The structures here are in-memory and low-dimensional; production spatial systems\npush past both limits.",[11,12322,12323,12326,12327,12330,12331,12335,12336,12339,12340,12343,12344,12347],{},[21,12324,12325],{},"R-trees and the database index."," The ",[21,12328,12329],{},"R-tree"," (Guttman, 1984) is the spatial\nanalogue of the ",[15,12332,12334],{"href":12333},"\u002Falgorithms\u002Fdata-structures\u002Fb-trees","B-tree",": each node stores\nthe bounding rectangles of its children and fans out wide so the tree is short and\ndisk-friendly. It is what backs ",[947,12337,12338],{},"SPATIAL INDEX"," in PostGIS, SQLite's R*Tree\nmodule, and most GIS systems, indexing not just points but arbitrary shapes by\ntheir bounding boxes. Its refinements, the ",[21,12341,12342],{},"R*-tree"," and bulk-loaded\n",[21,12345,12346],{},"STR-tree",", tune how rectangles are grouped to minimize overlap, the spatial\nequivalent of keeping a B-tree's nodes full.",[11,12349,12350,12353,12354,7417,12370,12386,12387,12390,12391,12394,12395,12398],{},[21,12351,12352],{},"Trading exactness in high dimensions."," The k-d tree's curse of dimensionality\nis real: past roughly ",[26,12355,12357],{"className":12356},[29],[26,12358,12360],{"className":12359,"ariaHidden":34},[33],[26,12361,12363,12366],{"className":12362},[38],[26,12364],{"className":12365,"style":3268},[42],[26,12367,12369],{"className":12368},[47],"10",[26,12371,12373],{"className":12372},[29],[26,12374,12376],{"className":12375,"ariaHidden":34},[33],[26,12377,12379,12382],{"className":12378},[38],[26,12380],{"className":12381,"style":3268},[42],[26,12383,12385],{"className":12384},[47],"20"," dimensions, nearest-neighbour search degrades to\nscanning almost everything. The standard workaround is ",[248,12388,12389],{},"approximate"," nearest\nneighbour. ",[21,12392,12393],{},"Locality-sensitive hashing"," (Indyk and Motwani, 1998) hashes\nnearby points to the same bucket with high probability; graph-based indexes like\n",[21,12396,12397],{},"HNSW"," (Malkov and Yashunin, 2016) navigate a small-world graph. Both are what\nvector databases use to search millions of embeddings in milliseconds.",[11,12400,12401,12404,12405,12408,12409,12411,12412,12415,12416],{},[21,12402,12403],{},"Flattening space to one dimension."," A different trick maps 2-D or 3-D points\nonto a single ",[21,12406,12407],{},"space-filling curve",", Z-order (Morton) or Hilbert, so that\npoints close in space are usually close along the curve. Then an ordinary 1-D\n",[15,12410,12334],{"href":12333}," index answers spatial range queries\napproximately, which is how many key-value stores add geospatial lookups without a\ndedicated spatial tree. In graphics, the same recursive-subdivision idea becomes\nthe ",[21,12413,12414],{},"bounding volume hierarchy"," that makes ray tracing tractable.",[176,12417,12418],{},[15,12419,4797],{"href":12420,"ariaDescribedBy":12421,"dataFootnoteRef":6,"id":12422},"#user-content-fn-btb-spatial",[182],"user-content-fnref-btb-spatial",[257,12424,12426],{"id":12425},"takeaways","Takeaways",[625,12428,12429,12440,12449,12493,12659,12668,12674,12880],{},[628,12430,12431,12432,12435,12436,12439],{},"Points in the plane have ",[21,12433,12434],{},"no single natural order",", so we index them by\n",[21,12437,12438],{},"partitioning space into boxes"," and pruning boxes a query cannot reach.",[628,12441,13,12442,12444,12445,12448],{},[21,12443,190],{}," recursively splits each square into four equal ",[21,12446,12447],{},"quadrants","\nuntil cells are simple. Insert descends and splits a full leaf; region query\nprunes subtrees disjoint from \u002F contained in the query rectangle.",[628,12450,12451,12452,12455,12456,3616],{},"The quadtree's depth follows the ",[21,12453,12454],{},"geometry"," of the data: sparse regions stay\nshallow, clustered points force deep subdivision — so it has ",[21,12457,12458,12459,12492],{},"no worst-case\n",[26,12460,12462],{"className":12461},[29],[26,12463,12465],{"className":12464,"ariaHidden":34},[33],[26,12466,12468,12471,12474,12477,12483,12486,12489],{"className":12467},[38],[26,12469],{"className":12470,"style":794},[42],[26,12472,895],{"className":12473,"style":894},[47,113],[26,12475,803],{"className":12476},[802],[26,12478,12480],{"className":12479},[807],[26,12481,813],{"className":12482,"style":812},[47,811],[26,12484],{"className":12485,"style":874},[873],[26,12487,849],{"className":12488},[47,113],[26,12490,910],{"className":12491},[827]," bound",[628,12494,13,12495,12497,12498,12501,12502,12535,12536,12575,12576,3616],{},[21,12496,194],{}," splits the points on ",[21,12499,12500],{},"alternating coordinates at the median",",\nforcing height ",[26,12503,12505],{"className":12504},[29],[26,12506,12508],{"className":12507,"ariaHidden":34},[33],[26,12509,12511,12514,12517,12520,12526,12529,12532],{"className":12510},[38],[26,12512],{"className":12513,"style":794},[42],[26,12515,895],{"className":12516,"style":894},[47,113],[26,12518,803],{"className":12519},[802],[26,12521,12523],{"className":12522},[807],[26,12524,813],{"className":12525,"style":812},[47,811],[26,12527],{"className":12528,"style":874},[873],[26,12530,849],{"className":12531},[47,113],[26,12533,910],{"className":12534},[827],". Build ",[26,12537,12539],{"className":12538},[29],[26,12540,12542],{"className":12541,"ariaHidden":34},[33],[26,12543,12545,12548,12551,12554,12557,12560,12566,12569,12572],{"className":12544},[38],[26,12546],{"className":12547,"style":794},[42],[26,12549,895],{"className":12550,"style":894},[47,113],[26,12552,803],{"className":12553},[802],[26,12555,849],{"className":12556},[47,113],[26,12558],{"className":12559,"style":874},[873],[26,12561,12563],{"className":12562},[807],[26,12564,813],{"className":12565,"style":812},[47,811],[26,12567],{"className":12568,"style":874},[873],[26,12570,849],{"className":12571},[47,113],[26,12573,910],{"className":12574},[827],"; range search ",[26,12577,12579],{"className":12578},[29],[26,12580,12582,12647],{"className":12581,"ariaHidden":34},[33],[26,12583,12585,12588,12591,12594,12638,12641,12644],{"className":12584},[38],[26,12586],{"className":12587,"style":4042},[42],[26,12589,895],{"className":12590,"style":894},[47,113],[26,12592,803],{"className":12593},[802],[26,12595,12597],{"className":12596},[47,4052],[26,12598,12600,12630],{"className":12599},[60,3911],[26,12601,12603,12627],{"className":12602},[64],[26,12604,12606,12615],{"className":12605,"style":4062},[68],[26,12607,12609,12612],{"className":12608,"style":4067},[4066],[26,12610],{"className":12611,"style":4071},[75],[26,12613,849],{"className":12614,"style":4075},[47,113],[26,12616,12617,12620],{"style":4081},[26,12618],{"className":12619,"style":4071},[75],[26,12621,12623],{"className":12622,"style":4089},[4088],[4091,12624,12625],{"xmlns":4093,"width":4094,"height":4095,"viewBox":4096,"preserveAspectRatio":4097},[4099,12626],{"d":4101},[26,12628,3935],{"className":12629},[3934],[26,12631,12633],{"className":12632},[64],[26,12634,12636],{"className":12635,"style":4111},[68],[26,12637],{},[26,12639],{"className":12640,"style":3490},[873],[26,12642,1725],{"className":12643},[3494],[26,12645],{"className":12646,"style":3490},[873],[26,12648,12650,12653,12656],{"className":12649},[38],[26,12651],{"className":12652,"style":794},[42],[26,12654,4028],{"className":12655},[47,113],[26,12657,910],{"className":12658},[827],[628,12660,12661,12664,12665,12667],{},[21,12662,12663],{},"Nearest neighbour"," uses ",[21,12666,4291],{},": descend to the candidate leaf,\nthen enter the far side of a split only when the perpendicular distance to the\nsplitting line is below the best distance found.",[628,12669,12670,12671,12673],{},"k-d pruning fails in high dimensions (",[21,12672,7067],{},"); both point\nstructures work best in 2-D and 3-D.",[628,12675,13,12676,12678,12679,12694,12695,12710,12711,1716,12788,12839,12840,12879],{},[21,12677,9299],{}," nests a ",[26,12680,12682],{"className":12681},[29],[26,12683,12685],{"className":12684,"ariaHidden":34},[33],[26,12686,12688,12691],{"className":12687},[38],[26,12689],{"className":12690,"style":109},[42],[26,12692,149],{"className":12693,"style":114},[47,113],"-tree in an ",[26,12696,12698],{"className":12697},[29],[26,12699,12701],{"className":12700,"ariaHidden":34},[33],[26,12702,12704,12707],{"className":12703},[38],[26,12705],{"className":12706,"style":128},[42],[26,12708,132],{"className":12709},[47,113],"-tree for orthogonal range reporting\nin ",[26,12712,12714],{"className":12713},[29],[26,12715,12717,12776],{"className":12716,"ariaHidden":34},[33],[26,12718,12720,12723,12726,12729,12761,12764,12767,12770,12773],{"className":12719},[38],[26,12721],{"className":12722,"style":9313},[42],[26,12724,895],{"className":12725,"style":894},[47,113],[26,12727,803],{"className":12728},[802],[26,12730,12732,12738],{"className":12731},[807],[26,12733,12735],{"className":12734},[807],[26,12736,813],{"className":12737,"style":812},[47,811],[26,12739,12741],{"className":12740},[56],[26,12742,12744],{"className":12743},[60],[26,12745,12747],{"className":12746},[64],[26,12748,12750],{"className":12749,"style":9341},[68],[26,12751,12752,12755],{"style":9344},[26,12753],{"className":12754,"style":76},[75],[26,12756,12758],{"className":12757},[80,81,82,83],[26,12759,87],{"className":12760},[47,83],[26,12762],{"className":12763,"style":874},[873],[26,12765,849],{"className":12766},[47,113],[26,12768],{"className":12769,"style":3490},[873],[26,12771,1725],{"className":12772},[3494],[26,12774],{"className":12775,"style":3490},[873],[26,12777,12779,12782,12785],{"className":12778},[38],[26,12780],{"className":12781,"style":794},[42],[26,12783,4028],{"className":12784},[47,113],[26,12786,910],{"className":12787},[827],[26,12789,12791],{"className":12790},[29],[26,12792,12794,12827],{"className":12793,"ariaHidden":34},[33],[26,12795,12797,12800,12803,12806,12812,12815,12818,12821,12824],{"className":12796},[38],[26,12798],{"className":12799,"style":794},[42],[26,12801,895],{"className":12802,"style":894},[47,113],[26,12804,803],{"className":12805},[802],[26,12807,12809],{"className":12808},[807],[26,12810,813],{"className":12811,"style":812},[47,811],[26,12813],{"className":12814,"style":874},[873],[26,12816,849],{"className":12817},[47,113],[26,12819],{"className":12820,"style":3490},[873],[26,12822,1725],{"className":12823},[3494],[26,12825],{"className":12826,"style":3490},[873],[26,12828,12830,12833,12836],{"className":12829},[38],[26,12831],{"className":12832,"style":794},[42],[26,12834,4028],{"className":12835},[47,113],[26,12837,910],{"className":12838},[827]," with fractional cascading), using\n",[26,12841,12843],{"className":12842},[29],[26,12844,12846],{"className":12845,"ariaHidden":34},[33],[26,12847,12849,12852,12855,12858,12861,12864,12870,12873,12876],{"className":12848},[38],[26,12850],{"className":12851,"style":794},[42],[26,12853,895],{"className":12854,"style":894},[47,113],[26,12856,803],{"className":12857},[802],[26,12859,849],{"className":12860},[47,113],[26,12862],{"className":12863,"style":874},[873],[26,12865,12867],{"className":12866},[807],[26,12868,813],{"className":12869,"style":812},[47,811],[26,12871],{"className":12872,"style":874},[873],[26,12874,849],{"className":12875},[47,113],[26,12877,910],{"className":12878},[827]," space.",[628,12881,12882,12883,12886,12887,12905,12906,12260,12957,12879],{},"An ",[21,12884,12885],{},"interval tree"," indexes intervals, not points, and answers stabbing queries\n(",[90,12888,12889,12890],{},"which intervals contain ",[26,12891,12893],{"className":12892},[29],[26,12894,12896],{"className":12895,"ariaHidden":34},[33],[26,12897,12899,12902],{"className":12898},[38],[26,12900],{"className":12901,"style":109},[42],[26,12903,90],{"className":12904,"style":114},[47,113],") in ",[26,12907,12909],{"className":12908},[29],[26,12910,12912,12945],{"className":12911,"ariaHidden":34},[33],[26,12913,12915,12918,12921,12924,12930,12933,12936,12939,12942],{"className":12914},[38],[26,12916],{"className":12917,"style":794},[42],[26,12919,895],{"className":12920,"style":894},[47,113],[26,12922,803],{"className":12923},[802],[26,12925,12927],{"className":12926},[807],[26,12928,813],{"className":12929,"style":812},[47,811],[26,12931],{"className":12932,"style":874},[873],[26,12934,849],{"className":12935},[47,113],[26,12937],{"className":12938,"style":3490},[873],[26,12940,1725],{"className":12941},[3494],[26,12943],{"className":12944,"style":3490},[873],[26,12946,12948,12951,12954],{"className":12947},[38],[26,12949],{"className":12950,"style":794},[42],[26,12952,4028],{"className":12953},[47,113],[26,12955,910],{"className":12956},[827],[26,12958,12960],{"className":12959},[29],[26,12961,12963],{"className":12962,"ariaHidden":34},[33],[26,12964,12966,12969,12972,12975,12978],{"className":12965},[38],[26,12967],{"className":12968,"style":794},[42],[26,12970,895],{"className":12971,"style":894},[47,113],[26,12973,803],{"className":12974},[802],[26,12976,849],{"className":12977},[47,113],[26,12979,910],{"className":12980},[827],[12982,12983,12986,12991],"section",{"className":12984,"dataFootnotes":6},[12985],"footnotes",[257,12987,12990],{"className":12988,"id":182},[12989],"sr-only","Footnotes",[5140,12992,12993,13014,13026,13038],{},[628,12994,12996,12999,13000,4308,13007],{"id":12995},"user-content-fn-skiena-kd",[21,12997,12998],{},"Skiena",", §12.6 — Kd-Trees: alternating-axis median splits, range search, and nearest-neighbour via branch-and-bound, with the curse-of-dimensionality caveat. ",[15,13001,13006],{"href":13002,"ariaLabel":13003,"className":13004,"dataFootnoteBackref":6},"#user-content-fnref-skiena-kd","Back to reference 1",[13005],"data-footnote-backref","↩",[15,13008,13006,13012],{"href":13009,"ariaLabel":13010,"className":13011,"dataFootnoteBackref":6},"#user-content-fnref-skiena-kd-2","Back to reference 1-2",[13005],[176,13013,87],{},[628,13015,13017,13020,13021],{"id":13016},"user-content-fn-erickson-ds",[21,13018,13019],{},"Erickson",", Ch. — Data Structures: recursive space-partitioning trees and the geometry of pruning a query against a subtree's bounding box. ",[15,13022,13006],{"href":13023,"ariaLabel":13024,"className":13025,"dataFootnoteBackref":6},"#user-content-fnref-erickson-ds","Back to reference 2",[13005],[628,13027,13029,13032,13033],{"id":13028},"user-content-fn-clrs-geom",[21,13030,13031],{},"CLRS",", Ch. 33 — Computational Geometry: axis-aligned subdivision and the recurrence behind balanced spatial partitions. ",[15,13034,13006],{"href":13035,"ariaLabel":13036,"className":13037,"dataFootnoteBackref":6},"#user-content-fnref-clrs-geom","Back to reference 3",[13005],[628,13039,13041,13042,13045,13046,13049,13050,13053,13054],{"id":13040},"user-content-fn-btb-spatial","Guttman, ",[90,13043,13044],{},"R-trees: a dynamic index structure for spatial searching"," (1984); Indyk & Motwani, ",[90,13047,13048],{},"Approximate nearest neighbors"," (LSH, 1998); Malkov & Yashunin, ",[90,13051,13052],{},"Efficient and robust approximate nearest neighbor search using HNSW graphs"," (2016). ",[15,13055,13006],{"href":13056,"ariaLabel":13057,"className":13058,"dataFootnoteBackref":6},"#user-content-fnref-btb-spatial","Back to reference 4",[13005],[13060,13061,13062],"style",{},"html pre.shiki code .sdxpw, html code.shiki .sdxpw{--shiki-default:#505050;--shiki-dark-mode:#A0A0A0}html pre.shiki code .s3i95, html code.shiki .s3i95{--shiki-default:#000000;--shiki-dark-mode:#FFF}html pre.shiki code .sat3U, html code.shiki .sat3U{--shiki-default:#FF8C00;--shiki-dark-mode:#FFC799}html pre.shiki code .sDYuN, html code.shiki .sDYuN{--shiki-default:#008080;--shiki-dark-mode:#99FFE4}html pre.shiki code .sEX4i, html code.shiki .sEX4i{--shiki-default:#8B8B8B;--shiki-dark-mode:#8B8B8B94}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}html.dark-mode .shiki span {color: var(--shiki-dark-mode);background: var(--shiki-dark-mode-bg);font-style: var(--shiki-dark-mode-font-style);font-weight: var(--shiki-dark-mode-font-weight);text-decoration: var(--shiki-dark-mode-text-decoration);}",{"title":6,"searchDepth":969,"depth":969,"links":13064},[13065,13066,13069,13070,13071,13072,13073,13074],{"id":259,"depth":969,"text":260},{"id":3212,"depth":969,"text":3213,"children":13067},[13068],{"id":4205,"depth":976,"text":4206},{"id":9151,"depth":969,"text":9152},{"id":10779,"depth":969,"text":10780},{"id":11713,"depth":969,"text":11714},{"id":12316,"depth":969,"text":12317},{"id":12425,"depth":969,"text":12426},{"id":182,"depth":969,"text":12990},[],"computer-science","A balanced search tree is built on one assumption: the keys are\ntotally ordered, so a single comparison sends a query left or right. Points\nin the plane break that assumption. There is no order on R2 that makes\nboth all points in this rectangle and the point nearest to q cheap — sort by\nx and two points far apart in y end up adjacent; sort by y and the reverse.\nA spatial data structure stores points so that geometry, not a one-dimensional\nkey, guides the search: it partitions space into boxes, and a query that lands\nin one box can ignore every box it cannot possibly intersect.1",false,"md",{"moduleNumber":989,"lessonNumber":1027,"order":13081},408,"Data Structures","\u002Falgorithms\u002Fdata-structures\u002Fspatial-data-structures",[13085,13089,13093,13096],{"title":13086,"slug":13087,"difficulty":13088},"K Closest Points to Origin","k-closest-points-to-origin","Medium",{"title":13090,"slug":13091,"difficulty":13092},"Count of Smaller Numbers After Self","count-of-smaller-numbers-after-self","Hard",{"title":13094,"slug":13095,"difficulty":13092},"Max Points on a Line","max-points-on-a-line",{"title":13097,"slug":13098,"difficulty":13092},"The Skyline Problem","the-skyline-problem","---\ntitle: Spatial Data Structures\nmodule: Data Structures\nmoduleNumber: 4\nlessonNumber: 8\norder: 408\nsummary: |\n  A balanced BST orders keys on a line, but points in the plane have no single\n  natural order. Quadtrees subdivide space recursively into quadrants; k-d trees\n  split on alternating coordinates at the median. Both make range and\n  nearest-neighbour queries fast by carving the plane into boxes a query can\n  prune away. Range trees nest a y-tree in an x-tree for fast orthogonal range\n  reporting; interval trees index intervals to answer stabbing queries.\ntopics: [Spatial Data Structures]\nsources:\n  - book: Skiena\n    ref: \"§12.6 — Kd-Trees\"\n  - book: CLRS\n    ref: \"Ch. 33 — Computational Geometry\"\n  - book: Erickson\n    ref: \"Ch. — Data Structures \u002F Geometry\"\npractice:\n  - title: 'K Closest Points to Origin'\n    slug: k-closest-points-to-origin\n    difficulty: Medium\n  - title: 'Count of Smaller Numbers After Self'\n    slug: count-of-smaller-numbers-after-self\n    difficulty: Hard\n  - title: 'Max Points on a Line'\n    slug: max-points-on-a-line\n    difficulty: Hard\n  - title: 'The Skyline Problem'\n    slug: the-skyline-problem\n    difficulty: Hard\n---\n\nA [balanced search tree](\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees) is built on one assumption: the keys are\n**totally ordered**, so a single comparison sends a query left or right. Points\nin the plane break that assumption. There is no order on $\\mathbb{R}^2$ that makes\nboth \"all points in this rectangle\" and \"the point nearest to $q$\" cheap — sort by\n$x$ and two points far apart in $y$ end up adjacent; sort by $y$ and the reverse.\nA **spatial data structure** stores points so that geometry, not a one-dimensional\nkey, guides the search: it partitions space into **boxes**, and a query that lands\nin one box can ignore every box it cannot possibly intersect.[^skiena-kd]\n\nTwo partitions dominate. A **quadtree** splits each square into four equal\nquadrants, recursively, until each cell is simple. A **k-d tree** splits on one\ncoordinate at a time — $x$, then $y$, then $x$ again — always at the **median**, so\nthe tree stays balanced. The quadtree is splitting _space_ into a fixed grid; the\nk-d tree is splitting the _points_ into equal halves. That difference is what\nmakes one degrade on clustered data while the other does not.\n\n## Quadtrees: recursive subdivision of space\n\nA **point quadtree** stores a set of 2-D points by recursively cutting an\naxis-aligned square into four equal sub-squares — the four quadrants $NW$, $NE$,\n$SW$, $SE$ — until every cell holds at most one point. Each internal node owns a\nsquare region and has up to four children, one per quadrant; each leaf holds at\nmost one point (or, in a **bucket** variant, up to $b$ points before it splits).\n\n> **Definition (Point quadtree).** A point quadtree over a square region $R$ is a\n> tree where each node owns an axis-aligned square. A leaf holds at most one\n> point. An internal node's square is divided at its centre into four equal\n> quadrants $NW$, $NE$, $SW$, $SE$, each the region of one child.\n\n$$\n% caption: A point quadtree over six points. The root square splits into four quadrants;\n%          any quadrant that still holds more than one point splits again. The dense\n%          lower-left clump forces extra levels of subdivision while the sparse upper area\n%          stays a single cell.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize]\n  \\definecolor{acc}{HTML}{2348F2}\n  % outer square\n  \\draw[thick] (0,0) rectangle (5,5);\n  % first split: full cross\n  \\draw[acc, thick] (2.5,0) -- (2.5,5);\n  \\draw[acc, thick] (0,2.5) -- (5,2.5);\n  % subdivide the SW quadrant (dense)\n  \\draw[acc] (1.25,0) -- (1.25,2.5);\n  \\draw[acc] (0,1.25) -- (2.5,1.25);\n  % subdivide the SW-SW sub-quadrant once more\n  \\draw[acc] (0.625,0) -- (0.625,1.25);\n  \\draw[acc] (0,0.625) -- (1.25,0.625);\n  % points\n  \\fill[acc] (0.35,0.35) circle (2.2pt);\n  \\fill[acc] (0.95,0.40) circle (2.2pt);\n  \\fill[acc] (1.70,1.80) circle (2.2pt);\n  \\fill[acc] (3.60,1.20) circle (2.2pt);\n  \\fill[acc] (3.80,3.90) circle (2.2pt);\n  \\fill[acc] (1.50,4.10) circle (2.2pt);\n  \\node[anchor=south west] at (0.05,5.05) {root region};\n\\end{tikzpicture}\n$$\n\n$$\n% caption: Subdividing quadrant by quadrant as points are inserted. Stage one is the empty\n%          root region. Stage two inserts two points into the lower-left, forcing one cut into\n%          four quadrants. Stage three adds a third point that collides in the lower-left\n%          sub-square, forcing a second cut there. Each cut appears only where a cell would\n%          otherwise hold more than one point.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize, dot\u002F.style={fill=acc, circle, inner sep=1.6pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  % --- stage one: empty root ---\n  \\begin{scope}\n    \\draw[thick] (0,0) rectangle (2.6,2.6);\n    \\node[anchor=south] at (1.3,2.7) {one cell};\n  \\end{scope}\n  % --- stage two: two points, one split ---\n  \\begin{scope}[xshift=38mm]\n    \\draw[thick] (0,0) rectangle (2.6,2.6);\n    \\draw[acc, thick] (1.3,0) -- (1.3,2.6);\n    \\draw[acc, thick] (0,1.3) -- (2.6,1.3);\n    \\node[dot] at (0.55,0.55) {};\n    \\node[dot] at (1.85,1.95) {};\n    \\node[anchor=south] at (1.3,2.7) {one split};\n  \\end{scope}\n  % --- stage three: third point forces a deeper split ---\n  \\begin{scope}[xshift=76mm]\n    \\draw[thick] (0,0) rectangle (2.6,2.6);\n    \\draw[acc, thick] (1.3,0) -- (1.3,2.6);\n    \\draw[acc, thick] (0,1.3) -- (2.6,1.3);\n    \\draw[acc] (0.65,0) -- (0.65,1.3);\n    \\draw[acc] (0,0.65) -- (1.3,0.65);\n    \\node[dot] at (0.35,0.40) {};\n    \\node[dot] at (0.95,0.95) {};\n    \\node[dot] at (1.85,1.95) {};\n    \\node[anchor=south] at (1.3,2.7) {deeper split};\n  \\end{scope}\n\\end{tikzpicture}\n$$\n\n**Insert.** To insert a point $p$, descend from the root: at each internal node\ndecide which of the four quadrants contains $p$ (two coordinate comparisons\nagainst the node's centre) and recurse into that child. When you reach an empty\nleaf, store $p$ there. If you reach a leaf that already holds a point $q$, split\nthat leaf into four quadrants and re-insert both $p$ and $q$ into the appropriate\nsub-quadrants — repeating until they fall into different cells. Search for an\nexact point is the same descent without the split.\n\n**Region query.** To report every stored point inside a query rectangle $Q$,\ndescend from the root but **prune**: at a node owning square $S$,\n\n- if $S$ is disjoint from $Q$, return nothing — that whole subtree is skipped;\n- if $S$ lies entirely inside $Q$, report every point in the subtree;\n- otherwise $S$ straddles the boundary of $Q$, so recurse into all four children.[^erickson-ds]\n\n$$\n% caption: A region query (the dashed rectangle) against the quadtree's cells. A cell disjoint\n%          from the query is skipped whole (grey); a cell entirely inside the query reports all\n%          its points without further descent (green); a cell straddling the query boundary is\n%          recursed into (blue). Only the straddling cells cost any deeper work.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize, dot\u002F.style={fill=black, circle, inner sep=1.4pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{green}{HTML}{1F9E55}\n  % four top quadrants of the region\n  \\draw[thick] (0,0) rectangle (5,5);\n  \\draw[thick] (2.5,0) -- (2.5,5);\n  \\draw[thick] (0,2.5) -- (5,2.5);\n  % shade quadrants by their relation to the query\n  \\fill[black] (2.5,2.5) rectangle (5,5);        % NE skipped\n  \\fill[green!14]  (0,0) rectangle (2.5,2.5);        % SW fully inside\n  \\fill[acc!14]   (0,2.5) rectangle (2.5,5);         % NW straddles\n  \\fill[acc!14]   (2.5,0) rectangle (5,2.5);         % SE straddles\n  % redraw grid over fills\n  \\draw[thick] (0,0) rectangle (5,5);\n  \\draw[thick] (2.5,0) -- (2.5,5);\n  \\draw[thick] (0,2.5) -- (5,2.5);\n  % the query rectangle\n  \\draw[acc, very thick, dashed] (0.6,0.6) rectangle (3.4,3.4);\n  \\node[acc, anchor=north, font=\\scriptsize] at (2.5,-0.15) {query rectangle};\n  % a few points\n  \\node[dot] at (1.2,1.4) {};\n  \\node[dot] at (1.9,0.9) {};\n  \\node[dot] at (3.9,3.9) {};\n  \\node[dot] at (0.9,3.05) {};\n  % labels\n  \\node[green, font=\\scriptsize] at (1.45,1.85) {inside};\n  \\node[black, font=\\footnotesize] at (3.75,4.6) {\\texttt{skipped}};\n  \\node[acc, font=\\scriptsize] at (1.55,4.6) {straddle};\n  \\node[acc, font=\\scriptsize] at (4.0,1.55) {straddle};\n\\end{tikzpicture}\n$$\n\nThe pruning is what makes the query fast: a query touching a small corner of the\nplane visits only the handful of cells along that corner, not the whole tree.\n\n> **Intuition.** The quadtree is a _spatial_ index, not a balanced one. Its shape\n> follows the **geometry of the data**, not its cardinality: the depth in any\n> region is however many halvings it takes to separate the points there. Sparse\n> regions stay shallow; dense clumps grow deep.\n\nThat last sentence is also the quadtree's weakness. Because it always cuts a\nsquare exactly in half regardless of where the points lie, two points a distance\n$\\varepsilon$ apart force $\\Theta(\\log(1\u002F\\varepsilon))$ levels of subdivision\nbefore they separate — the tree depth depends on the _coordinates_, not just on\n$n$. A tightly clustered set, or points near-collinear at fine scale, can drive\nthe height far beyond $\\log n$, so quadtree operations are $O(\\text{depth})$ with\nno worst-case bound tied to $n$ alone. Splitting the _points_ in half instead of the _space_ avoids this;\nthat is the k-d tree.\n\n::impl{algo=\"point_quadtree\"}\n\n## k-d trees: split on alternating coordinates at the median\n\nA **k-d tree** ($k$-dimensional tree; here $k = 2$) is a binary tree in which each\ninternal node splits the remaining points by a **single coordinate**, and the\nsplitting coordinate **cycles** with depth: the root splits on $x$, its children\nsplit on $y$, the grandchildren on $x$ again, and so on. At each node\nthe split is at the **median** value of the active coordinate, so each child receives\nhalf the points — which forces height $O(\\log n)$ no matter how the points are\ndistributed.\n\n> **Definition (k-d tree).** A k-d tree over $n$ points in $\\mathbb{R}^k$ is a\n> binary tree where a node at depth $d$ splits on coordinate $a = d \\bmod k$ at a\n> value $m$: its left subtree holds points with coordinate $a$ less than $m$, its\n> right subtree the rest. Choosing $m$ as the median of the active coordinate\n> balances the tree at height $O(\\log n)$.\n\nGeometrically, each split is an **axis-aligned line** (a hyperplane in higher\ndimensions): a vertical cut at the root, horizontal cuts at the next level,\nvertical again below that. The cuts nest, carving the plane into rectangular\ncells — one per leaf — each containing a single point.\n\n$$\n% caption: A k-d tree and the matching partition of the plane. The root splits on $x$ at\n%          the median (a vertical line); the next level splits on $y$ (horizontal lines);\n%          the level below splits on $x$ again. Each tree node is one axis-aligned cut, and\n%          the leaves correspond to the cells of the partition.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{accmid}{HTML}{6A82F6}\n  \\definecolor{acclo}{HTML}{A7B5FB}\n  % --- left: the partition of the plane ---\n  \\begin{scope}\n    \\draw[thick] (0,0) rectangle (4.6,4.6);\n    % root vertical split on x\n    \\draw[acc, very thick] (2.3,0) -- (2.3,4.6);\n    \\node[acc, anchor=south] at (2.3,4.65) {split on $x$};\n    % second level horizontal splits on y\n    \\draw[accmid, thick] (0,2.6) -- (2.3,2.6);\n    \\draw[accmid, thick] (2.3,1.9) -- (4.6,1.9);\n    % third level vertical splits on x\n    \\draw[acclo, thick] (1.1,0) -- (1.1,2.6);\n    \\draw[acclo, thick] (3.4,1.9) -- (3.4,4.6);\n    % points\n    \\fill (0.6,1.3) circle (1.8pt);\n    \\fill (1.7,0.9) circle (1.8pt);\n    \\fill (1.0,3.6) circle (1.8pt);\n    \\fill (3.2,0.8) circle (1.8pt);\n    \\fill (2.9,3.0) circle (1.8pt);\n    \\fill (4.0,3.4) circle (1.8pt);\n  \\end{scope}\n  % --- right: the tree ---\n  \\begin{scope}[xshift=80mm, yshift=42mm,\n    every node\u002F.style={circle, draw, minimum size=7mm, inner sep=0},\n    level distance=12mm,\n    level 1\u002F.style={sibling distance=24mm},\n    level 2\u002F.style={sibling distance=12mm}]\n    \\node[draw=acc, text=acc, thick] {$x$}\n      child {node[draw=accmid, text=accmid, thick] {$y$}\n        child {node[draw=acclo, text=acclo, thick] {$x$}}\n        child {node {$p$}}\n      }\n      child {node[draw=accmid, text=accmid, thick] {$y$}\n        child {node {$p$}}\n        child {node[draw=acclo, text=acclo, thick] {$x$}}\n      };\n  \\end{scope}\n\\end{tikzpicture}\n$$\n\n**Build.** Given all $n$ points, build top-down. At depth $d$ pick the active\ncoordinate $a = d \\bmod 2$, find the **median** of the points by coordinate $a$\n(linear time via [quickselect](\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection), or by pre-sorting), store it at the node,\nand recurse on the two halves. The recurrence $T(n) = 2T(n\u002F2) + O(n)$ solves to\n$O(n \\log n)$, and because every split is at the median the resulting tree has\nheight $\\lceil \\log_2 n \\rceil$.\n\n$$\n% caption: Building a k-d tree by alternating the split axis. Stage one cuts on $x$ at the\n%          median (vertical line), splitting the points into a left and a right half. Stage two\n%          cuts each half on $y$ at its own median (horizontal lines). The split axis cycles\n%          $x$ then $y$ then $x$, halving the point set at every level.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize, dot\u002F.style={fill=black, circle, inner sep=1.5pt}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{accmid}{HTML}{6A82F6}\n  % --- stage one: split on x ---\n  \\begin{scope}\n    \\draw[thick] (0,0) rectangle (3.2,3.2);\n    \\draw[acc, very thick] (1.6,0) -- (1.6,3.2);\n    \\node[dot] at (0.7,0.9) {};\n    \\node[dot] at (1.0,2.4) {};\n    \\node[dot] at (2.3,0.7) {};\n    \\node[dot] at (2.6,2.5) {};\n    \\node[acc, anchor=south, font=\\scriptsize] at (1.6,3.25) {split on $x$};\n  \\end{scope}\n  % --- stage two: split each half on y ---\n  \\begin{scope}[xshift=46mm]\n    \\draw[thick] (0,0) rectangle (3.2,3.2);\n    \\draw[acc, very thick] (1.6,0) -- (1.6,3.2);\n    \\draw[accmid, thick] (0,1.65) -- (1.6,1.65);\n    \\draw[accmid, thick] (1.6,1.6) -- (3.2,1.6);\n    \\node[dot] at (0.7,0.9) {};\n    \\node[dot] at (1.0,2.4) {};\n    \\node[dot] at (2.3,0.7) {};\n    \\node[dot] at (2.6,2.5) {};\n    \\node[accmid, anchor=south, font=\\scriptsize] at (0.8,3.25) {split on $y$};\n  \\end{scope}\n\\end{tikzpicture}\n$$\n\n**Range search.** Reporting the points in a query rectangle $Q$ works just like\nthe quadtree's, pruning on the cell each node owns: skip a subtree whose region is\ndisjoint from $Q$, report a subtree whose region lies wholly inside $Q$, and\nrecurse otherwise. A range query touching $t$ output points costs\n$O(\\sqrt{n} + t)$ in the plane — the $\\sqrt n$ comes from the cells the query\nboundary crosses.[^clrs-geom]\n\n### Nearest-neighbour search with branch-and-bound\n\nThe k-d tree's signature query is **nearest neighbour**: given a query\npoint $q$, find the stored point closest to it. The naive scan is $O(n)$; the k-d\ntree does it in $O(\\log n)$ expected time on well-distributed data by\n**branch-and-bound** — descend to the leaf $q$ \"belongs\" in to get a first\ncandidate, then unwind, only entering the _other_ side of a split if a closer\npoint could possibly hide there.\n\nThe pruning test is geometric. At a node splitting coordinate $a$ at value $m$,\nthe far subtree lies entirely on the far side of the line $a = m$. The closest\nthat _any_ far-side point could be to $q$ is the perpendicular distance from $q$\nto that line, $|q_a - m|$. If that distance already exceeds the best distance\nfound so far, no point over there can beat the current best — so we skip the\nentire far subtree. Otherwise the far side might hold something closer, and we\nrecurse into it too.\n\n```algorithm\ncaption: $\\textsc{NearestNeighbor}(v, q, best)$ — closest stored point to $q$\nnumber: 1\nif $v = \\text{nil}$ then return $best$\nif $\\dist(q, point(v)) \u003C \\dist(q, best)$ then\n  $best \\gets point(v)$ \u002F\u002F this node beats the incumbent\n$a \\gets depth(v) \\bmod 2$ \u002F\u002F active split coordinate\nif $q_a \u003C value(v)$ then\n  $near \\gets left(v),\\ far \\gets right(v)$\nelse\n  $near \\gets right(v),\\ far \\gets left(v)$\n$best \\gets \\textsc{NearestNeighbor}(near, q, best)$ \u002F\u002F descend the likely side first\nif $|q_a - value(v)| \u003C \\dist(q, best)$ then \u002F\u002F splitting line within reach?\n  $best \\gets \\textsc{NearestNeighbor}(far, q, best)$ \u002F\u002F only then check the far side\nreturn $best$\n```\n\nVisiting the _near_ side first is what makes the bound tight: it usually finds a\ngood candidate immediately, so the $|q_a - value(v)|$ test fails at most far-side\nnodes and prunes them away. The same branch-and-bound extends to $k$ nearest\nneighbours (keep a bounded max-heap of the best $k$, prune against its worst\ndistance) and to approximate nearest neighbour (multiply the bound by a slack\nfactor to prune more aggressively).\n\n**A worked query.** Take the five points $A(2,3)$, $B(5,4)$, $C(9,6)$, $D(4,7)$,\n$E(8,1)$ built into a k-d tree with $B(5,4)$ at the root (split on $x$), $A$ and\n$D$ in the left subtree ($x \u003C 5$), $E$ and $C$ in the right ($x \\ge 5$). Query\n$q = (6,3)$.\n\n1. **Root $B(5,4)$**, split on $x = 5$. Distance $\\sqrt{(6-5)^2 + (3-4)^2} =\n   \\sqrt 2 \\approx 1.41$; set $best = B$, $r = 1.41$. Since $q_x = 6 \\ge 5$, the\n   _near_ side is the right subtree; descend there first.\n2. **Right child $E(8,1)$**, split on $y = 1$. Distance $\\sqrt{4 + 4} = \\sqrt 8\n   \\approx 2.83 > r$, so $E$ does not improve $best$. Since $q_y = 3 \\ge 1$, the\n   near child is $E$'s right subtree holding $C$.\n3. **$C(9,6)$**, a leaf. Distance $\\sqrt{9 + 9} = \\sqrt{18} \\approx 4.24 > r$; no\n   improvement. Unwind to $E$: its far subtree lies below $y = 1$, at perpendicular\n   distance $|q_y - 1| = 2 > r = 1.41$ — **pruned**.\n4. Unwind to the root. Its far subtree is the left side, $x \u003C 5$, at perpendicular\n   distance $|q_x - 5| = 1 \u003C r = 1.41$ — the circle crosses the splitting line, so\n   the left side **could** hide something closer and must be searched. It holds\n   $A(2,3)$ (distance $4$) and $D(4,7)$ (distance $\\sqrt{4+16} \\approx 4.47$),\n   neither beating $r$.\n\nThe answer is $B(5,4)$ at distance $\\sqrt 2$. The search touched $B, E, C$, and\nthe left subtree; the bound at step 3 pruned $E$'s lower half, which a linear\nscan would have to examine.\n\n$$\n% caption: Branch-and-bound on the tree itself. The search first descends the near side at\n%          each split (solid blue) to the leaf $q$ belongs in, fixing a first candidate. It then\n%          unwinds: a far subtree whose splitting line lies beyond the current radius is pruned\n%          (red, crossed out); a far subtree within the radius is searched (green check).\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize,\n  nd\u002F.style={circle, draw, minimum size=7mm, inner sep=0},\n  level distance=13mm,\n  level 1\u002F.style={sibling distance=34mm},\n  level 2\u002F.style={sibling distance=17mm}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{green}{HTML}{1F9E55}\n  \\node[nd, draw=acc, text=acc, very thick] (r) {$x$}\n    child {node[nd, draw=acc, text=acc, very thick] (l) {$y$}\n      child {node[nd, fill=acc!16, draw=acc, very thick] (leaf) {leaf}\n        edge from parent[acc, very thick]}\n      child {node[nd, draw=green, text=green, thick] (lr) {$p$}\n        edge from parent[green, thick]}\n      edge from parent[acc, very thick]\n    }\n    child {node[nd, draw=red!75!black, text=red!75!black] (rr) {$y$}\n      child {node[nd, draw=red!75!black, text=red!75!black] {$p$}\n        edge from parent[red!75!black, dashed]}\n      child {node[nd, draw=red!75!black, text=red!75!black] {$p$}\n        edge from parent[red!75!black, dashed]}\n      edge from parent[red!75!black, dashed]\n    };\n  % near-side descent label\n  \\node[acc, anchor=south east, font=\\scriptsize] at (leaf.north west) {descend near};\n  % far subtree pruned\n  \\node[red!75!black, anchor=west, font=\\scriptsize, align=left] at (rr.east) {beyond $r$:\\\\pruned};\n  % far candidate within radius checked\n  \\node[green, anchor=north, font=\\scriptsize, align=center] at (lr.south) {within $r$:\\\\searched};\n\\end{tikzpicture}\n$$\n\n$$\n% caption: Nearest-neighbour pruning. The descent finds a candidate at distance $r$ (the\n%          circle). At a split line, the far subtree is entered only if the line lies within\n%          $r$ of $q$ — i.e. the circle crosses it. Here the dashed line is farther than $r$,\n%          so that whole side is pruned; the solid line is within $r$, so it must be searched.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize]\n  \\definecolor{acc}{HTML}{2348F2}\n  % query point and best-so-far radius\n  \\coordinate (q) at (2.4,2.0);\n  \\fill[acc] (q) circle (2pt);\n  \\node[acc, anchor=north] at (2.4,1.85) {$q$};\n  \\draw[acc, thick] (q) circle (1.3);\n  % radius spoke + label, placed in open space upper-left of q\n  \\draw[acc, thick] (q) -- (1.48,2.92);\n  \\node[acc, anchor=south east] at (1.55,2.95) {radius $r$};\n  % a split line within reach -> must search\n  \\draw[acc, very thick] (3.5,-0.3) -- (3.5,4.3);\n  \\node[acc, anchor=west, align=left] at (4.05,2.2) {within $r$:\\\\search far side};\n  % a split line out of reach -> pruned\n  \\draw[red!75!black, very thick, dashed] (-0.4,3.7) -- (4.6,3.7);\n  \\node[red!75!black, anchor=west] at (-0.4,4.05) {beyond $r$: pruned};\n  % the current best point on the circle\n  \\fill (1.4,1.15) circle (1.8pt);\n  \\node[anchor=north east] at (1.4,1.15) {best};\n\\end{tikzpicture}\n$$\n\nThe pruning is only effective in low dimensions. As $k$ grows the perpendicular\ndistance $|q_a - m|$ to any single splitting line shrinks relative to the typical\npoint-to-point distance, so the bound rarely fires and the search degrades toward\nthe $O(n)$ scan — the **curse of dimensionality**. Beyond roughly a dozen\ndimensions, exact k-d nearest neighbour offers little over brute force, and\npractitioners switch to approximate methods. In two or three dimensions, though,\nthe k-d tree is the standard answer.\n\n::impl{algo=\"kd_tree\"}\n\n## Range trees: faster orthogonal range reporting\n\nThe k-d tree answers a rectangle query in $O(\\sqrt n + t)$, and the $\\sqrt n$ term\nhurts when the query is thin and reports few points. A **range tree** trades space\nfor a sharper query bound: $O(\\log^2 n + t)$ in the plane, at a cost of\n$O(n \\log n)$ storage instead of $O(n)$. It is built by nesting one balanced\nsearch tree inside another.\n\n> **Definition (Range tree).** A 2-D range tree is a balanced BST on the\n> $x$-coordinates of the points (the **primary** tree). Every node $v$ of the\n> primary tree carries an **associated** balanced BST — the secondary tree — on\n> the $y$-coordinates of exactly the points in $v$'s subtree, sorted by $y$.\n\nA rectangle query $[x_1, x_2] \\times [y_1, y_2]$ runs in two stages. First, search\nthe primary ($x$) tree for the split node where the paths to $x_1$ and $x_2$\ndiverge; the points with $x \\in [x_1, x_2]$ are precisely those in a set of\n$O(\\log n)$ **canonical subtrees** hanging off the two search paths. Rather than\nwalk each subtree, consult its associated $y$-tree and report the points whose $y$\nfalls in $[y_1, y_2]$ — a 1-D range query costing $O(\\log n + t_v)$. Summed over\nthe $O(\\log n)$ canonical subtrees, the query is $O(\\log^2 n + t)$.\n\n$$\n% caption: A 2-D range tree. The primary tree (left) is a balanced BST on $x$. The query\n%          $[x_1,x_2]$ selects $O(\\log n)$ canonical subtrees along the two search paths (shaded).\n%          Each such subtree carries an associated BST on $y$ (right); the $[y_1,y_2]$ query runs\n%          inside it, so only points in the rectangle are reported.\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize,\n  nd\u002F.style={circle, draw, minimum size=6mm, inner sep=0, font=\\scriptsize},\n  can\u002F.style={circle, draw=acc, very thick, fill=acc!12, minimum size=6mm, inner sep=0, font=\\scriptsize}]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{green}{HTML}{1F9E55}\n  % primary x-tree\n  \\node[nd] (r) at (0,0) {$x$}\n    child {node[nd] {} child {node[can] {}} child {node[can] {}}}\n    child {node[nd] {} child {node[can] {}} child {node[nd] {}}}\n    [level distance=11mm, sibling distance=22mm];\n  \\node[anchor=south, font=\\scriptsize] at (0,0.5) {primary tree (on $x$)};\n  \\node[acc, anchor=north, font=\\scriptsize] at (0,-3.0) {shaded = canonical subtrees for $[x_1,x_2]$};\n  % associated y-tree on one canonical node\n  \\begin{scope}[xshift=62mm, yshift=-6mm]\n    \\node[nd, draw=green, thick, text=green] (yr) at (0,0) {$y$}\n      child {node[nd, draw=green, text=green] {}}\n      child {node[nd, draw=green, text=green] {}}\n      [level distance=11mm, sibling distance=16mm];\n    \\node[green, anchor=south, font=\\scriptsize] at (0,0.5) {associated tree (on $y$)};\n    \\node[green, anchor=north, font=\\scriptsize] at (0,-1.9) {answers $[y_1,y_2]$ here};\n  \\end{scope}\n  \\draw[->, acc, thick, dashed] (0.9,-2.2) to[bend right=12] (4.6,-0.3);\n\\end{tikzpicture}\n$$\n\n**Fractional cascading** removes one log factor. If the associated structures are\nlinked so that a position found in one $y$-list transfers in $O(1)$ to the next,\nthe $O(\\log n)$ repeated $y$-searches collapse to a single $O(\\log n)$ search plus\n$O(1)$ hops, giving $O(\\log n + t)$ per query. The construction generalizes to $d$\ndimensions at $O(n \\log^{d-1} n)$ space and $O(\\log^{d-1} n + t)$ query time — the\nstandard answer when range _reporting_ must be fast and the points are static.\n\n## Interval trees: which intervals contain a point\n\nThe structures so far index _points_. A different question indexes _intervals_ on\nthe line: given $n$ intervals $[l_i, r_i]$ and a query value $q$, report every\ninterval that **contains** $q$ (a **stabbing** query). This shows up in scheduling\n(which reservations are live at time $q$), computational geometry (segment\nintersection), and genome analysis (which features span a locus).\n\n> **Definition (Interval tree).** Pick the median endpoint $m$ of all interval\n> endpoints and store it at the root. Intervals entirely left of $m$ go to the\n> left subtree, entirely right to the right subtree; intervals **crossing** $m$\n> stay at the root, kept in two sorted lists — one by left endpoint, one by right.\n> Recurse on the two sides. The tree has height $O(\\log n)$.\n\nA stabbing query for $q$ descends from the root. At a node with center $m$, every\ninterval crossing $m$ is a candidate:\n\n- if $q \u003C m$, scan the node's list **sorted by left endpoint** from the smallest,\n  reporting each interval with $l_i \\le q$ and stopping at the first that fails\n  (all later ones start even further right), then recurse left;\n- if $q > m$, scan the list **sorted by right endpoint** from the largest,\n  reporting each with $r_i \\ge q$, then recurse right;\n- if $q = m$, every stored interval at the node contains $q$; report them all.\n\n$$\n% caption: An interval-tree stabbing query. The root centre $m$ holds the intervals crossing it,\n%          kept sorted by both endpoints. For a query $q \u003C m$ the left-endpoint list is scanned\n%          from the left, reporting intervals whose left end is $\\le q$ and stopping at the first\n%          miss; the search then recurses into the left subtree ($\u003Cm$).\n\\begin{tikzpicture}[\n  >=stealth, font=\\footnotesize]\n  \\definecolor{acc}{HTML}{2348F2}\n  \\definecolor{green}{HTML}{1F9E55}\n  % number line\n  \\draw[thick] (-0.3,0) -- (9.3,0);\n  \\foreach \\x\u002F\\lab in {2\u002F2,4.5\u002Fm,7\u002F7} \\node[anchor=north, font=\\scriptsize] at (\\x,-0.08) {\\lab};\n  % center line\n  \\draw[acc, thick, dashed] (4.5,-0.35) -- (4.5,3.3);\n  \\node[acc, anchor=south, font=\\scriptsize] at (4.5,3.3) {centre $m$};\n  % query\n  \\draw[green, very thick] (3.1,-0.35) -- (3.1,3.3);\n  \\node[green, anchor=south, font=\\scriptsize] at (3.1,3.35) {$q$};\n  % intervals crossing m\n  \\draw[acc, thick] (2.4,0.7) -- (6.3,0.7);   \\fill[acc] (2.4,0.7) circle (1.6pt); \\fill[acc] (6.3,0.7) circle (1.6pt);\n  \\draw[acc, thick] (3.6,1.4) -- (5.7,1.4);   \\fill[acc] (3.6,1.4) circle (1.6pt); \\fill[acc] (5.7,1.4) circle (1.6pt);\n  \\draw[acc, thick] (1.3,2.1) -- (5.2,2.1);   \\fill[acc] (1.3,2.1) circle (1.6pt); \\fill[acc] (5.2,2.1) circle (1.6pt);\n  % which contain q\n  \\node[green, anchor=west, font=\\scriptsize] at (6.5,0.7) {contains $q$};\n  \\node[black, anchor=west, font=\\scriptsize] at (6.5,1.4) {left end $>q$: skip};\n  \\node[green, anchor=west, font=\\scriptsize] at (6.5,2.1) {contains $q$};\n\\end{tikzpicture}\n$$\n\nEach node scan reports $k_v$ hits in $O(k_v + 1)$ time, and the descent visits\n$O(\\log n)$ nodes, so a stabbing query costs $O(\\log n + t)$ for $t$ reported\nintervals. Build is $O(n \\log n)$ and space is $O(n)$. When the query is itself an\n_interval_ and you want every stored interval overlapping it, the same tree works\nwith an overlap test at each node. Skiena's segment-tree and interval-tree\ntreatments cover the reporting variants in full.[^skiena-kd]\n\n## Choosing a spatial structure\n\nThese structures index geometry so that a query prunes what it cannot reach; they\ndiffer in _what_ they cut and _what_ they index.\n\n- **Quadtree.** Splits **space** into a fixed quadrant grid. Simple, supports easy\n  dynamic insert\u002Fdelete, and natural for images and uniformly-spread data. But\n  its depth tracks the _coordinates_ of the points, so clustered or\n  near-coincident data blows up the height — no $O(\\log n)$ guarantee.\n- **k-d tree.** Splits the **points** at the median on alternating axes, forcing\n  height $O(\\log n)$ regardless of distribution. Build is $O(n \\log n)$, range\n  search $O(\\sqrt n + t)$, nearest neighbour $O(\\log n)$ expected in low\n  dimensions. Less natural to update incrementally (medians shift), and it\n  succumbs to the curse of dimensionality in high $k$.\n- **Range tree.** Nests a $y$-tree inside an $x$-tree to answer rectangle\n  _reporting_ queries in $O(\\log^2 n + t)$ (or $O(\\log n + t)$ with fractional\n  cascading), at $O(n \\log n)$ space. Best when queries are frequent, thin, and\n  the point set is static.\n- **Interval tree.** Indexes _intervals_ rather than points, answering stabbing\n  and overlap queries in $O(\\log n + t)$ with $O(n)$ space — the tool when the\n  data are ranges and the question is \"what covers $q$\".\n\nIn short: the quadtree halves the _space_, the k-d tree halves the _data_. Use\nthe quadtree when the points are well-spread and updates must be cheap; the k-d\ntree when a balance guarantee and fast nearest-neighbour queries matter in two\nor three dimensions; the range tree when range reporting on static points must\nbe as fast as possible; and the interval tree when the objects themselves are\nintervals.\n\n## Spatial indexing at scale\n\nThe structures here are in-memory and low-dimensional; production spatial systems\npush past both limits.\n\n**R-trees and the database index.** The **R-tree** (Guttman, 1984) is the spatial\nanalogue of the [B-tree](\u002Falgorithms\u002Fdata-structures\u002Fb-trees): each node stores\nthe bounding rectangles of its children and fans out wide so the tree is short and\ndisk-friendly. It is what backs `SPATIAL INDEX` in PostGIS, SQLite's R\\*Tree\nmodule, and most GIS systems, indexing not just points but arbitrary shapes by\ntheir bounding boxes. Its refinements, the **R\\*-tree** and bulk-loaded\n**STR-tree**, tune how rectangles are grouped to minimize overlap, the spatial\nequivalent of keeping a B-tree's nodes full.\n\n**Trading exactness in high dimensions.** The k-d tree's curse of dimensionality\nis real: past roughly $10$-$20$ dimensions, nearest-neighbour search degrades to\nscanning almost everything. The standard workaround is _approximate_ nearest\nneighbour. **Locality-sensitive hashing** (Indyk and Motwani, 1998) hashes\nnearby points to the same bucket with high probability; graph-based indexes like\n**HNSW** (Malkov and Yashunin, 2016) navigate a small-world graph. Both are what\nvector databases use to search millions of embeddings in milliseconds.\n\n**Flattening space to one dimension.** A different trick maps 2-D or 3-D points\nonto a single **space-filling curve**, Z-order (Morton) or Hilbert, so that\npoints close in space are usually close along the curve. Then an ordinary 1-D\n[B-tree](\u002Falgorithms\u002Fdata-structures\u002Fb-trees) index answers spatial range queries\napproximately, which is how many key-value stores add geospatial lookups without a\ndedicated spatial tree. In graphics, the same recursive-subdivision idea becomes\nthe **bounding volume hierarchy** that makes ray tracing tractable.[^btb-spatial]\n\n## Takeaways\n\n- Points in the plane have **no single natural order**, so we index them by\n  **partitioning space into boxes** and pruning boxes a query cannot reach.\n- A **quadtree** recursively splits each square into four equal **quadrants**\n  until cells are simple. Insert descends and splits a full leaf; region query\n  prunes subtrees disjoint from \u002F contained in the query rectangle.\n- The quadtree's depth follows the **geometry** of the data: sparse regions stay\n  shallow, clustered points force deep subdivision — so it has **no worst-case\n  $O(\\log n)$ bound**.\n- A **k-d tree** splits the points on **alternating coordinates at the median**,\n  forcing height $O(\\log n)$. Build $O(n\\log n)$; range search $O(\\sqrt n + t)$.\n- **Nearest neighbour** uses **branch-and-bound**: descend to the candidate leaf,\n  then enter the far side of a split only when the perpendicular distance to the\n  splitting line is below the best distance found.\n- k-d pruning fails in high dimensions (**curse of dimensionality**); both point\n  structures work best in 2-D and 3-D.\n- A **range tree** nests a $y$-tree in an $x$-tree for orthogonal range reporting\n  in $O(\\log^2 n + t)$ ($O(\\log n + t)$ with fractional cascading), using\n  $O(n\\log n)$ space.\n- An **interval tree** indexes intervals, not points, and answers stabbing queries\n  (\"which intervals contain $q$\") in $O(\\log n + t)$ with $O(n)$ space.\n\n[^skiena-kd]: **Skiena**, §12.6 — Kd-Trees: alternating-axis median splits, range search, and nearest-neighbour via branch-and-bound, with the curse-of-dimensionality caveat.\n[^clrs-geom]: **CLRS**, Ch. 33 — Computational Geometry: axis-aligned subdivision and the recurrence behind balanced spatial partitions.\n[^erickson-ds]: **Erickson**, Ch. — Data Structures: recursive space-partitioning trees and the geometry of pruning a query against a subtree's bounding box.\n[^btb-spatial]: Guttman, \"R-trees: a dynamic index structure for spatial searching\" (1984); Indyk & Motwani, \"Approximate nearest neighbors\" (LSH, 1998); Malkov & Yashunin, \"Efficient and robust approximate nearest neighbor search using HNSW graphs\" (2016).\n",{"text":13101,"minutes":13102,"time":13103,"words":13104},"24 min read",23.275,1396500,4655,{"title":5,"description":13077},[13107,13109,13111],{"book":12998,"ref":13108},"§12.6 — Kd-Trees",{"book":13031,"ref":13110},"Ch. 33 — Computational Geometry",{"book":13019,"ref":13112},"Ch. — Data Structures \u002F Geometry","available","01.algorithms\u002F04.data-structures\u002F08.spatial-data-structures","A balanced BST orders keys on a line, but points in the plane have no single\nnatural order. Quadtrees subdivide space recursively into quadrants; k-d trees\nsplit on alternating coordinates at the median. Both make range and\nnearest-neighbour queries fast by carving the plane into boxes a query can\nprune away. Range trees nest a y-tree in an x-tree for fast orthogonal range\nreporting; interval trees index intervals to answer stabbing queries.\n",[5],"gF9KcQROYy-jZANGyn4U6Pd3RjmRtenfRIXxstS51xM",{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":13119,"\u002Falgorithms\u002Ffoundations\u002Fproof-techniques":13120,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":13121,"\u002Falgorithms\u002Ffoundations\u002Fgrowth-rates-and-loop-analysis":13122,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":13123,"\u002Falgorithms\u002Ffoundations\u002Famortized-analysis":13124,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":13125,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":13126,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":13127,"\u002Falgorithms\u002Fdivide-and-conquer\u002Ffast-multiplication":13128,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":13129,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":13130,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":13131,"\u002Falgorithms\u002Fsorting\u002Fexternal-sorting":13132,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":13133,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":13134,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":13135,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":13136,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":13137,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":13138,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":13139,"\u002Falgorithms\u002Fdata-structures\u002Fspatial-data-structures":13104,"\u002Falgorithms\u002Fdata-structures\u002Fskip-lists-and-probabilistic-structures":13140,"\u002Falgorithms\u002Fdata-structures\u002Fb-trees":13141,"\u002Falgorithms\u002Fdata-structures\u002Fdata-stream-algorithms":13142,"\u002Falgorithms\u002Fdata-structures\u002Fstreaming-sketches":13143,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":13144,"\u002Falgorithms\u002Fsequences\u002Fprefix-sums":13145,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":13146,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":13147,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":13148,"\u002Falgorithms\u002Fsequences\u002Fkmp-and-z-function":13149,"\u002Falgorithms\u002Fsequences\u002Ftries":13150,"\u002Falgorithms\u002Fsequences\u002Fsuffix-arrays-and-aho-corasick":13151,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":13152,"\u002Falgorithms\u002Fgraphs\u002Fdepth-first-search":13153,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":13154,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":13155,"\u002Falgorithms\u002Fgraphs\u002Fkruskal-and-prim":13156,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":13157,"\u002Falgorithms\u002Fgraphs\u002Fall-pairs-and-negative-weights":13158,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":13159,"\u002Falgorithms\u002Fgraphs\u002Fmax-flow-min-cut":13160,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":13161,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":13162,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":13163,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":13164,"\u002Falgorithms\u002Fgraphs\u002Fbipartite-matching":13165,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":13166,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":13167,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":13168,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":13169,"\u002Falgorithms\u002Fgreedy\u002Fstable-matching":13170,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":13171,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":13172,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":13173,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":13174,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":13175,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":13176,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":13177,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":13178,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":13179,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":13180,"\u002Falgorithms\u002Fdynamic-programming\u002Fdigit-and-probability-dp":13181,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":13182,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":13183,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":13184,"\u002Falgorithms\u002Fbacktracking\u002Fgraph-backtracking":13185,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":13186,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":13187,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":13188,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":13189,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmatrix-exponentiation":13190,"\u002Falgorithms\u002Fmathematical-algorithms\u002Ffast-fourier-transform":13191,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fgradient-descent":13192,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":13193,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":13194,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":13195,"\u002Falgorithms\u002Fcomputational-geometry\u002Fpolygons-and-proximity":13196,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":13197,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":13198,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":13199,"\u002Falgorithms\u002Fintractability\u002Fapproximation-algorithms":13200,"\u002Falgorithms":2430,"\u002Fcalculus\u002Flimits-and-continuity\u002Ffunctions-and-models":13201,"\u002Fcalculus\u002Flimits-and-continuity\u002Fthe-limit-of-a-function":13202,"\u002Fcalculus\u002Flimits-and-continuity\u002Flimit-laws-and-the-precise-definition":13203,"\u002Fcalculus\u002Flimits-and-continuity\u002Fcontinuity":13204,"\u002Fcalculus\u002Fderivatives\u002Fthe-derivative-and-rates-of-change":13205,"\u002Fcalculus\u002Fderivatives\u002Fdifferentiation-rules-and-the-chain-rule":13206,"\u002Fcalculus\u002Fderivatives\u002Fimplicit-differentiation-and-related-rates":13207,"\u002Fcalculus\u002Fderivatives\u002Flinear-approximations-and-differentials":13208,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fextrema-and-the-mean-value-theorem":13209,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fhow-derivatives-shape-a-graph":13210,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fcurve-sketching-and-optimization":13211,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fnewtons-method-and-antiderivatives":13212,"\u002Fcalculus\u002Fintegrals\u002Farea-and-the-definite-integral":13213,"\u002Fcalculus\u002Fintegrals\u002Fthe-fundamental-theorem-of-calculus":13214,"\u002Fcalculus\u002Fintegrals\u002Fthe-substitution-rule":13215,"\u002Fcalculus\u002Fapplications-of-integration\u002Fareas-and-volumes":13216,"\u002Fcalculus\u002Fapplications-of-integration\u002Fwork-average-value-and-arc-length":13217,"\u002Fcalculus\u002Fapplications-of-integration\u002Fphysics-economics-and-probability":13218,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Finverse-functions-logarithms-and-exponentials":13219,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Fgrowth-decay-inverse-trig-and-hyperbolic-functions":13220,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Flhospitals-rule":13221,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fintegration-by-parts":13222,"\u002Fcalculus\u002Ftechniques-of-integration\u002Ftrigonometric-integrals-and-substitution":13223,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fpartial-fractions-and-integration-strategy":13224,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fapproximate-and-improper-integrals":13225,"\u002Fcalculus\u002Fparametric-and-polar\u002Fparametric-curves-and-their-calculus":13226,"\u002Fcalculus\u002Fparametric-and-polar\u002Fpolar-coordinates":13227,"\u002Fcalculus\u002Fparametric-and-polar\u002Fconic-sections":13228,"\u002Fcalculus\u002Fsequences-and-series\u002Fsequences":13229,"\u002Fcalculus\u002Fsequences-and-series\u002Fseries-and-the-integral-test":13230,"\u002Fcalculus\u002Fsequences-and-series\u002Fthe-convergence-tests":13231,"\u002Fcalculus\u002Fsequences-and-series\u002Fpower-series":13232,"\u002Fcalculus\u002Fsequences-and-series\u002Ftaylor-and-maclaurin-series":13233,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvectors-and-the-dot-product":13234,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fthe-cross-product-lines-and-planes":13215,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fcylinders-and-quadric-surfaces":13235,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvector-functions-and-space-curves":13236,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Farc-length-curvature-and-motion":13237,"\u002Fcalculus\u002Fpartial-derivatives\u002Ffunctions-of-several-variables":13205,"\u002Fcalculus\u002Fpartial-derivatives\u002Fpartial-derivatives":13238,"\u002Fcalculus\u002Fpartial-derivatives\u002Ftangent-planes-and-the-chain-rule":13239,"\u002Fcalculus\u002Fpartial-derivatives\u002Fdirectional-derivatives-and-the-gradient":13240,"\u002Fcalculus\u002Fpartial-derivatives\u002Foptimization-and-lagrange-multipliers":13241,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fdouble-integrals":13242,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Ftriple-integrals-and-coordinate-systems":13243,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fvector-fields-and-line-integrals":13244,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fgreens-theorem-curl-and-divergence":13245,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fsurface-integrals":13246,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fstokes-and-the-divergence-theorem":13247,"\u002Fcalculus":2435,"\u002Fmechanics\u002Ffoundations\u002Fmeasurement-and-dimensions":13248,"\u002Fmechanics\u002Ffoundations\u002Fvector-algebra":13249,"\u002Fmechanics\u002Fkinematics\u002Fone-dimensional-motion":13250,"\u002Fmechanics\u002Fkinematics\u002Fmotion-graphs":13251,"\u002Fmechanics\u002Fkinematics\u002Fprojectile-motion":13252,"\u002Fmechanics\u002Fkinematics\u002Frelative-motion":13253,"\u002Fmechanics\u002Fkinematics\u002Fcircular-motion":13254,"\u002Fmechanics\u002Fdynamics\u002Fnewtons-laws":13255,"\u002Fmechanics\u002Fdynamics\u002Ffree-body-diagrams":13256,"\u002Fmechanics\u002Fdynamics\u002Ffriction-and-curved-motion":13257,"\u002Fmechanics\u002Fdynamics\u002Fnumerical-dynamics":13258,"\u002Fmechanics\u002Fdynamics\u002Fcenter-of-mass-systems":13259,"\u002Fmechanics\u002Fenergy\u002Fwork-and-kinetic-energy":13260,"\u002Fmechanics\u002Fenergy\u002Fpotential-energy":13261,"\u002Fmechanics\u002Fenergy\u002Fmultiparticle-work":13262,"\u002Fmechanics\u002Fenergy\u002Fmass-energy-and-binding":13263,"\u002Fmechanics\u002Fenergy\u002Fphotons-and-quantization":13264,"\u002Fmechanics\u002Fmomentum\u002Fmomentum-and-collisions":13265,"\u002Fmechanics\u002Fmomentum\u002Fcenter-of-mass-collisions":13266,"\u002Fmechanics\u002Fmomentum\u002Frocket-propulsion":13267,"\u002Fmechanics\u002Frotation\u002Frotational-inertia":13268,"\u002Fmechanics\u002Frotation\u002Frotational-dynamics":13269,"\u002Fmechanics\u002Frotation\u002Frolling-motion":13270,"\u002Fmechanics\u002Frotation\u002Fangular-momentum":13271,"\u002Fmechanics\u002Frotation\u002Frolling-resistance":13272,"\u002Fmechanics\u002Frotation\u002Fgyroscopic-precession":13273,"\u002Fmechanics\u002Fgravity-and-matter\u002Fkeplerian-orbits":13274,"\u002Fmechanics\u002Fgravity-and-matter\u002Fgravitational-fields":13275,"\u002Fmechanics\u002Fgravity-and-matter\u002Fstatic-equilibrium":13276,"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-statics":13277,"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-flow":13278,"\u002Fmechanics\u002Fgravity-and-matter\u002Forbital-motion":13279,"\u002Fmechanics\u002Fgravity-and-matter\u002Fstress-and-elasticity":13280,"\u002Fmechanics\u002Foscillations-waves\u002Fdamped-oscillators":13281,"\u002Fmechanics\u002Foscillations-waves\u002Ftravelling-waves":13282,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-superposition":13283,"\u002Fmechanics\u002Foscillations-waves\u002Fstanding-waves":13284,"\u002Fmechanics\u002Foscillations-waves\u002Fsound-waves":13285,"\u002Fmechanics\u002Foscillations-waves\u002Fdoppler-effect":13286,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-packets":13287,"\u002Fmechanics\u002Foscillations-waves\u002Fbeats-and-coupling":13288,"\u002Fmechanics\u002Foscillations-waves\u002Fsimple-harmonic-motion":13289,"\u002Fmechanics\u002Foscillations-waves\u002Fpendulum-motion":13290,"\u002Fmechanics\u002Foscillations-waves\u002Fdriven-oscillators":13291,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-boundaries":13292,"\u002Fmechanics\u002Fthermodynamics\u002Fkinetic-theory-of-ideal-gases":13293,"\u002Fmechanics\u002Fthermodynamics\u002Ffirst-law-of-thermodynamics":13294,"\u002Fmechanics\u002Fthermodynamics\u002Fentropy-and-the-second-law":13295,"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-processes":13296,"\u002Fmechanics\u002Fthermodynamics\u002Fphase-changes":13297,"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-machines":13298,"\u002Fmechanics":2274,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcharge-and-conductors":13299,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcoulombs-law":13300,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-and-force":13301,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-maps":13302,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-dipoles":13303,"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fcontinuous-charge-fields":13304,"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fgauss-law-and-conductors":13305,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpoint-charge-potential":13306,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpotential-gradients-and-equipotentials":13307,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Felectrostatic-energy-and-pressure":13308,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Flaplace-boundary-problems":13309,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fcontinuous-charge-potentials":13310,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitance-fundamentals":13288,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-networks":13311,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-energy-and-force":13312,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fdielectric-polarization-and-breakdown":13313,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fcurrent-and-resistance":13284,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fkirchhoff-network-analysis":13151,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Frc-transients":13314,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-trajectories":13275,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fhall-effect":13315,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-force-on-conductors":13316,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-dipoles":13317,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmass-spectrometry":13318,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmoving-charge-fields":13319,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fbiot-savart-law":13320,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fcircular-current-loops":13321,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Famperes-law":13322,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fgauss-law-for-magnetism":13323,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmagnetic-materials":13249,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-flux":13324,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Ffaradays-law":13325,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Flenzs-law":13326,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmotional-emf":13327,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Feddy-currents":13328,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fself-inductance":13329,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-energy":13330,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Frl-circuits":13331,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-fundamentals":13267,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Freactance":13266,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Frlc-resonance":13332,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-power":13333,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Ftransformers":13334,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdisplacement-current":13335,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-waves":13336,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-momentum":13337,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdipole-radiation":13338,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fpolarization":13339,"\u002Felectricity-and-magnetism\u002Foptics\u002Freflection-and-refraction":13340,"\u002Felectricity-and-magnetism\u002Foptics\u002Fthin-lenses":13293,"\u002Felectricity-and-magnetism\u002Foptics\u002Fspherical-mirrors":13291,"\u002Felectricity-and-magnetism":2201,"\u002Flinear-algebra\u002Flinear-systems\u002Fsystems-and-echelon-forms":13341,"\u002Flinear-algebra\u002Flinear-systems\u002Fvector-and-matrix-equations":13342,"\u002Flinear-algebra\u002Flinear-systems\u002Fsolution-sets-and-applications":13343,"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-independence":13344,"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-transformations":13345,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-operations":13346,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-inverse-and-invertibility":13347,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fpartitioned-matrices-and-lu":13348,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fsubspaces-dimension-rank":13349,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fapplications-leontief-and-graphics":13202,"\u002Flinear-algebra\u002Fdeterminants\u002Fdeterminants-and-cofactors":13350,"\u002Flinear-algebra\u002Fdeterminants\u002Fproperties-of-determinants":13351,"\u002Flinear-algebra\u002Fdeterminants\u002Fcramer-volume-and-area":13206,"\u002Flinear-algebra\u002Fvector-spaces\u002Fvector-spaces-and-subspaces":13352,"\u002Flinear-algebra\u002Fvector-spaces\u002Fnull-and-column-spaces":13353,"\u002Flinear-algebra\u002Fvector-spaces\u002Fbases-and-independent-sets":13354,"\u002Flinear-algebra\u002Fvector-spaces\u002Fcoordinate-systems":13355,"\u002Flinear-algebra\u002Fvector-spaces\u002Fdimension-and-rank":13356,"\u002Flinear-algebra\u002Fvector-spaces\u002Fchange-of-basis":13357,"\u002Flinear-algebra\u002Fvector-spaces\u002Fdifference-equations-and-markov":13358,"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-eigenvalues":13359,"\u002Flinear-algebra\u002Feigenvalues\u002Fthe-characteristic-equation":13360,"\u002Flinear-algebra\u002Feigenvalues\u002Fdiagonalization":13361,"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-linear-transformations":13362,"\u002Flinear-algebra\u002Feigenvalues\u002Fcomplex-eigenvalues":13363,"\u002Flinear-algebra\u002Feigenvalues\u002Fdynamical-systems":13364,"\u002Flinear-algebra\u002Feigenvalues\u002Fpower-method":13365,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-length-orthogonality":13366,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Forthogonal-sets-and-projections":13367,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fgram-schmidt-and-qr":13368,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-problems":13369,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-applications":13370,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-spaces":13371,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fdiagonalizing-symmetric-matrices":13241,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fquadratic-forms":13372,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fconstrained-optimization":13373,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsingular-value-decomposition":13374,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsvd-applications-pca-imaging":13375,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-thinking-and-matrix-computation":13376,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Flu-and-cholesky":13377,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fconditioning-and-floating-point":13378,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fstability-and-error-analysis":13379,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fqr-and-numerical-least-squares":13380,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-eigenvalues-and-svd":13381,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-combinations":13382,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-independence-and-barycentric-coordinates":13383,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fconvex-combinations-and-convex-sets":13384,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fhyperplanes-and-polytopes":13385,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fcurves-and-surfaces":13386,"\u002Flinear-algebra":2300,"\u002Ftheory-of-computation":13387,"\u002Fcomputer-architecture\u002Ffoundations\u002Fbits-bytes-and-words":13388,"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-representation":13389,"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-arithmetic":13390,"\u002Fcomputer-architecture\u002Ffoundations\u002Ffloating-point":13391,"\u002Fcomputer-architecture\u002Ffoundations\u002Fboolean-algebra-and-bit-manipulation":13392,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fthe-machines-view":13393,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fdata-movement":13394,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farithmetic-and-logic":13395,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fcontrol-flow":13396,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fprocedures":13397,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farrays-structs-and-alignment":13398,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fmemory-layout-and-buffer-overflows":13399,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fwhat-an-isa-is":13400,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Finstruction-formats-and-operands":13401,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Faddressing-modes":13402,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fthe-y86-64-instruction-set":13403,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fy86-64-programming":13404,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Ftransistors-gates-and-boolean-functions":13405,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fcombinational-logic-and-hcl":13406,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmultiplexers-decoders-and-the-alu":13407,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmemory-elements-latches-flip-flops-and-clocking":13408,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fregister-files-and-random-access-memory":13409,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-fetch-decode-execute-cycle":13410,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-seq-stages":13411,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fcontrol-logic-and-sequencing":13412,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fassembling-seq":13413,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Ftracing-a-program":13414,"\u002Fcomputer-architecture\u002Fpipelining\u002Fpipelining-principles":13415,"\u002Fcomputer-architecture\u002Fpipelining\u002Ffrom-seq-to-pipe":13416,"\u002Fcomputer-architecture\u002Fpipelining\u002Fdata-hazards-stalling-and-forwarding":13417,"\u002Fcomputer-architecture\u002Fpipelining\u002Fcontrol-hazards-and-branch-prediction":13418,"\u002Fcomputer-architecture\u002Fpipelining\u002Fthe-complete-pipe-processor":13419,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fstorage-technologies-and-the-latency-gap":13420,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Flocality":13421,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-memories-direct-mapped":13422,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fset-associative-and-write-policies":13423,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-performance-and-cache-friendly-code":13424,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Faddress-spaces-and-translation":13425,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fpage-tables-and-page-faults":13426,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fthe-tlb-and-multi-level-page-tables":13427,"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Fexceptional-control-flow":13428,"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Finterrupts-and-the-kernel":13429,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fprocesses-threads-and-parallelism":13430,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fhardware-multithreading":13431,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fcache-coherence":13432,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmemory-consistency-and-synchronization":13433,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmulticore-organization":13434,"\u002Fcomputer-architecture\u002Fcapstone\u002Fthe-whole-machine":13435,"\u002Fcomputer-architecture\u002Fcapstone\u002Fassembling-a-complete-cpu":13436,"\u002Fcomputer-architecture":13387,"\u002Fdifferential-equations\u002Ffoundations\u002Fmodels-and-direction-fields":13437,"\u002Fdifferential-equations\u002Ffoundations\u002Fclassification-and-terminology":13438,"\u002Fdifferential-equations\u002Ffirst-order\u002Flinear-first-order-integrating-factors":13439,"\u002Fdifferential-equations\u002Ffirst-order\u002Fseparable-and-exact":13206,"\u002Fdifferential-equations\u002Ffirst-order\u002Fmodeling-first-order":13440,"\u002Fdifferential-equations\u002Ffirst-order\u002Fautonomous-and-population-dynamics":13205,"\u002Fdifferential-equations\u002Ffirst-order\u002Fexistence-uniqueness-euler":13212,"\u002Fdifferential-equations\u002Ffirst-order\u002Ffirst-order-difference-equations":13441,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhomogeneous-constant-coefficients":13442,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fcomplex-and-repeated-roots":13246,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fnonhomogeneous-undetermined-coefficients":13443,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fvariation-of-parameters":13444,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fmechanical-electrical-vibrations":13445,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhigher-order-linear":13446,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fpower-series-ordinary-points":13447,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fregular-singular-frobenius":13448,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fbessel-and-special-functions":13449,"\u002Fdifferential-equations\u002Flaplace\u002Flaplace-definition-ivps":13450,"\u002Fdifferential-equations\u002Flaplace\u002Fstep-impulse-convolution":13451,"\u002Fdifferential-equations\u002Fsystems\u002Fmatrices-eigenvalues-review":13452,"\u002Fdifferential-equations\u002Fsystems\u002Fconstant-coefficient-systems-phase-portraits":13453,"\u002Fdifferential-equations\u002Fsystems\u002Frepeated-eigenvalues-fundamental-matrices":13454,"\u002Fdifferential-equations\u002Fnumerical\u002Feuler-and-runge-kutta":13449,"\u002Fdifferential-equations\u002Fnumerical\u002Fmultistep-systems-stability":13455,"\u002Fdifferential-equations\u002Fnonlinear\u002Fphase-plane-autonomous-stability":13456,"\u002Fdifferential-equations\u002Fnonlinear\u002Flocally-linear-and-liapunov":13457,"\u002Fdifferential-equations\u002Fnonlinear\u002Fcompeting-species-predator-prey-limit-cycles":13458,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Ffourier-series":13459,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fheat-wave-laplace-equations":13460,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fsturm-liouville":13461,"\u002Fdifferential-equations\u002Fhistory-variations\u002Fcalculus-of-variations":13462,"\u002Fdifferential-equations\u002Fhistory-variations\u002Fhistorical-notes":13463,"\u002Fdifferential-equations":2503,"\u002Frelativity\u002Ffoundations\u002Fspecial-relativity-postulates":13464,"\u002Frelativity\u002Ffoundations\u002Florentz-transformation-spacetime":13465,"\u002Frelativity\u002Ffoundations\u002Ftime-dilation-length-contraction":13466,"\u002Frelativity\u002Ffoundations\u002Frelativistic-momentum-energy":13467,"\u002Frelativity\u002Ffoundations\u002Fgeneral-relativity":13348,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fminkowski-spacetime-and-the-interval":13468,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Ffour-vectors-and-index-notation":13469,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fthe-lorentz-group-and-rapidity":13470,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fdoppler-aberration-and-appearance":13471,"\u002Frelativity\u002Frelativistic-dynamics\u002Ffour-momentum-force-and-accelerated-motion":13472,"\u002Frelativity\u002Frelativistic-dynamics\u002Fparticle-decays-and-two-body-kinematics":13473,"\u002Frelativity\u002Frelativistic-dynamics\u002Fcollisions-thresholds-and-the-cm-frame":13221,"\u002Frelativity\u002Frelativistic-dynamics\u002Fmandelstam-variables-and-invariants":13474,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ffour-current-and-the-four-potential":13475,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fthe-electromagnetic-field-tensor":13476,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ftransformation-of-electric-and-magnetic-fields":13477,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fcovariant-maxwell-and-the-stress-energy-tensor":13478,"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-equivalence-principle-formalized":13479,"\u002Frelativity\u002Fcurved-spacetime\u002Fmanifolds-vectors-and-the-metric":13480,"\u002Frelativity\u002Fcurved-spacetime\u002Fcovariant-derivative-and-christoffel-symbols":13481,"\u002Frelativity\u002Fcurved-spacetime\u002Fgeodesics-and-the-geodesic-equation":13482,"\u002Frelativity\u002Fcurved-spacetime\u002Fcurvature-riemann-and-geodesic-deviation":13483,"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-einstein-field-equations":13439,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fthe-schwarzschild-metric":13484,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fgeodesics-and-orbits-in-schwarzschild":13485,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Flight-bending-and-null-geodesics":13486,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fperihelion-precession-of-mercury":13487,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fdeflection-of-light-and-gravitational-lensing":13488,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fgravitational-redshift-and-shapiro-delay":13369,"\u002Frelativity\u002Ftests-of-general-relativity\u002Frelativity-in-technology-gps":13489,"\u002Frelativity\u002Fblack-holes\u002Fhorizons-and-coordinate-singularities":13490,"\u002Frelativity\u002Fblack-holes\u002Frotating-and-charged-black-holes":13379,"\u002Frelativity\u002Fblack-holes\u002Fblack-hole-thermodynamics":13491,"\u002Frelativity\u002Fgravitational-waves\u002Flinearized-gravity-and-wave-solutions":13492,"\u002Frelativity\u002Fgravitational-waves\u002Fgeneration-and-the-quadrupole-formula":13493,"\u002Frelativity\u002Fgravitational-waves\u002Fdetection-ligo-and-the-first-events":13494,"\u002Frelativity\u002Fcosmological-bridge\u002Fthe-cosmological-principle-and-flrw-metric":13495,"\u002Frelativity\u002Fcosmological-bridge\u002Ffriedmann-equations-and-cosmic-dynamics":13496,"\u002Frelativity":2462,"\u002Fphysical-computing":13387,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fblackbody-radiation-and-the-planck-quantum":13497,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-photoelectric-effect-and-the-photon":13477,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fx-rays-and-the-compton-effect":13498,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-old-quantum-theory-bohr-and-sommerfeld":13499,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fde-broglie-waves-and-electron-diffraction":13500,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fwave-packets-and-the-probability-interpretation":13501,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fthe-uncertainty-principle":13502,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-schrodinger-equation-in-one-dimension":13503,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-free-particle-and-wave-packet-dynamics":13504,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fparticle-in-infinite-and-finite-square-wells":13454,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Foperators-expectation-values-and-the-harmonic-oscillator":13379,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-dirac-delta-potential":13505,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fbarrier-penetration-and-quantum-tunneling":13506,"\u002Fquantum-mechanics\u002Fformalism\u002Fhilbert-space-and-dirac-notation":13507,"\u002Fquantum-mechanics\u002Fformalism\u002Fobservables-hermitian-operators-and-eigenvalues":13508,"\u002Fquantum-mechanics\u002Fformalism\u002Fthe-postulates-and-quantum-measurement":13504,"\u002Fquantum-mechanics\u002Fformalism\u002Fposition-momentum-and-continuous-spectra":13509,"\u002Fquantum-mechanics\u002Fformalism\u002Fcommutators-and-the-generalized-uncertainty-principle":13485,"\u002Fquantum-mechanics\u002Fformalism\u002Ftime-evolution-schrodinger-and-heisenberg-pictures":13243,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fladder-operators-and-the-number-states":13510,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fcoherent-and-squeezed-states":13511,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fsymmetries-generators-and-conservation-laws":13223,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fparity-time-reversal-and-discrete-symmetries":13512,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Forbital-angular-momentum-and-spherical-harmonics":13513,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Fthe-angular-momentum-algebra":13514,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Faddition-of-angular-momenta-and-clebsch-gordan":13515,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-schrodinger-equation-in-three-dimensions":13516,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-hydrogen-atom":13517,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-isotropic-oscillator-and-hidden-symmetry":13518,"\u002Fquantum-mechanics\u002Fspin\u002Fspin-half-pauli-matrices-and-stern-gerlach":13519,"\u002Fquantum-mechanics\u002Fspin\u002Fspin-in-a-magnetic-field-precession-and-resonance":13520,"\u002Fquantum-mechanics\u002Fspin\u002Ftwo-level-systems-and-the-bloch-sphere":13477,"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fidentical-particles-and-exchange-symmetry":13521,"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fthe-pauli-principle-atoms-and-the-periodic-table":13522,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ftime-independent-perturbation-theory":13523,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ffine-structure-and-the-real-hydrogen-atom":13510,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-zeeman-and-stark-effects":13204,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-variational-method":13524,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-wkb-approximation":13525,"\u002Fquantum-mechanics":2290,"\u002Freal-analysis\u002Ffoundations\u002Fsets-logic-functions":13462,"\u002Freal-analysis\u002Ffoundations\u002Fordered-fields-completeness":13526,"\u002Freal-analysis\u002Ffoundations\u002Fabsolute-value-bounds":13527,"\u002Freal-analysis\u002Ffoundations\u002Fintervals-uncountability":13352,"\u002Freal-analysis\u002Fsequences-series\u002Fsequences-limits":13528,"\u002Freal-analysis\u002Fsequences-series\u002Flimit-laws-monotone":13241,"\u002Freal-analysis\u002Fsequences-series\u002Flimsup-bolzano-weierstrass":13529,"\u002Freal-analysis\u002Fsequences-series\u002Fcauchy-completeness":13530,"\u002Freal-analysis\u002Fsequences-series\u002Fseries-convergence":13375,"\u002Freal-analysis\u002Fsequences-series\u002Fabsolute-conditional-rearrangement":13483,"\u002Freal-analysis\u002Fmetric-spaces\u002Fmetric-spaces-norms":13531,"\u002Freal-analysis\u002Fmetric-spaces\u002Fopen-closed-sets":13532,"\u002Freal-analysis\u002Fmetric-spaces\u002Fconvergence-completeness":13533,"\u002Freal-analysis\u002Fmetric-spaces\u002Fcompactness":13534,"\u002Freal-analysis\u002Fmetric-spaces\u002Fconnectedness":13535,"\u002Freal-analysis\u002Fcontinuity\u002Flimits-of-functions":13509,"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuous-functions":13536,"\u002Freal-analysis\u002Fcontinuity\u002Fevt-ivt":13345,"\u002Freal-analysis\u002Fcontinuity\u002Funiform-continuity":13537,"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuity-metric-spaces":13538,"\u002Freal-analysis\u002Fcontinuity\u002Flimits-infinity-monotone":13202,"\u002Freal-analysis\u002Fdifferentiation\u002Fthe-derivative":13539,"\u002Freal-analysis\u002Fdifferentiation\u002Fmean-value-theorem":13540,"\u002Freal-analysis\u002Fdifferentiation\u002Ftaylors-theorem":13498,"\u002Freal-analysis\u002Fdifferentiation\u002Finverse-function-1d":13231,"\u002Freal-analysis\u002Friemann-integration\u002Fdarboux-integral":13379,"\u002Freal-analysis\u002Friemann-integration\u002Fintegrability-classes":13541,"\u002Freal-analysis\u002Friemann-integration\u002Fproperties-of-the-integral":13542,"\u002Freal-analysis\u002Friemann-integration\u002Ffundamental-theorem":13364,"\u002Freal-analysis\u002Friemann-integration\u002Flog-exp-improper":13487,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpointwise-uniform-convergence":13543,"\u002Freal-analysis\u002Ffunction-sequences\u002Finterchange-of-limits":13544,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpower-series-weierstrass":13545,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpicard-ode":13384,"\u002Freal-analysis\u002Fseveral-variables\u002Fdifferentiability-rn":13546,"\u002Freal-analysis\u002Fseveral-variables\u002Fgradient-chain-rule":13547,"\u002Freal-analysis\u002Fseveral-variables\u002Fhigher-derivatives-taylor-extrema":13548,"\u002Freal-analysis\u002Fseveral-variables\u002Finverse-implicit-theorems":13548,"\u002Freal-analysis\u002Fseveral-variables\u002Fmultiple-integrals":13549,"\u002Freal-analysis":2310,"\u002Fabstract-algebra\u002Ffoundations\u002Fsets-functions-relations":13550,"\u002Fabstract-algebra\u002Ffoundations\u002Fintegers-and-modular-arithmetic":13551,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fgroup-axioms-and-first-examples":13552,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fdihedral-and-symmetric-groups":13553,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fmatrix-and-quaternion-groups":13554,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fhomomorphisms-and-group-actions":13555,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fsubgroups-and-substructures":13556,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcyclic-groups":13557,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fgeneration-and-subgroup-lattices":13558,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcosets-lagrange-and-normal-subgroups":13559,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fisomorphism-theorems":13525,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcomposition-series-and-the-alternating-group":13560,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Factions-and-cayleys-theorem":13552,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fconjugation-and-the-class-equation":13472,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fsylow-theorems":13561,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fautomorphisms-and-simple-groups":13562,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fdirect-products-and-finite-abelian-groups":13563,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fsemidirect-products":13564,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fnilpotent-and-solvable-groups":13565,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fclassifying-small-groups":13566,"\u002Fabstract-algebra\u002Fring-theory\u002Frings-definitions-and-examples":13567,"\u002Fabstract-algebra\u002Fring-theory\u002Fideals-quotients-and-homomorphisms":13568,"\u002Fabstract-algebra\u002Fring-theory\u002Ffractions-and-the-chinese-remainder-theorem":13562,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Feuclidean-domains-pids-ufds":13569,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fpolynomial-rings-over-fields":13539,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fgauss-lemma-and-unique-factorization":13570,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Firreducibility-criteria-and-groebner":13571,"\u002Fabstract-algebra\u002Fmodule-theory\u002Fintroduction-to-modules":13572,"\u002Fabstract-algebra\u002Fmodule-theory\u002Ffree-modules-and-direct-sums":13573,"\u002Fabstract-algebra\u002Fmodule-theory\u002Ftensor-products-and-exact-sequences":13574,"\u002Fabstract-algebra\u002Fmodule-theory\u002Fvector-spaces-and-linear-maps":13575,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fstructure-theorem-over-pids":13576,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Frational-canonical-form":13577,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fjordan-canonical-form":13578,"\u002Fabstract-algebra\u002Ffield-theory\u002Ffield-extensions-and-algebraic-elements":13579,"\u002Fabstract-algebra\u002Ffield-theory\u002Fstraightedge-and-compass-constructions":13220,"\u002Fabstract-algebra\u002Ffield-theory\u002Fsplitting-fields-and-algebraic-closure":13580,"\u002Fabstract-algebra\u002Ffield-theory\u002Fseparable-and-cyclotomic-extensions":13581,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fthe-galois-correspondence":13458,"\u002Fabstract-algebra\u002Fgalois-theory\u002Ffinite-fields":13582,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fcyclotomic-and-abelian-extensions":13583,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fgalois-groups-of-polynomials":13513,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fsolvability-by-radicals-and-the-quintic":13583,"\u002Fabstract-algebra\u002Fcapstone\u002Fcommutative-algebra-and-algebraic-geometry":13584,"\u002Fabstract-algebra\u002Fcapstone\u002Frepresentation-and-character-theory":13585,"\u002Fabstract-algebra":2622,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fatomic-spectra-rutherford":13586,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-model-hydrogen":13587,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fx-ray-spectra-franck-hertz":13588,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-sommerfeld-old-quantum-theory":13589,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fold-quantum-theory-limits-wkb":13590,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fschrodinger-3d-hydrogen":13505,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fhydrogen-wave-functions":13591,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fradial-equation-in-full":13592,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fsymmetry-degeneracy-runge-lenz":13593,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fexpectation-values-virial":13594,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fquantum-defects-alkali-spectra":13595,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Frydberg-atoms":13596,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Frelativistic-kinetic-correction":13597,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fspin-orbit-thomas-precession":13342,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdarwin-term-fine-structure-formula":13469,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdirac-equation-hydrogen":13220,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Flamb-shift-qed":13598,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fhyperfine-structure-21cm":13204,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fnuclear-effects-isotope-shift":13599,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fperiodic-table-atomic-spectra":13600,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fcentral-field-self-consistent":13242,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fidentical-particles-hartree-fock":13529,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhelium-two-electron-atom":13601,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fls-jj-coupling-term-symbols":13602,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhund-rules-ground-terms":13603,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fzeeman-effect":13604,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fpaschen-back-intermediate":13605,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fstark-effect-polarizability":13606,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Ftime-dependent-perturbation-golden-rule":13607,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fdipole-approximation-einstein-coefficients":13608,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fselection-rules-forbidden-transitions":13609,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Flifetimes-and-line-shapes":13610,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Flaser-principles":13611,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fspectroscopy-techniques":13612,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fline-catalog-nist-asd":13613,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Flaser-cooling-doppler":13614,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fsub-doppler-trapping":13559,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fbose-einstein-condensation":13615,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Foptical-clocks-precision":13616,"\u002Fatomic-physics":2323,"\u002Fdatabases":13387,"\u002Fcategory-theory\u002Ffoundations\u002Fwhat-is-a-category":13617,"\u002Fcategory-theory\u002Ffoundations\u002Fexamples-of-categories":13618,"\u002Fcategory-theory\u002Ffoundations\u002Fspecial-morphisms":13619,"\u002Fcategory-theory\u002Ffoundations\u002Ffunctors":13550,"\u002Fcategory-theory\u002Ffoundations\u002Fnatural-transformations":13620,"\u002Fcategory-theory\u002Ffoundations\u002Fsize-and-set-theory":13621,"\u002Fcategory-theory\u002Funiversal-properties\u002Funiversal-properties":13622,"\u002Fcategory-theory\u002Funiversal-properties\u002Fproducts-and-coproducts":13623,"\u002Fcategory-theory\u002Funiversal-properties\u002Fconstructions-on-categories":13624,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Frepresentable-functors":13625,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-lemma":13626,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-consequences":13627,"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits":13628,"\u002Fcategory-theory\u002Flimits-colimits\u002Fproducts-equalizers-pullbacks":13629,"\u002Fcategory-theory\u002Flimits-colimits\u002Fcolimits":13630,"\u002Fcategory-theory\u002Flimits-colimits\u002Fcomputing-limits":13631,"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits-and-functors":13632,"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions":13633,"\u002Fcategory-theory\u002Fadjunctions\u002Funits-and-counits":13634,"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions-via-universal-arrows":13635,"\u002Fcategory-theory\u002Fadjunctions\u002Ffree-forgetful-adjunctions":13636,"\u002Fcategory-theory\u002Fadjoints-limits\u002Flimits-via-adjoints":13637,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fpresheaf-limits-colimits":13638,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoints-preserve-limits":13639,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoint-functor-theorem":13630,"\u002Fcategory-theory\u002Fmonads-algebras\u002Fmonads":13640,"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-eilenberg-moore":13641,"\u002Fcategory-theory\u002Fmonads-algebras\u002Fkleisli-and-programming":13642,"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-for-endofunctors":13643,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Fcartesian-closed-categories":13644,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Flambda-calculus-correspondence":13590,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Ffixed-points-and-recursion":13645,"\u002Fcategory-theory":2486,"\u002Fdeep-learning\u002Fmathematical-background\u002Flinear-algebra-for-deep-learning":13646,"\u002Fdeep-learning\u002Fmathematical-background\u002Fprobability-and-information-theory":13647,"\u002Fdeep-learning\u002Fmathematical-background\u002Fnumerical-computation":13648,"\u002Fdeep-learning\u002Fmathematical-background\u002Fcalculus":13649,"\u002Fdeep-learning\u002Ffoundations\u002Fwhat-is-deep-learning":13650,"\u002Fdeep-learning\u002Ffoundations\u002Fmachine-learning-refresher":13651,"\u002Fdeep-learning\u002Ffoundations\u002Flinear-models-and-the-perceptron":13612,"\u002Fdeep-learning\u002Fneural-networks\u002Fthe-multilayer-perceptron":13652,"\u002Fdeep-learning\u002Fneural-networks\u002Factivation-functions":13653,"\u002Fdeep-learning\u002Fneural-networks\u002Funiversal-approximation":13654,"\u002Fdeep-learning\u002Fneural-networks\u002Fbackpropagation":13655,"\u002Fdeep-learning\u002Fneural-networks\u002Floss-functions-and-output-units":13656,"\u002Fdeep-learning\u002Foptimization\u002Fgradient-descent-and-sgd":13657,"\u002Fdeep-learning\u002Foptimization\u002Fmomentum-and-adaptive-methods":13658,"\u002Fdeep-learning\u002Foptimization\u002Finitialization":13659,"\u002Fdeep-learning\u002Foptimization\u002Fthe-optimization-landscape":13660,"\u002Fdeep-learning\u002Foptimization\u002Fsecond-order-and-approximate-methods":13661,"\u002Fdeep-learning\u002Fregularization\u002Fregularization-overview":13662,"\u002Fdeep-learning\u002Fregularization\u002Fdropout-and-data-augmentation":13663,"\u002Fdeep-learning\u002Fregularization\u002Fearly-stopping-and-parameter-sharing":13664,"\u002Fdeep-learning\u002Fregularization\u002Fnormalization":13665,"\u002Fdeep-learning\u002Farchitectures\u002Fconvolutional-networks":13666,"\u002Fdeep-learning\u002Farchitectures\u002Fcnn-architectures":13667,"\u002Fdeep-learning\u002Farchitectures\u002Frecurrent-networks":13668,"\u002Fdeep-learning\u002Farchitectures\u002Flstm-and-gru":13669,"\u002Fdeep-learning\u002Farchitectures\u002Fattention-and-transformers":13670,"\u002Fdeep-learning\u002Farchitectures\u002Fthe-transformer-architecture":13671,"\u002Fdeep-learning\u002Farchitectures\u002Ftransformers-in-practice":13672,"\u002Fdeep-learning\u002Farchitectures\u002Fgraph-neural-networks":13673,"\u002Fdeep-learning\u002Farchitectures\u002Fstate-space-models":13674,"\u002Fdeep-learning\u002Ftheory\u002Fgeneralization-theory":13675,"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-robustness":13676,"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-defenses":13677,"\u002Fdeep-learning\u002Ftheory\u002Fbayesian-and-ensemble-methods":13678,"\u002Fdeep-learning\u002Ftheory\u002Fdeep-equilibrium-models":13623,"\u002Fdeep-learning\u002Fgenerative-models\u002Flinear-factor-models":13679,"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoencoders":13680,"\u002Fdeep-learning\u002Fgenerative-models\u002Fvariational-autoencoders":13681,"\u002Fdeep-learning\u002Fgenerative-models\u002Fgenerative-adversarial-networks":13682,"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoregressive-and-normalizing-flows":13683,"\u002Fdeep-learning\u002Fgenerative-models\u002Fenergy-based-and-boltzmann-machines":13684,"\u002Fdeep-learning\u002Fgenerative-models\u002Fdiffusion-and-score-based-models":13685,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fstructured-probabilistic-models":13186,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fmonte-carlo-and-mcmc":13686,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fapproximate-inference":13687,"\u002Fdeep-learning\u002Fpractical\u002Fpractical-methodology":13417,"\u002Fdeep-learning\u002Fpractical\u002Fhyperparameters-and-debugging":13688,"\u002Fdeep-learning\u002Fpractical\u002Frepresentation-learning":13689,"\u002Fdeep-learning\u002Fpractical\u002Ftransfer-learning":13690,"\u002Fdeep-learning\u002Fpractical\u002Fapplications":13691,"\u002Fdeep-learning\u002Fpractical\u002Fmodel-compression-and-distillation":13692,"\u002Fdeep-learning\u002Fpractical\u002Fmeta-learning-and-few-shot":13693,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Flarge-language-models":13694,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fscaling-inference-and-alignment":13695,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fseq2seq-pretraining-and-bart":13696,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ftext-to-text-transfer-and-conditional-generation":13697,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fspeech-and-audio-models":13698,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fself-supervised-speech-and-synthesis":13699,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fai-agents":13390,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fagent-memory-retrieval-and-orchestration":13700,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmixture-of-experts":13701,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmultimodal-models":13702,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ffusion-and-vision-language-models":13703,"\u002Fdeep-learning\u002Freinforcement-learning\u002Ffoundations-of-reinforcement-learning":13427,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fmodel-free-prediction-and-control":13704,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fdeep-q-networks":13705,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fpolicy-gradients-and-actor-critic":13706,"\u002Fdeep-learning\u002Freinforcement-learning\u002Frl-from-human-feedback":13707,"\u002Fdeep-learning":13387,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fequilibrium-state-variables-zeroth-law":13708,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Ffirst-law-heat-and-work":13510,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fsecond-law-entropy-and-the-carnot-bound":13709,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fthermodynamic-potentials-and-maxwell-relations":13710,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fstability-response-functions-and-the-third-law":13711,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fclassical-statistics-and-equipartition":13712,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fphase-space-and-liouvilles-theorem":13713,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fensembles-and-the-equal-probability-postulate":13714,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fstatistical-entropy-boltzmann-and-gibbs":13715,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fmicrocanonical-ensemble-and-entropy":13716,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fequilibrium-conditions-temperature-pressure-chemical-potential":13555,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fideal-gas-phase-space-and-the-sackur-tetrode-entropy":13717,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Ftwo-state-systems-paramagnets-and-negative-temperature":13718,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fcanonical-ensemble-and-the-boltzmann-distribution":13719,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fpartition-function-and-the-helmholtz-free-energy":13446,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fenergy-fluctuations-and-ensemble-equivalence":13243,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fthe-einstein-solid-and-harmonic-systems":13720,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fparamagnetism-and-the-schottky-anomaly":13721,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fideal-gas-partition-function-and-the-gibbs-paradox":13722,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fequipartition-and-the-virial-theorem":13374,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fmolecular-gases-rotation-and-vibration":13723,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fgrand-canonical-ensemble-and-the-grand-partition-function":13724,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fchemical-potential-fugacity-and-number-fluctuations":13451,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fensemble-summary-and-the-thermodynamic-web":13379,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fquantum-statistics-bose-einstein-and-fermi-dirac":13725,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fderiving-the-quantum-distributions":13348,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fthe-classical-limit-and-quantum-concentration":13221,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fideal-quantum-gases-general-framework":13237,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-and-the-fermion-gas":13726,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthe-photon-gas-and-plancks-radiation-law":13727,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fblackbody-thermodynamics-and-radiation-pressure":13728,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fphonons-and-the-debye-model":13366,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-derived":13729,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthermodynamics-of-the-bose-gas-and-superfluidity":13231,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fthe-ideal-fermi-gas-at-zero-temperature":13730,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fsommerfeld-expansion-and-electrons-in-metals":13731,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fwhite-dwarfs-and-the-chandrasekhar-limit":13732,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fneutron-stars-and-nuclear-matter":13733,"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-cluster-expansion-and-virial-coefficients":13557,"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-van-der-waals-gas-and-liquid-gas-coexistence":13734,"\u002Fstatistical-mechanics\u002Finteractions\u002Fquantum-gases-with-interactions-and-exchange":13735,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fphases-coexistence-and-classification":13736,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-ising-model-and-exact-solutions":13737,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fmean-field-theory-and-the-weiss-model":13505,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fcritical-exponents-and-landau-theory":13738,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-renormalization-group-idea":13484,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fthermodynamic-fluctuations-and-response":13739,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fbrownian-motion-and-the-langevin-equation":13347,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Flinear-response-and-the-fluctuation-dissipation-theorem":13740,"\u002Fstatistical-mechanics":2315,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fbonding-mechanisms":13741,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fmolecular-orbitals-and-h2-plus":13216,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fhydrogen-molecule-and-exchange":13471,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fvan-der-waals-forces":13742,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Frotational-vibrational-spectra":13743,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Fanharmonicity-and-rovibrational-structure":13744,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Framan-and-electronic-bands":13745,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Flasers-and-masers":13746,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fstructure-of-solids":13747,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fbravais-lattices-and-crystal-systems":13346,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Freciprocal-lattice-and-brillouin-zones":13748,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fdiffraction-and-structure-factors":13749,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonon-dispersion":13750,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonons-quantization-and-dos":13751,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fdebye-einstein-heat-capacity":13487,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fanharmonicity-and-thermal-transport":13752,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ffree-electron-gas-and-conduction":13753,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fsommerfeld-model-and-heat-capacity":13754,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ftransport-and-the-hall-effect":13755,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fscreening-and-plasmons":13756,"\u002Fcondensed-matter\u002Fband-theory\u002Fblochs-theorem-and-energy-bands":13540,"\u002Fcondensed-matter\u002Fband-theory\u002Fnearly-free-electron-model":13486,"\u002Fcondensed-matter\u002Fband-theory\u002Ftight-binding-method":13757,"\u002Fcondensed-matter\u002Fband-theory\u002Ffermi-surfaces-and-semiclassical-dynamics":13758,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fsemiconductor-bands-and-junctions":13759,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fintrinsic-and-extrinsic-semiconductors":13760,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fcarrier-transport-and-recombination":13477,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fthe-pn-junction":13761,"\u002Fcondensed-matter\u002Fsemiconductors\u002Ftransistors-and-optoelectronics":13762,"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fdielectrics-and-polarization":13708,"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fferroelectrics-and-piezoelectrics":13610,"\u002Fcondensed-matter\u002Fmagnetism\u002Fdiamagnetism-and-paramagnetism":13343,"\u002Fcondensed-matter\u002Fmagnetism\u002Fexchange-and-ferromagnetism":13763,"\u002Fcondensed-matter\u002Fmagnetism\u002Fantiferromagnetism-and-domains":13212,"\u002Fcondensed-matter\u002Fmagnetism\u002Fspin-waves-and-magnons":13764,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fsuperconductivity-phenomenology":13765,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Flondon-theory-and-the-meissner-effect":13354,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fginzburg-landau-theory":13766,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fbcs-theory":13603,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fjosephson-and-high-tc":13767,"\u002Fcondensed-matter\u002Fnanostructures\u002Fquantum-wells-wires-and-dots":13204,"\u002Fcondensed-matter\u002Fnanostructures\u002Finteger-quantum-hall-effect":13768,"\u002Fcondensed-matter\u002Fnanostructures\u002Ffractional-quantum-hall-and-topology":13215,"\u002Fcondensed-matter\u002Fnanostructures\u002Fgraphene-and-dirac-materials":13769,"\u002Fcondensed-matter":2290,"\u002Flogic\u002Ffoundations\u002Flogic-as-a-mathematical-model":13770,"\u002Flogic\u002Fsentential-logic\u002Fformal-languages-and-well-formed-formulas":13771,"\u002Flogic\u002Fsentential-logic\u002Ftruth-assignments-and-tautologies":13772,"\u002Flogic\u002Fsentential-logic\u002Funique-readability-and-parsing":13773,"\u002Flogic\u002Fsentential-logic\u002Finduction-and-recursion":13229,"\u002Flogic\u002Fsentential-logic\u002Fexpressive-completeness-and-normal-forms":13774,"\u002Flogic\u002Fsentential-logic\u002Fboolean-circuits":13775,"\u002Flogic\u002Fsentential-logic\u002Fcompactness-and-effectiveness":13229,"\u002Flogic\u002Ffirst-order-languages\u002Ffirst-order-languages":13776,"\u002Flogic\u002Ffirst-order-languages\u002Fstructures-truth-and-satisfaction":13632,"\u002Flogic\u002Ffirst-order-languages\u002Fdefinability-and-elementary-equivalence":13777,"\u002Flogic\u002Ffirst-order-languages\u002Fterms-substitution-and-parsing":13778,"\u002Flogic\u002Fdeductive-calculus\u002Fa-deductive-calculus":13779,"\u002Flogic\u002Fdeductive-calculus\u002Fdeduction-theorem-and-derived-rules":13777,"\u002Flogic\u002Fdeductive-calculus\u002Fsoundness":13780,"\u002Flogic\u002Fdeductive-calculus\u002Fcompleteness-and-consistency":13781,"\u002Flogic\u002Fmodels-and-theories\u002Fcompactness-and-lowenheim-skolem":13782,"\u002Flogic\u002Fmodels-and-theories\u002Ftheories-elementary-classes-and-categoricity":13783,"\u002Flogic\u002Fmodels-and-theories\u002Finterpretations-between-theories":13784,"\u002Flogic\u002Fmodels-and-theories\u002Fnonstandard-analysis":13785,"\u002Flogic\u002Farithmetic-and-definability\u002Fdefinability-in-arithmetic":13786,"\u002Flogic\u002Farithmetic-and-definability\u002Fnatural-numbers-with-successor":13787,"\u002Flogic\u002Farithmetic-and-definability\u002Fpresburger-and-reducts":13709,"\u002Flogic\u002Farithmetic-and-definability\u002Fa-subtheory-and-representability":13788,"\u002Flogic\u002Fincompleteness\u002Farithmetization-of-syntax":13781,"\u002Flogic\u002Fincompleteness\u002Fincompleteness-and-undecidability":13789,"\u002Flogic\u002Fincompleteness\u002Fsecond-incompleteness-theorem":13790,"\u002Flogic\u002Fcomputability-and-representability\u002Frecursive-functions":13431,"\u002Flogic\u002Fcomputability-and-representability\u002Frepresenting-exponentiation":13791,"\u002Flogic\u002Fsecond-order-logic\u002Fsecond-order-languages":13611,"\u002Flogic\u002Fsecond-order-logic\u002Fskolem-functions-and-many-sorted-logic":13792,"\u002Flogic\u002Fsecond-order-logic\u002Fgeneral-structures":13793,"\u002Flogic":2266,"\u002Freinforcement-learning\u002Ffoundations\u002Fwhat-is-reinforcement-learning":13794,"\u002Freinforcement-learning\u002Ffoundations\u002Fa-brief-history-of-rl":13795,"\u002Freinforcement-learning\u002Ffoundations\u002Fmulti-armed-bandits":13417,"\u002Freinforcement-learning\u002Ffoundations\u002Fbandit-exploration-algorithms":13796,"\u002Freinforcement-learning\u002Ffoundations\u002Fmarkov-decision-processes":13797,"\u002Freinforcement-learning\u002Ffoundations\u002Fvalue-functions-and-optimality":13798,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdynamic-programming":13799,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdp-async-and-gpi":13790,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-methods":13800,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-off-policy":13801,"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftemporal-difference-learning":13802,"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftd-control-sarsa-and-q-learning":13702,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-bootstrapping":13803,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-off-policy-methods":13804,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-and-learning":13805,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-focusing-and-decision-time":13806,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdecision-time-planning":13807,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-tree-search":13434,"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-prediction":13808,"\u002Freinforcement-learning\u002Fapproximation\u002Ffeature-construction-and-nonlinear":13809,"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-control":13810,"\u002Freinforcement-learning\u002Fapproximation\u002Faverage-reward-control":13811,"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-and-the-deadly-triad":13619,"\u002Freinforcement-learning\u002Fapproximation\u002Fbellman-error-and-gradient-td":13812,"\u002Freinforcement-learning\u002Fapproximation\u002Feligibility-traces":13789,"\u002Freinforcement-learning\u002Fapproximation\u002Ftrue-online-and-sarsa-lambda":13813,"\u002Freinforcement-learning\u002Fapproximation\u002Fpolicy-gradient-methods":13814,"\u002Freinforcement-learning\u002Fapproximation\u002Factor-critic-and-continuous-actions":13815,"\u002Freinforcement-learning\u002Fapproximation\u002Fleast-squares-and-memory-based-methods":13445,"\u002Freinforcement-learning\u002Fapproximation\u002Fmemory-and-kernel-methods":13816,"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-eligibility-traces":13571,"\u002Freinforcement-learning\u002Fapproximation\u002Fstable-off-policy-traces":13817,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdeep-q-networks":13818,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdqn-improvements":13407,"\u002Freinforcement-learning\u002Fdeep-rl\u002Factor-critic-and-ppo":13819,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fppo-and-continuous-control":13820,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fcase-studies":13821,"\u002Freinforcement-learning\u002Fdeep-rl\u002Frl-beyond-games":13822,"\u002Freinforcement-learning\u002Fdeep-rl\u002Ffrontiers":13823,"\u002Freinforcement-learning\u002Fdeep-rl\u002Freward-design-and-open-problems":13678,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow":13824,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow-part-2":13825,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control":13826,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control-part-2":13713,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl":13827,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl-part-2":13828,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration":13829,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration-part-2":13434,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl":13499,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl-part-2":13830,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl":13831,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl-part-2":13832,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl":13833,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl-part-2":13834,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl":13835,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl-part-2":13836,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Frlhf-and-language-models":13837,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps":13838,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps-part-2":13839,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl":13840,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl-part-2":13841,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmeta-rl-and-generalization":13842,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fpsychology-of-reinforcement":13843,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Finstrumental-conditioning-and-control":13844,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-and-td-error":13845,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-in-the-brain":13846,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fanimal-learning-and-cognition":13847,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fcognitive-maps-and-planning":13848,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fneuroscience-of-reinforcement":13849,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fseveral-learning-systems":13850,"\u002Freinforcement-learning":13387,"\u002Fartificial-intelligence\u002Ffoundations\u002Fwhat-is-ai":13851,"\u002Fartificial-intelligence\u002Ffoundations\u002Ffoundations-of-ai":13852,"\u002Fartificial-intelligence\u002Ffoundations\u002Fintelligent-agents":13853,"\u002Fartificial-intelligence\u002Ffoundations\u002Fagent-architectures":13854,"\u002Fartificial-intelligence\u002Fsearch\u002Funinformed-search":13855,"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-strategies-compared":13856,"\u002Fartificial-intelligence\u002Fsearch\u002Finformed-search":13857,"\u002Fartificial-intelligence\u002Fsearch\u002Fheuristic-functions":13858,"\u002Fartificial-intelligence\u002Fsearch\u002Flocal-search":13859,"\u002Fartificial-intelligence\u002Fsearch\u002Fpopulation-and-continuous-search":13860,"\u002Fartificial-intelligence\u002Fsearch\u002Fadversarial-search":13861,"\u002Fartificial-intelligence\u002Fsearch\u002Fgames-of-chance-and-imperfect-information":13862,"\u002Fartificial-intelligence\u002Fsearch\u002Fconstraint-satisfaction":13863,"\u002Fartificial-intelligence\u002Fsearch\u002Fcsp-search-and-structure":13707,"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-under-uncertainty":13565,"\u002Fartificial-intelligence\u002Fsearch\u002Fbelief-state-and-online-search":13864,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-logic":13865,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-inference":13866,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic":13867,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic-in-use":13868,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Finference-and-resolution":13869,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-resolution":13689,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fclassical-planning":13870,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-graphs-and-graphplan":13871,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-in-the-real-world":13872,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-under-uncertainty":13873,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fknowledge-representation":13874,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Freasoning-systems-and-defaults":13875,"\u002Fartificial-intelligence\u002Funcertainty\u002Fprobability-and-bayes":13876,"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayes-rule-and-naive-bayes":13877,"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayesian-networks":13878,"\u002Fartificial-intelligence\u002Funcertainty\u002Finference-in-bayesian-networks":13879,"\u002Fartificial-intelligence\u002Funcertainty\u002Freasoning-over-time":13880,"\u002Fartificial-intelligence\u002Funcertainty\u002Ftracking-and-data-association":13881,"\u002Fartificial-intelligence\u002Funcertainty\u002Fmaking-decisions":13622,"\u002Fartificial-intelligence\u002Funcertainty\u002Fmarkov-decision-processes":13871,"\u002Fartificial-intelligence\u002Funcertainty\u002Fdecision-networks-and-game-theory":13882,"\u002Fartificial-intelligence\u002Funcertainty\u002Fgame-theory-and-mechanism-design":13173,"\u002Fartificial-intelligence\u002Flearning\u002Flearning-from-examples":13883,"\u002Fartificial-intelligence\u002Flearning\u002Ftheory-and-model-families":13884,"\u002Fartificial-intelligence\u002Flearning\u002Fprobabilistic-learning":13885,"\u002Fartificial-intelligence\u002Flearning\u002Fexpectation-maximization":13886,"\u002Fartificial-intelligence\u002Flearning\u002Freinforcement-learning":13887,"\u002Fartificial-intelligence\u002Flearning\u002Fgeneralization-and-policy-search":13670,"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-in-learning":13888,"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-based-learning-methods":13889,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fvision-and-perception":13890,"\u002Fartificial-intelligence\u002Ffrontiers\u002Freconstructing-the-3d-world":13891,"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobotics":13892,"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobot-planning-and-control":13893,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnatural-language-in-ai":13894,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnlp-grammar-translation-and-speech":13895,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fphilosophy-and-future":13896,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fai-ethics-and-future":13897,"\u002Fartificial-intelligence":13387,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-constituents-nuclide-chart":13638,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-size-charge-distributions":13898,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-masses-binding-energy":13208,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fsemi-empirical-mass-formula":13206,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-moments-multipoles":13731,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnuclear-force-shell-overview":13899,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fthe-deuteron":13234,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnucleon-nucleon-scattering":13537,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fmeson-theory-isospin":13900,"\u002Fnuclear-physics\u002Fnuclear-models\u002Ffermi-gas-model":13901,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fliquid-drop-collective-coordinates":13902,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fshell-model-single-particle":13595,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fcollective-model-rotations-vibrations":13903,"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-law-modes":13904,"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-kinetics-equilibrium":13905,"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-decay-gamow-theory":13791,"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-fine-structure-hindrance":13906,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fbeta-decay-energetics-neutrino":13907,"\u002Fnuclear-physics\u002Fbeta-decay\u002Ffermi-theory-beta-decay":13218,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fweak-interaction-parity-violation":13443,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fdouble-beta-decay-neutrino-mass":13908,"\u002Fnuclear-physics\u002Fgamma-decay\u002Fgamma-multipole-radiation":13541,"\u002Fnuclear-physics\u002Fgamma-decay\u002Finternal-conversion-isomers":13909,"\u002Fnuclear-physics\u002Fgamma-decay\u002Fangular-correlations-mossbauer":13910,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Freaction-kinematics-cross-sections":13439,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fcompound-nucleus-resonances":13525,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fdirect-reactions-optical-model":13911,"\u002Fnuclear-physics\u002Ffission\u002Ffission-barrier-dynamics":13912,"\u002Fnuclear-physics\u002Ffission\u002Fchain-reactions-reactor-physics":13913,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Ffusion-reactions-confinement":13213,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fstellar-nucleosynthesis":13580,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fbig-bang-nucleosynthesis":13446,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fcharged-particle-stopping-power":13914,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fphoton-neutron-interactions":13493,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fradiation-detectors":13554,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fdosimetry-radiation-biology":13915,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fnuclear-applications-dating-medicine":13916,"\u002Fnuclear-physics":2491,"\u002Fnatural-language-processing\u002Ffoundations\u002Fwhat-is-nlp":13917,"\u002Fnatural-language-processing\u002Ffoundations\u002Fregex-and-text-normalization":13918,"\u002Fnatural-language-processing\u002Ffoundations\u002Fminimum-edit-distance":13561,"\u002Fnatural-language-processing\u002Ffoundations\u002Fn-gram-language-models":13919,"\u002Fnatural-language-processing\u002Ffoundations\u002Fsmoothing-and-backoff":13920,"\u002Fnatural-language-processing\u002Fclassification\u002Fnaive-bayes-and-sentiment":13921,"\u002Fnatural-language-processing\u002Fclassification\u002Fevaluating-classifiers":13413,"\u002Fnatural-language-processing\u002Fclassification\u002Flogistic-regression":13922,"\u002Fnatural-language-processing\u002Fclassification\u002Fsentiment-and-affect-lexicons":13923,"\u002Fnatural-language-processing\u002Fsemantics\u002Fvector-semantics-and-embeddings":13703,"\u002Fnatural-language-processing\u002Fsemantics\u002Fstatic-word-embeddings":13924,"\u002Fnatural-language-processing\u002Fsemantics\u002Fneural-language-models":13870,"\u002Fnatural-language-processing\u002Fsequences\u002Fsequence-labeling":13925,"\u002Fnatural-language-processing\u002Fsequences\u002Fcrfs-and-neural-taggers":13926,"\u002Fnatural-language-processing\u002Fsequences\u002Frnns-and-lstms":13927,"\u002Fnatural-language-processing\u002Ftransformers\u002Ftransformers-and-attention":13928,"\u002Fnatural-language-processing\u002Ftransformers\u002Fthe-transformer-architecture":13929,"\u002Fnatural-language-processing\u002Ftransformers\u002Flarge-language-models":13930,"\u002Fnatural-language-processing\u002Ftransformers\u002Fllm-pretraining-and-scaling":13931,"\u002Fnatural-language-processing\u002Ftransformers\u002Ffine-tuning-and-prompting":13391,"\u002Fnatural-language-processing\u002Ftransformers\u002Fprompting-and-alignment":13932,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-parsing":13933,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcky-scoring-and-evaluation":13876,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdependency-parsing":13934,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fgraph-based-and-neural-dependency-parsing":13935,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fword-senses-and-wsd":13936,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fwsd-in-practice-and-induction":13937,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-roles-and-information-extraction":13938,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Frelations-events-and-templates":13939,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoreference-and-discourse":13940,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoherence-and-discourse-structure":13941,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Flogical-semantics":13800,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcompositional-semantics-and-description-logics":13942,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-parsing":13943,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fneural-semantic-parsing":13944,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Finformation-extraction":13945,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftimes-events-and-templates":13946,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdiscourse-coherence":13947,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fentity-based-and-global-coherence":13948,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-grammars":13949,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftreebanks-and-lexicalized-grammars":13950,"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation":13951,"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation-decoding-and-evaluation":13952,"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering":13953,"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering-knowledge-and-llms":13656,"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-and-chatbots":13821,"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-systems-and-assistants":13419,"\u002Fnatural-language-processing\u002Fapplications\u002Ftext-summarization":13954,"\u002Fnatural-language-processing\u002Fapplications\u002Fabstractive-summarization-and-evaluation":13955,"\u002Fnatural-language-processing\u002Fspeech\u002Fphonetics":13956,"\u002Fnatural-language-processing\u002Fspeech\u002Facoustic-phonetics":13957,"\u002Fnatural-language-processing\u002Fspeech\u002Fautomatic-speech-recognition":13670,"\u002Fnatural-language-processing\u002Fspeech\u002Fasr-evaluation-and-applications":13958,"\u002Fnatural-language-processing":13387,"\u002Fparticle-physics\u002Ffoundations\u002Fhistorical-overview-particle-zoo":13959,"\u002Fparticle-physics\u002Ffoundations\u002Fparticle-physics-basic-concepts":13581,"\u002Fparticle-physics\u002Ffoundations\u002Ffundamental-interactions-force-carriers":13960,"\u002Fparticle-physics\u002Funits-kinematics\u002Fnatural-units-and-scales":13723,"\u002Fparticle-physics\u002Funits-kinematics\u002Ffour-vectors-invariant-mass":13961,"\u002Fparticle-physics\u002Funits-kinematics\u002Fdecay-scattering-kinematics-mandelstam":13962,"\u002Fparticle-physics\u002Funits-kinematics\u002Fcross-sections-golden-rule":13911,"\u002Fparticle-physics\u002Fsymmetries\u002Fconservation-laws-symmetries":13963,"\u002Fparticle-physics\u002Fsymmetries\u002Fdiscrete-symmetries-cpt":13964,"\u002Fparticle-physics\u002Fsymmetries\u002Fparity-violation-weak":13532,"\u002Fparticle-physics\u002Fsymmetries\u002Fsu2-su3-flavor-symmetry":13241,"\u002Fparticle-physics\u002Fquark-model\u002Feightfold-way-su3":13965,"\u002Fparticle-physics\u002Fquark-model\u002Fmeson-spectroscopy":13488,"\u002Fparticle-physics\u002Fquark-model\u002Fbaryon-spectroscopy":13966,"\u002Fparticle-physics\u002Fquark-model\u002Fcolor-confinement-exotics":13520,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fklein-gordon-equation":13967,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fdirac-equation-spinors":13768,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fantiparticles-hole-theory":13968,"\u002Fparticle-physics\u002Fqed\u002Ffeynman-rules-qed":13969,"\u002Fparticle-physics\u002Fqed\u002Fqed-tree-processes":13738,"\u002Fparticle-physics\u002Fqed\u002Frenormalization-running-coupling":13970,"\u002Fparticle-physics\u002Fqed\u002Felectron-g-2":13212,"\u002Fparticle-physics\u002Fweak-interaction\u002Fva-structure-weak":13971,"\u002Fparticle-physics\u002Fweak-interaction\u002Fw-z-bosons-decays":13972,"\u002Fparticle-physics\u002Fweak-interaction\u002Fckm-matrix":13973,"\u002Fparticle-physics\u002Fweak-interaction\u002Fcp-violation-kaons-b-mesons":13524,"\u002Fparticle-physics\u002Fqcd\u002Fcolor-su3-gluons":13735,"\u002Fparticle-physics\u002Fqcd\u002Fasymptotic-freedom-confinement":13974,"\u002Fparticle-physics\u002Fqcd\u002Fdeep-inelastic-scattering-partons":13975,"\u002Fparticle-physics\u002Fqcd\u002Fjets-hadronization":13596,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Felectroweak-su2-u1":13976,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fspontaneous-symmetry-breaking":13640,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-mechanism":13977,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-boson-discovery":13978,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fstandard-model":13532,"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-oscillations":13564,"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-mass-pmns":13979,"\u002Fparticle-physics\u002Fneutrinos\u002Fdirac-majorana-experiments":13980,"\u002Fparticle-physics\u002Fexperiment\u002Faccelerators-luminosity":13981,"\u002Fparticle-physics\u002Fexperiment\u002Fdetectors-subsystems":13618,"\u002Fparticle-physics\u002Fexperiment\u002Fhow-discoveries-are-made":13982,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fbeyond-standard-model":13366,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fgrand-unified-theories":13983,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fsupersymmetry":13467,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fhierarchy-problem-naturalness":13984,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fdark-matter-candidates":13985,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fmatter-antimatter-open-questions":13784,"\u002Fparticle-physics":2396,"\u002Fastrophysics-cosmology\u002Forientation\u002Fthe-sun-and-stars":13582,"\u002Fastrophysics-cosmology\u002Forientation\u002Fstellar-death-final-states":13733,"\u002Fastrophysics-cosmology\u002Forientation\u002Fgalaxies-and-cosmology":13986,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fmagnitudes-fluxes-and-the-distance-modulus":13523,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fstellar-spectra-and-spectral-classification":13987,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Ftelescopes-and-detectors-across-the-spectrum":13581,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fthe-cosmic-distance-ladder":13496,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fblackbody-radiation-and-specific-intensity":13988,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fradiative-transfer-and-the-transfer-equation":13989,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fspectral-line-formation-and-broadening":13990,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fopacity-and-the-rosseland-mean":13991,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fhydrostatic-equilibrium-and-the-virial-theorem":13992,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equations-of-stellar-structure":13783,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equation-of-state-and-polytropes":13715,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-standard-solar-model":13993,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fthermonuclear-reaction-rates-and-the-gamow-peak":13994,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhydrogen-burning-pp-chains-and-cno":13995,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhelium-burning-and-the-triple-alpha-process":13996,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fadvanced-burning-and-neutron-capture-nucleosynthesis":13910,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fphases-of-the-interstellar-medium":13997,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fmolecular-clouds-and-gravitational-collapse":13480,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fprotostars-and-the-pre-main-sequence":13541,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-main-sequence-and-its-structure":13524,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fpost-main-sequence-low-mass-evolution":13998,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-evolution-of-massive-stars":13605,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fstellar-pulsation-and-the-instability-strip":13230,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fwhite-dwarfs-and-the-chandrasekhar-limit":13999,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fcore-collapse-supernovae":14000,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fthermonuclear-supernovae-type-ia":13734,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fneutron-stars-and-pulsars":14001,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fblack-holes-schwarzschild-and-kerr":14002,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fbinary-systems-and-mass-transfer":14003,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Faccreting-compact-objects":14004,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fgravitational-waves-from-inspiraling-binaries":13211,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fmultimessenger-astronomy-and-gamma-ray-bursts":14005,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fthe-milky-way":14006,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-morphology-and-classification":13467,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-rotation-curves-and-dark-matter":14007,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Factive-galactic-nuclei-and-supermassive-black-holes":14008,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-clusters-and-large-scale-structure":13727,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-expanding-universe-and-hubbles-law":13389,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-frw-metric-and-cosmological-redshift":14009,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-friedmann-equations-and-cosmic-dynamics":14010,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fcosmological-models-and-distances":13640,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fdark-energy-and-the-accelerating-universe":13626,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fthe-thermal-history-of-the-universe":13638,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fbig-bang-nucleosynthesis":13734,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Frecombination-and-the-cosmic-microwave-background":14011,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcmb-anisotropies-and-cosmological-parameters":13210,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcosmic-inflation":13398,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fstructure-formation-and-the-growth-of-perturbations":14012,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fdark-matter-dark-energy-and-open-questions":13484,"\u002Fastrophysics-cosmology":2622,"\u002Fcolophon":1684,"\u002F":13387},4250,4808,3626,2682,4109,4786,3878,3875,3751,3415,4067,3153,3000,4042,5461,5808,3961,3749,4327,5067,4246,4154,5436,2640,4003,3601,2158,4331,4189,2273,3252,4633,4964,4172,3131,5524,3160,4031,2309,4207,3226,2648,4842,5340,3307,5701,4977,4039,2615,3472,4460,3848,4075,4400,3382,3010,3602,3737,3740,3707,3922,5191,4043,3804,4542,4214,5062,2850,4361,3443,3627,4044,3766,4140,3860,4006,5199,4334,5234,3651,5509,5680,1375,1073,1093,1125,1146,1014,1132,876,1541,1189,1173,984,1402,1301,950,1268,1063,1107,1408,1161,925,1012,866,964,1090,1142,1085,1020,1207,973,980,728,764,1225,1329,796,929,801,878,774,1044,1488,1175,1130,890,814,870,4073,5140,4961,5127,4870,5382,5195,4955,5369,4501,5576,3824,4132,4289,4307,4570,3403,5084,5105,5201,5116,5341,5175,5368,5188,5211,5499,5155,4981,5125,5415,5255,5304,5130,5167,5552,5164,5094,5239,5036,5190,5004,5099,5035,5159,5088,5026,4937,5023,5264,5244,5114,5078,5043,5312,5170,5342,5139,5151,5049,5212,5013,5068,5079,5102,5121,5081,5029,5379,5854,5110,2139,3798,5055,5364,4984,4935,4895,4972,5289,5112,5156,4987,5031,5025,5149,5302,5042,5002,4979,4922,4960,5279,1877,1180,1129,907,958,1112,1300,1053,1250,1181,1241,1234,966,1050,734,1190,484,1082,926,733,761,571,607,798,804,952,977,731,784,645,771,1017,742,1004,1000,1562,1254,1288,1101,1011,1486,1061,856,992,1169,988,0,2037,1782,2384,2254,2123,2332,1643,1714,2089,1751,1367,1660,2511,1998,1892,1854,1791,2438,2487,1917,2375,2525,2266,1845,2275,1810,1631,2310,2166,2233,2113,2505,2347,2672,2112,2473,2592,2380,3013,2513,3256,3218,2194,2173,2205,2326,2081,3342,3152,1799,1670,1027,960,1095,1291,986,897,1209,1055,1817,1801,1593,1465,1196,1464,1201,1230,1435,1684,1461,1926,1500,1409,1284,1774,1869,1487,1122,1188,1001,1351,982,1005,979,1325,1046,943,1279,824,1008,989,1798,1277,1025,987,1043,1211,1074,981,939,1002,739,1139,1108,1013,1070,978,1458,1317,1357,1077,2355,1116,1037,1178,1637,1314,1109,1056,1702,1474,1071,1158,832,993,1404,1024,1068,1339,1106,1264,1248,913,1848,1328,1633,1224,1143,1378,959,1028,998,911,1527,1203,1266,1483,1165,990,938,965,1257,1418,1099,942,1352,956,1035,1398,1003,1094,1292,1721,1827,1449,1354,1148,1184,1285,1281,1213,1290,1271,1252,1274,1778,1591,1503,1437,1571,1584,1957,1117,1781,1648,1342,1667,1510,1965,1607,1365,1849,1259,1303,1356,1238,2208,1564,1671,1286,1227,1638,1529,668,1078,918,709,865,880,940,1534,1015,874,922,841,794,1194,822,1105,1658,1359,1296,1438,1921,1844,1570,1429,1324,1400,1787,1558,1654,1492,1747,2224,2002,2009,1323,1349,1785,1573,1722,1829,1353,1548,1552,1583,1624,1585,1245,1364,1514,1343,1397,1355,2211,1481,1770,2388,2293,2256,2552,2569,2478,2039,2496,2578,2814,2519,2461,2587,2492,2714,3278,2654,3050,2447,2849,2238,2369,2061,2214,2602,2563,2186,2985,2749,3364,2038,2282,2409,2126,2573,2206,2176,2268,2182,2402,2705,2633,2414,2213,2801,3313,3410,3195,1952,2017,1509,2537,2645,2027,2415,2838,2356,1906,3184,2950,2807,2954,1683,1316,1034,1138,1763,1822,1705,1246,1701,1097,1104,1187,1032,1083,1228,916,1489,1033,1652,997,692,837,1023,888,864,1089,1231,1214,1675,1156,1075,1520,1309,1205,1051,735,1123,1072,915,567,768,825,1253,983,1007,762,1058,861,862,971,1208,1149,1145,1029,1084,927,810,838,857,807,936,949,2321,1622,1069,1113,1057,854,1958,1528,1618,2049,1432,1679,1796,1685,1346,1275,1476,1505,1610,2018,1599,1215,1838,1909,3902,2215,2240,3266,3208,3073,2454,2969,2451,1875,2728,1884,2371,2516,2842,1690,1904,2346,3146,1386,2607,1966,2668,1665,2885,1606,2577,3074,2869,2403,2433,2082,1939,1587,2460,2747,2032,2642,1619,3123,1993,2090,2339,3829,1737,2622,2340,2322,3828,4409,2305,3411,2510,4527,3030,3569,3043,2457,1946,2277,2044,2909,1693,1945,2093,2399,2115,2898,2742,2242,3895,3378,3376,2769,2223,3062,3262,2651,2949,2768,3128,2423,1977,2087,2866,3388,2830,2210,2489,2884,3945,2099,2713,3402,1692,2931,4195,3989,3206,4391,3004,3704,3494,2902,999,881,901,919,748,869,1018,1045,1049,1333,954,1092,1019,976,1771,1480,1396,953,1026,3533,2495,1818,3007,2595,3427,3537,2216,1895,2304,3396,1739,2073,1962,2203,1767,2666,2264,2276,2852,1807,3735,1560,4144,1669,1676,1972,2418,3291,1525,2040,2766,2337,2220,2800,3001,2078,1759,2836,1896,2026,1758,1543,1047,896,946,1060,1384,1482,815,1414,1322,1440,1240,1468,1098,1133,847,1009,1381,1052,1191,1258,1370,1712,1441,1199,957,1079,1262,1417,1368,1219,1136,1064,1463,1636,1059,931,1115,1736,1174,1376,1363,1411,1247,1746,1313,1299,1617,1102,1076,1495,1265,1193,1263,{"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm":14014,"\u002Falgorithms\u002Ffoundations\u002Fproof-techniques":14019,"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis":14023,"\u002Falgorithms\u002Ffoundations\u002Fgrowth-rates-and-loop-analysis":14027,"\u002Falgorithms\u002Ffoundations\u002Frecurrences":14031,"\u002Falgorithms\u002Ffoundations\u002Famortized-analysis":14035,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort":14039,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort":14044,"\u002Falgorithms\u002Fdivide-and-conquer\u002Fselection":14048,"\u002Falgorithms\u002Fdivide-and-conquer\u002Ffast-multiplication":14051,"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort":14055,"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds":14060,"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting":14064,"\u002Falgorithms\u002Fsorting\u002Fexternal-sorting":14068,"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures":14072,"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables":14076,"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees":14080,"\u002Falgorithms\u002Fdata-structures\u002Favl-trees":14084,"\u002Falgorithms\u002Fdata-structures\u002Fbalanced-trees":14088,"\u002Falgorithms\u002Fdata-structures\u002Funion-find":14091,"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees":14095,"\u002Falgorithms\u002Fdata-structures\u002Fspatial-data-structures":14099,"\u002Falgorithms\u002Fdata-structures\u002Fskip-lists-and-probabilistic-structures":14100,"\u002Falgorithms\u002Fdata-structures\u002Fb-trees":14104,"\u002Falgorithms\u002Fdata-structures\u002Fdata-stream-algorithms":14107,"\u002Falgorithms\u002Fdata-structures\u002Fstreaming-sketches":14111,"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows":14115,"\u002Falgorithms\u002Fsequences\u002Fprefix-sums":14120,"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks":14124,"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer":14128,"\u002Falgorithms\u002Fsequences\u002Fstring-matching":14132,"\u002Falgorithms\u002Fsequences\u002Fkmp-and-z-function":14136,"\u002Falgorithms\u002Fsequences\u002Ftries":14140,"\u002Falgorithms\u002Fsequences\u002Fsuffix-arrays-and-aho-corasick":14144,"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal":14148,"\u002Falgorithms\u002Fgraphs\u002Fdepth-first-search":14153,"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc":14157,"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees":14161,"\u002Falgorithms\u002Fgraphs\u002Fkruskal-and-prim":14165,"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths":14169,"\u002Falgorithms\u002Fgraphs\u002Fall-pairs-and-negative-weights":14173,"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow":14177,"\u002Falgorithms\u002Fgraphs\u002Fmax-flow-min-cut":14181,"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points":14185,"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor":14189,"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat":14193,"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours":14197,"\u002Falgorithms\u002Fgraphs\u002Fbipartite-matching":14201,"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method":14205,"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals":14210,"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes":14214,"\u002Falgorithms\u002Fgreedy\u002Fmatroids":14218,"\u002Falgorithms\u002Fgreedy\u002Fstable-matching":14222,"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples":14226,"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp":14231,"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence":14235,"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack":14239,"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded":14243,"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp":14247,"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp":14251,"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp":14255,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations":14259,"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs":14263,"\u002Falgorithms\u002Fdynamic-programming\u002Fdigit-and-probability-dp":14267,"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals":14271,"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search":14276,"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound":14280,"\u002Falgorithms\u002Fbacktracking\u002Fgraph-backtracking":14284,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics":14288,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality":14293,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization":14297,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics":14301,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmatrix-exponentiation":14305,"\u002Falgorithms\u002Fmathematical-algorithms\u002Ffast-fourier-transform":14309,"\u002Falgorithms\u002Fmathematical-algorithms\u002Fgradient-descent":14313,"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives":14317,"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull":14322,"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line":14326,"\u002Falgorithms\u002Fcomputational-geometry\u002Fpolygons-and-proximity":14330,"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions":14334,"\u002Falgorithms\u002Fintractability\u002Fnp-completeness":14339,"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness":14343,"\u002Falgorithms\u002Fintractability\u002Fapproximation-algorithms":14347,"\u002Falgorithms":14351,"\u002Fcalculus\u002Flimits-and-continuity\u002Ffunctions-and-models":14354,"\u002Fcalculus\u002Flimits-and-continuity\u002Fthe-limit-of-a-function":14359,"\u002Fcalculus\u002Flimits-and-continuity\u002Flimit-laws-and-the-precise-definition":14363,"\u002Fcalculus\u002Flimits-and-continuity\u002Fcontinuity":14367,"\u002Fcalculus\u002Fderivatives\u002Fthe-derivative-and-rates-of-change":14371,"\u002Fcalculus\u002Fderivatives\u002Fdifferentiation-rules-and-the-chain-rule":14376,"\u002Fcalculus\u002Fderivatives\u002Fimplicit-differentiation-and-related-rates":14380,"\u002Fcalculus\u002Fderivatives\u002Flinear-approximations-and-differentials":14384,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fextrema-and-the-mean-value-theorem":14388,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fhow-derivatives-shape-a-graph":14393,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fcurve-sketching-and-optimization":14397,"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fnewtons-method-and-antiderivatives":14401,"\u002Fcalculus\u002Fintegrals\u002Farea-and-the-definite-integral":14405,"\u002Fcalculus\u002Fintegrals\u002Fthe-fundamental-theorem-of-calculus":14410,"\u002Fcalculus\u002Fintegrals\u002Fthe-substitution-rule":14414,"\u002Fcalculus\u002Fapplications-of-integration\u002Fareas-and-volumes":14418,"\u002Fcalculus\u002Fapplications-of-integration\u002Fwork-average-value-and-arc-length":14423,"\u002Fcalculus\u002Fapplications-of-integration\u002Fphysics-economics-and-probability":14427,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Finverse-functions-logarithms-and-exponentials":14431,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Fgrowth-decay-inverse-trig-and-hyperbolic-functions":14436,"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Flhospitals-rule":14440,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fintegration-by-parts":14444,"\u002Fcalculus\u002Ftechniques-of-integration\u002Ftrigonometric-integrals-and-substitution":14449,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fpartial-fractions-and-integration-strategy":14453,"\u002Fcalculus\u002Ftechniques-of-integration\u002Fapproximate-and-improper-integrals":14457,"\u002Fcalculus\u002Fparametric-and-polar\u002Fparametric-curves-and-their-calculus":14461,"\u002Fcalculus\u002Fparametric-and-polar\u002Fpolar-coordinates":14466,"\u002Fcalculus\u002Fparametric-and-polar\u002Fconic-sections":14470,"\u002Fcalculus\u002Fsequences-and-series\u002Fsequences":14474,"\u002Fcalculus\u002Fsequences-and-series\u002Fseries-and-the-integral-test":14479,"\u002Fcalculus\u002Fsequences-and-series\u002Fthe-convergence-tests":14483,"\u002Fcalculus\u002Fsequences-and-series\u002Fpower-series":14487,"\u002Fcalculus\u002Fsequences-and-series\u002Ftaylor-and-maclaurin-series":14491,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvectors-and-the-dot-product":14495,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fthe-cross-product-lines-and-planes":14500,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fcylinders-and-quadric-surfaces":14504,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvector-functions-and-space-curves":14508,"\u002Fcalculus\u002Fvectors-and-space-curves\u002Farc-length-curvature-and-motion":14512,"\u002Fcalculus\u002Fpartial-derivatives\u002Ffunctions-of-several-variables":14516,"\u002Fcalculus\u002Fpartial-derivatives\u002Fpartial-derivatives":14521,"\u002Fcalculus\u002Fpartial-derivatives\u002Ftangent-planes-and-the-chain-rule":14524,"\u002Fcalculus\u002Fpartial-derivatives\u002Fdirectional-derivatives-and-the-gradient":14528,"\u002Fcalculus\u002Fpartial-derivatives\u002Foptimization-and-lagrange-multipliers":14532,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fdouble-integrals":14536,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Ftriple-integrals-and-coordinate-systems":14541,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fvector-fields-and-line-integrals":14545,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fgreens-theorem-curl-and-divergence":14549,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fsurface-integrals":14553,"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fstokes-and-the-divergence-theorem":14557,"\u002Fcalculus":14561,"\u002Fmechanics\u002Ffoundations\u002Fmeasurement-and-dimensions":14564,"\u002Fmechanics\u002Ffoundations\u002Fvector-algebra":14568,"\u002Fmechanics\u002Fkinematics\u002Fone-dimensional-motion":14572,"\u002Fmechanics\u002Fkinematics\u002Fmotion-graphs":14577,"\u002Fmechanics\u002Fkinematics\u002Fprojectile-motion":14581,"\u002Fmechanics\u002Fkinematics\u002Frelative-motion":14585,"\u002Fmechanics\u002Fkinematics\u002Fcircular-motion":14589,"\u002Fmechanics\u002Fdynamics\u002Fnewtons-laws":14593,"\u002Fmechanics\u002Fdynamics\u002Ffree-body-diagrams":14598,"\u002Fmechanics\u002Fdynamics\u002Ffriction-and-curved-motion":14602,"\u002Fmechanics\u002Fdynamics\u002Fnumerical-dynamics":14606,"\u002Fmechanics\u002Fdynamics\u002Fcenter-of-mass-systems":14610,"\u002Fmechanics\u002Fenergy\u002Fwork-and-kinetic-energy":14614,"\u002Fmechanics\u002Fenergy\u002Fpotential-energy":14619,"\u002Fmechanics\u002Fenergy\u002Fmultiparticle-work":14623,"\u002Fmechanics\u002Fenergy\u002Fmass-energy-and-binding":14627,"\u002Fmechanics\u002Fenergy\u002Fphotons-and-quantization":14631,"\u002Fmechanics\u002Fmomentum\u002Fmomentum-and-collisions":14635,"\u002Fmechanics\u002Fmomentum\u002Fcenter-of-mass-collisions":14640,"\u002Fmechanics\u002Fmomentum\u002Frocket-propulsion":14644,"\u002Fmechanics\u002Frotation\u002Frotational-inertia":14648,"\u002Fmechanics\u002Frotation\u002Frotational-dynamics":14653,"\u002Fmechanics\u002Frotation\u002Frolling-motion":14657,"\u002Fmechanics\u002Frotation\u002Fangular-momentum":14661,"\u002Fmechanics\u002Frotation\u002Frolling-resistance":14665,"\u002Fmechanics\u002Frotation\u002Fgyroscopic-precession":14669,"\u002Fmechanics\u002Fgravity-and-matter\u002Fkeplerian-orbits":14673,"\u002Fmechanics\u002Fgravity-and-matter\u002Fgravitational-fields":14678,"\u002Fmechanics\u002Fgravity-and-matter\u002Fstatic-equilibrium":14682,"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-statics":14686,"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-flow":14690,"\u002Fmechanics\u002Fgravity-and-matter\u002Forbital-motion":14694,"\u002Fmechanics\u002Fgravity-and-matter\u002Fstress-and-elasticity":14698,"\u002Fmechanics\u002Foscillations-waves\u002Fdamped-oscillators":14702,"\u002Fmechanics\u002Foscillations-waves\u002Ftravelling-waves":14707,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-superposition":14711,"\u002Fmechanics\u002Foscillations-waves\u002Fstanding-waves":14715,"\u002Fmechanics\u002Foscillations-waves\u002Fsound-waves":14719,"\u002Fmechanics\u002Foscillations-waves\u002Fdoppler-effect":14723,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-packets":14727,"\u002Fmechanics\u002Foscillations-waves\u002Fbeats-and-coupling":14731,"\u002Fmechanics\u002Foscillations-waves\u002Fsimple-harmonic-motion":14735,"\u002Fmechanics\u002Foscillations-waves\u002Fpendulum-motion":14739,"\u002Fmechanics\u002Foscillations-waves\u002Fdriven-oscillators":14743,"\u002Fmechanics\u002Foscillations-waves\u002Fwave-boundaries":14747,"\u002Fmechanics\u002Fthermodynamics\u002Fkinetic-theory-of-ideal-gases":14751,"\u002Fmechanics\u002Fthermodynamics\u002Ffirst-law-of-thermodynamics":14756,"\u002Fmechanics\u002Fthermodynamics\u002Fentropy-and-the-second-law":14760,"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-processes":14764,"\u002Fmechanics\u002Fthermodynamics\u002Fphase-changes":14768,"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-machines":14772,"\u002Fmechanics":14776,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcharge-and-conductors":14779,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcoulombs-law":14784,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-and-force":14788,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-maps":14792,"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-dipoles":14796,"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fcontinuous-charge-fields":14800,"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fgauss-law-and-conductors":14805,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpoint-charge-potential":14809,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpotential-gradients-and-equipotentials":14814,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Felectrostatic-energy-and-pressure":14818,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Flaplace-boundary-problems":14822,"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fcontinuous-charge-potentials":14826,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitance-fundamentals":14830,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-networks":14835,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-energy-and-force":14839,"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fdielectric-polarization-and-breakdown":14843,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fcurrent-and-resistance":14847,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fkirchhoff-network-analysis":14852,"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Frc-transients":14856,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-trajectories":14860,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fhall-effect":14865,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-force-on-conductors":14869,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-dipoles":14873,"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmass-spectrometry":14877,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmoving-charge-fields":14881,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fbiot-savart-law":14886,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fcircular-current-loops":14890,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Famperes-law":14894,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fgauss-law-for-magnetism":14898,"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmagnetic-materials":14902,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-flux":14906,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Ffaradays-law":14911,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Flenzs-law":14915,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmotional-emf":14919,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Feddy-currents":14923,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fself-inductance":14927,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-energy":14931,"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Frl-circuits":14935,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-fundamentals":14939,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Freactance":14944,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Frlc-resonance":14948,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-power":14952,"\u002Felectricity-and-magnetism\u002Falternating-current\u002Ftransformers":14956,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdisplacement-current":14960,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-waves":14965,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-momentum":14969,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdipole-radiation":14973,"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fpolarization":14977,"\u002Felectricity-and-magnetism\u002Foptics\u002Freflection-and-refraction":14981,"\u002Felectricity-and-magnetism\u002Foptics\u002Fthin-lenses":14986,"\u002Felectricity-and-magnetism\u002Foptics\u002Fspherical-mirrors":14990,"\u002Felectricity-and-magnetism":14994,"\u002Flinear-algebra\u002Flinear-systems\u002Fsystems-and-echelon-forms":14997,"\u002Flinear-algebra\u002Flinear-systems\u002Fvector-and-matrix-equations":15002,"\u002Flinear-algebra\u002Flinear-systems\u002Fsolution-sets-and-applications":15006,"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-independence":15010,"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-transformations":15014,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-operations":15018,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-inverse-and-invertibility":15023,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fpartitioned-matrices-and-lu":15027,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fsubspaces-dimension-rank":15031,"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fapplications-leontief-and-graphics":15035,"\u002Flinear-algebra\u002Fdeterminants\u002Fdeterminants-and-cofactors":15039,"\u002Flinear-algebra\u002Fdeterminants\u002Fproperties-of-determinants":15044,"\u002Flinear-algebra\u002Fdeterminants\u002Fcramer-volume-and-area":15048,"\u002Flinear-algebra\u002Fvector-spaces\u002Fvector-spaces-and-subspaces":15052,"\u002Flinear-algebra\u002Fvector-spaces\u002Fnull-and-column-spaces":15057,"\u002Flinear-algebra\u002Fvector-spaces\u002Fbases-and-independent-sets":15061,"\u002Flinear-algebra\u002Fvector-spaces\u002Fcoordinate-systems":15065,"\u002Flinear-algebra\u002Fvector-spaces\u002Fdimension-and-rank":15069,"\u002Flinear-algebra\u002Fvector-spaces\u002Fchange-of-basis":15073,"\u002Flinear-algebra\u002Fvector-spaces\u002Fdifference-equations-and-markov":15077,"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-eigenvalues":15081,"\u002Flinear-algebra\u002Feigenvalues\u002Fthe-characteristic-equation":15086,"\u002Flinear-algebra\u002Feigenvalues\u002Fdiagonalization":15090,"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-linear-transformations":15094,"\u002Flinear-algebra\u002Feigenvalues\u002Fcomplex-eigenvalues":15098,"\u002Flinear-algebra\u002Feigenvalues\u002Fdynamical-systems":15102,"\u002Flinear-algebra\u002Feigenvalues\u002Fpower-method":15106,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-length-orthogonality":15110,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Forthogonal-sets-and-projections":15115,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fgram-schmidt-and-qr":15119,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-problems":15123,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-applications":15127,"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-spaces":15131,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fdiagonalizing-symmetric-matrices":15135,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fquadratic-forms":15140,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fconstrained-optimization":15144,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsingular-value-decomposition":15148,"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsvd-applications-pca-imaging":15152,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-thinking-and-matrix-computation":15156,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Flu-and-cholesky":15161,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fconditioning-and-floating-point":15165,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fstability-and-error-analysis":15169,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fqr-and-numerical-least-squares":15173,"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-eigenvalues-and-svd":15177,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-combinations":15181,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-independence-and-barycentric-coordinates":15186,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fconvex-combinations-and-convex-sets":15190,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fhyperplanes-and-polytopes":15194,"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fcurves-and-surfaces":15198,"\u002Flinear-algebra":15202,"\u002Ftheory-of-computation":15205,"\u002Fcomputer-architecture\u002Ffoundations\u002Fbits-bytes-and-words":15208,"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-representation":15212,"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-arithmetic":15216,"\u002Fcomputer-architecture\u002Ffoundations\u002Ffloating-point":15220,"\u002Fcomputer-architecture\u002Ffoundations\u002Fboolean-algebra-and-bit-manipulation":15224,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fthe-machines-view":15228,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fdata-movement":15233,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farithmetic-and-logic":15237,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fcontrol-flow":15241,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fprocedures":15245,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farrays-structs-and-alignment":15249,"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fmemory-layout-and-buffer-overflows":15253,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fwhat-an-isa-is":15257,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Finstruction-formats-and-operands":15262,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Faddressing-modes":15266,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fthe-y86-64-instruction-set":15270,"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fy86-64-programming":15274,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Ftransistors-gates-and-boolean-functions":15278,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fcombinational-logic-and-hcl":15283,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmultiplexers-decoders-and-the-alu":15287,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmemory-elements-latches-flip-flops-and-clocking":15291,"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fregister-files-and-random-access-memory":15295,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-fetch-decode-execute-cycle":15299,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-seq-stages":15304,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fcontrol-logic-and-sequencing":15308,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fassembling-seq":15312,"\u002Fcomputer-architecture\u002Fprocessor-design\u002Ftracing-a-program":15316,"\u002Fcomputer-architecture\u002Fpipelining\u002Fpipelining-principles":15320,"\u002Fcomputer-architecture\u002Fpipelining\u002Ffrom-seq-to-pipe":15325,"\u002Fcomputer-architecture\u002Fpipelining\u002Fdata-hazards-stalling-and-forwarding":15329,"\u002Fcomputer-architecture\u002Fpipelining\u002Fcontrol-hazards-and-branch-prediction":15333,"\u002Fcomputer-architecture\u002Fpipelining\u002Fthe-complete-pipe-processor":15337,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fstorage-technologies-and-the-latency-gap":15341,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Flocality":15346,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-memories-direct-mapped":15350,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fset-associative-and-write-policies":15354,"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-performance-and-cache-friendly-code":15358,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Faddress-spaces-and-translation":15362,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fpage-tables-and-page-faults":15367,"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fthe-tlb-and-multi-level-page-tables":15371,"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Fexceptional-control-flow":15375,"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Finterrupts-and-the-kernel":15380,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fprocesses-threads-and-parallelism":15384,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fhardware-multithreading":15389,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fcache-coherence":15393,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmemory-consistency-and-synchronization":15397,"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmulticore-organization":15401,"\u002Fcomputer-architecture\u002Fcapstone\u002Fthe-whole-machine":15405,"\u002Fcomputer-architecture\u002Fcapstone\u002Fassembling-a-complete-cpu":15410,"\u002Fcomputer-architecture":15414,"\u002Fdifferential-equations\u002Ffoundations\u002Fmodels-and-direction-fields":15417,"\u002Fdifferential-equations\u002Ffoundations\u002Fclassification-and-terminology":15421,"\u002Fdifferential-equations\u002Ffirst-order\u002Flinear-first-order-integrating-factors":15425,"\u002Fdifferential-equations\u002Ffirst-order\u002Fseparable-and-exact":15430,"\u002Fdifferential-equations\u002Ffirst-order\u002Fmodeling-first-order":15434,"\u002Fdifferential-equations\u002Ffirst-order\u002Fautonomous-and-population-dynamics":15438,"\u002Fdifferential-equations\u002Ffirst-order\u002Fexistence-uniqueness-euler":15442,"\u002Fdifferential-equations\u002Ffirst-order\u002Ffirst-order-difference-equations":15446,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhomogeneous-constant-coefficients":15450,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fcomplex-and-repeated-roots":15455,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fnonhomogeneous-undetermined-coefficients":15459,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fvariation-of-parameters":15463,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fmechanical-electrical-vibrations":15467,"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhigher-order-linear":15471,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fpower-series-ordinary-points":15475,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fregular-singular-frobenius":15480,"\u002Fdifferential-equations\u002Fseries-solutions\u002Fbessel-and-special-functions":15484,"\u002Fdifferential-equations\u002Flaplace\u002Flaplace-definition-ivps":15488,"\u002Fdifferential-equations\u002Flaplace\u002Fstep-impulse-convolution":15493,"\u002Fdifferential-equations\u002Fsystems\u002Fmatrices-eigenvalues-review":15497,"\u002Fdifferential-equations\u002Fsystems\u002Fconstant-coefficient-systems-phase-portraits":15502,"\u002Fdifferential-equations\u002Fsystems\u002Frepeated-eigenvalues-fundamental-matrices":15506,"\u002Fdifferential-equations\u002Fnumerical\u002Feuler-and-runge-kutta":15510,"\u002Fdifferential-equations\u002Fnumerical\u002Fmultistep-systems-stability":15515,"\u002Fdifferential-equations\u002Fnonlinear\u002Fphase-plane-autonomous-stability":15519,"\u002Fdifferential-equations\u002Fnonlinear\u002Flocally-linear-and-liapunov":15524,"\u002Fdifferential-equations\u002Fnonlinear\u002Fcompeting-species-predator-prey-limit-cycles":15528,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Ffourier-series":15532,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fheat-wave-laplace-equations":15537,"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fsturm-liouville":15541,"\u002Fdifferential-equations\u002Fhistory-variations\u002Fcalculus-of-variations":15545,"\u002Fdifferential-equations\u002Fhistory-variations\u002Fhistorical-notes":15550,"\u002Fdifferential-equations":15554,"\u002Frelativity\u002Ffoundations\u002Fspecial-relativity-postulates":15557,"\u002Frelativity\u002Ffoundations\u002Florentz-transformation-spacetime":15562,"\u002Frelativity\u002Ffoundations\u002Ftime-dilation-length-contraction":15566,"\u002Frelativity\u002Ffoundations\u002Frelativistic-momentum-energy":15570,"\u002Frelativity\u002Ffoundations\u002Fgeneral-relativity":15574,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fminkowski-spacetime-and-the-interval":15578,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Ffour-vectors-and-index-notation":15583,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fthe-lorentz-group-and-rapidity":15587,"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fdoppler-aberration-and-appearance":15591,"\u002Frelativity\u002Frelativistic-dynamics\u002Ffour-momentum-force-and-accelerated-motion":15595,"\u002Frelativity\u002Frelativistic-dynamics\u002Fparticle-decays-and-two-body-kinematics":15600,"\u002Frelativity\u002Frelativistic-dynamics\u002Fcollisions-thresholds-and-the-cm-frame":15604,"\u002Frelativity\u002Frelativistic-dynamics\u002Fmandelstam-variables-and-invariants":15608,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ffour-current-and-the-four-potential":15612,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fthe-electromagnetic-field-tensor":15617,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ftransformation-of-electric-and-magnetic-fields":15621,"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fcovariant-maxwell-and-the-stress-energy-tensor":15625,"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-equivalence-principle-formalized":15629,"\u002Frelativity\u002Fcurved-spacetime\u002Fmanifolds-vectors-and-the-metric":15634,"\u002Frelativity\u002Fcurved-spacetime\u002Fcovariant-derivative-and-christoffel-symbols":15638,"\u002Frelativity\u002Fcurved-spacetime\u002Fgeodesics-and-the-geodesic-equation":15642,"\u002Frelativity\u002Fcurved-spacetime\u002Fcurvature-riemann-and-geodesic-deviation":15646,"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-einstein-field-equations":15650,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fthe-schwarzschild-metric":15654,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fgeodesics-and-orbits-in-schwarzschild":15659,"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Flight-bending-and-null-geodesics":15663,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fperihelion-precession-of-mercury":15667,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fdeflection-of-light-and-gravitational-lensing":15672,"\u002Frelativity\u002Ftests-of-general-relativity\u002Fgravitational-redshift-and-shapiro-delay":15676,"\u002Frelativity\u002Ftests-of-general-relativity\u002Frelativity-in-technology-gps":15680,"\u002Frelativity\u002Fblack-holes\u002Fhorizons-and-coordinate-singularities":15684,"\u002Frelativity\u002Fblack-holes\u002Frotating-and-charged-black-holes":15689,"\u002Frelativity\u002Fblack-holes\u002Fblack-hole-thermodynamics":15693,"\u002Frelativity\u002Fgravitational-waves\u002Flinearized-gravity-and-wave-solutions":15697,"\u002Frelativity\u002Fgravitational-waves\u002Fgeneration-and-the-quadrupole-formula":15702,"\u002Frelativity\u002Fgravitational-waves\u002Fdetection-ligo-and-the-first-events":15706,"\u002Frelativity\u002Fcosmological-bridge\u002Fthe-cosmological-principle-and-flrw-metric":15710,"\u002Frelativity\u002Fcosmological-bridge\u002Ffriedmann-equations-and-cosmic-dynamics":15715,"\u002Frelativity":15719,"\u002Fphysical-computing":15722,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fblackbody-radiation-and-the-planck-quantum":15725,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-photoelectric-effect-and-the-photon":15730,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fx-rays-and-the-compton-effect":15734,"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-old-quantum-theory-bohr-and-sommerfeld":15738,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fde-broglie-waves-and-electron-diffraction":15742,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fwave-packets-and-the-probability-interpretation":15747,"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fthe-uncertainty-principle":15751,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-schrodinger-equation-in-one-dimension":15755,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-free-particle-and-wave-packet-dynamics":15760,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fparticle-in-infinite-and-finite-square-wells":15764,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Foperators-expectation-values-and-the-harmonic-oscillator":15768,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-dirac-delta-potential":15772,"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fbarrier-penetration-and-quantum-tunneling":15776,"\u002Fquantum-mechanics\u002Fformalism\u002Fhilbert-space-and-dirac-notation":15780,"\u002Fquantum-mechanics\u002Fformalism\u002Fobservables-hermitian-operators-and-eigenvalues":15785,"\u002Fquantum-mechanics\u002Fformalism\u002Fthe-postulates-and-quantum-measurement":15789,"\u002Fquantum-mechanics\u002Fformalism\u002Fposition-momentum-and-continuous-spectra":15793,"\u002Fquantum-mechanics\u002Fformalism\u002Fcommutators-and-the-generalized-uncertainty-principle":15797,"\u002Fquantum-mechanics\u002Fformalism\u002Ftime-evolution-schrodinger-and-heisenberg-pictures":15801,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fladder-operators-and-the-number-states":15805,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fcoherent-and-squeezed-states":15810,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fsymmetries-generators-and-conservation-laws":15814,"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fparity-time-reversal-and-discrete-symmetries":15818,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Forbital-angular-momentum-and-spherical-harmonics":15822,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Fthe-angular-momentum-algebra":15826,"\u002Fquantum-mechanics\u002Fangular-momentum\u002Faddition-of-angular-momenta-and-clebsch-gordan":15830,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-schrodinger-equation-in-three-dimensions":15834,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-hydrogen-atom":15839,"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-isotropic-oscillator-and-hidden-symmetry":15843,"\u002Fquantum-mechanics\u002Fspin\u002Fspin-half-pauli-matrices-and-stern-gerlach":15847,"\u002Fquantum-mechanics\u002Fspin\u002Fspin-in-a-magnetic-field-precession-and-resonance":15852,"\u002Fquantum-mechanics\u002Fspin\u002Ftwo-level-systems-and-the-bloch-sphere":15856,"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fidentical-particles-and-exchange-symmetry":15860,"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fthe-pauli-principle-atoms-and-the-periodic-table":15865,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ftime-independent-perturbation-theory":15869,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ffine-structure-and-the-real-hydrogen-atom":15874,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-zeeman-and-stark-effects":15878,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-variational-method":15882,"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-wkb-approximation":15886,"\u002Fquantum-mechanics":15890,"\u002Freal-analysis\u002Ffoundations\u002Fsets-logic-functions":15893,"\u002Freal-analysis\u002Ffoundations\u002Fordered-fields-completeness":15898,"\u002Freal-analysis\u002Ffoundations\u002Fabsolute-value-bounds":15902,"\u002Freal-analysis\u002Ffoundations\u002Fintervals-uncountability":15906,"\u002Freal-analysis\u002Fsequences-series\u002Fsequences-limits":15910,"\u002Freal-analysis\u002Fsequences-series\u002Flimit-laws-monotone":15915,"\u002Freal-analysis\u002Fsequences-series\u002Flimsup-bolzano-weierstrass":15919,"\u002Freal-analysis\u002Fsequences-series\u002Fcauchy-completeness":15923,"\u002Freal-analysis\u002Fsequences-series\u002Fseries-convergence":15927,"\u002Freal-analysis\u002Fsequences-series\u002Fabsolute-conditional-rearrangement":15931,"\u002Freal-analysis\u002Fmetric-spaces\u002Fmetric-spaces-norms":15935,"\u002Freal-analysis\u002Fmetric-spaces\u002Fopen-closed-sets":15940,"\u002Freal-analysis\u002Fmetric-spaces\u002Fconvergence-completeness":15944,"\u002Freal-analysis\u002Fmetric-spaces\u002Fcompactness":15948,"\u002Freal-analysis\u002Fmetric-spaces\u002Fconnectedness":15952,"\u002Freal-analysis\u002Fcontinuity\u002Flimits-of-functions":15956,"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuous-functions":15960,"\u002Freal-analysis\u002Fcontinuity\u002Fevt-ivt":15964,"\u002Freal-analysis\u002Fcontinuity\u002Funiform-continuity":15968,"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuity-metric-spaces":15972,"\u002Freal-analysis\u002Fcontinuity\u002Flimits-infinity-monotone":15976,"\u002Freal-analysis\u002Fdifferentiation\u002Fthe-derivative":15980,"\u002Freal-analysis\u002Fdifferentiation\u002Fmean-value-theorem":15985,"\u002Freal-analysis\u002Fdifferentiation\u002Ftaylors-theorem":15989,"\u002Freal-analysis\u002Fdifferentiation\u002Finverse-function-1d":15993,"\u002Freal-analysis\u002Friemann-integration\u002Fdarboux-integral":15997,"\u002Freal-analysis\u002Friemann-integration\u002Fintegrability-classes":16002,"\u002Freal-analysis\u002Friemann-integration\u002Fproperties-of-the-integral":16006,"\u002Freal-analysis\u002Friemann-integration\u002Ffundamental-theorem":16010,"\u002Freal-analysis\u002Friemann-integration\u002Flog-exp-improper":16013,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpointwise-uniform-convergence":16017,"\u002Freal-analysis\u002Ffunction-sequences\u002Finterchange-of-limits":16022,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpower-series-weierstrass":16026,"\u002Freal-analysis\u002Ffunction-sequences\u002Fpicard-ode":16030,"\u002Freal-analysis\u002Fseveral-variables\u002Fdifferentiability-rn":16034,"\u002Freal-analysis\u002Fseveral-variables\u002Fgradient-chain-rule":16039,"\u002Freal-analysis\u002Fseveral-variables\u002Fhigher-derivatives-taylor-extrema":16043,"\u002Freal-analysis\u002Fseveral-variables\u002Finverse-implicit-theorems":16047,"\u002Freal-analysis\u002Fseveral-variables\u002Fmultiple-integrals":16051,"\u002Freal-analysis":16055,"\u002Fabstract-algebra\u002Ffoundations\u002Fsets-functions-relations":16058,"\u002Fabstract-algebra\u002Ffoundations\u002Fintegers-and-modular-arithmetic":16062,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fgroup-axioms-and-first-examples":16066,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fdihedral-and-symmetric-groups":16071,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fmatrix-and-quaternion-groups":16075,"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fhomomorphisms-and-group-actions":16079,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fsubgroups-and-substructures":16083,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcyclic-groups":16088,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fgeneration-and-subgroup-lattices":16092,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcosets-lagrange-and-normal-subgroups":16096,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fisomorphism-theorems":16100,"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcomposition-series-and-the-alternating-group":16104,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Factions-and-cayleys-theorem":16108,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fconjugation-and-the-class-equation":16113,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fsylow-theorems":16117,"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fautomorphisms-and-simple-groups":16121,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fdirect-products-and-finite-abelian-groups":16125,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fsemidirect-products":16130,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fnilpotent-and-solvable-groups":16134,"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fclassifying-small-groups":16138,"\u002Fabstract-algebra\u002Fring-theory\u002Frings-definitions-and-examples":16142,"\u002Fabstract-algebra\u002Fring-theory\u002Fideals-quotients-and-homomorphisms":16147,"\u002Fabstract-algebra\u002Fring-theory\u002Ffractions-and-the-chinese-remainder-theorem":16151,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Feuclidean-domains-pids-ufds":16155,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fpolynomial-rings-over-fields":16160,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fgauss-lemma-and-unique-factorization":16164,"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Firreducibility-criteria-and-groebner":16168,"\u002Fabstract-algebra\u002Fmodule-theory\u002Fintroduction-to-modules":16172,"\u002Fabstract-algebra\u002Fmodule-theory\u002Ffree-modules-and-direct-sums":16177,"\u002Fabstract-algebra\u002Fmodule-theory\u002Ftensor-products-and-exact-sequences":16181,"\u002Fabstract-algebra\u002Fmodule-theory\u002Fvector-spaces-and-linear-maps":16185,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fstructure-theorem-over-pids":16189,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Frational-canonical-form":16194,"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fjordan-canonical-form":16198,"\u002Fabstract-algebra\u002Ffield-theory\u002Ffield-extensions-and-algebraic-elements":16202,"\u002Fabstract-algebra\u002Ffield-theory\u002Fstraightedge-and-compass-constructions":16207,"\u002Fabstract-algebra\u002Ffield-theory\u002Fsplitting-fields-and-algebraic-closure":16211,"\u002Fabstract-algebra\u002Ffield-theory\u002Fseparable-and-cyclotomic-extensions":16215,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fthe-galois-correspondence":16219,"\u002Fabstract-algebra\u002Fgalois-theory\u002Ffinite-fields":16224,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fcyclotomic-and-abelian-extensions":16228,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fgalois-groups-of-polynomials":16232,"\u002Fabstract-algebra\u002Fgalois-theory\u002Fsolvability-by-radicals-and-the-quintic":16236,"\u002Fabstract-algebra\u002Fcapstone\u002Fcommutative-algebra-and-algebraic-geometry":16240,"\u002Fabstract-algebra\u002Fcapstone\u002Frepresentation-and-character-theory":16245,"\u002Fabstract-algebra":16249,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fatomic-spectra-rutherford":16252,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-model-hydrogen":16257,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fx-ray-spectra-franck-hertz":16261,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-sommerfeld-old-quantum-theory":16265,"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fold-quantum-theory-limits-wkb":16269,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fschrodinger-3d-hydrogen":16273,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fhydrogen-wave-functions":16278,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fradial-equation-in-full":16282,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fsymmetry-degeneracy-runge-lenz":16286,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fexpectation-values-virial":16290,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fquantum-defects-alkali-spectra":16294,"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Frydberg-atoms":16298,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Frelativistic-kinetic-correction":16302,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fspin-orbit-thomas-precession":16307,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdarwin-term-fine-structure-formula":16311,"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdirac-equation-hydrogen":16315,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Flamb-shift-qed":16319,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fhyperfine-structure-21cm":16324,"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fnuclear-effects-isotope-shift":16328,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fperiodic-table-atomic-spectra":16332,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fcentral-field-self-consistent":16337,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fidentical-particles-hartree-fock":16341,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhelium-two-electron-atom":16345,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fls-jj-coupling-term-symbols":16349,"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhund-rules-ground-terms":16353,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fzeeman-effect":16357,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fpaschen-back-intermediate":16362,"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fstark-effect-polarizability":16366,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Ftime-dependent-perturbation-golden-rule":16370,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fdipole-approximation-einstein-coefficients":16375,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fselection-rules-forbidden-transitions":16379,"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Flifetimes-and-line-shapes":16383,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Flaser-principles":16387,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fspectroscopy-techniques":16392,"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fline-catalog-nist-asd":16396,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Flaser-cooling-doppler":16400,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fsub-doppler-trapping":16405,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fbose-einstein-condensation":16409,"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Foptical-clocks-precision":16413,"\u002Fatomic-physics":16417,"\u002Fdatabases":16420,"\u002Fcategory-theory\u002Ffoundations\u002Fwhat-is-a-category":16423,"\u002Fcategory-theory\u002Ffoundations\u002Fexamples-of-categories":16427,"\u002Fcategory-theory\u002Ffoundations\u002Fspecial-morphisms":16431,"\u002Fcategory-theory\u002Ffoundations\u002Ffunctors":16435,"\u002Fcategory-theory\u002Ffoundations\u002Fnatural-transformations":16439,"\u002Fcategory-theory\u002Ffoundations\u002Fsize-and-set-theory":16443,"\u002Fcategory-theory\u002Funiversal-properties\u002Funiversal-properties":16447,"\u002Fcategory-theory\u002Funiversal-properties\u002Fproducts-and-coproducts":16452,"\u002Fcategory-theory\u002Funiversal-properties\u002Fconstructions-on-categories":16456,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Frepresentable-functors":16460,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-lemma":16465,"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-consequences":16469,"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits":16473,"\u002Fcategory-theory\u002Flimits-colimits\u002Fproducts-equalizers-pullbacks":16478,"\u002Fcategory-theory\u002Flimits-colimits\u002Fcolimits":16482,"\u002Fcategory-theory\u002Flimits-colimits\u002Fcomputing-limits":16486,"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits-and-functors":16490,"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions":16494,"\u002Fcategory-theory\u002Fadjunctions\u002Funits-and-counits":16499,"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions-via-universal-arrows":16503,"\u002Fcategory-theory\u002Fadjunctions\u002Ffree-forgetful-adjunctions":16507,"\u002Fcategory-theory\u002Fadjoints-limits\u002Flimits-via-adjoints":16511,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fpresheaf-limits-colimits":16516,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoints-preserve-limits":16520,"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoint-functor-theorem":16524,"\u002Fcategory-theory\u002Fmonads-algebras\u002Fmonads":16528,"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-eilenberg-moore":16533,"\u002Fcategory-theory\u002Fmonads-algebras\u002Fkleisli-and-programming":16537,"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-for-endofunctors":16541,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Fcartesian-closed-categories":16545,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Flambda-calculus-correspondence":16550,"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Ffixed-points-and-recursion":16554,"\u002Fcategory-theory":16558,"\u002Fdeep-learning\u002Fmathematical-background\u002Flinear-algebra-for-deep-learning":16561,"\u002Fdeep-learning\u002Fmathematical-background\u002Fprobability-and-information-theory":16565,"\u002Fdeep-learning\u002Fmathematical-background\u002Fnumerical-computation":16569,"\u002Fdeep-learning\u002Fmathematical-background\u002Fcalculus":16573,"\u002Fdeep-learning\u002Ffoundations\u002Fwhat-is-deep-learning":16576,"\u002Fdeep-learning\u002Ffoundations\u002Fmachine-learning-refresher":16580,"\u002Fdeep-learning\u002Ffoundations\u002Flinear-models-and-the-perceptron":16584,"\u002Fdeep-learning\u002Fneural-networks\u002Fthe-multilayer-perceptron":16588,"\u002Fdeep-learning\u002Fneural-networks\u002Factivation-functions":16593,"\u002Fdeep-learning\u002Fneural-networks\u002Funiversal-approximation":16597,"\u002Fdeep-learning\u002Fneural-networks\u002Fbackpropagation":16601,"\u002Fdeep-learning\u002Fneural-networks\u002Floss-functions-and-output-units":16605,"\u002Fdeep-learning\u002Foptimization\u002Fgradient-descent-and-sgd":16609,"\u002Fdeep-learning\u002Foptimization\u002Fmomentum-and-adaptive-methods":16614,"\u002Fdeep-learning\u002Foptimization\u002Finitialization":16618,"\u002Fdeep-learning\u002Foptimization\u002Fthe-optimization-landscape":16622,"\u002Fdeep-learning\u002Foptimization\u002Fsecond-order-and-approximate-methods":16626,"\u002Fdeep-learning\u002Fregularization\u002Fregularization-overview":16630,"\u002Fdeep-learning\u002Fregularization\u002Fdropout-and-data-augmentation":16635,"\u002Fdeep-learning\u002Fregularization\u002Fearly-stopping-and-parameter-sharing":16639,"\u002Fdeep-learning\u002Fregularization\u002Fnormalization":16643,"\u002Fdeep-learning\u002Farchitectures\u002Fconvolutional-networks":16647,"\u002Fdeep-learning\u002Farchitectures\u002Fcnn-architectures":16652,"\u002Fdeep-learning\u002Farchitectures\u002Frecurrent-networks":16656,"\u002Fdeep-learning\u002Farchitectures\u002Flstm-and-gru":16660,"\u002Fdeep-learning\u002Farchitectures\u002Fattention-and-transformers":16664,"\u002Fdeep-learning\u002Farchitectures\u002Fthe-transformer-architecture":16668,"\u002Fdeep-learning\u002Farchitectures\u002Ftransformers-in-practice":16672,"\u002Fdeep-learning\u002Farchitectures\u002Fgraph-neural-networks":16676,"\u002Fdeep-learning\u002Farchitectures\u002Fstate-space-models":16680,"\u002Fdeep-learning\u002Ftheory\u002Fgeneralization-theory":16684,"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-robustness":16689,"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-defenses":16693,"\u002Fdeep-learning\u002Ftheory\u002Fbayesian-and-ensemble-methods":16697,"\u002Fdeep-learning\u002Ftheory\u002Fdeep-equilibrium-models":16701,"\u002Fdeep-learning\u002Fgenerative-models\u002Flinear-factor-models":16705,"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoencoders":16710,"\u002Fdeep-learning\u002Fgenerative-models\u002Fvariational-autoencoders":16714,"\u002Fdeep-learning\u002Fgenerative-models\u002Fgenerative-adversarial-networks":16718,"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoregressive-and-normalizing-flows":16722,"\u002Fdeep-learning\u002Fgenerative-models\u002Fenergy-based-and-boltzmann-machines":16726,"\u002Fdeep-learning\u002Fgenerative-models\u002Fdiffusion-and-score-based-models":16730,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fstructured-probabilistic-models":16734,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fmonte-carlo-and-mcmc":16739,"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fapproximate-inference":16743,"\u002Fdeep-learning\u002Fpractical\u002Fpractical-methodology":16747,"\u002Fdeep-learning\u002Fpractical\u002Fhyperparameters-and-debugging":16752,"\u002Fdeep-learning\u002Fpractical\u002Frepresentation-learning":16756,"\u002Fdeep-learning\u002Fpractical\u002Ftransfer-learning":16760,"\u002Fdeep-learning\u002Fpractical\u002Fapplications":16764,"\u002Fdeep-learning\u002Fpractical\u002Fmodel-compression-and-distillation":16768,"\u002Fdeep-learning\u002Fpractical\u002Fmeta-learning-and-few-shot":16772,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Flarge-language-models":16776,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fscaling-inference-and-alignment":16781,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fseq2seq-pretraining-and-bart":16785,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ftext-to-text-transfer-and-conditional-generation":16789,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fspeech-and-audio-models":16793,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fself-supervised-speech-and-synthesis":16797,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fai-agents":16801,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fagent-memory-retrieval-and-orchestration":16805,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmixture-of-experts":16809,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmultimodal-models":16813,"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ffusion-and-vision-language-models":16817,"\u002Fdeep-learning\u002Freinforcement-learning\u002Ffoundations-of-reinforcement-learning":16821,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fmodel-free-prediction-and-control":16826,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fdeep-q-networks":16830,"\u002Fdeep-learning\u002Freinforcement-learning\u002Fpolicy-gradients-and-actor-critic":16834,"\u002Fdeep-learning\u002Freinforcement-learning\u002Frl-from-human-feedback":16838,"\u002Fdeep-learning":16842,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fequilibrium-state-variables-zeroth-law":16845,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Ffirst-law-heat-and-work":16849,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fsecond-law-entropy-and-the-carnot-bound":16853,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fthermodynamic-potentials-and-maxwell-relations":16857,"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fstability-response-functions-and-the-third-law":16861,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fclassical-statistics-and-equipartition":16865,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fphase-space-and-liouvilles-theorem":16870,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fensembles-and-the-equal-probability-postulate":16874,"\u002Fstatistical-mechanics\u002Ffoundations\u002Fstatistical-entropy-boltzmann-and-gibbs":16878,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fmicrocanonical-ensemble-and-entropy":16882,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fequilibrium-conditions-temperature-pressure-chemical-potential":16887,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fideal-gas-phase-space-and-the-sackur-tetrode-entropy":16891,"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Ftwo-state-systems-paramagnets-and-negative-temperature":16895,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fcanonical-ensemble-and-the-boltzmann-distribution":16899,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fpartition-function-and-the-helmholtz-free-energy":16904,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fenergy-fluctuations-and-ensemble-equivalence":16908,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fthe-einstein-solid-and-harmonic-systems":16912,"\u002Fstatistical-mechanics\u002Fcanonical\u002Fparamagnetism-and-the-schottky-anomaly":16916,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fideal-gas-partition-function-and-the-gibbs-paradox":16920,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fequipartition-and-the-virial-theorem":16925,"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fmolecular-gases-rotation-and-vibration":16929,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fgrand-canonical-ensemble-and-the-grand-partition-function":16933,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fchemical-potential-fugacity-and-number-fluctuations":16938,"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fensemble-summary-and-the-thermodynamic-web":16942,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fquantum-statistics-bose-einstein-and-fermi-dirac":16946,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fderiving-the-quantum-distributions":16951,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fthe-classical-limit-and-quantum-concentration":16955,"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fideal-quantum-gases-general-framework":16959,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-and-the-fermion-gas":16963,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthe-photon-gas-and-plancks-radiation-law":16968,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fblackbody-thermodynamics-and-radiation-pressure":16972,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fphonons-and-the-debye-model":16976,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-derived":16980,"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthermodynamics-of-the-bose-gas-and-superfluidity":16984,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fthe-ideal-fermi-gas-at-zero-temperature":16988,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fsommerfeld-expansion-and-electrons-in-metals":16993,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fwhite-dwarfs-and-the-chandrasekhar-limit":16997,"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fneutron-stars-and-nuclear-matter":17001,"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-cluster-expansion-and-virial-coefficients":17005,"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-van-der-waals-gas-and-liquid-gas-coexistence":17010,"\u002Fstatistical-mechanics\u002Finteractions\u002Fquantum-gases-with-interactions-and-exchange":17014,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fphases-coexistence-and-classification":17018,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-ising-model-and-exact-solutions":17023,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fmean-field-theory-and-the-weiss-model":17027,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fcritical-exponents-and-landau-theory":17031,"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-renormalization-group-idea":17035,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fthermodynamic-fluctuations-and-response":17039,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fbrownian-motion-and-the-langevin-equation":17044,"\u002Fstatistical-mechanics\u002Ffluctuations\u002Flinear-response-and-the-fluctuation-dissipation-theorem":17048,"\u002Fstatistical-mechanics":17052,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fbonding-mechanisms":17055,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fmolecular-orbitals-and-h2-plus":17060,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fhydrogen-molecule-and-exchange":17064,"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fvan-der-waals-forces":17068,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Frotational-vibrational-spectra":17072,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Fanharmonicity-and-rovibrational-structure":17077,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Framan-and-electronic-bands":17081,"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Flasers-and-masers":17085,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fstructure-of-solids":17089,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fbravais-lattices-and-crystal-systems":17094,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Freciprocal-lattice-and-brillouin-zones":17098,"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fdiffraction-and-structure-factors":17102,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonon-dispersion":17106,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonons-quantization-and-dos":17111,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fdebye-einstein-heat-capacity":17115,"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fanharmonicity-and-thermal-transport":17119,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ffree-electron-gas-and-conduction":17123,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fsommerfeld-model-and-heat-capacity":17128,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ftransport-and-the-hall-effect":17132,"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fscreening-and-plasmons":17136,"\u002Fcondensed-matter\u002Fband-theory\u002Fblochs-theorem-and-energy-bands":17140,"\u002Fcondensed-matter\u002Fband-theory\u002Fnearly-free-electron-model":17145,"\u002Fcondensed-matter\u002Fband-theory\u002Ftight-binding-method":17149,"\u002Fcondensed-matter\u002Fband-theory\u002Ffermi-surfaces-and-semiclassical-dynamics":17153,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fsemiconductor-bands-and-junctions":17157,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fintrinsic-and-extrinsic-semiconductors":17162,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fcarrier-transport-and-recombination":17166,"\u002Fcondensed-matter\u002Fsemiconductors\u002Fthe-pn-junction":17170,"\u002Fcondensed-matter\u002Fsemiconductors\u002Ftransistors-and-optoelectronics":17174,"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fdielectrics-and-polarization":17178,"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fferroelectrics-and-piezoelectrics":17183,"\u002Fcondensed-matter\u002Fmagnetism\u002Fdiamagnetism-and-paramagnetism":17187,"\u002Fcondensed-matter\u002Fmagnetism\u002Fexchange-and-ferromagnetism":17192,"\u002Fcondensed-matter\u002Fmagnetism\u002Fantiferromagnetism-and-domains":17196,"\u002Fcondensed-matter\u002Fmagnetism\u002Fspin-waves-and-magnons":17200,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fsuperconductivity-phenomenology":17204,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Flondon-theory-and-the-meissner-effect":17209,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fginzburg-landau-theory":17213,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fbcs-theory":17217,"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fjosephson-and-high-tc":17221,"\u002Fcondensed-matter\u002Fnanostructures\u002Fquantum-wells-wires-and-dots":17225,"\u002Fcondensed-matter\u002Fnanostructures\u002Finteger-quantum-hall-effect":17230,"\u002Fcondensed-matter\u002Fnanostructures\u002Ffractional-quantum-hall-and-topology":17234,"\u002Fcondensed-matter\u002Fnanostructures\u002Fgraphene-and-dirac-materials":17238,"\u002Fcondensed-matter":17242,"\u002Flogic\u002Ffoundations\u002Flogic-as-a-mathematical-model":17245,"\u002Flogic\u002Fsentential-logic\u002Fformal-languages-and-well-formed-formulas":17249,"\u002Flogic\u002Fsentential-logic\u002Ftruth-assignments-and-tautologies":17254,"\u002Flogic\u002Fsentential-logic\u002Funique-readability-and-parsing":17258,"\u002Flogic\u002Fsentential-logic\u002Finduction-and-recursion":17262,"\u002Flogic\u002Fsentential-logic\u002Fexpressive-completeness-and-normal-forms":17266,"\u002Flogic\u002Fsentential-logic\u002Fboolean-circuits":17270,"\u002Flogic\u002Fsentential-logic\u002Fcompactness-and-effectiveness":17274,"\u002Flogic\u002Ffirst-order-languages\u002Ffirst-order-languages":17278,"\u002Flogic\u002Ffirst-order-languages\u002Fstructures-truth-and-satisfaction":17283,"\u002Flogic\u002Ffirst-order-languages\u002Fdefinability-and-elementary-equivalence":17287,"\u002Flogic\u002Ffirst-order-languages\u002Fterms-substitution-and-parsing":17291,"\u002Flogic\u002Fdeductive-calculus\u002Fa-deductive-calculus":17295,"\u002Flogic\u002Fdeductive-calculus\u002Fdeduction-theorem-and-derived-rules":17300,"\u002Flogic\u002Fdeductive-calculus\u002Fsoundness":17304,"\u002Flogic\u002Fdeductive-calculus\u002Fcompleteness-and-consistency":17308,"\u002Flogic\u002Fmodels-and-theories\u002Fcompactness-and-lowenheim-skolem":17312,"\u002Flogic\u002Fmodels-and-theories\u002Ftheories-elementary-classes-and-categoricity":17317,"\u002Flogic\u002Fmodels-and-theories\u002Finterpretations-between-theories":17321,"\u002Flogic\u002Fmodels-and-theories\u002Fnonstandard-analysis":17325,"\u002Flogic\u002Farithmetic-and-definability\u002Fdefinability-in-arithmetic":17329,"\u002Flogic\u002Farithmetic-and-definability\u002Fnatural-numbers-with-successor":17334,"\u002Flogic\u002Farithmetic-and-definability\u002Fpresburger-and-reducts":17338,"\u002Flogic\u002Farithmetic-and-definability\u002Fa-subtheory-and-representability":17342,"\u002Flogic\u002Fincompleteness\u002Farithmetization-of-syntax":17346,"\u002Flogic\u002Fincompleteness\u002Fincompleteness-and-undecidability":17351,"\u002Flogic\u002Fincompleteness\u002Fsecond-incompleteness-theorem":17355,"\u002Flogic\u002Fcomputability-and-representability\u002Frecursive-functions":17359,"\u002Flogic\u002Fcomputability-and-representability\u002Frepresenting-exponentiation":17364,"\u002Flogic\u002Fsecond-order-logic\u002Fsecond-order-languages":17368,"\u002Flogic\u002Fsecond-order-logic\u002Fskolem-functions-and-many-sorted-logic":17373,"\u002Flogic\u002Fsecond-order-logic\u002Fgeneral-structures":17377,"\u002Flogic":17381,"\u002Freinforcement-learning\u002Ffoundations\u002Fwhat-is-reinforcement-learning":17384,"\u002Freinforcement-learning\u002Ffoundations\u002Fa-brief-history-of-rl":17388,"\u002Freinforcement-learning\u002Ffoundations\u002Fmulti-armed-bandits":17392,"\u002Freinforcement-learning\u002Ffoundations\u002Fbandit-exploration-algorithms":17396,"\u002Freinforcement-learning\u002Ffoundations\u002Fmarkov-decision-processes":17400,"\u002Freinforcement-learning\u002Ffoundations\u002Fvalue-functions-and-optimality":17404,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdynamic-programming":17408,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdp-async-and-gpi":17412,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-methods":17416,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-off-policy":17420,"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftemporal-difference-learning":17424,"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftd-control-sarsa-and-q-learning":17428,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-bootstrapping":17432,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-off-policy-methods":17436,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-and-learning":17440,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-focusing-and-decision-time":17444,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdecision-time-planning":17448,"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-tree-search":17452,"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-prediction":17456,"\u002Freinforcement-learning\u002Fapproximation\u002Ffeature-construction-and-nonlinear":17461,"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-control":17465,"\u002Freinforcement-learning\u002Fapproximation\u002Faverage-reward-control":17469,"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-and-the-deadly-triad":17473,"\u002Freinforcement-learning\u002Fapproximation\u002Fbellman-error-and-gradient-td":17477,"\u002Freinforcement-learning\u002Fapproximation\u002Feligibility-traces":17481,"\u002Freinforcement-learning\u002Fapproximation\u002Ftrue-online-and-sarsa-lambda":17485,"\u002Freinforcement-learning\u002Fapproximation\u002Fpolicy-gradient-methods":17489,"\u002Freinforcement-learning\u002Fapproximation\u002Factor-critic-and-continuous-actions":17493,"\u002Freinforcement-learning\u002Fapproximation\u002Fleast-squares-and-memory-based-methods":17497,"\u002Freinforcement-learning\u002Fapproximation\u002Fmemory-and-kernel-methods":17501,"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-eligibility-traces":17505,"\u002Freinforcement-learning\u002Fapproximation\u002Fstable-off-policy-traces":17509,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdeep-q-networks":17513,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdqn-improvements":17517,"\u002Freinforcement-learning\u002Fdeep-rl\u002Factor-critic-and-ppo":17521,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fppo-and-continuous-control":17525,"\u002Freinforcement-learning\u002Fdeep-rl\u002Fcase-studies":17529,"\u002Freinforcement-learning\u002Fdeep-rl\u002Frl-beyond-games":17533,"\u002Freinforcement-learning\u002Fdeep-rl\u002Ffrontiers":17537,"\u002Freinforcement-learning\u002Fdeep-rl\u002Freward-design-and-open-problems":17541,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow":17545,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow-part-2":17550,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control":17554,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control-part-2":17558,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl":17562,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl-part-2":17566,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration":17570,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration-part-2":17574,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl":17578,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl-part-2":17582,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl":17586,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl-part-2":17590,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl":17594,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl-part-2":17598,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl":17602,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl-part-2":17606,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Frlhf-and-language-models":17610,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps":17614,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps-part-2":17618,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl":17622,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl-part-2":17626,"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmeta-rl-and-generalization":17630,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fpsychology-of-reinforcement":17634,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Finstrumental-conditioning-and-control":17639,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-and-td-error":17643,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-in-the-brain":17647,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fanimal-learning-and-cognition":17651,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fcognitive-maps-and-planning":17655,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fneuroscience-of-reinforcement":17659,"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fseveral-learning-systems":17663,"\u002Freinforcement-learning":17667,"\u002Fartificial-intelligence\u002Ffoundations\u002Fwhat-is-ai":17669,"\u002Fartificial-intelligence\u002Ffoundations\u002Ffoundations-of-ai":17673,"\u002Fartificial-intelligence\u002Ffoundations\u002Fintelligent-agents":17677,"\u002Fartificial-intelligence\u002Ffoundations\u002Fagent-architectures":17681,"\u002Fartificial-intelligence\u002Fsearch\u002Funinformed-search":17685,"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-strategies-compared":17690,"\u002Fartificial-intelligence\u002Fsearch\u002Finformed-search":17694,"\u002Fartificial-intelligence\u002Fsearch\u002Fheuristic-functions":17698,"\u002Fartificial-intelligence\u002Fsearch\u002Flocal-search":17702,"\u002Fartificial-intelligence\u002Fsearch\u002Fpopulation-and-continuous-search":17706,"\u002Fartificial-intelligence\u002Fsearch\u002Fadversarial-search":17710,"\u002Fartificial-intelligence\u002Fsearch\u002Fgames-of-chance-and-imperfect-information":17714,"\u002Fartificial-intelligence\u002Fsearch\u002Fconstraint-satisfaction":17718,"\u002Fartificial-intelligence\u002Fsearch\u002Fcsp-search-and-structure":17722,"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-under-uncertainty":17726,"\u002Fartificial-intelligence\u002Fsearch\u002Fbelief-state-and-online-search":17730,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-logic":17734,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-inference":17739,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic":17743,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic-in-use":17747,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Finference-and-resolution":17751,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-resolution":17755,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fclassical-planning":17759,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-graphs-and-graphplan":17763,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-in-the-real-world":17767,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-under-uncertainty":17771,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fknowledge-representation":17775,"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Freasoning-systems-and-defaults":17779,"\u002Fartificial-intelligence\u002Funcertainty\u002Fprobability-and-bayes":17783,"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayes-rule-and-naive-bayes":17788,"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayesian-networks":17792,"\u002Fartificial-intelligence\u002Funcertainty\u002Finference-in-bayesian-networks":17796,"\u002Fartificial-intelligence\u002Funcertainty\u002Freasoning-over-time":17800,"\u002Fartificial-intelligence\u002Funcertainty\u002Ftracking-and-data-association":17804,"\u002Fartificial-intelligence\u002Funcertainty\u002Fmaking-decisions":17808,"\u002Fartificial-intelligence\u002Funcertainty\u002Fmarkov-decision-processes":17812,"\u002Fartificial-intelligence\u002Funcertainty\u002Fdecision-networks-and-game-theory":17815,"\u002Fartificial-intelligence\u002Funcertainty\u002Fgame-theory-and-mechanism-design":17819,"\u002Fartificial-intelligence\u002Flearning\u002Flearning-from-examples":17823,"\u002Fartificial-intelligence\u002Flearning\u002Ftheory-and-model-families":17828,"\u002Fartificial-intelligence\u002Flearning\u002Fprobabilistic-learning":17832,"\u002Fartificial-intelligence\u002Flearning\u002Fexpectation-maximization":17836,"\u002Fartificial-intelligence\u002Flearning\u002Freinforcement-learning":17840,"\u002Fartificial-intelligence\u002Flearning\u002Fgeneralization-and-policy-search":17843,"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-in-learning":17847,"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-based-learning-methods":17851,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fvision-and-perception":17855,"\u002Fartificial-intelligence\u002Ffrontiers\u002Freconstructing-the-3d-world":17860,"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobotics":17864,"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobot-planning-and-control":17868,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnatural-language-in-ai":17872,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnlp-grammar-translation-and-speech":17876,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fphilosophy-and-future":17880,"\u002Fartificial-intelligence\u002Ffrontiers\u002Fai-ethics-and-future":17884,"\u002Fartificial-intelligence":17888,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-constituents-nuclide-chart":17891,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-size-charge-distributions":17896,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-masses-binding-energy":17900,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fsemi-empirical-mass-formula":17904,"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-moments-multipoles":17908,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnuclear-force-shell-overview":17912,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fthe-deuteron":17917,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnucleon-nucleon-scattering":17921,"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fmeson-theory-isospin":17925,"\u002Fnuclear-physics\u002Fnuclear-models\u002Ffermi-gas-model":17929,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fliquid-drop-collective-coordinates":17934,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fshell-model-single-particle":17938,"\u002Fnuclear-physics\u002Fnuclear-models\u002Fcollective-model-rotations-vibrations":17942,"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-law-modes":17946,"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-kinetics-equilibrium":17951,"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-decay-gamow-theory":17955,"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-fine-structure-hindrance":17960,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fbeta-decay-energetics-neutrino":17964,"\u002Fnuclear-physics\u002Fbeta-decay\u002Ffermi-theory-beta-decay":17969,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fweak-interaction-parity-violation":17973,"\u002Fnuclear-physics\u002Fbeta-decay\u002Fdouble-beta-decay-neutrino-mass":17977,"\u002Fnuclear-physics\u002Fgamma-decay\u002Fgamma-multipole-radiation":17981,"\u002Fnuclear-physics\u002Fgamma-decay\u002Finternal-conversion-isomers":17986,"\u002Fnuclear-physics\u002Fgamma-decay\u002Fangular-correlations-mossbauer":17990,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Freaction-kinematics-cross-sections":17994,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fcompound-nucleus-resonances":17999,"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fdirect-reactions-optical-model":18003,"\u002Fnuclear-physics\u002Ffission\u002Ffission-barrier-dynamics":18007,"\u002Fnuclear-physics\u002Ffission\u002Fchain-reactions-reactor-physics":18012,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Ffusion-reactions-confinement":18016,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fstellar-nucleosynthesis":18021,"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fbig-bang-nucleosynthesis":18025,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fcharged-particle-stopping-power":18029,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fphoton-neutron-interactions":18034,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fradiation-detectors":18038,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fdosimetry-radiation-biology":18042,"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fnuclear-applications-dating-medicine":18046,"\u002Fnuclear-physics":18050,"\u002Fnatural-language-processing\u002Ffoundations\u002Fwhat-is-nlp":18053,"\u002Fnatural-language-processing\u002Ffoundations\u002Fregex-and-text-normalization":18057,"\u002Fnatural-language-processing\u002Ffoundations\u002Fminimum-edit-distance":18061,"\u002Fnatural-language-processing\u002Ffoundations\u002Fn-gram-language-models":18065,"\u002Fnatural-language-processing\u002Ffoundations\u002Fsmoothing-and-backoff":18069,"\u002Fnatural-language-processing\u002Fclassification\u002Fnaive-bayes-and-sentiment":18073,"\u002Fnatural-language-processing\u002Fclassification\u002Fevaluating-classifiers":18078,"\u002Fnatural-language-processing\u002Fclassification\u002Flogistic-regression":18082,"\u002Fnatural-language-processing\u002Fclassification\u002Fsentiment-and-affect-lexicons":18086,"\u002Fnatural-language-processing\u002Fsemantics\u002Fvector-semantics-and-embeddings":18090,"\u002Fnatural-language-processing\u002Fsemantics\u002Fstatic-word-embeddings":18095,"\u002Fnatural-language-processing\u002Fsemantics\u002Fneural-language-models":18099,"\u002Fnatural-language-processing\u002Fsequences\u002Fsequence-labeling":18103,"\u002Fnatural-language-processing\u002Fsequences\u002Fcrfs-and-neural-taggers":18107,"\u002Fnatural-language-processing\u002Fsequences\u002Frnns-and-lstms":18111,"\u002Fnatural-language-processing\u002Ftransformers\u002Ftransformers-and-attention":18115,"\u002Fnatural-language-processing\u002Ftransformers\u002Fthe-transformer-architecture":18119,"\u002Fnatural-language-processing\u002Ftransformers\u002Flarge-language-models":18122,"\u002Fnatural-language-processing\u002Ftransformers\u002Fllm-pretraining-and-scaling":18125,"\u002Fnatural-language-processing\u002Ftransformers\u002Ffine-tuning-and-prompting":18129,"\u002Fnatural-language-processing\u002Ftransformers\u002Fprompting-and-alignment":18133,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-parsing":18137,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcky-scoring-and-evaluation":18142,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdependency-parsing":18146,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fgraph-based-and-neural-dependency-parsing":18150,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fword-senses-and-wsd":18154,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fwsd-in-practice-and-induction":18158,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-roles-and-information-extraction":18162,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Frelations-events-and-templates":18166,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoreference-and-discourse":18170,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoherence-and-discourse-structure":18174,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Flogical-semantics":18178,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcompositional-semantics-and-description-logics":18182,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-parsing":18186,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fneural-semantic-parsing":18190,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Finformation-extraction":18194,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftimes-events-and-templates":18198,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdiscourse-coherence":18202,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fentity-based-and-global-coherence":18206,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-grammars":18210,"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftreebanks-and-lexicalized-grammars":18214,"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation":18218,"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation-decoding-and-evaluation":18222,"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering":18226,"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering-knowledge-and-llms":18230,"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-and-chatbots":18234,"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-systems-and-assistants":18238,"\u002Fnatural-language-processing\u002Fapplications\u002Ftext-summarization":18242,"\u002Fnatural-language-processing\u002Fapplications\u002Fabstractive-summarization-and-evaluation":18246,"\u002Fnatural-language-processing\u002Fspeech\u002Fphonetics":18250,"\u002Fnatural-language-processing\u002Fspeech\u002Facoustic-phonetics":18255,"\u002Fnatural-language-processing\u002Fspeech\u002Fautomatic-speech-recognition":18259,"\u002Fnatural-language-processing\u002Fspeech\u002Fasr-evaluation-and-applications":18263,"\u002Fnatural-language-processing":18267,"\u002Fparticle-physics\u002Ffoundations\u002Fhistorical-overview-particle-zoo":18270,"\u002Fparticle-physics\u002Ffoundations\u002Fparticle-physics-basic-concepts":18274,"\u002Fparticle-physics\u002Ffoundations\u002Ffundamental-interactions-force-carriers":18278,"\u002Fparticle-physics\u002Funits-kinematics\u002Fnatural-units-and-scales":18282,"\u002Fparticle-physics\u002Funits-kinematics\u002Ffour-vectors-invariant-mass":18287,"\u002Fparticle-physics\u002Funits-kinematics\u002Fdecay-scattering-kinematics-mandelstam":18291,"\u002Fparticle-physics\u002Funits-kinematics\u002Fcross-sections-golden-rule":18295,"\u002Fparticle-physics\u002Fsymmetries\u002Fconservation-laws-symmetries":18299,"\u002Fparticle-physics\u002Fsymmetries\u002Fdiscrete-symmetries-cpt":18304,"\u002Fparticle-physics\u002Fsymmetries\u002Fparity-violation-weak":18308,"\u002Fparticle-physics\u002Fsymmetries\u002Fsu2-su3-flavor-symmetry":18312,"\u002Fparticle-physics\u002Fquark-model\u002Feightfold-way-su3":18316,"\u002Fparticle-physics\u002Fquark-model\u002Fmeson-spectroscopy":18321,"\u002Fparticle-physics\u002Fquark-model\u002Fbaryon-spectroscopy":18325,"\u002Fparticle-physics\u002Fquark-model\u002Fcolor-confinement-exotics":18329,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fklein-gordon-equation":18333,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fdirac-equation-spinors":18338,"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fantiparticles-hole-theory":18342,"\u002Fparticle-physics\u002Fqed\u002Ffeynman-rules-qed":18346,"\u002Fparticle-physics\u002Fqed\u002Fqed-tree-processes":18351,"\u002Fparticle-physics\u002Fqed\u002Frenormalization-running-coupling":18355,"\u002Fparticle-physics\u002Fqed\u002Felectron-g-2":18359,"\u002Fparticle-physics\u002Fweak-interaction\u002Fva-structure-weak":18363,"\u002Fparticle-physics\u002Fweak-interaction\u002Fw-z-bosons-decays":18368,"\u002Fparticle-physics\u002Fweak-interaction\u002Fckm-matrix":18372,"\u002Fparticle-physics\u002Fweak-interaction\u002Fcp-violation-kaons-b-mesons":18376,"\u002Fparticle-physics\u002Fqcd\u002Fcolor-su3-gluons":18380,"\u002Fparticle-physics\u002Fqcd\u002Fasymptotic-freedom-confinement":18385,"\u002Fparticle-physics\u002Fqcd\u002Fdeep-inelastic-scattering-partons":18389,"\u002Fparticle-physics\u002Fqcd\u002Fjets-hadronization":18393,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Felectroweak-su2-u1":18397,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fspontaneous-symmetry-breaking":18402,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-mechanism":18406,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-boson-discovery":18410,"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fstandard-model":18414,"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-oscillations":18418,"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-mass-pmns":18423,"\u002Fparticle-physics\u002Fneutrinos\u002Fdirac-majorana-experiments":18427,"\u002Fparticle-physics\u002Fexperiment\u002Faccelerators-luminosity":18431,"\u002Fparticle-physics\u002Fexperiment\u002Fdetectors-subsystems":18436,"\u002Fparticle-physics\u002Fexperiment\u002Fhow-discoveries-are-made":18440,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fbeyond-standard-model":18444,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fgrand-unified-theories":18448,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fsupersymmetry":18452,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fhierarchy-problem-naturalness":18456,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fdark-matter-candidates":18460,"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fmatter-antimatter-open-questions":18464,"\u002Fparticle-physics":18468,"\u002Fastrophysics-cosmology\u002Forientation\u002Fthe-sun-and-stars":18471,"\u002Fastrophysics-cosmology\u002Forientation\u002Fstellar-death-final-states":18476,"\u002Fastrophysics-cosmology\u002Forientation\u002Fgalaxies-and-cosmology":18480,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fmagnitudes-fluxes-and-the-distance-modulus":18484,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fstellar-spectra-and-spectral-classification":18489,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Ftelescopes-and-detectors-across-the-spectrum":18493,"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fthe-cosmic-distance-ladder":18497,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fblackbody-radiation-and-specific-intensity":18501,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fradiative-transfer-and-the-transfer-equation":18506,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fspectral-line-formation-and-broadening":18510,"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fopacity-and-the-rosseland-mean":18514,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fhydrostatic-equilibrium-and-the-virial-theorem":18518,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equations-of-stellar-structure":18523,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equation-of-state-and-polytropes":18527,"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-standard-solar-model":18531,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fthermonuclear-reaction-rates-and-the-gamow-peak":18535,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhydrogen-burning-pp-chains-and-cno":18540,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhelium-burning-and-the-triple-alpha-process":18544,"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fadvanced-burning-and-neutron-capture-nucleosynthesis":18548,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fphases-of-the-interstellar-medium":18552,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fmolecular-clouds-and-gravitational-collapse":18557,"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fprotostars-and-the-pre-main-sequence":18561,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-main-sequence-and-its-structure":18565,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fpost-main-sequence-low-mass-evolution":18570,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-evolution-of-massive-stars":18574,"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fstellar-pulsation-and-the-instability-strip":18578,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fwhite-dwarfs-and-the-chandrasekhar-limit":18582,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fcore-collapse-supernovae":18586,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fthermonuclear-supernovae-type-ia":18590,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fneutron-stars-and-pulsars":18594,"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fblack-holes-schwarzschild-and-kerr":18598,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fbinary-systems-and-mass-transfer":18602,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Faccreting-compact-objects":18607,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fgravitational-waves-from-inspiraling-binaries":18611,"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fmultimessenger-astronomy-and-gamma-ray-bursts":18615,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fthe-milky-way":18619,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-morphology-and-classification":18624,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-rotation-curves-and-dark-matter":18628,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Factive-galactic-nuclei-and-supermassive-black-holes":18632,"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-clusters-and-large-scale-structure":18636,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-expanding-universe-and-hubbles-law":18640,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-frw-metric-and-cosmological-redshift":18645,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-friedmann-equations-and-cosmic-dynamics":18649,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fcosmological-models-and-distances":18652,"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fdark-energy-and-the-accelerating-universe":18656,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fthe-thermal-history-of-the-universe":18660,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fbig-bang-nucleosynthesis":18665,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Frecombination-and-the-cosmic-microwave-background":18669,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcmb-anisotropies-and-cosmological-parameters":18673,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcosmic-inflation":18677,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fstructure-formation-and-the-growth-of-perturbations":18681,"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fdark-matter-dark-energy-and-open-questions":18685,"\u002Fastrophysics-cosmology":18689,"\u002Fcolophon":18692,"\u002F":18695},{"path":14015,"title":14016,"module":14017,"summary":14018},"\u002Falgorithms\u002Ffoundations\u002Fwhat-is-an-algorithm","What Is an Algorithm?","Foundations","An algorithm is a finite, mechanical recipe that transforms inputs into outputs. We define what counts as an algorithm, how we write one down, and the three things we always ask of it: is it correct, is it fast, and can we prove it.\n",{"path":14020,"title":14021,"module":14017,"summary":14022},"\u002Falgorithms\u002Ffoundations\u002Fproof-techniques","Proof Techniques","An algorithm without a proof is a conjecture. This lesson collects the handful\nof arguments that certify the algorithms in this course — direct proof,\ncontrapositive, contradiction, ordinary and strong induction, construction, and\ndisproof by counterexample — each with a small worked\nexample and a picture. Loop invariants are a form of induction,\nrecursive correctness falls to strong induction, and the classic broken proofs\n(all horses are the same color) show where inductions go wrong.\n",{"path":14024,"title":14025,"module":14017,"summary":14026},"\u002Falgorithms\u002Ffoundations\u002Fasymptotic-analysis","Asymptotic Analysis","We measure an algorithm's running time as a function of its input size, then strip away machine-specific constants and lower-order terms to compare algorithms cleanly. This lesson defines the RAM model and the $O$, $\\Omega$, $\\Theta$, $o$, and $\\omega$ notations, proves the polynomial theorem, and shows how to rank growth rates with the limit test, L'Hôpital, base substitution, and the logarithm identities the arguments lean on.\n",{"path":14028,"title":14029,"module":14017,"summary":14030},"\u002Falgorithms\u002Ffoundations\u002Fgrowth-rates-and-loop-analysis","Growth Rates and Loop Analysis","With the asymptotic notations in hand, we rank the functions that actually arise in running times — from constant to factorial — proving the orderings between rungs, then read the running time of a loop nest straight off the page. Sequential blocks add, nested loops multiply, index scaling gives logarithms; a worked trace and a tour of cache-aware and galactic algorithms close the lesson.\n",{"path":14032,"title":14033,"module":14017,"summary":14034},"\u002Falgorithms\u002Ffoundations\u002Frecurrences","Recurrences and the Master Theorem","Recursive and divide-and-conquer algorithms describe their own running time with a recurrence: $T(n)$ in terms of $T$ on smaller inputs. We solve recurrences three ways — drawing the recursion tree, guessing-and-verifying by induction, and applying the Master Theorem — using merge sort as the running example, then handle unequal splits with Akra–Bazzi.\n",{"path":14036,"title":14037,"module":14017,"summary":14038},"\u002Falgorithms\u002Ffoundations\u002Famortized-analysis","Amortized Analysis","Some operations are occasionally expensive but cheap on average across any\nsequence. Amortized analysis bounds the average cost per operation over a\nworst-case sequence — not an expectation — so a rare costly step is paid for by\nthe many cheap ones around it. This lesson develops the aggregate, accounting,\nand potential methods on dynamic-array doubling, the binary counter, and a\nstack with multipop.\n",{"path":14040,"title":14041,"module":14042,"summary":14043},"\u002Falgorithms\u002Fdivide-and-conquer\u002Fmergesort","Divide and Conquer & Mergesort","Divide & Conquer","Divide and conquer breaks a problem into smaller copies of itself, solves\nthem recursively, and stitches the answers together. We meet the paradigm\nthrough mergesort — its merge step, its loop-invariant proof, and the\nrecursion tree that pins its cost at $\\Theta(n\\log n)$ — then count inversions\nwith the same machinery and distill the whole pattern into the master theorem.\n",{"path":14045,"title":14046,"module":14042,"summary":14047},"\u002Falgorithms\u002Fdivide-and-conquer\u002Fquicksort","Quicksort","Quicksort sorts in place by partitioning around a pivot and recursing on\neach side. We give Lomuto and Hoare partitioning with a correctness\ninvariant, see why a bad pivot costs $\\Theta(n^2)$ while a balanced one gives\n$\\Theta(n\\log n)$, and prove that randomizing the pivot makes the expected\ncost $\\Theta(n\\log n)$ on every input.\n",{"path":3750,"title":14049,"module":14042,"summary":14050},"Linear-Time Selection","Finding the $k$-th smallest element looks like it should require sorting, but\nit does not. Quickselect adapts quicksort's partition to recurse on just one\nside, achieving expected $O(n)$. The median-of-medians algorithm guarantees a\ngood pivot with the groups-of-five trick, pushing the worst case down to a\nprovable $O(n)$.\n",{"path":14052,"title":14053,"module":14042,"summary":14054},"\u002Falgorithms\u002Fdivide-and-conquer\u002Ffast-multiplication","Fast Multiplication","Grade-school multiplication is $\\Theta(n^2)$, yet divide and conquer beats it.\nKaratsuba multiplies $n$-bit integers with three half-size products instead of\nfour, giving $\\Theta(n^{\\log_2 3})$, and Strassen multiplies matrices with\nseven block products instead of eight, giving $\\Theta(n^{\\log_2 7})$. Both\nspend cheap additions to save an expensive multiplication, and the master\ntheorem quantifies the savings.\n",{"path":14056,"title":14057,"module":14058,"summary":14059},"\u002Falgorithms\u002Fsorting\u002Fheaps-and-heapsort","Heaps and Heapsort","Sorting & Order Statistics","A binary heap is a tree we store flat in an array, with index arithmetic\nstanding in for pointers. We build the max-heap property bottom-up in $O(n)$\ntime, sort in place in $\\Theta(n\\log n)$ by repeatedly extracting the maximum,\nand reuse the same structure to implement a priority queue.\n",{"path":14061,"title":14062,"module":14058,"summary":14063},"\u002Falgorithms\u002Fsorting\u002Fsorting-lower-bounds","Lower Bounds for Comparison Sorting","Every sort we have seen runs in $\\Omega(n\\log n)$, and that is no accident.\nModeling a sort as a decision tree of comparisons, we show any such tree must\nhave $n!$ leaves, forcing height $\\ge \\log_2(n!) = \\Omega(n\\log n)$ — a bound\nno comparison sort beats in the worst case, on average, or with randomness.\n",{"path":14065,"title":14066,"module":14058,"summary":14067},"\u002Falgorithms\u002Fsorting\u002Flinear-time-sorting","Sorting in Linear Time","The $\\Omega(n\\log n)$ barrier only binds algorithms that compare. By instead\nusing keys as array indices we slip past it: counting sort runs in\n$\\Theta(n+k)$ and is stable, radix sort layers it digit by digit, and bucket\nsort averages $\\Theta(n)$ on uniform data. We see exactly when each applies.\n",{"path":14069,"title":14070,"module":14058,"summary":14071},"\u002Falgorithms\u002Fsorting\u002Fexternal-sorting","External Sorting","When the data dwarfs main memory, the cost that matters is no longer\ncomparisons but block transfers to and from disk. External merge sort sorts\nmemory-sized runs, then folds them together with a heap-driven $k$-way merge in\n$\\Theta(\\log_k(N\u002FM))$ passes. Larger fan-out cuts passes; replacement selection\nbuilds longer runs to cut them further.\n",{"path":14073,"title":14074,"module":13082,"summary":14075},"\u002Falgorithms\u002Fdata-structures\u002Felementary-structures","Elementary Data Structures","Every container is built one of two ways: **contiguous** in an array, or\n**linked** through pointers. We trade cache-friendly random access against\n$O(1)$ splicing, derive the **amortized $O(1)$** append of a doubling dynamic\narray, and assemble the two ordered access disciplines — the LIFO **stack** and\nthe FIFO **queue** (with its generalization, the **deque**) — on top of both.\n",{"path":14077,"title":14078,"module":13082,"summary":14079},"\u002Falgorithms\u002Fdata-structures\u002Fhash-tables","Hash Tables","A hash table implements the dictionary — insert, search, delete — in expected\n$O(1)$ time by scattering keys across an array with a hash function. We build\nup from direct addressing, handle collisions by chaining and by open\naddressing, analyze the load factor $\\alpha$, and see how universal hashing\nachieves its expected-time guarantee against every input.\n",{"path":14081,"title":14082,"module":13082,"summary":14083},"\u002Falgorithms\u002Fdata-structures\u002Fbinary-search-trees","Binary Search Trees","A binary search tree keeps keys ordered so that every operation follows a\nsingle root-to-leaf path. We state the BST property, trace search, insert,\nsuccessor, and all three delete cases on concrete trees, prove the inorder\nwalk sorts, and note the drawback — every operation costs $O(h)$, and a\ncarelessly built tree degrades to height $h = \\Theta(n)$, motivating balance.\n",{"path":14085,"title":14086,"module":13082,"summary":14087},"\u002Falgorithms\u002Fdata-structures\u002Favl-trees","AVL Trees","An AVL tree is the first balanced BST: at every node the two subtrees' heights\ndiffer by at most $1$. A Fibonacci-style minimal-node argument forces height\n$h \\le 1.44\\log_2 n = O(\\log n)$, so search, insert, and delete are all\n$O(\\log n)$. Insertion rebalances with at most one of four rotation cases\n(LL, RR, LR, RL); deletion may rotate all the way to the root.\n",{"path":17,"title":14089,"module":13082,"summary":14090},"Balanced Search Trees","An ordinary BST can degrade to height $\\Theta(n)$; balanced search trees\nguarantee $h = O(\\log n)$ by maintaining invariants and repairing them after\nevery update. We meet rotations, the local restructuring primitive, then\nred-black trees, whose color invariants force logarithmic height, and finally\nB-trees, which trade tall-and-thin for short-and-wide to win on disk.\n",{"path":14092,"title":14093,"module":13082,"summary":14094},"\u002Falgorithms\u002Fdata-structures\u002Funion-find","Disjoint Sets (Union-Find)","The disjoint-set data structure tracks a partition of elements into groups,\nanswering \"are these two in the same group?\" and merging groups on demand. A\nforest of parent pointers, sped up by union by rank and path compression,\ndrives every operation to near-constant $O(\\alpha(n))$ amortized time — the\nstructure behind connectivity queries and Kruskal's minimum spanning tree.\n",{"path":14096,"title":14097,"module":13082,"summary":14098},"\u002Falgorithms\u002Fdata-structures\u002Ffenwick-and-segment-trees","Fenwick & Segment Trees","A prefix-sum array answers a range sum in $O(1)$ but pays $O(n)$ per update;\na plain array updates in $O(1)$ but pays $O(n)$ per range sum. Fenwick and\nsegment trees give us _both_ in $O(\\log n)$. The Fenwick (binary indexed) tree\nis a tiny array keyed by the low bit; the segment tree is a general balanced\ntree over canonical ranges that handles any associative aggregate and, with\nlazy propagation, range updates too.\n",{"path":13083,"title":5,"module":13082,"summary":13115},{"path":14101,"title":14102,"module":13082,"summary":14103},"\u002Falgorithms\u002Fdata-structures\u002Fskip-lists-and-probabilistic-structures","Skip Lists & Probabilistic Structures","Balanced trees achieve $O(\\log n)$ with rotations and invariants; randomization\ngives the same bound far more simply. A skip list is a layered linked list whose\nexpress lanes are chosen by coin flips, giving expected $O(\\log n)$ search and\ninsert with no rebalancing. A Bloom filter trades exactness for space: a bit\narray and a few hashes answer set membership with no false negatives and a\ntunable false-positive rate, but cannot delete.\n",{"path":12333,"title":14105,"module":13082,"summary":14106},"B-Trees","When data lives on disk, the cost that dominates is block transfers, not\ncomparisons — and a binary tree of a billion keys is thirty reads deep. A\nB-tree of minimum degree $t$ is short and wide: $t-1$ to $2t-1$ keys per node,\nall leaves at one depth, height $O(\\log_t n)$. Insertion splits a full node on\nthe way down and pushes its median up; deletion borrows or merges to keep nodes\nfull enough. High fan-out is what minimizes disk I\u002FO.\n",{"path":14108,"title":14109,"module":13082,"summary":14110},"\u002Falgorithms\u002Fdata-structures\u002Fdata-stream-algorithms","Data-Stream Algorithms","Most of this course assumes data sits in fast memory, addressable at will.\nExternal sorting relaxed that to a re-readable disk. The streaming model goes\nfurther: items arrive one at a time, are seen once, and must be discarded, with\nonly sublinear, often polylogarithmic, memory. In exchange, the answers are\napproximate and probabilistic. We set up the model, then meet reservoir\nsampling for a uniform sample of an unknown-length stream and Morris counting\nfor an approximate tally in doubly-logarithmic space.\n",{"path":14112,"title":14113,"module":13082,"summary":14114},"\u002Falgorithms\u002Fdata-structures\u002Fstreaming-sketches","Streaming Sketches","Sampling and counting kept a random subset or a single approximate tally.\nSketches go further: fixed, tiny summaries that answer questions about a\nstream's frequencies. We meet the Count–Min sketch for point frequency\nestimation, Misra–Gries for heavy hitters, and HyperLogLog for distinct\ncounts, each trading a controlled error for space that never grows with the\nstream.\n",{"path":14116,"title":14117,"module":14118,"summary":14119},"\u002Falgorithms\u002Fsequences\u002Ftwo-pointers-and-windows","Two Pointers & Sliding Windows","Sequences & Strings","A family of array idioms that collapse an obvious $O(n^2)$ scan into a single\n$O(n)$ pass by maintaining an invariant as indices move. We meet two pointers\n(converging on a sorted array, and a fast\u002Fslow pair for in-place rewriting)\nand the sliding window (fixed and variable size, amortized $O(n)$). The\ncompanion lesson on prefix sums picks up where the window's positivity\nassumption fails.\n",{"path":14121,"title":14122,"module":14118,"summary":14123},"\u002Falgorithms\u002Fsequences\u002Fprefix-sums","Prefix Sums & Difference Arrays","Prefix sums precompute the running total once so that any range-sum query is a\nsingle subtraction, $P[r{+}1]-P[l]$, in $O(1)$. A hash map of prefix\nfrequencies then counts subarrays summing to $k$ in $O(n)$ — even with negative\nentries, where the sliding window fails. The difference-array dual turns $m$\nrange-adds into $O(m+n)$, and the whole idea lifts to 2-D rectangle sums by\ninclusion–exclusion.\n",{"path":14125,"title":14126,"module":14118,"summary":14127},"\u002Falgorithms\u002Fsequences\u002Fmonotonic-stacks","Monotonic Stacks & Queues","A **monotonic stack** keeps its contents sorted by popping every element that\nwould break the order before each push — turning a family of \"previous\u002Fnext\ngreater (or smaller) element\" questions into a single $O(n)$ scan. We trace\nthe next-greater-element routine push by push and prove its amortized bound,\nfuse two such scans to measure the **largest rectangle in a histogram** in\nlinear time, extend the idea to a **monotonic deque** that streams the\n**sliding-window maximum** in $O(n)$, and use asymmetric tie-breaking to\ncount **subarray minimums** without double-counting duplicates.\n",{"path":14129,"title":14130,"module":14118,"summary":14131},"\u002Falgorithms\u002Fsequences\u002Fbinary-search-on-the-answer","Binary Search on the Answer","Binary search locates the boundary of a **monotone predicate** $p(x)$ in\n$O(\\log(\\text{range}))$ probes; sorted arrays are only one instance. We first\nestablish the half-open `while (lo \u003C hi)` template for $\\textsc{lower\\_bound}$\nand $\\textsc{upper\\_bound}$, then generalize to \"binary search on the answer\":\nwhenever feasibility is monotone in a numeric parameter, we binary search the\nparameter itself, calling a feasibility check at each step.\n",{"path":14133,"title":14134,"module":14118,"summary":14135},"\u002Falgorithms\u002Fsequences\u002Fstring-matching","String Matching: Naive & Rabin–Karp","Given a text $T$ of length $n$ and a pattern $P$ of length $m$, find every\noccurrence of $P$ in $T$. The naive scan costs $O(nm)$ and re-reads text it has\nalready seen. Rabin–Karp fixes the first inefficiency with a **rolling hash**:\neach length-$m$ window is summarized by one number, updated in $O(1)$ per slide,\nverified on a hash match to kill collisions, for expected $O(n+m)$. A companion\nlesson removes the re-reading entirely with KMP and the Z-function.\n",{"path":14137,"title":14138,"module":14118,"summary":14139},"\u002Falgorithms\u002Fsequences\u002Fkmp-and-z-function","String Matching: KMP & the Z-Function","Two linear-time matchers that beat Rabin–Karp's expected bound with a\nworst-case guarantee and no randomness. KMP precomputes a **failure function**\n$\\pi$ so a mismatch slides the pattern by $q-\\pi[q-1]$ and the text pointer\nnever backs up, for $O(n+m)$. The **Z-function** computes the longest\nprefix-match at every position via the Z-box, giving the same bound from a\ndifferent angle; the two encodings of a string's self-overlap convert freely.\n",{"path":14141,"title":14142,"module":14118,"summary":14143},"\u002Falgorithms\u002Fsequences\u002Ftries","Tries & Prefix Trees","A **trie** stores a set of strings in a tree keyed by _characters_, so that\ninsert, search, delete, and prefix-test all run in $O(L)$ time — the length\nof the key, _independent of how many keys are stored_. Shared prefixes are\nstored once, which makes tries the natural structure for autocomplete,\nwildcard dictionaries, board word-search, and — over the alphabet $\\{0,1\\}$\n— the maximum-XOR-pair problem. Radix (Patricia) trees compress the chains.\n",{"path":14145,"title":14146,"module":14118,"summary":14147},"\u002Falgorithms\u002Fsequences\u002Fsuffix-arrays-and-aho-corasick","Suffix Arrays, LCP & Aho–Corasick","A **suffix array** sorts all $n$ suffixes of a string, indexing every substring\nat once; built in $O(n\\log n)$, it locates a pattern by binary search in\n$O(m\\log n)$. Its companion **LCP array** (Kasai's $O(n)$ algorithm) counts\ndistinct substrings and finds the longest repeated substring. **Aho–Corasick**\ngeneralises KMP to a whole dictionary: a trie of patterns plus failure links\nscans the text once in $O(\\text{text} + \\text{matches})$ to report every\noccurrence of every pattern. Manacher's algorithm finds all palindromic\nsubstrings in $O(n)$.\n",{"path":14149,"title":14150,"module":14151,"summary":14152},"\u002Falgorithms\u002Fgraphs\u002Frepresentations-and-traversal","Graph Representations and Traversal","Graphs","A graph captures _relationships_ — who connects to whom. We fix the\nvocabulary, weigh the two standard representations (adjacency list versus\nmatrix), then meet the single search skeleton behind everything that follows:\nWhatever-First-Search, and its breadth-first reading, which finds shortest\npaths by number of edges in $O(V + E)$.\n",{"path":14154,"title":14155,"module":14151,"summary":14156},"\u002Falgorithms\u002Fgraphs\u002Fdepth-first-search","Depth-First Search","Swap BFS's queue for a stack and the search plunges instead of fanning out.\nDepth-first search stamps every vertex with discovery and finish times that\nnest like parentheses, classifies each edge as tree, back, forward, or cross,\nand — through the back edge — decides in one pass whether a graph has a cycle.\nThese timestamps underpin topological sort, strong\nconnectivity, and the rest of this module.\n",{"path":14158,"title":14159,"module":14151,"summary":14160},"\u002Falgorithms\u002Fgraphs\u002Ftopological-sort-and-scc","Topological Sort and Strong Connectivity","Directed acyclic graphs model dependencies: tasks that must precede other\ntasks. A _topological order_ lays such a graph out in a line so every edge\npoints forward, and depth-first finish times yield one almost for free.\nWe then ask the harder question for graphs _with_ cycles: which vertices can\nreach each other? The answer is the strongly connected components, found by a\ntwo-pass DFS.\n",{"path":14162,"title":14163,"module":14151,"summary":14164},"\u002Falgorithms\u002Fgraphs\u002Fminimum-spanning-trees","Minimum Spanning Trees","Given a weighted network, how do we connect everything as cheaply as possible?\nThe answer is a minimum spanning tree, and one lemma — the cut property —\njustifies _every_ correct MST algorithm. We prove the cut and cycle\nproperties by exchange arguments, use them to settle uniqueness, and meet the\noldest MST algorithm, Borůvka's, whose parallel component-merging rounds fall\nstraight out of the cut rule.\n",{"path":14166,"title":14167,"module":14151,"summary":14168},"\u002Falgorithms\u002Fgraphs\u002Fkruskal-and-prim","Kruskal and Prim","The two minimum-spanning-tree algorithms you will actually implement.\nKruskal grows a forest edge by edge, cheapest first, using a union-find\nstructure to reject cycle-closing edges; Prim grows one tree outward from a\nroot with a priority queue, exactly Dijkstra rekeyed by attachment cost. Both\ntraced in full on a nine-town graph, with the edge cases, the bottleneck\nproperty, and where each one wins.\n",{"path":14170,"title":14171,"module":14151,"summary":14172},"\u002Falgorithms\u002Fgraphs\u002Fshortest-paths","Shortest Paths","Finding the cheapest route through a weighted network is one of the most-used\nalgorithms in computing, and a single operation — _relaxation_ — underlies\nevery method. We build the primitive, prove the triangle inequality and\noptimal substructure that make it work, then meet Dijkstra's algorithm: the\ngreedy solution for non-negative weights, traced vertex by vertex, with the\ncut argument that proves each extraction is final.\n",{"path":14174,"title":14175,"module":14151,"summary":14176},"\u002Falgorithms\u002Fgraphs\u002Fall-pairs-and-negative-weights","All-Pairs and Negative Weights","Dijkstra's greedy schedule breaks the moment an edge goes negative. We give it\nup for dynamic programming: Bellman-Ford derived as a DP over edge budgets,\nwith its negative-cycle detector, and Floyd-Warshall computing the distance\nbetween _every_ pair of vertices via a DP over which vertices a path may pass\nthrough. We close with Johnson's algorithm and the arbitrage problems that\nnegative cycles encode.\n",{"path":14178,"title":14179,"module":14151,"summary":14180},"\u002Falgorithms\u002Fgraphs\u002Fnetwork-flow","Network Flow","How much can flow through a network from source to sink? We build flow\nnetworks with capacity and conservation constraints, increase a flow by\npushing along augmenting paths in the residual graph, and see how reverse\nedges let the algorithm undo earlier routing. Ford-Fulkerson and its BFS refinement\nEdmonds-Karp find a maximum flow, traced end to end on a worked network.\n",{"path":14182,"title":14183,"module":14151,"summary":14184},"\u002Falgorithms\u002Fgraphs\u002Fmax-flow-min-cut","Max-Flow Min-Cut and Applications","Why is the flow found when no augmenting path remains actually optimal? The\nanswer is a duality theorem: the maximum flow equals the minimum cut. We prove\nit, read the minimum cut off the final residual graph, then derive bipartite\nmatching and a catalog of modeling reductions from the flow\nabstraction — before touching the modern algorithms that supersede\nEdmonds-Karp.\n",{"path":14186,"title":14187,"module":14151,"summary":14188},"\u002Falgorithms\u002Fgraphs\u002Fbridges-and-articulation-points","Bridges & Articulation Points","A **bridge** is an edge whose removal disconnects the graph; an **articulation\npoint** is a vertex whose removal does. Both are single points of failure in a\nnetwork. A single depth-first search computes discovery times and **low-links**,\nand two local criteria — $low[v] > disc[u]$ for bridges, $low[v] \\ge disc[u]$\nfor cut vertices — find them all in $O(V+E)$.\n",{"path":14190,"title":14191,"module":14151,"summary":14192},"\u002Falgorithms\u002Fgraphs\u002Flowest-common-ancestor","Lowest Common Ancestor & Binary Lifting","Given a rooted tree, the lowest common ancestor of $u$ and $v$ is the deepest\nnode that is an ancestor of both. A naive walk answers one query in $O(h)$;\n**binary lifting** precomputes the $2^k$-th ancestor of every node in\n$O(n\\log n)$, then answers $k$-th-ancestor and LCA queries in $O(\\log n)$ each.\nWe derive both jumps, apply them to tree distance, and compare against the\nEuler-tour + RMQ and Tarjan offline alternatives.\n",{"path":14194,"title":14195,"module":14151,"summary":14196},"\u002Falgorithms\u002Fgraphs\u002Ftwo-sat","2-SAT via Implication Graphs","A boolean formula whose every clause has exactly two literals can be solved in\n_linear_ time — even though its three-literal cousin is NP-complete. The idea\nis to read each clause as a pair of implications, build a directed graph on the\n$2n$ literals, and ask a question we already know how to answer: which literals\nshare a strongly connected component? The formula is satisfiable iff no variable\nlands in the same SCC as its own negation, and the SCCs' topological order\nyields a satisfying assignment for free.\n",{"path":14198,"title":14199,"module":14151,"summary":14200},"\u002Falgorithms\u002Fgraphs\u002Feulerian-tours","Eulerian Tours","An **Eulerian tour** uses every _edge_ of a graph exactly once. We give the\nexact parity and balance conditions under which one exists (even degree\nfor undirected graphs, in-degree equal to out-degree for directed) and Hierholzer's\n$O(E)$ algorithm that constructs one by splicing closed sub-tours. We contrast\nthis sharply with the **Hamiltonian** problem (visit every _vertex_ once),\nwhich is NP-complete: visiting edges is easy, visiting vertices is hard.\n",{"path":14202,"title":14203,"module":14151,"summary":14204},"\u002Falgorithms\u002Fgraphs\u002Fbipartite-matching","Bipartite Matching","Pairing applicants to jobs, students to slots, files to disks: all are\n**maximum bipartite matching**. We solve it combinatorially with **augmenting\npaths** (Kuhn's algorithm, $O(VE)$), speed it up to $O(E\\sqrt V)$ with\n**Hopcroft–Karp**, and uncover the structure behind it — **König's theorem**\n(max matching equals min vertex cover) and **Hall's marriage theorem** (a\nperfect matching exists iff every set has enough neighbors).\n",{"path":14206,"title":14207,"module":14208,"summary":14209},"\u002Falgorithms\u002Fgreedy\u002Fthe-greedy-method","The Greedy Method","Greedy Algorithms","A greedy algorithm builds a solution one locally-best choice at a time and\nnever looks back. We isolate the two properties that make this work — the\ngreedy-choice property and optimal substructure — prove the canonical\nactivity-selection algorithm correct with an exchange argument, watch greedy\nfail on the 0\u002F1 knapsack, and glimpse matroids as the theory\nthat says exactly when the greedy method is optimal.\n",{"path":14211,"title":14212,"module":14208,"summary":14213},"\u002Falgorithms\u002Fgreedy\u002Fscheduling-and-intervals","Scheduling & Interval Partitioning","Three classic scheduling problems all yield to greedy algorithms — and all\nthree turn on a single design decision: which key to sort by. Interval\nscheduling sorts by **finish** time to pack the most compatible jobs;\ninterval partitioning sorts by **start** time and proves the rooms needed\nequal the maximum overlap **depth**; minimizing maximum lateness sorts by\n**deadline** and is justified by an adjacent-swap exchange argument.\n",{"path":14215,"title":14216,"module":14208,"summary":14217},"\u002Falgorithms\u002Fgreedy\u002Fhuffman-codes","Huffman Codes","Huffman coding builds a\nprovably optimal prefix-free binary code by repeatedly merging the two least\nfrequent symbols. We develop prefix-free codes as binary trees, give the\nalgorithm with a priority queue, build a Huffman tree from example\nfrequencies, prove optimality with the same greedy-choice-plus-substructure\nargument, and pin the running time at $O(n\\log n)$.\n",{"path":14219,"title":14220,"module":14208,"summary":14221},"\u002Falgorithms\u002Fgreedy\u002Fmatroids","Matroids & Exchange Arguments","The capstone of the greedy module: _why_ and _when_ a greedy algorithm is\nprovably optimal. We recap the two correctness templates — **greedy-stays-ahead**\nand the **exchange argument** — then meet the **matroid** $M=(S,\\mathcal{I})$, an\nabstraction whose **exchange property** is the structure greedy needs.\nThe matroid–greedy theorem says sorting by weight and taking what stays\nindependent yields a maximum-weight basis _if and only if_ the structure is a\nmatroid. Kruskal's MST is the canonical instance; 0\u002F1 knapsack and TSP are the\ncanonical failures.\n",{"path":14223,"title":14224,"module":14208,"summary":14225},"\u002Falgorithms\u002Fgreedy\u002Fstable-matching","Stable Matching (Gale–Shapley)","Two sides each rank the other; we want a matching with no **blocking pair** — no\ntwo participants who both prefer each other to their assigned partners. The\n**Gale–Shapley deferred-acceptance** algorithm has proposers propose in\npreference order while receivers tentatively hold the best offer so far. We prove\nit terminates in $\\O(n^2)$ proposals, returns a **perfect** matching, and that\nthe matching is **stable**. A sharper asymmetry follows: deferred acceptance is\n**proposer-optimal** and **receiver-pessimal**, the structural fact behind the\nresidency match and school-choice systems.\n",{"path":14227,"title":14228,"module":14229,"summary":14230},"\u002Falgorithms\u002Fdynamic-programming\u002Fprinciples","Principles of Dynamic Programming","Dynamic Programming","Dynamic programming is recursion with memory: when a recursive solution\nre-solves the same subproblems again and again, we solve each one once and\nstore the answer. We identify the two structural conditions that make this\nwork — overlapping subproblems and optimal substructure — contrast top-down\nmemoization with bottom-up tabulation, and distil the whole method into a\nfive-step recipe.\n",{"path":14232,"title":14233,"module":14229,"summary":14234},"\u002Falgorithms\u002Fdynamic-programming\u002Fsequence-dp","Sequence Alignment & LCS","Two strings can be compared by how much of one appears inside the\nother. The longest common subsequence (LCS) and edit distance are the two\nclassic measures, and they are the _same_ dynamic program with different\ncosts. We derive the LCS recurrence by examining the last characters, fill a\nworked DP table, reconstruct the subsequence, and then show edit distance as\nthe identical $\\Theta(mn)$ pattern.\n",{"path":14236,"title":14237,"module":14229,"summary":14238},"\u002Falgorithms\u002Fdynamic-programming\u002Flongest-increasing-subsequence","Longest Increasing Subsequence","Given a sequence of numbers, how long is its longest strictly increasing\nsubsequence? A first dynamic program indexes subproblems by the element each\nsubsequence _ends at_, giving an $O(n^2)$ solution with parent-pointer\nreconstruction. A sharper idea, the patience-sorting _tails_ array searched by\nbinary search, drops the time to $O(n\\log n)$. We then fold in the\nvariants: non-decreasing, counting, Russian-doll envelopes, and bitonic.\n",{"path":14240,"title":14241,"module":14229,"summary":14242},"\u002Falgorithms\u002Fdynamic-programming\u002Fknapsack","Knapsack & Subset Problems","We start from $\\textsc{Subset-sum}$ — does some sublist hit a target $t$? — and its\ninclude\u002Fexclude recurrence over a boolean table $A(i, u)$, then bolt on values\nto get 0\u002F1 knapsack as the same machine with $\\lor$ promoted to $\\max$. We fill\nboth tables, recover the chosen items, and confront the surprise that the\n$\\Theta(nt)$ running time is only _pseudo-polynomial_ — exponential in the bit\nlength $b$, and unimprovable unless $\\mathrm{P}=\\mathrm{NP}$ since subset-sum is\n$\\textsc{NP-complete}$. The fractional variant reveals the sharp line between greedy\nand dynamic programming.\n",{"path":14244,"title":14245,"module":14229,"summary":14246},"\u002Falgorithms\u002Fdynamic-programming\u002Fcoin-change-and-unbounded","Coin Change & Unbounded Knapsack","The previous lesson let each item be taken at most once. Drop that cap — items\nmay be reused _any number of times_ — and the 0\u002F1 knapsack collapses from a\ntwo-dimensional table to a one-dimensional one, because there is no longer a\nprefix of \"already-used\" items to track. We meet **unbounded knapsack**, then\nits most famous instance, **coin change**: the minimum-coins recurrence\n$C[a] = 1 + \\min_c C[a-c]$, and the counting variant where the _order of the\nloops_ decides whether you count unordered combinations or ordered sequences —\nthe classic bug. Greed fails in general but works for canonical coin systems.\n",{"path":14248,"title":14249,"module":14229,"summary":14250},"\u002Falgorithms\u002Fdynamic-programming\u002Finterval-dp","Interval DP","Many problems ask for the best way to combine a contiguous range of items, and\nthe answer is a dynamic program over subintervals $[i,j]$ that chooses a split\npoint $k$. We derive the pattern from matrix-chain multiplication —\nparenthesising a product to minimize scalar multiplications in $O(n^3)$ — distil\nit into a reusable template filled by increasing interval length, and then meet\nits sharpest variant: the \"last operation\" trick behind Burst Balloons and\ncutting a stick, where fixing the _last_ move (not the first) makes the two\nsides independent.\n",{"path":14252,"title":14253,"module":14229,"summary":14254},"\u002Falgorithms\u002Fdynamic-programming\u002Ftree-dp","Dynamic Programming on Trees","When the subproblems of a dynamic program are _rooted subtrees_, a single\npost-order DFS solves the whole thing in $O(n)$: each node combines the\nalready-computed answers of its children. We meet the archetype — maximum-weight\nindependent set on a tree — then the \"path through a node\" pattern behind tree\ndiameter and maximum path sum, and finally **rerooting**, which computes a\nper-node answer for _every_ node as root in $O(n)$ with two passes.\n",{"path":14256,"title":14257,"module":14229,"summary":14258},"\u002Falgorithms\u002Fdynamic-programming\u002Fbitmask-dp","Bitmask DP","When a subproblem depends not on an index or a prefix but on _which subset_ of\na small ground set has been used, we can encode that subset as the bits of an\ninteger and index a DP table by it. With $n \\le \\sim 20$ the $2^n$ subsets fit\nin a table, turning $\\Theta(n!)$ brute force into $O(2^n \\cdot \\text{poly}(n))$.\nWe meet the bit tricks, the Held–Karp TSP archetype, assignment by mask,\nsubset-sum partitioning, and submask enumeration with its $3^n$ bound.\n",{"path":14260,"title":14261,"module":14229,"summary":14262},"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-optimizations","DP Optimizations","A correct DP recurrence is only half the battle; its naive evaluation is often\na factor of $n$ slower than necessary. This capstone surveys five techniques,\nmonotonic-queue, the convex hull trick, divide-and-conquer optimization,\nKnuth's optimization, and SOS DP, that each exploit _structure in the\ntransition_ (a sliding window, linear costs, monotone optimal splits, the\nquadrangle inequality, or subset lattices) to shave an $O(n)$, $O(\\log n)$, or\nworse factor off the running time.\n",{"path":14264,"title":14265,"module":14229,"summary":14266},"\u002Falgorithms\u002Fdynamic-programming\u002Fdp-on-graphs","Dynamic Programming on Graphs","Many graph algorithms are dynamic programs: the subproblem is the\n_best value reachable under a restricted resource_ — intermediate vertices\nallowed, edges allowed, or a topological prefix — and edge _relaxation_ is the\nDP transition. We frame Floyd–Warshall as the archetype ($O(V^3)$ all-pairs\nshortest paths), Bellman–Ford as a DP over path length (the at-most-$K$-stops\nvariant), DAG-DP in topological order ($O(V+E)$), and Warshall's transitive\nclosure as the boolean analog.\n",{"path":14268,"title":14269,"module":14229,"summary":14270},"\u002Falgorithms\u002Fdynamic-programming\u002Fdigit-and-probability-dp","Digit & Probability DP","Two DP patterns with unusual state. _Digit DP_ counts the\nintegers in a range $[L, R]$ that satisfy a digit constraint by walking the\ndecimal places of the bound, carrying a _tight_ flag that marks when the prefix\nstill equals the bound's. _Probability\u002FExpectation DP_ replaces \"best value\" with\n\"expected value,\" using linearity of expectation to make each state an\naverage over its weighted transitions — the natural tool for expected step\ncounts and absorbing Markov chains.\n",{"path":14272,"title":14273,"module":14274,"summary":14275},"\u002Falgorithms\u002Fbacktracking\u002Fbacktracking-fundamentals","Backtracking: Subsets, Permutations & Combinations","Backtracking & Search","Backtracking builds a solution one choice at a time and abandons a partial\nsolution the moment it cannot be completed, exploring a state-space tree by\ndepth-first search. We meet the universal choose\u002Fexplore\u002Fun-choose template,\nderive the canonical enumerations — subsets ($2^n$), permutations ($n!$), and\ncombinations ($\\binom{n}{k}$) — handle duplicate elements by skipping equal\nsiblings, and see how pruning turns an exponential search into a tractable one.\n",{"path":14277,"title":14278,"module":14274,"summary":14279},"\u002Falgorithms\u002Fbacktracking\u002Fconstraint-search","Constraint Search: N-Queens & Sudoku","Many hard puzzles are **constraint satisfaction problems**: assign each\nvariable a value from its domain so that every constraint holds. Backtracking\nsolves them by assigning variables one at a time and rejecting a partial\nassignment the instant a constraint breaks. We make the rejection cheap — $O(1)$\nconflict checks for N-Queens via column and diagonal sets — and prune harder\nwith **forward checking**, **MRV** ordering, and **constraint propagation**,\nwhich is what lets an exponential search actually finish.\n",{"path":14281,"title":14282,"module":14274,"summary":14283},"\u002Falgorithms\u002Fbacktracking\u002Fbranch-and-bound","Branch & Bound and Meet in the Middle","Plain backtracking prunes a search tree by _feasibility_; for _optimization_\nproblems we can prune far more aggressively by _value_. **Branch and bound**\nkeeps the best complete solution found so far and discards any partial solution\nwhose optimistic bound cannot beat it. **Meet in the middle** splits the\ninstance in two, enumerates each half, and recombines by binary search — turning\n$2^n$ into $O(2^{n\u002F2}\\,n)$ and pushing exact search out to $n \\approx 40$.\n",{"path":14285,"title":14286,"module":14274,"summary":14287},"\u002Falgorithms\u002Fbacktracking\u002Fgraph-backtracking","Graph Backtracking: m-Coloring & Hamiltonian Paths","Two famous graph problems have no known efficient algorithm, yet yield cleanly\nto backtracking with the right pruning. **Graph $m$-coloring** assigns one of\n$m$ colors to each vertex so no edge is monochromatic; we color vertices in turn\nand reject a color the instant a neighbor already has it. **Hamiltonian\npath\u002Fcycle** asks for a walk visiting every vertex exactly once; we extend a path\ngreedily and backtrack on dead ends. Both are NP-complete, so the worst case is\nexponential — but feasibility pruning and good vertex ordering make real\ninstances tractable, and the contrast with the easy Eulerian condition shows why.\n",{"path":14289,"title":14290,"module":14291,"summary":14292},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fnumber-theory-basics","Number Theory: GCD & Modular Arithmetic","Mathematical Algorithms","This lesson opens the mathematical-algorithms module with the bedrock of\ncomputational number theory. We prove Euclid's recurrence\n$\\gcd(a,b)=\\gcd(b,\\,a\\bmod b)$ and its $O(\\log\\min(a,b))$ running time, extend\nit to recover Bézout coefficients $x,y$ with $ax+by=\\gcd(a,b)$, and build\nmodular arithmetic on residue classes — including when a modular inverse\n$a^{-1}\\bmod m$ exists and how to compute it.\n",{"path":14294,"title":14295,"module":14291,"summary":14296},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmodular-exponentiation-and-primality","Modular Exponentiation & Primality","Computing $a^n \\bmod m$ naively costs $n$ multiplications; **repeated squaring**\ndoes it in $O(\\log n)$ by reading the bits of the exponent. We use this routine\nto state **Fermat's little theorem** (and the modular inverse it gives), then to\ntest primality — trial division, the probabilistic **Fermat** and **Miller–Rabin**\ntests, and the deterministic witness set that settles primality for every 64-bit\nnumber.\n",{"path":14298,"title":14299,"module":14291,"summary":14300},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fsieve-and-factorization","Sieves & Factorization","The previous lesson tested one number for primality; here we ask for _all_\nprimes up to $n$ at once. The **sieve of Eratosthenes** cross-cuts composites\nin $O(n\\log\\log n)$, and a **linear sieve** does it in $O(n)$ while recording\neach number's **smallest prime factor**, which then factors any $x \\le n$ in\n$O(\\log x)$. From a factorization $x = \\prod p_i^{e_i}$ the multiplicative\nfunctions $\\tau$, $\\sigma$, and Euler's totient $\\varphi$ fall out immediately.\n",{"path":14302,"title":14303,"module":14291,"summary":14304},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fcombinatorics","Combinatorics & Counting","Counting is the arithmetic of finite sets. We build up from permutations\n$n!$ and combinations $\\binom{n}{k}$, prove Pascal's rule by a bijection,\nand count multisets with stars and bars. The practical core is computing\n$\\binom{n}{k}\\bmod p$ in $O(1)$ from precomputed factorials and inverse\nfactorials. We close with inclusion–exclusion and the Chinese Remainder\nTheorem, both of which lean on the modular inverse from the previous lesson.\n",{"path":14306,"title":14307,"module":14291,"summary":14308},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fmatrix-exponentiation","Matrix Exponentiation","A linear recurrence advances by a fixed linear rule, so one step is a\n**matrix–vector** product and $n$ steps are a **matrix power**. Packaging\nFibonacci, and any $k$-term recurrence, into a transition matrix lets us jump\nto the $n$-th term in $O(k^3 \\log n)$ by **exponentiation by squaring** — the\nsame doubling trick from modular exponentiation, now over matrices.\n",{"path":14310,"title":14311,"module":14291,"summary":14312},"\u002Falgorithms\u002Fmathematical-algorithms\u002Ffast-fourier-transform","Fast Fourier Transform","Multiplying two degree-$n$ polynomials by the schoolbook method costs\n$\\Theta(n^2)$. Evaluating them at the **$n$-th roots of unity** turns\nmultiplication into pointwise products, and the **Cooley–Tukey FFT** computes\nall those evaluations in $\\Theta(n\\log n)$ by splitting even and odd\ncoefficients. The inverse FFT interpolates back, giving $\\Theta(n\\log n)$\npolynomial and big-integer multiplication.\n",{"path":14314,"title":14315,"module":14291,"summary":14316},"\u002Falgorithms\u002Fmathematical-algorithms\u002Fgradient-descent","Numerical Optimization and Gradient Descent","Most of this course chases **discrete** optima over finite structures; here the\nsearch space is **continuous** and the objective $f$ is differentiable. The\n**gradient** points uphill, so stepping against it —\n$x_{t+1} = x_t - \\eta\\,\\nabla f(x_t)$ — walks downhill. **Convexity** makes every\nlocal minimum global; for convex $L$-smooth $f$ gradient descent converges at\n$O(1\u002Ft)$, and **geometrically** under strong convexity. **Newton's method** uses\nthe Hessian for local quadratic convergence, and **bisection** is the robust\nbracketing fallback for roots.\n",{"path":14318,"title":14319,"module":14320,"summary":14321},"\u002Falgorithms\u002Fcomputational-geometry\u002Fgeometric-primitives","Geometric Primitives & Orientation","Computational Geometry","Computational geometry is built on a single reliable primitive — the\n**orientation test**, a sign of a cross product that tells whether three points\nturn left, right, or lie collinear. From points-as-vectors and the dot and\ncross products we derive orientation, segment intersection, the shoelace area\nformula, and point-in-polygon tests, keeping all arithmetic **exact and\ninteger** so that no floating-point rounding can corrupt a sign.\n",{"path":14323,"title":14324,"module":14320,"summary":14325},"\u002Falgorithms\u002Fcomputational-geometry\u002Fconvex-hull","Convex Hull","The convex hull is the smallest convex polygon enclosing a point set — the\nrubber band snapped around the nails. We build it with Andrew's monotone chain,\nsorting by $(x,y)$ and sweeping a lower and upper hull while popping any\nnon-left turn via the orientation primitive, in $O(n\\log n)$. A reduction from\nsorting shows that bound is optimal, and the hull yields diameter, smallest\nenclosing rectangle, and more through rotating calipers.\n",{"path":14327,"title":14328,"module":14320,"summary":14329},"\u002Falgorithms\u002Fcomputational-geometry\u002Fsweep-line","Sweep-Line Algorithms","The plane-sweep paradigm turns a static $2$-D geometry problem into a dynamic\n$1$-D ordered-set problem: a vertical line sweeps left to right, stopping at an\n$x$-sorted **event queue** while a balanced-BST **status structure** tracks the\nobjects it currently crosses, ordered by $y$. We derive Bentley–Ottmann segment\nintersection in $O((n+k)\\log n)$, recover closest-pair in $O(n\\log n)$, and\nreduce skyline, rectangle-area, and overlap problems to $\\pm1$ event sweeps.\n",{"path":14331,"title":14332,"module":14320,"summary":14333},"\u002Falgorithms\u002Fcomputational-geometry\u002Fpolygons-and-proximity","Polygons & Proximity","Four classics that live on top of the orientation primitive and the convex\nhull. **Closest pair** falls to divide-and-conquer in $\\Theta(n\\log n)$, where a\npacking argument caps the cross-boundary combine at seven neighbours per point.\n**Point-in-polygon** is the ray-casting parity test or the winding-number count\nthat also handles self-intersecting boundaries, both with their edge caveats. The **shoelace formula**\ngives signed area as a sum of cross products, and **rotating calipers** walk the\nhull to read off diameter and width in $O(n)$.\n",{"path":14335,"title":14336,"module":14337,"summary":14338},"\u002Falgorithms\u002Fintractability\u002Fp-np-reductions","P, NP, and Reductions","Intractability","Most problems we have met so far have fast algorithms. A vast and important\nfamily seemingly does not. This lesson builds the vocabulary for that\ndivide: decision problems, the class $\\mathsf{P}$ of problems we can solve\nquickly, the class $\\mathsf{NP}$ of problems whose solutions we can _check_\nquickly, and polynomial-time reductions, the tool that lets us compare the\ndifficulty of two problems without solving either.\n",{"path":14340,"title":14341,"module":14337,"summary":14342},"\u002Falgorithms\u002Fintractability\u002Fnp-completeness","NP-Completeness","Some problems in $\\mathsf{NP}$ are universally hardest: every other problem\nin $\\mathsf{NP}$ reduces to them. This lesson defines $\\mathsf{NP}$-hard and\n$\\mathsf{NP}$-complete, states the Cook–Levin theorem that anchors the\ntheory on **SAT**, walks the web of reductions that grows from it, and gives\nthe four-step recipe for proving a brand-new problem $\\mathsf{NP}$-complete.\n",{"path":14344,"title":14345,"module":14337,"summary":14346},"\u002Falgorithms\u002Fintractability\u002Fcoping-with-hardness","Coping with NP-Hardness","An $\\mathsf{NP}$-hardness proof rules out an exact polynomial-time algorithm,\nnot the need for answers. This lesson surveys four practical responses to\nhardness: approximation algorithms with a provable ratio (worked through a\n2-approximation for vertex cover), heuristics and local search, exact\nexponential methods like branch and bound, and exploiting special structure\nin the instances you actually face.\n",{"path":14348,"title":14349,"module":14337,"summary":14350},"\u002Falgorithms\u002Fintractability\u002Fapproximation-algorithms","Approximation Algorithms","When a problem is $\\mathsf{NP}$-hard we can still ask for a solution\nprovably close to optimal. This lesson makes the approximation ratio\n$\\rho$ precise, separates absolute from relative guarantees, and proves the\nratios of four classic algorithms: greedy set cover ($H_n \\approx \\ln n$),\nthe MST-doubling $2$-approximation for metric TSP, load balancing, and the\nknapsack FPTAS. It closes with the hierarchy PTAS \u002F FPTAS and the limits of\ninapproximability.\n",{"path":14352,"title":14353,"module":6,"summary":6},"\u002Falgorithms","Algorithms",{"path":14355,"title":14356,"module":14357,"summary":14358},"\u002Fcalculus\u002Flimits-and-continuity\u002Ffunctions-and-models","Functions and Mathematical Models","Limits and Continuity","A function assigns exactly one output to each input and can be presented four ways: verbally, numerically, graphically, or by a formula. The elementary families — linear, polynomial, power, rational, trigonometric, exponential — model most elementary phenomena, and transformation, combination, and composition build every other function from them.\n",{"path":14360,"title":14361,"module":14357,"summary":14362},"\u002Fcalculus\u002Flimits-and-continuity\u002Fthe-limit-of-a-function","The Limit of a Function","The tangent and velocity problems both ask for a value a ratio approaches but never reaches — the limit. Its intuitive two-sided form splits into one-sided limits that must agree; a limit fails to exist when they disagree or when the function grows without bound, the latter producing a vertical asymptote.\n",{"path":14364,"title":14365,"module":14357,"summary":14366},"\u002Fcalculus\u002Flimits-and-continuity\u002Flimit-laws-and-the-precise-definition","Limit Laws and the ε–δ Definition","The Limit Laws reduce a limit to arithmetic on simpler limits, and direct substitution settles polynomials and rational functions outright. The 0\u002F0 forms that resist substitution yield to algebra or the Squeeze Theorem, and the ε–δ definition makes \"arbitrarily close\" precise as a pair of quantified inequalities.\n",{"path":14368,"title":14369,"module":14357,"summary":14370},"\u002Fcalculus\u002Flimits-and-continuity\u002Fcontinuity","Continuity","A function is continuous at a point when its limit there equals its value, so the graph has no break. Continuity fails in three geometric ways; it is closed under arithmetic and composition, so the elementary families and their combinations are continuous; and on a closed interval it forces the Intermediate Value Theorem, which locates roots.\n",{"path":14372,"title":14373,"module":14374,"summary":14375},"\u002Fcalculus\u002Fderivatives\u002Fthe-derivative-and-rates-of-change","The Derivative and Rates of Change","Derivatives","A single limit with three readings: the slope of the tangent line, the instantaneous velocity of a moving object, and the rate of change of one quantity with respect to another. Built from the difference quotient, extended from a value at one point to a function of x, and undefined exactly where a corner, jump, or vertical tangent appears.\n",{"path":14377,"title":14378,"module":14374,"summary":14379},"\u002Fcalculus\u002Fderivatives\u002Fdifferentiation-rules-and-the-chain-rule","Differentiation Rules and the Chain Rule","Computing every derivative from the limit definition is tedious. A short list of rules — power, constant multiple, sum, product, quotient — differentiates any polynomial or rational function by inspection. The trigonometric derivatives follow from one limit, and the chain rule extends everything to composite functions by multiplying rates along the composition.\n",{"path":14381,"title":14382,"module":14374,"summary":14383},"\u002Fcalculus\u002Fderivatives\u002Fimplicit-differentiation-and-related-rates","Implicit Differentiation and Related Rates","Not every curve is the graph of y = f(x). Implicit differentiation finds a slope from an equation in x and y directly, treating y as an unknown function and differentiating both sides. The same chain-rule idea drives related rates, where one measured rate of change forces another through a geometric constraint, and interprets the derivative as a rate across the sciences.\n",{"path":14385,"title":14386,"module":14374,"summary":14387},"\u002Fcalculus\u002Fderivatives\u002Flinear-approximations-and-differentials","Linear Approximations and Differentials","A differentiable curve looks like its tangent line under enough magnification, so the tangent is a usable stand-in for the function near the point of contact. The linear approximation and its linearization, written in the language of differentials dy and dx, estimate both function values and the measurement error propagated into a computed quantity.\n",{"path":14389,"title":14390,"module":14391,"summary":14392},"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fextrema-and-the-mean-value-theorem","Extrema and the Mean Value Theorem","Applications of Derivatives","Absolute and local extrema, the Extreme Value Theorem that guarantees them, and Fermat's Theorem pinning candidates to critical numbers. The Closed Interval Method turns the search for extrema into a finite checklist. Rolle's Theorem and the Mean Value Theorem then connect a function's values to its derivative, giving the tool that most of differential calculus rests on.\n",{"path":14394,"title":14395,"module":14391,"summary":14396},"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fhow-derivatives-shape-a-graph","How Derivatives Shape a Graph","The sign of the first derivative fixes where a function rises and falls, and a sign change identifies each local extremum through the First Derivative Test. The second derivative sets concavity and inflection points and gives a faster Second Derivative Test. Limits at infinity describe end behavior and the horizontal asymptotes a curve settles toward.\n",{"path":14398,"title":14399,"module":14391,"summary":14400},"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fcurve-sketching-and-optimization","Curve Sketching and Optimization","A checklist that synthesizes domain, symmetry, asymptotes, monotonicity, extrema, and concavity into a hand sketch of any function, plus the slant asymptote for rational functions whose degree exceeds the denominator's. The same extremum machinery, applied to a word problem, becomes the optimization template: model one quantity, reduce it to a function of a single variable, and find its absolute extremum.\n",{"path":14402,"title":14403,"module":14391,"summary":14404},"\u002Fcalculus\u002Fapplications-of-derivatives\u002Fnewtons-method-and-antiderivatives","Newton's Method and Antiderivatives","Newton's method solves $f(x) = 0$ by repeatedly replacing the curve with its tangent line and jumping to the tangent's root, converging fast when it works and diverging when the derivative is small. Antiderivatives reverse differentiation: every antiderivative of a function differs from another by a constant, so the general antiderivative is a family of parallel curves, pinned to one by an initial condition.\n",{"path":14406,"title":14407,"module":14408,"summary":14409},"\u002Fcalculus\u002Fintegrals\u002Farea-and-the-definite-integral","Area and the Definite Integral","Integrals","The area under a curve is defined as a limit of sums of rectangle areas. The same limit — a Riemann sum taken as the mesh shrinks to zero — defines the definite integral, a single number measuring signed area, total distance, and every accumulated quantity built the same way. Its properties, comparison bounds, and reading as net area follow directly from the limit.\n",{"path":14411,"title":14412,"module":14408,"summary":14413},"\u002Fcalculus\u002Fintegrals\u002Fthe-fundamental-theorem-of-calculus","The Fundamental Theorem of Calculus","Differentiation and integration are inverse operations. Part 1 says the derivative of an area-accumulation function is the integrand; Part 2 says a definite integral equals the change in any antiderivative across the interval. Together they replace limits of Riemann sums with antiderivative lookups, define the indefinite integral, and give the Net Change Theorem for rates.\n",{"path":14415,"title":14416,"module":14408,"summary":14417},"\u002Fcalculus\u002Fintegrals\u002Fthe-substitution-rule","The Substitution Rule","Substitution runs the Chain Rule backward: spotting an inner function whose derivative also appears in the integrand lets the variable change to $u$ and collapse a composite integral to a simple one. The rule applies to indefinite and definite integrals, with two ways to handle the limits, and it yields the symmetry shortcuts that double even integrands and vanish odd ones.\n",{"path":14419,"title":14420,"module":14421,"summary":14422},"\u002Fcalculus\u002Fapplications-of-integration\u002Fareas-and-volumes","Areas Between Curves and Volumes","Applications of Integration","A definite integral computes any quantity that a limit of Riemann sums approximates. Applied to geometry it gives the area between two curves and the volume of a solid: by cross-sections, by disks and washers when the region is revolved, and by cylindrical shells when inverting the boundary is awkward.\n",{"path":14424,"title":14425,"module":14421,"summary":14426},"\u002Fcalculus\u002Fapplications-of-integration\u002Fwork-average-value-and-arc-length","Work, Average Value, Arc Length, and Surface Area","The work done by a force that varies with position, the average value of a function and the Mean Value Theorem it satisfies, the length of a curve, and the area of a surface swept out by revolving that curve. Each is a limit of Riemann sums, hence a definite integral.\n",{"path":14428,"title":14429,"module":14421,"summary":14430},"\u002Fcalculus\u002Fapplications-of-integration\u002Fphysics-economics-and-probability","Applications to Physics, Economics, and Probability","Definite integrals in physics, economics, and statistics: the force a fluid exerts on a submerged plate, the balance point of a plane region, the money consumers save at a market price, and the probability that a continuous random variable lands in an interval, together with its mean.\n",{"path":14432,"title":14433,"module":14434,"summary":14435},"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Finverse-functions-logarithms-and-exponentials","Inverse Functions, Logarithms, and Exponentials","Exponential, Logarithmic, and Inverse Functions","A one-to-one function has an inverse that reverses it, with a graph mirrored across y = x and a derivative given by the reciprocal-slope rule. The exponential e^x is its own derivative and the natural logarithm has derivative 1\u002Fx; logarithmic differentiation turns products, quotients, and variable powers into sums.\n",{"path":14437,"title":14438,"module":14434,"summary":14439},"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Fgrowth-decay-inverse-trig-and-hyperbolic-functions","Growth, Decay, Inverse Trigonometric, and Hyperbolic Functions","Any quantity whose rate of change is proportional to its size grows or decays exponentially, the single equation y' = ky behind populations, radioactive decay, cooling, and continuously compounded interest. The inverse trigonometric functions have algebraic derivatives, and the hyperbolic functions, built from e^x and e^{-x}, describe the hanging cable.\n",{"path":14441,"title":14442,"module":14434,"summary":14443},"\u002Fcalculus\u002Fexponential-logarithmic-and-inverse-functions\u002Flhospitals-rule","Indeterminate Forms and l'Hospital's Rule","When a limit produces 0\u002F0 or infinity over infinity, the value is undetermined by the forms alone. l'Hospital's Rule resolves both by replacing the ratio of functions with the ratio of their derivatives. Products, differences, and powers reduce to a quotient the rule can handle, and repeated use ranks the growth of logarithms, powers, and exponentials.\n",{"path":14445,"title":14446,"module":14447,"summary":14448},"\u002Fcalculus\u002Ftechniques-of-integration\u002Fintegration-by-parts","Integration by Parts","Techniques of Integration","The product rule for derivatives reverses into integration by parts, trading the integral of $u\\,\\d v$ for the integral of $v\\,\\d u$ whenever the second is easier. The LIATE ordering fixes which factor to differentiate. Standard cases: a polynomial against a transcendental factor, repeated parts, cyclic integrals that solve for themselves, and reduction formulas that peel an exponent down by recursion.\n",{"path":14450,"title":14451,"module":14447,"summary":14452},"\u002Fcalculus\u002Ftechniques-of-integration\u002Ftrigonometric-integrals-and-substitution","Trigonometric Integrals and Substitution","Two related techniques. Trigonometric integrals evaluate powers and products of sine, cosine, tangent, and secant by splitting off one factor and converting the rest with a Pythagorean identity, or by dropping even powers with half-angle formulas. Trigonometric substitution runs the idea in reverse: replace x by a sine, tangent, or secant to clear a radical, integrate, then read the answer back off a reference triangle.\n",{"path":14454,"title":14455,"module":14447,"summary":14456},"\u002Fcalculus\u002Ftechniques-of-integration\u002Fpartial-fractions-and-integration-strategy","Partial Fractions and Integration Strategy","Any rational function integrates in closed form: factor the denominator, split the fraction into simple pieces by partial fractions, and integrate each piece as a logarithm or an arctangent. Four denominator cases exhaust the possibilities. A four-step strategy then sorts an arbitrary integrand by its shape to the technique that fits it, and a short catalog records elementary functions whose antiderivatives are not elementary.\n",{"path":14458,"title":14459,"module":14447,"summary":14460},"\u002Fcalculus\u002Ftechniques-of-integration\u002Fapproximate-and-improper-integrals","Approximate and Improper Integrals","Two definite integrals the Fundamental Theorem cannot reach. With no antiderivative available, the Midpoint, Trapezoidal, and Simpson rules approximate the integral from sample values, each carrying a provable error bound. With an infinite interval or an integrand that blows up, the improper integral is defined as a limit that either converges or diverges; the Comparison Test settles which without evaluating it.\n",{"path":14462,"title":14463,"module":14464,"summary":14465},"\u002Fcalculus\u002Fparametric-and-polar\u002Fparametric-curves-and-their-calculus","Parametric Curves and Their Calculus","Parametric Equations and Polar Coordinates","A parametric curve gives x and y separately as functions of a third variable, recording not only a path but the direction and timing with which it is traced. Eliminating the parameter recovers a Cartesian equation; the slope, area, arc-length, and surface-area formulas run directly on the parameter, with the cycloid and astroid as worked examples.\n",{"path":14467,"title":14468,"module":14464,"summary":14469},"\u002Fcalculus\u002Fparametric-and-polar\u002Fpolar-coordinates","Polar Coordinates","Polar coordinates locate a point by a distance from the pole and an angle from the polar axis, giving circles, spirals, and flower-shaped curves short equations. Conversion between the two systems is right-triangle trigonometry, and treating a polar curve as a parametric curve in the angle yields the tangent, area, and arc-length formulas.\n",{"path":14471,"title":14472,"module":14464,"summary":14473},"\u002Fcalculus\u002Fparametric-and-polar\u002Fconic-sections","Conic Sections","Parabolas, ellipses, and hyperbolas are the plane curves cut from a double cone. Each has a focus-based geometric definition and a standard Cartesian equation. A single number, the eccentricity, ties the three together, and placing a focus at the pole gives all of them one polar equation that describes planetary orbits.\n",{"path":14475,"title":14476,"module":14477,"summary":14478},"\u002Fcalculus\u002Fsequences-and-series\u002Fsequences","Sequences","Infinite Sequences and Series","A sequence is a function on the positive integers, and its limit is defined almost exactly like a limit at infinity. The Limit Laws and Squeeze Theorem carry over from functions, monotonic and bounded sequences give a convergence criterion, and the Monotonic Sequence Theorem guarantees a limit exists without naming it.\n",{"path":14480,"title":14481,"module":14477,"summary":14482},"\u002Fcalculus\u002Fsequences-and-series\u002Fseries-and-the-integral-test","Series and the Integral Test","Adding infinitely many terms is made precise as the limit of partial sums. The two series with closed-form partial sums are geometric and telescoping; the harmonic series diverges even as its terms shrink to zero. The Integral Test compares a positive series to an improper integral, settling the p-series and supplying a remainder bound for estimating sums.\n",{"path":14484,"title":14485,"module":14477,"summary":14486},"\u002Fcalculus\u002Fsequences-and-series\u002Fthe-convergence-tests","The Convergence Tests","The comparison, alternating-series, ratio, and root tests decide convergence without a closed-form partial sum. Absolute convergence is stronger than conditional convergence and is preserved under rearrangement; an alternating series errs by less than its first omitted term. A test is chosen from the shape of the general term.\n",{"path":14488,"title":14489,"module":14477,"summary":14490},"\u002Fcalculus\u002Fsequences-and-series\u002Fpower-series","Power Series","A power series is a polynomial of infinite degree whose convergence set is an interval centered at $a$, with a radius the Ratio Test finds and endpoints that must be tested by hand. Inside that interval the series represents a function that can be differentiated and integrated term by term, generating new representations from the geometric series.\n",{"path":14492,"title":14493,"module":14477,"summary":14494},"\u002Fcalculus\u002Fsequences-and-series\u002Ftaylor-and-maclaurin-series","Taylor and Maclaurin Series","If a function equals a power series, its coefficients are forced: the nth is the nth derivative at the center over n factorial. We derive that formula, use Taylor's Inequality to prove the standard series for the exponential, sine, and cosine, record the binomial series and a reference table, and bound the error when a Taylor polynomial replaces a function.\n",{"path":14496,"title":14497,"module":14498,"summary":14499},"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvectors-and-the-dot-product","Three-Dimensional Coordinates, Vectors, and the Dot Product","Vectors and the Geometry of Space","Space needs three coordinates, so we set up the rectangular system, the distance formula, and the equation of a sphere. Vectors then package magnitude and direction into a single algebraic object with its own arithmetic. The dot product turns two vectors into a number that measures the angle between them, gives a clean test for orthogonality, and produces the projection of one vector onto another.\n",{"path":14501,"title":14502,"module":14498,"summary":14503},"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fthe-cross-product-lines-and-planes","The Cross Product, Lines, and Planes","The cross product multiplies two vectors into a third perpendicular to both, with length equal to the area of the parallelogram they span. That one construction supplies the direction of a line, the normal of a plane, and, through the scalar triple product, the volume of a parallelepiped. Lines carry a point and a direction vector; planes carry a point and a normal, which fixes the angle between planes and the distance from a point to a plane.\n",{"path":14505,"title":14506,"module":14498,"summary":14507},"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fcylinders-and-quadric-surfaces","Cylinders and Quadric Surfaces","A surface whose equation omits one variable is a cylinder: the graph of a plane curve swept along the missing axis. A second-degree equation in three variables is a quadric, and translation and rotation reduce every one to a short standard list. Traces — the curves cut by planes parallel to the coordinate planes — sort the six quadrics into ellipsoid, the two paraboloids, the cone, and the two hyperboloids.\n",{"path":14509,"title":14510,"module":14498,"summary":14511},"\u002Fcalculus\u002Fvectors-and-space-curves\u002Fvector-functions-and-space-curves","Vector Functions and Space Curves","A vector function assigns a vector to each value of a parameter, and as the parameter runs its tip traces a space curve. Taking limits, derivatives, and integrals component by component carries all of single-variable calculus into three dimensions. The derivative of a vector function is the tangent vector to its curve, and normalizing it gives the unit tangent that points the way along the path.\n",{"path":14513,"title":14514,"module":14498,"summary":14515},"\u002Fcalculus\u002Fvectors-and-space-curves\u002Farc-length-curvature-and-motion","Arc Length, Curvature, and Motion in Space","Integrating the speed of a vector function gives the length of its curve and a natural parameter, arc length, that depends only on the curve's shape. Curvature measures how fast the unit tangent turns, and together with the normal and binormal it builds the moving TNB frame. Reading the same vector function as a trajectory, its first two derivatives are velocity and acceleration, and acceleration splits cleanly into tangential and normal parts.\n",{"path":14517,"title":14518,"module":14519,"summary":14520},"\u002Fcalculus\u002Fpartial-derivatives\u002Ffunctions-of-several-variables","Functions of Several Variables, Limits, and Continuity","Partial Derivatives","A function of several variables assigns one number to each point of a region in the plane or in space. Domain, graph, level curve, and level surface describe it; limits and continuity extend to two variables, where a limit must agree along every path of approach, not just from the left and the right.\n",{"path":14522,"title":14519,"module":14519,"summary":14523},"\u002Fcalculus\u002Fpartial-derivatives\u002Fpartial-derivatives","A partial derivative holds every variable but one fixed and differentiates in the ordinary sense. Geometrically it is the slope of a trace curve cut from the surface by a coordinate plane. The freeze-and-differentiate rule computes the two first partials; the four second partials follow, and the two mixed ones agree under Clairaut's Theorem when they are continuous.\n",{"path":14525,"title":14526,"module":14519,"summary":14527},"\u002Fcalculus\u002Fpartial-derivatives\u002Ftangent-planes-and-the-chain-rule","Tangent Planes, Linear Approximation, and the Chain Rule","Near a point, a smooth surface looks like its tangent plane, and the plane's equation is built from the two partial derivatives. That linearization defines the total differential and the meaning of differentiability in two variables. The chain rule then propagates derivatives through composed functions, tracked by a tree diagram, and yields clean formulas for implicit differentiation.\n",{"path":14529,"title":14530,"module":14519,"summary":14531},"\u002Fcalculus\u002Fpartial-derivatives\u002Fdirectional-derivatives-and-the-gradient","Directional Derivatives and the Gradient","The partial derivatives measure slope along the two axes; the directional derivative measures slope along any chosen direction, and equals the gradient dotted with a unit vector. The gradient points in the direction of steepest increase, its length is the greatest rate, and it stands perpendicular to level curves and surfaces, which fixes the tangent plane to a level surface.\n",{"path":14533,"title":14534,"module":14519,"summary":14535},"\u002Fcalculus\u002Fpartial-derivatives\u002Foptimization-and-lagrange-multipliers","Optimization and Lagrange Multipliers","Extrema of a two-variable function sit at critical points where the gradient vanishes; the Second Derivatives Test sorts them into peaks, valleys, and saddles by the sign of a discriminant. Absolute extrema on a closed region also need the boundary. When the domain is itself a constraint curve, Lagrange multipliers set the two gradients parallel and solve the constrained problem.\n",{"path":14537,"title":14538,"module":14539,"summary":14540},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fdouble-integrals","Double Integrals","Multiple Integrals and Vector Calculus","The double integral extends the definite integral to functions of two variables: a limit of Riemann sums that measures signed volume under a surface. Fubini's Theorem turns it into two ordinary integrations done one after the other, general regions of type I and type II fix the inner limits, polar coordinates absorb circular symmetry through the factor r, and the same machine computes mass, center of mass, and moments of a lamina.\n",{"path":14542,"title":14543,"module":14539,"summary":14544},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Ftriple-integrals-and-coordinate-systems","Triple Integrals and Coordinate Systems","The triple integral integrates a function of three variables over a solid, as a limit of Riemann sums evaluated by three nested single integrations. Cylindrical coordinates add the factor r to handle axial symmetry, spherical coordinates add rho-squared sine-phi for radial symmetry, and the general change of variables shows both volume elements are Jacobian determinants of the coordinate map. Surface area for a graph completes the measurement toolkit.\n",{"path":14546,"title":14547,"module":14539,"summary":14548},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fvector-fields-and-line-integrals","Vector Fields and Line Integrals","A vector field assigns a vector to every point of space; the line integral of a field along a curve accumulates its tangential component, measuring work. Conservative fields are gradients of a potential, and for them the Fundamental Theorem for Line Integrals makes the integral depend only on the endpoints. Path independence, closed-loop integrals of zero, and the component test for a potential are three faces of the same property.\n",{"path":14550,"title":14551,"module":14539,"summary":14552},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fgreens-theorem-curl-and-divergence","Green's Theorem, Curl, and Divergence","Green's Theorem equates the line integral of a field around a positively oriented closed curve with a double integral over the enclosed region, turning a boundary computation into an area computation and vice versa. Curl measures local circulation and divergence measures local outflow; the two vector forms of Green's Theorem express the boundary integral as the integrated curl or divergence, the planar case of Stokes' and the Divergence Theorem.\n",{"path":14554,"title":14555,"module":14539,"summary":14556},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fsurface-integrals","Parametric Surfaces and Surface Integrals","A parametric surface is the image of a two-variable vector function; its area element is the magnitude of the cross product of the two tangent vectors. The surface integral of a scalar function sums it over that area, and the flux integral of a vector field sums the field's normal component, measuring flow through the surface. Orientation by a choice of unit normal makes flux well-defined, the integral Stokes' and the Divergence Theorem operate on.\n",{"path":14558,"title":14559,"module":14539,"summary":14560},"\u002Fcalculus\u002Fmultiple-integrals-and-vector-calculus\u002Fstokes-and-the-divergence-theorem","Stokes' Theorem and the Divergence Theorem","Stokes' Theorem lifts Green's Theorem into space: the line integral of a field around the boundary of a surface equals the flux of its curl through the surface. The Divergence Theorem relates the outward flux across a closed surface to the triple integral of divergence over the solid it encloses. Together with the Fundamental Theorem of Calculus and its line-integral and Green counterparts, they are one theorem: the integral of a derivative over a region equals the integral of the field over its oriented boundary.\n",{"path":14562,"title":14563,"module":6,"summary":6},"\u002Fcalculus","Calculus",{"path":14565,"title":14566,"module":14017,"summary":14567},"\u002Fmechanics\u002Ffoundations\u002Fmeasurement-and-dimensions","Measurement and Dimensions","Every physical quantity is a number attached to a unit, and that pairing is what lets you check an equation before computing anything, since terms that add together must carry the same dimensions. We build the SI base units and the notion of dimension, then use dimensional analysis to test a proposed relation and form scaling groups — a method that fixes a formula's shape but never its numerical constants. The lesson also sets how precisely a result may be stated, through significant figures, propagated uncertainty, and order-of-magnitude checks that catch errors a raw calculator answer hides.\n",{"path":14569,"title":14570,"module":14017,"summary":14571},"\u002Fmechanics\u002Ffoundations\u002Fvector-algebra","Vector Algebra","Force, velocity, and displacement all carry a direction, so mechanics needs an arithmetic that respects it; adding magnitudes alone gives the wrong answer the moment two arrows point different ways. We set up vectors and their components in a chosen basis, then build the two products that carry most of the physics — the dot product, which extracts the part of one vector along another and yields work and power, and the cross product, which measures oriented area and yields torque and angular momentum. Rotating the axes changes the components while leaving the vector itself untouched, and the same component method resolves a force along whatever directions a constraint picks out.\n",{"path":14573,"title":14574,"module":14575,"summary":14576},"\u002Fmechanics\u002Fkinematics\u002Fone-dimensional-motion","One-Dimensional Motion","Kinematics","Motion along a line already forces the two questions the whole of kinematics repeats: how fast is the object moving now, and where will it be next? Velocity and acceleration answer the first as derivatives of position; integrating them back — the signed area under a graph — answers the second. We derive the constant-acceleration equations, mark exactly where the \"constant\" assumption is load-bearing, and see why sign, not magnitude, is what carries direction.\n",{"path":14578,"title":14579,"module":14575,"summary":14580},"\u002Fmechanics\u002Fkinematics\u002Fmotion-graphs","Motion Graphs","Draw a motion as a graph and its two most useful facts turn geometric: the slope of the position curve is the velocity, and the area under the velocity curve is the displacement. We read motion in both directions — differentiating a graph for the next rate, integrating it back to recover position — and handle the curved, piecewise, and noisy graphs that real measurements produce. Along the way we see why a velocity estimated from two positions belongs to the midpoint of their interval, not its end.\n",{"path":14582,"title":14583,"module":14575,"summary":14584},"\u002Fmechanics\u002Fkinematics\u002Fprojectile-motion","Projectile Motion","Throw an object and it seems to trace one curved path, but the motion is really two independent one-dimensional motions running at once: constant velocity across the ground and free fall in the vertical. Splitting it that way turns every projectile question — how long it stays up, how far it lands, how high it climbs, whether it clears an obstacle — into a pair of equations you already know. We derive the parabolic trajectory, work both the forward and the inverse problems, and show why the familiar $45^\\circ$ range-maximizing angle holds only when launch and landing heights match.\n",{"path":14586,"title":14587,"module":14575,"summary":14588},"\u002Fmechanics\u002Fkinematics\u002Frelative-motion","Relative Motion","A velocity is only ever measured relative to some observer, so a boat's speed through the water, over the ground, and as seen from another boat are three different vectors. Choosing the right frame — and subtracting one motion from another — collapses river crossings, crosswind headings, pursuit, and closest-approach problems into a single vector equation. We build the relative-velocity and relative-position relations for uniformly moving frames, show why acceleration is the one quantity all such observers agree on, and note where rotating frames break the simple subtraction.\n",{"path":14590,"title":14591,"module":14575,"summary":14592},"\u002Fmechanics\u002Fkinematics\u002Fcircular-motion","Circular Motion","An object going around a circle at a steady speed is still accelerating, because its velocity is forever changing direction — the fact that governs everything from a car on a curve to a satellite in orbit. We tie the angular description (angle, angular velocity, angular acceleration) to the linear one through $v=r\\omega$, split the acceleration into an inward part that turns the velocity and a tangential part that changes its speed, and extend the inward $v^2\u002Fr$ result to any curved path through its local radius of curvature. Constant angular acceleration then mirrors straight-line motion equation for equation.\n",{"path":14594,"title":14595,"module":14596,"summary":14597},"\u002Fmechanics\u002Fdynamics\u002Fnewtons-laws","Newton's Laws","Dynamics","What makes a body change its motion, and in which frames does the answer take its simplest form? Newton's three laws settle both: inertial frames are the ones where a force-free body coasts, force is whatever changes momentum, and every interaction pushes back on its source. We write the second law as $\\sum\\vec F=\\d\\vec p\u002F\\d t$, reduce it to $m\\vec a$ at constant mass, and separate what a scale actually reads — the support force — from the weight $m\\vec g$ it is so often mistaken for.\n",{"path":14599,"title":14600,"module":14596,"summary":14601},"\u002Fmechanics\u002Fdynamics\u002Ffree-body-diagrams","Free-Body Diagrams","Once several forces act on a body at once, the reliable way to predict its motion is to isolate that one body and draw every external push and pull on it — nothing more, nothing less. The free-body diagram is that discipline. We fix a system boundary, resolve $\\sum\\vec F=m\\vec a$ into components along axes chosen to fit the geometry, and solve for the unknowns a problem hands us — normal forces, tensions, friction, and the acceleration a constraint permits — seeing why internal forces drop out only when the boundary encloses both bodies that share them.\n",{"path":14603,"title":14604,"module":14596,"summary":14605},"\u002Fmechanics\u002Fdynamics\u002Ffriction-and-curved-motion","Friction and Curved Motion","Real surfaces grip before they slip, fluids push back harder the faster you move through them, and anything rounding a bend must be pulled toward the inside of the curve by something. This lesson supplies the force laws for those three cases. We bound static friction by $|f_s|\\leq\\mu_sN$ and switch to kinetic friction $\\mu_kN$ once sliding starts, model drag as a speed-dependent resistance that levels off at a terminal speed, and show that circular motion demands an inward net force $mv^2\u002Fr$ furnished by real interactions — friction, a banked normal force, tension — never by an invented outward one.\n",{"path":14607,"title":14608,"module":14596,"summary":14609},"\u002Fmechanics\u002Fdynamics\u002Fnumerical-dynamics","Numerical Dynamics","Most force laws — quadratic drag, coupled oscillators, anything nonlinear — admit no closed-form trajectory, so we advance the motion one small time step at a time and let arithmetic do what algebra cannot. This lesson turns $\\d\\vec y\u002F\\d t=f(t,\\vec y)$ into a marching rule. We derive the Euler, Euler--Cromer, midpoint, and Verlet updates, weigh their accuracy and stability, watch a drifting energy expose a bad scheme, and use step-halving and conserved quantities to separate the error of the method from the error of the model.\n",{"path":14611,"title":14612,"module":14596,"summary":14613},"\u002Fmechanics\u002Fdynamics\u002Fcenter-of-mass-systems","Center-of-Mass Systems","A firework bursts into a dozen fragments, yet one point keeps gliding along the original parabola as though nothing had happened. That point is the centre of mass, and following it collapses a many-body tangle into a single equation of motion. We define $\\vec R=\\frac1M\\sum_i m_i\\vec r_i$ and its continuous form, show that internal forces cancel so that only external ones move it, $M\\vec A_{\\rm cm}=\\sum\\vec F_{\\rm ext}$, and put the result to work on recoil, collisions viewed from the centre-of-mass frame, and rocket propulsion, where mass leaving the boundary carries momentum with it.\n",{"path":14615,"title":14616,"module":14617,"summary":14618},"\u002Fmechanics\u002Fenergy\u002Fwork-and-kinetic-energy","Work and Kinetic Energy","Energy","A constant push along a straight path is trivial to score, but real forces vary and bend along curved trajectories, and only the component along the motion transfers any energy. Work captures exactly that transfer as the line integral $W=\\int\\vec F\\cdot\\d\\vec r$, and the work-kinetic-energy theorem turns it into a statement about speed: the net work on a particle equals the change in its $\\tfrac12 mv^2$. We build work up from the dot product to the signed area under a force curve, derive the theorem from Newton's second law, and read power as its instantaneous rate $P=\\vec F\\cdot\\vec v$.\n",{"path":14620,"title":14621,"module":14617,"summary":14622},"\u002Fmechanics\u002Fenergy\u002Fpotential-energy","Potential Energy","When a force does the same work no matter which path a particle takes, that work can be stored as a function of position alone, and solving for the motion becomes bookkeeping instead of integration. We single out the forces that qualify — the conservative ones, for which $\\oint\\vec F\\cdot\\d\\vec r=0$ — define their potential energy through $\\vec F=-\\nabla U$, and use conservation of mechanical energy to read speeds, turning points, and equilibria straight off a potential curve. Friction breaks the shortcut, so we also track where mechanical energy leaks away as heat.\n",{"path":14624,"title":14625,"module":14617,"summary":14626},"\u002Fmechanics\u002Fenergy\u002Fmultiparticle-work","Multiparticle Work","A single particle has one velocity and one kinetic energy; a system of many can spin, deform, explode, and warm up while its centre of mass glides along as if nothing happened. Splitting the motion into a centre-of-mass part and an internal part separates the energy that momentum already fixes from the energy left free for relative motion, $K=\\tfrac12MV_{\\rm cm}^2+K'$. We derive the centre-of-mass work theorem, see why an explosion or a released spring can raise total kinetic energy with no external work at all, and use the reduced-mass and centre-of-mass frames to make collisions and internal transfers clean.\n",{"path":14628,"title":14629,"module":14617,"summary":14630},"\u002Fmechanics\u002Fenergy\u002Fmass-energy-and-binding","Mass-Energy and Binding","Relativity puts rest itself on the energy ledger: a mass $m$ carries energy $mc^2$ even when it sits still, so weighing a system's separated pieces and weighing the assembled whole give different answers, and the gap is binding energy. We convert freely between mass units and MeV, compute the energy that holds a nucleus together, and read the binding-energy-per-nucleon curve that explains why fusing light nuclei and splitting heavy ones both release energy. Reaction $Q$ values, thresholds, and recoil then follow from the same mass-difference accounting, once the frame and mass convention are fixed.\n",{"path":14632,"title":14633,"module":14617,"summary":14634},"\u002Fmechanics\u002Fenergy\u002Fphotons-and-quantization","Photons and Quantization","Light delivers its energy in indivisible lumps: a photon of frequency $f$ carries exactly $hf$, and this one fact explains why a dim blue lamp ejects electrons that an intense red one cannot. We fix a photon's energy and momentum from its wavelength, follow the quanta through emission, absorption, and the photoelectric threshold $K_{\\rm max}=hf-\\phi$, and watch energy and momentum conservation together produce the Compton wavelength shift when a photon scatters from an electron. The recurring discipline is unit and frame care, where a stray factor of $10^9$ or a forgotten rest energy quietly ruins an answer.\n",{"path":14636,"title":14637,"module":14638,"summary":14639},"\u002Fmechanics\u002Fmomentum\u002Fmomentum-and-collisions","Momentum and Collisions","Momentum","When two objects collide, the forces between them are too brief and too tangled to integrate directly, yet the result is fixed by one conserved quantity. Linear momentum $\\vec p=m\\vec v$ turns Newton's second law into the impulse-momentum theorem $\\vec J=\\Delta\\vec p$, and for an isolated system into a conservation law that holds through any internal collision, however dissipative. We use it to separate elastic from inelastic collisions, follow the centre of mass, and read impulse as the signed area under a force-time curve — always tracking which external impulses the chosen system and interval let us drop.\n",{"path":14641,"title":14642,"module":14638,"summary":14643},"\u002Fmechanics\u002Fmomentum\u002Fcenter-of-mass-collisions","Center-of-Mass Collisions","A two-body collision that looks asymmetric in the laboratory becomes almost trivial in the frame that rides along with the centre of mass, where the total momentum is zero and the two momenta stay equal and opposite. We build that frame, reduce the pair to a single relative coordinate carrying the reduced mass $\\mu$, and show that an elastic collision there only rotates one momentum vector while its length holds fixed. Transforming back to the laboratory then handles elastic and inelastic collisions, scattering angles, and reaction thresholds with the same construction — and shows why relative speed, not laboratory kinetic energy, measures what a collision can convert.\n",{"path":14645,"title":14646,"module":14638,"summary":14647},"\u002Fmechanics\u002Fmomentum\u002Frocket-propulsion","Rocket Propulsion","A rocket speeds up by throwing mass backward, so its own mass drops as it flies and $\\vec F=m\\vec a$ no longer applies to a fixed body. Tracking the momentum the exhaust carries across the vehicle boundary gives thrust $T=Ru_e$ and, for a force-free burn, the rocket equation $\\Delta v=u_e\\ln(m_i\u002Fm_f)$ — a logarithm that makes large velocity changes expensive in propellant and forces staging. We then add the forces a real ascent cannot ignore, gravity, drag, and steering, and show how thrust and mass-flow records are cross-checked to infer the exhaust speed.\n",{"path":14649,"title":14650,"module":14651,"summary":14652},"\u002Fmechanics\u002Frotation\u002Frotational-inertia","Rotational Inertia","Rotation","Push a wheel and a merry-go-round with the same force and they speed up at wildly different rates: the same mass resists rotation differently depending on where it sits relative to the axis. That single fact is the moment of inertia, $I=\\int r_\\perp^2\\,\\d m$, and this lesson builds it from the ground up. We tie angular motion to linear through $s=r\\theta$, $v=r\\omega$, and $a_t=r\\alpha$, derive $I$ for rods, disks, and spheres, and use the parallel- and perpendicular-axis theorems to move between axes — always naming the axis, because the same body has as many moments of inertia as it has lines to spin about.\n",{"path":14654,"title":14655,"module":14651,"summary":14656},"\u002Fmechanics\u002Frotation\u002Frotational-dynamics","Rotational Dynamics","A force applied to a wheel does nothing unless it acts off the axis: what turns a rigid body is torque, force times lever arm. This lesson makes that precise and turns it into the rotational Newton's second law, $\\sum\\tau=I\\alpha$ about a fixed axis, the exact analogue of $\\sum F=ma$. From there we get rotational work $W=\\int\\tau\\,\\d\\theta$ and power $P=\\tau\\omega$, size a motor to a load, and solve pulleys and Atwood machines where the pulley's own inertia can no longer be ignored — always insisting that every torque be measured about the same axis.\n",{"path":14658,"title":14659,"module":14651,"summary":14660},"\u002Fmechanics\u002Frotation\u002Frolling-motion","Rolling Motion","A rolling wheel is doing two things at once — translating and spinning — but the no-slip condition $v_{cm}=R\\omega$ locks them together, and that single constraint is what makes rolling tractable. We use it to split the kinetic energy into $\\tfrac12Mv_{cm}^2+\\tfrac12I\\omega^2$, find how fast a cylinder reaches the bottom of an incline, and show why the contact point is instantaneously at rest. The static friction that enforces rolling does no work; we track its direction from the tendency to slip, and mark exactly where the model breaks once the required friction exceeds $\\mu_sN$.\n",{"path":14662,"title":14663,"module":14651,"summary":14664},"\u002Fmechanics\u002Frotation\u002Fangular-momentum","Angular Momentum","A skater pulls in her arms and spins faster, with no torque acting: that is angular momentum conservation, and it lets us answer questions that would be hopeless force by force. We build $\\vec L=\\vec r\\times\\vec p$, show it obeys $\\vec\\tau_{ext}=\\d\\vec L\u002F\\d t$, and use its conservation under zero external torque to link before and after in collisions, reconfigurations, and coupled rotors without ever resolving the internal forces. The catch is bookkeeping: the origin, the system boundary, and the frame must be fixed first, and a change in total $\\vec L$ always points to an external impulse someone forgot.\n",{"path":14666,"title":14667,"module":14651,"summary":14668},"\u002Fmechanics\u002Frotation\u002Frolling-resistance","Rolling Resistance","Ideal rolling should coast forever, yet every real wheel slows down. The reason is that a deformable tire and road do not press through a single point: the contact patch spreads, the normal-force resultant shifts ahead of the axle, and that offset is a resisting moment even with no gross sliding. We package it as an equivalent force $F_{rr}=C_{rr}N$, tie the coefficient to load, surface, speed, and temperature, and use coast-down, towing, and traction tests to separate this contact loss from aerodynamic drag, bearing friction, and the adhesion limit where rolling gives way to skidding.\n",{"path":14670,"title":14671,"module":14651,"summary":14672},"\u002Fmechanics\u002Frotation\u002Fgyroscopic-precession","Gyroscopic Precession","A spinning top leans over but does not fall — it swings its axis in a slow horizontal circle instead. The paradox dissolves once torque is read as the rate of change of a vector: gravity's torque is perpendicular to the spin angular momentum, so it turns $\\vec L$ rather than toppling it. We derive the steady precession rate $\\Omega\\simeq Mgr\u002F(I_s\\omega_s)$ in the fast-top limit, state the assumptions it leans on — dominant spin, slow tilt, negligible bearing torque — and read nutation, support motion, and a decaying spin as the ways real gyroscopes depart from it.\n",{"path":14674,"title":14675,"module":14676,"summary":14677},"\u002Fmechanics\u002Fgravity-and-matter\u002Fkeplerian-orbits","Keplerian Orbits","Gravitation and Matter","Why do the planets trace ellipses rather than any other curve? Newton's inverse-square law collapses the two-body problem onto a single conic section, and the answer falls out of two conserved quantities: a central force can exert no torque, so angular momentum is fixed, and gravity is conservative, so energy is fixed. We read an orbit's size and shape straight off those invariants, recover all three of Kepler's laws, and derive escape speed, the vis-viva relation, and the timing of a pass. We also mark where the ideal ellipse breaks down — drag, oblateness, and a third body slowly move a real orbit.\n",{"path":14679,"title":14680,"module":14676,"summary":14681},"\u002Fmechanics\u002Fgravity-and-matter\u002Fgravitational-fields","Gravitational Fields","Instead of tracking the force between every pair of masses, we attach a field to the source and ask a test mass to read it off locally. That move pays off because gravity is conservative: the field is the gradient of a single scalar potential, and potentials from many sources simply add. We build the field-potential picture, use spherical symmetry and the shell theorem to get the point-mass exterior field and the zero interior field of a shell, and read tides straight out of the field's gradient. Along the way we mark exactly when the constant-$g$ and point-mass shortcuts hold and when a shape correction is needed.\n",{"path":14683,"title":14684,"module":14676,"summary":14685},"\u002Fmechanics\u002Fgravity-and-matter\u002Fstatic-equilibrium","Static Equilibrium","What does it take for a loaded structure to stay put? A body at rest needs its forces to cancel and its turning effects to cancel — $\\sum\\vec F=0$ and $\\sum\\vec\\tau=0$ about any point — and almost all of statics is the craft of turning a physical setup into those equations. We build free-body diagrams, replace supports, cables, friction, couples, and distributed loads with their idealized reactions, and locate the centre of gravity that decides whether a body tips. We also count equations against unknowns to separate a determinate problem from one that needs the material's deformation to resolve, and read every negative or inconsistent reaction as a sign that a contact or a boundary was chosen wrong.\n",{"path":14687,"title":14688,"module":14676,"summary":14689},"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-statics","Fluid Statics","A fluid at rest cannot support a shear, so the only stress it carries is a pressure that must grow with depth to hold up the fluid above it. That single balance, $\\d p\u002F\\d z=-\\rho g$, runs the whole subject: it sets manometer readings, the force on a dam, and — integrated over a submerged boundary — Archimedes' buoyant force $F_B=\\rho g V_{\\rm disp}$. We derive these, use them to decide when a body floats and whether it floats upright, and mark where acceleration, rotation, compressibility, or capillarity forces a richer pressure model.\n",{"path":14691,"title":14692,"module":14676,"summary":14693},"\u002Fmechanics\u002Fgravity-and-matter\u002Ffluid-flow","Fluid Flow","Two accounting rules carry most of steady flow: mass cannot pile up, so the same volume crosses every section each second, and mechanical energy is conserved along a streamline when the fluid is ideal. From those we get continuity, Bernoulli's relation between pressure, speed, and height, and the results that follow — Torricelli's efflux speed, the Venturi meter, the Pitot tube. We then let go of the ideal assumptions one at a time: viscosity adds wall shear and head loss, Reynolds number decides laminar versus turbulent, and Mach number marks where a gas stops behaving as incompressible.\n",{"path":14695,"title":14696,"module":14676,"summary":14697},"\u002Fmechanics\u002Fgravity-and-matter\u002Forbital-motion","Orbital Motion","A circular orbit is nothing but free fall with enough sideways speed to keep missing the ground, and setting gravity equal to the centripetal requirement fixes that speed and the period once and for all. From the same energy bookkeeping we read off escape speed, sort orbits into bound, parabolic, and hyperbolic by the sign of their specific energy, and see why a tangential burn is the efficient way to change an orbit. We build the Hohmann transfer and its launch window, work the numbers for a geostationary orbit and an escape burn, and mark where finite thrust, perturbations, and an uncertain initial state pull a real trajectory off the ideal.\n",{"path":14699,"title":14700,"module":14676,"summary":14701},"\u002Fmechanics\u002Fgravity-and-matter\u002Fstress-and-elasticity","Stress and Elasticity","Rigid bodies are a fiction; every real material stretches, shears, or squeezes under load, and the useful question is how much. We define stress as force per area and strain as fractional deformation, then find that for small deformations the two are simply proportional — Hooke's law — with Young's, shear, and bulk moduli as the constants for stretch, twist, and volume change. From these we compute extensions, torsional twist, and stored elastic energy, and read a tensile curve for the yield, ultimate, and fracture points where linear elasticity ends. We also mark the practical limits: stress concentrations, fatigue, and the multiaxial states a single uniaxial modulus cannot capture.\n",{"path":14703,"title":14704,"module":14705,"summary":14706},"\u002Fmechanics\u002Foscillations-waves\u002Fdamped-oscillators","Damped Oscillators","Oscillations and Waves","Every real oscillator eventually stops: friction, drag, and internal loss drain its energy, so free motion is a decay rather than a permanent swing. Adding a velocity-proportional resistance to the spring-mass equation produces one dimensionless number, $b\u002F(2\\sqrt{mk})$, that decides whether the mass rings down through many cycles, returns once without overshoot, or crawls back slowly. We solve the three regimes, tie the observed decay to the power balance $b\\dot x^2$, and turn a measured ring-down into the decay rate and quality factor of the apparatus — reading damping off the data instead of assuming it.\n",{"path":14708,"title":14709,"module":14705,"summary":14710},"\u002Fmechanics\u002Foscillations-waves\u002Ftravelling-waves","Travelling Waves","A wave carries a shape, not the material: each element of a rope or air column oscillates in place while the disturbance travels through it. Writing that shape as $f(x\\mp vt)$ turns \"the pattern moves\" into a statement about the cosine's argument, and a local force balance on one string segment fixes the speed at $v=\\sqrt{T\u002F\\mu}$ — restoring stiffness over inertia, with amplitude nowhere in it. We build the sinusoidal wave and its phase, derive the wave equation from Newton's second law, and follow the energy a travelling wave transports, then check speed and power against those predictions.\n",{"path":14712,"title":14713,"module":14705,"summary":14714},"\u002Fmechanics\u002Foscillations-waves\u002Fwave-superposition","Wave Superposition","When two waves cross the same point, what does a probe read? In a linear medium the answer is arithmetic: the displacements add, $y=y_1+y_2$, and the pulses pass through each other unchanged. That one rule produces interference — reinforcement where the signs agree, cancellation where they oppose — and it guards against a common mistake, since displacement can vanish at an instant while the energy sits in transverse motion instead. We work out the signed sum, the phase bookkeeping for equal-frequency components, and why a null in the record is not a null in the wave.\n",{"path":14716,"title":14717,"module":14705,"summary":14718},"\u002Fmechanics\u002Foscillations-waves\u002Fstanding-waves","Standing Waves","Clamp a string at both ends and only certain frequencies survive: the ends must be nodes, and that single geometric demand quantizes the wave into a discrete set of modes $f_n=nv\u002F(2L)$. The travelling wave becomes a fixed pattern of nodes and antinodes — standing, not moving — because equal waves running in opposite directions superpose. We build the standing wave from its counter-propagating pieces, read the harmonic sequence off the boundary conditions (half-wavelengths for a fixed-fixed string, odd quarter-wavelengths for a closed pipe), and test the ideal model against node scans and resonance peaks.\n",{"path":14720,"title":14721,"module":14705,"summary":14722},"\u002Fmechanics\u002Foscillations-waves\u002Fsound-waves","Sound Waves","Sound is a pressure wave so small that a loud tone displaces air molecules by less than the width of an atom, yet a microphone reads it easily — because pressure, not displacement, is what the ear and the instrument sense. The acoustic impedance $Z=\\rho c$ ties pressure, density, and particle velocity together, fixes the intensity a wave carries, and sets the reference for the decibel, a logarithm that tames a $10^{12}$ range in power. We derive the sound speed from the gas's stiffness, convert between pressure and intensity levels, and treat the measurement itself — calibration, geometry, background, averaging — as part of the physics.\n",{"path":14724,"title":14725,"module":14705,"summary":14726},"\u002Fmechanics\u002Foscillations-waves\u002Fdoppler-effect","Doppler Effect","A passing siren drops in pitch not because the source changes but because motion repacks the wavefronts: an approaching source crowds its crests, a receding one stretches them, and a moving listener samples them at a different rate. For mechanical waves every velocity is measured against the medium, and one signed ratio $f_r=f_s(v-u_r)\u002F(v-u_s)$ captures both effects at once. We separate source motion, which sets crest spacing, from receiver motion, which sets arrival rate, invert the shift to recover radial velocity, and mark where the model breaks — supersonic sources, moving air, and reflected paths that carry two shifts, not one.\n",{"path":14728,"title":14729,"module":14705,"summary":14730},"\u002Fmechanics\u002Foscillations-waves\u002Fwave-packets","Wave Packets","No real signal is a single frequency: a disturbance that starts and stops is built from a band of wave numbers, and the width of that band is what makes it local. We ask how such a packet moves — carrier crests at the phase velocity $v_\\mathrm p=\\omega\u002Fk$, the envelope at the group velocity $v_\\mathrm g=\\d\\omega\u002F\\d k$ — and why the two differ once a medium is dispersive. Curvature $\\d^2\\omega\u002F\\d k^2$ spreads and chirps the packet as it travels, and the Fourier reciprocity that ties bandwidth to duration explains why a finite record, aliasing, or a coarse probe can imitate that spreading unless the sampling limits are respected.\n",{"path":14732,"title":14733,"module":14705,"summary":14734},"\u002Fmechanics\u002Foscillations-waves\u002Fbeats-and-coupling","Beats and Coupling","Add two tones a few hertz apart and the sum swells and fades at their difference frequency — a beat — though neither source is changing. We work out that envelope, then ask the mechanical version of the same question: join two oscillators and a single resonance splits into normal modes, with energy sloshing between the coordinates at their frequency difference. The lesson identifies when a slow amplitude envelope signals genuine coupling rather than two independent sources, drift, or deliberate modulation, reading it from envelope timing, spectral sidebands, and the mode shapes.\n",{"path":14736,"title":14737,"module":14705,"summary":14738},"\u002Fmechanics\u002Foscillations-waves\u002Fsimple-harmonic-motion","Simple Harmonic Motion","Any system pushed back toward equilibrium by a force proportional to its displacement obeys one equation, $\\ddot x+\\omega_0^2x=0$, and so moves sinusoidally at $\\omega_0=\\sqrt{k\u002Fm}$ whatever the amplitude. We derive that motion, follow its energy $E=mv^2\u002F2+kx^2\u002F2$ trading between kinetic and potential form at constant total, and read the elliptical phase-space orbit Hooke's law implies. Period, amplitude, velocity, and acceleration then supply redundant checks: an amplitude-dependent period or a curved force residual is the signature that the linear model has failed, and mass-loading and offset tests separate a calibration error from a real frequency shift.\n",{"path":14740,"title":14741,"module":14705,"summary":14742},"\u002Fmechanics\u002Foscillations-waves\u002Fpendulum-motion","Pendulum Motion","A pendulum keeps time only because, for small swings, gravity supplies a restoring torque proportional to the angle — and $T=2\\pi\\sqrt{L\u002Fg}$ then follows without the mass appearing at all. We derive that result, mark exactly which assumptions carry it (small angle, negligible pivot loss, a rigid support), then relax them: finite amplitude lengthens the period through an elliptic integral, and an extended body replaces $L$ with the ratio of its moment of inertia to its center-of-mass distance. How the period drifts with amplitude or pivot position is what diagnoses the geometric, damping, and distributed-mass corrections.\n",{"path":14744,"title":14745,"module":14705,"summary":14746},"\u002Fmechanics\u002Foscillations-waves\u002Fdriven-oscillators","Driven Oscillators","Drive a damped oscillator at a frequency you control and it eventually forgets its own: $m\\ddot x+b\\dot x+kx=F_0\\cos\\omega t$ settles into a steady response whose amplitude and phase depend sharply on how close the drive sits to resonance. We solve for that response, show how damping alone fixes the resonance width, the peak power, and the settling time, and treat base excitation as the same problem with a different input. The steady-state formulas hold only for constant $m$, $b$, and $k$; level-dependent peaks or hysteresis between up- and down-sweeps are how nonlinearity or an extra mode announces itself.\n",{"path":14748,"title":14749,"module":14705,"summary":14750},"\u002Fmechanics\u002Foscillations-waves\u002Fwave-boundaries","Wave Boundaries","A pulse traveling along a string does something abrupt where the string's properties change: part reflects, part transmits, and which is which is set by the impedance mismatch alone. We impose continuity of displacement and transverse force at the join to get the reflection and transmission coefficients in terms of $Z=\\sqrt{T\\mu}$, fix their signs and the polarity flip, and balance the energy. The clean result assumes linear, nondispersive segments meeting at a localized join; pulse polarity, return timing, and energy ratios are the measurements that expose a real connector's mass, loss, or distributed transition.\n",{"path":14752,"title":14753,"module":14754,"summary":14755},"\u002Fmechanics\u002Fthermodynamics\u002Fkinetic-theory-of-ideal-gases","Kinetic Theory of Ideal Gases","Thermodynamics","A gas has no springs and no gears, yet it pushes on its container with a definite pressure and stores energy in a lawful way. Kinetic theory explains both from the motion of the molecules alone: pressure is the accumulated recoil of countless elastic impacts, and temperature is the average translational kinetic energy each molecule carries. We derive $pV=\\tfrac13Nm\\overline{v^2}$ from momentum transfer, read off $\\overline{K}_{\\rm tr}=\\tfrac32kT$, and use the Maxwell–Boltzmann distribution to separate the most probable, mean, and rms speeds — each the right average for a different question — while marking where the dilute, classical assumptions stop holding.\n",{"path":14757,"title":14758,"module":14754,"summary":14759},"\u002Fmechanics\u002Fthermodynamics\u002Ffirst-law-of-thermodynamics","First Law of Thermodynamics","Heat a gas and it may warm, expand, or both; compress it and the same energy can reappear as a temperature rise. The first law settles the bookkeeping: internal energy is a state property whose change equals the heat added plus the work done on the system, $\\Delta E_{\\rm int}=Q_{\\rm in}+W_{\\rm on}$. We fix a system boundary and one sign convention, compute boundary work as $\\int p\\,\\d V$ along a path, and use calorimetry to measure heat and heat capacities. The recurring point is that heat and work are path-dependent transfers while their sum is not, so an energy ledger closes only once every boundary crossing is named.\n",{"path":14761,"title":14762,"module":14754,"summary":14763},"\u002Fmechanics\u002Fthermodynamics\u002Fentropy-and-the-second-law","Entropy and the Second Law","The first law lets energy flow either way; it never says which way heat actually goes. The second law supplies the missing arrow. Entropy, defined through the reversible transfer $\\d S=\\delta Q_{\\rm rev}\u002FT$, can only increase in an isolated system, and that single inequality fixes the direction of heat flow and caps every engine, refrigerator, and heat pump at its Carnot value. We build entropy ledgers for reservoirs and working substances, separate the entropy carried by heat from the entropy generated by irreversibility, and read the sign of the total as a hard check on any proposed thermal machine.\n",{"path":14765,"title":14766,"module":14754,"summary":14767},"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-processes","Thermal Processes","Heat rarely sits still: it stretches solids, pushes real gases off their ideal isotherms, and leaks across walls by conduction, convection, and radiation. Each behavior becomes a number a designer can use. Thermal expansion sets the gaps in a bridge and the stress in a clamped rod; the van der Waals equation and a phase diagram fix when $pV=nRT$ or a latent-heat term applies; Fourier's law, Newton cooling, and Stefan–Boltzmann radiation give the rate of heat flow. We assemble these into thermal-resistance networks and transient time constants, then mark where contact resistance, phase change, or a hidden thermal bridge breaks the simple model.\n",{"path":14769,"title":14770,"module":14754,"summary":14771},"\u002Fmechanics\u002Fthermodynamics\u002Fphase-changes","Phase Changes","Add heat to ice and its temperature climbs — until it reaches $0\\ ^\\circ\\mathrm C$, where the thermometer stalls while the ice melts. That plateau is the whole subject: at a phase boundary the energy rearranges molecules, $Q=mL$, instead of raising temperature, which resumes only once one phase is gone. We stage a heating path into sensible-heat legs ($Q=mc\\Delta T$) and latent plateaus, use the Clausius–Clapeyron relation to track how a boiling point moves with pressure, and solve calorimetry by testing each coexistence endpoint — so a melt fraction that lands outside $[0,1]$ flags a wrong final-state guess rather than a real state.\n",{"path":14773,"title":14774,"module":14754,"summary":14775},"\u002Fmechanics\u002Fthermodynamics\u002Fthermal-machines","Thermal Machines","An engine, a refrigerator, and a heat pump are one machine read three ways: each shuttles heat between a hot and a cold reservoir while trading work at the boundary, and only the flow you call useful separates them. A heat engine turns part of $Q_h$ into work, $W=Q_h-Q_c$; a refrigerator spends work to pull $Q_c$ from the cold side; a heat pump counts the warm-side delivery instead. We measure each with its own ratio — efficiency or coefficient of performance — bound them all by the Carnot limit that reservoir temperatures alone set, and track how finite temperature differences, throttling, and friction generate entropy and pull real machines below that bound.\n",{"path":14777,"title":14778,"module":6,"summary":6},"\u002Fmechanics","Mechanics & Dynamics",{"path":14780,"title":14781,"module":14782,"summary":14783},"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcharge-and-conductors","Charge and Conductors","Electric Fields","Rub two objects together and one pulls electrons from the other; nothing is created, only moved. We define what electric charge is — conserved, additive, and quantized in units of $e$ — and why a conductor's mobile carriers rearrange until its interior field vanishes and its surface sits at one potential. We follow charge through contact, induction, and grounding, treat the field-free cavity that turns a conductor into a shield, and mark where finite conductivity and leakage set the limits of the electrostatic picture.\n",{"path":14785,"title":14786,"module":14782,"summary":14787},"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Fcoulombs-law","Coulomb's Law","Two charges at rest push or pull along the line joining them, and the whole of electrostatics is assembled by adding up such pairs. We measure that force — its inverse-square falloff, its linear dependence on each charge, the sign that says attract or repel — and write it as a vector so direction survives superposition. We work the magnitude and component forms on real numbers, check them against limiting cases and dimensions, and fix the point-charge approximation to source sizes small against every separation.\n",{"path":14789,"title":14790,"module":14782,"summary":14791},"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-and-force","Electric Field and Force","Rather than ask how one charge reaches across empty space to another, we credit the source with a field that fills the space and let a second charge respond to whatever field sits at its own location. Electric field is force per unit positive test charge, $\\vec E=kq\\hat r\u002Fr^2$ for a point source, and source fields add before any receiving charge is placed. We compute those fields and the force $\\vec F=q\\vec E$ they exert, then follow a charge along its parabolic path through a uniform field and into nonuniform fields where the dynamics turn position-dependent.\n",{"path":14793,"title":14794,"module":14782,"summary":14795},"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-field-maps","Electric Field Maps","A field is a vector at every point of space, and the quickest way to grasp one is to draw it. We build the two standard pictures — continuous field lines tangent to $\\vec E$, and scaled vector arrows — and read direction, magnitude, and the location of nulls straight off them. We fix what a line drawing can and cannot say: density encodes magnitude only under a stated seeding rule, and integral curves never cross at a regular point. From there we work the topology near sources, sinks, and conductor surfaces, and state the step-size and interpolation checks a numerical map must pass.\n",{"path":14797,"title":14798,"module":14782,"summary":14799},"\u002Felectricity-and-magnetism\u002Felectric-fields\u002Felectric-dipoles","Electric Dipoles","Most neutral matter carries no net charge yet still responds to an electric field, because its positive and negative charge sit slightly apart. That separation is a dipole, moment $\\vec p=q\\vec d$ pointing from the negative to the positive charge, and it is the leading term in how any neutral distribution looks from far away. We derive the torque $\\vec p\\times\\vec E$ and energy $-\\vec p\\cdot\\vec E$ a uniform field imposes, the net force a field gradient adds, and the axial and equatorial $1\u002Fr^3$ fields the pair produces, then measure how far out the point-dipole approximation still holds.\n",{"path":14801,"title":14802,"module":14803,"summary":14804},"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fcontinuous-charge-fields","Continuous Charge Fields","Continuous Charge Distributions","A charged rod, ring, or disk is not a point, yet its field is still nothing but Coulomb's law added up over the charge it carries. We replace the discrete sum by an integral, with $\\d q=\\lambda\\d\\ell$, $\\sigma\\d A$, or $\\rho\\d V$, so the real work becomes geometry: writing the vector from each source element to the field point, and letting symmetry cancel the components that must cancel before any integral is attempted. We carry the line, ring, and disk fields through in full, then check each result against its near field, its far field, and its dimensions.\n",{"path":14806,"title":14807,"module":14803,"summary":14808},"\u002Felectricity-and-magnetism\u002Fcontinuous-charge-distributions\u002Fgauss-law-and-conductors","Gauss's Law and Conductors","Adding up Coulomb's law over a whole distribution is laborious; Gauss's law trades that sum for a single statement, that the flux of $\\vec E$ out of any closed surface counts the charge inside, $\\oint\\vec E\\cdot\\d\\vec A=Q_{\\rm enc}\u002F\\varepsilon_0$. The law is always true, but it hands over the field only when the source is symmetric enough to pull $E$ outside the integral. We apply it to spheres, lines, and sheets, then turn it on conductors, where the zero interior field drives every excess charge to the surface and fixes the normal-field jump $\\sigma\u002F\\varepsilon_0$, the charge induced on a cavity wall, and electrostatic shielding.\n",{"path":14810,"title":14811,"module":14812,"summary":14813},"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpoint-charge-potential","Point-Charge Potential","Electric Potential","The electrostatic force is conservative, so the work it does between two points\ndepends only on the endpoints. That lets us trade the vector field for a single\nscalar attached to each point, the electric potential, the potential energy a unit\ncharge would have there. We build potential from the work integral, fix the usual\nreference at infinity, and add point sources as scalars, $V=k\\sum_i q_i\u002Fr_i$,\navoiding the vector bookkeeping the field demands. Signed charges, the reference\nchoice, equipotential motion, and far-field expansions each give an independent\ncheck on a result.\n",{"path":14815,"title":14816,"module":14812,"summary":14817},"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fpotential-gradients-and-equipotentials","Potential Gradients and Equipotentials","Given the potential everywhere, how do we recover the field? The field is the\nnegative gradient, $\\vec E=-\\nabla V$: it points down the steepest local drop in\npotential, and its magnitude is set by how fast $V$ changes, not by the shape of a\ncontour. We read off components with directional derivatives, reconstruct fields\nfrom measured potential grids using centered differences, and use closed-loop\nintegrals and grid refinement to test whether a reconstructed field is physically\nconsistent.\n",{"path":14819,"title":14820,"module":14812,"summary":14821},"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Felectrostatic-energy-and-pressure","Electrostatic Energy and Pressure","Assembling a charge configuration takes work, and that work is stored, but where\nis it kept and how much is there? We total it two ways: as a sum over the charges,\n$U=\\tfrac12\\sum_i q_iV_i$, and as an integral over the field itself,\n$u_E=\\tfrac12\\varepsilon_0E^2$, energy the field carries in every region it fills.\nDifferentiating the stored energy at fixed charge or at fixed voltage recovers the\nmechanical force on a conductor, and at a charged surface the same field scale\nappears as an outward electrostatic pressure. We work the parallel-plate case in\nfull and mark where curvature and fringing make the pressure nonuniform.\n",{"path":14823,"title":14824,"module":14812,"summary":14825},"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Flaplace-boundary-problems","Laplace Boundary Problems","Often the charges are not given, only the conductors and the voltages held on\nthem, and the potential in the empty space between has to be found. There $V$ obeys\nLaplace's equation $\\nabla^2V=0$, and the boundary data alone determine a unique solution.\nWe solve it two ways: separation of variables into boundary-matched modes, whose\nhigher spatial frequencies die away with depth into the domain, and finite-difference\nrelaxation for boundaries no analytic mode fits. Residual norms, boundary error, and\nflux balance tell us when the computed potential and its field can be trusted.\n",{"path":14827,"title":14828,"module":14812,"summary":14829},"\u002Felectricity-and-magnetism\u002Felectric-potential\u002Fcontinuous-charge-potentials","Continuous Charge Potentials","When charge is spread over a line, a surface, or a volume, the sum over point\nsources becomes an integral, $V(\\vec r)=k\\int \\d q\u002F|\\vec r-\\vec r'|$. Because\npotential is a scalar, this integral sidesteps the component algebra the field\nwould force, until the field is actually wanted through $\\vec E=-\\nabla V$. We set\nup the right density element for each geometry, choose a workable reference, handle\nthe integrable singularities that arise when the observation point sits on the\ncharge, and check every result against symmetry, dimensions, and the far-field\nmultipole limit.\n",{"path":14831,"title":14832,"module":14833,"summary":14834},"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitance-fundamentals","Capacitance Fundamentals","Capacitance","How much charge must you separate onto two conductors to hold a given voltage between\nthem? That ratio, $C=Q\u002F\\Delta V$, is fixed by the conductor geometry and the medium,\nnot by how much charge is presently stored. We compute it from the field for the\nparallel-plate, isolated-sphere, concentric-sphere, and coaxial geometries, trace how\nsurface charge and boundary conditions set each result, and see where fringing,\nguarding, and stray coupling separate the ideal formula from what a bridge measures.\n",{"path":14836,"title":14837,"module":14833,"summary":14838},"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-networks","Capacitor Networks","Wire several capacitors together and the source sees one equivalent capacitance — but\nwhich? The answer comes not from how the symbols are drawn but from which conductors\nshare a node: parallel branches hold a common voltage and add, $C_{\\rm eq}=\\sum_iC_i$,\nwhile series branches share a common charge and add reciprocally. We derive both rules\nfrom charge conservation on the floating internal node, then extend the node-charge\nmethod to unequal, precharged, and stray-coupled branches and carry a worked reduction\nthrough to the charge and voltage on every element.\n",{"path":14840,"title":14841,"module":14833,"summary":14842},"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fcapacitor-energy-and-force","Capacitor Energy and Force","Charging a capacitor takes work, because every increment of charge is pushed through\nthe voltage the earlier charge already established. We total that work three\nequivalent ways, $U=Q^2\u002F(2C)=Q\\Delta V\u002F2=C(\\Delta V)^2\u002F2$, locate it in the field as\na density $u=\\tfrac12\\epsilon_0E^2$, then let the plates move. Differentiating the\nstored energy at fixed charge, or the coenergy at fixed voltage, gives the mechanical\nforce; the two boundaries differ only by the work the source supplies. We work the\nparallel-plate attraction and its electrostatic pressure in full, and follow the same\ngradient into pull-in, tilt, comb drives, and traceable force calibration.\n",{"path":14844,"title":14845,"module":14833,"summary":14846},"\u002Felectricity-and-magnetism\u002Fcapacitance\u002Fdielectric-polarization-and-breakdown","Dielectric Polarization and Breakdown","Slide a dielectric between the plates and the capacitance rises — but why, and how\nhard can you drive it before the insulator fails? Bound charge answers the first:\npolarization $\\vec P$ sets up surface and volume charge that partly cancels the\napplied field, so $\\vec D=\\varepsilon_0\\vec E+\\vec P$ separates what the circuit\ncontrols from what the material contributes. We follow the field across layered\ndielectrics and interfaces, tie permittivity and loss to their frequency dependence,\nand treat dielectric strength as a measured, geometry-dependent limit rather than one\nmaterial number.\n",{"path":14848,"title":14849,"module":14850,"summary":14851},"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fcurrent-and-resistance","Current and Resistance","Direct-Current Circuits","What does it mean, physically, for charge to flow, and what sets how hard a wire resists that flow? Current counts charge crossing a surface, $I=\\int\\vec J\\cdot\\d\\vec A$, and traces back to a slow drift of many carriers, $\\vec J=nq\\vec v_d$. We establish when the linear law $V=IR$ actually holds, how resistivity and geometry combine into bulk resistance, why real sources sag under load through their internal resistance, and how the three power forms $P=IV=I^2R=V^2\u002FR$ tie electrical work to heating and component ratings.\n",{"path":14853,"title":14854,"module":14850,"summary":14855},"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Fkirchhoff-network-analysis","Kirchhoff Network Analysis","Once a circuit has more than one loop, no amount of series-parallel folding will reduce it — you need the two conservation laws written as equations. Kirchhoff's junction law is charge conservation at a node; his loop law is energy conservation around a closed path. We turn a labelled network into a linear system in node voltages or mesh currents, fix the sign conventions so a negative answer just means a reversed arrow, and use power balance as an independent check that the algebra describes the circuit that was actually built.\n",{"path":14857,"title":14858,"module":14850,"summary":14859},"\u002Felectricity-and-magnetism\u002Fdirect-current-circuits\u002Frc-transients","RC Transients","How does a circuit get from one steady state to the next when a capacitor refuses to change its voltage all at once? Because a jump would demand infinite current, an RC circuit slides between states exponentially, with a single time constant $\\tau=RC$ that sets the whole schedule: charging fills as $1-e^{-t\u002F\\tau}$, discharge empties as $e^{-t\u002F\\tau}$. We solve the first-order loop equation, read the response off three numbers — the switch-instant voltage, the final dc voltage, and the Thevenin resistance the capacitor sees — and mark where source and probe resistance shift $\\tau$ or where a second storage element hides a mode a one-$\\tau$ fit misses.\n",{"path":14861,"title":14862,"module":14863,"summary":14864},"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-trajectories","Magnetic Trajectories","Magnetic Field","A charged particle in a magnetic field never speeds up or slows down, yet its path curves relentlessly. We work out why: the magnetic force is always perpendicular to velocity, so it does no work and bends the transverse motion into a circle of radius $r=mv_\\perp\u002F(|q|B)$ while leaving the parallel motion untouched, producing a helix. We derive the cyclotron frequency, show why it is independent of speed until relativity intervenes, and turn the geometry around: a measured curvature reads back a particle's momentum, which is how tracking detectors weigh what they cannot see.\n",{"path":14866,"title":14867,"module":14863,"summary":14868},"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fhall-effect","Hall Effect","Current tells you charge is moving, but not whether the movers are positive or negative, nor how many there are. A magnetic field settles both questions. Push current through a strip in a transverse field and the carriers pile up on one edge until a transverse electric field just balances the magnetic deflection; the sign of the resulting Hall voltage names the carrier's charge and its size counts the carriers per volume. We derive the balance $q\\vec E+q\\vec v_d\\times\\vec B=0$, read off $V_H=IB\u002F(nqt)$, and see why field-and-current reversal is what separates the real Hall signal from the offsets that mimic it.\n",{"path":14870,"title":14871,"module":14863,"summary":14872},"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-force-on-conductors","Magnetic Force on Conductors","A magnet pushes on a current-carrying wire even though the wire is electrically neutral. The reason is that each moving carrier feels the Lorentz force, and those microscopic pushes add up to a force the wire's supports must hold. We sum them into $\\d\\vec F=I\\,\\d\\vec\\ell\\times\\vec B$, collapse it to $\\vec F=I\\vec L\\times\\vec B$ for a straight segment in a uniform field, and see exactly when that shortcut fails and the full path integral is needed. The same law runs backward as a measurement: a force-versus-current slope weighs a magnetic field against a known length.\n",{"path":14874,"title":14875,"module":14863,"summary":14876},"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmagnetic-dipoles","Magnetic Dipoles","A compass needle turns to point north; a current loop in a field does the same thing, and for the same reason. Both are magnetic dipoles, and a uniform field cannot push a dipole anywhere, only twist it. We package a loop's response into one vector, the magnetic moment $\\vec\\mu=IA\\hat n$, from which torque $\\vec\\tau=\\vec\\mu\\times\\vec B$ and orientation energy $U=-\\vec\\mu\\cdot\\vec B$ both follow. Stable alignment sits at the energy minimum, a field gradient is what it takes to produce a net force $\\vec F=\\nabla(\\vec\\mu\\cdot\\vec B)$, and the same moment reappears whenever anything from an electron to a planet acts magnetic.\n",{"path":14878,"title":14879,"module":14863,"summary":14880},"\u002Felectricity-and-magnetism\u002Fmagnetic-field\u002Fmass-spectrometry","Mass Spectrometry","To weigh a single atom you cannot use a scale, so you use a magnetic field instead. A charged ion of unknown mass bends in a field by an amount that depends on its momentum and charge, so if every ion enters with the same velocity, its landing position reads off its mass-to-charge ratio directly. We build the instrument in two stages: crossed electric and magnetic fields that pass only ions with $v=E\u002FB$, and a magnetic sector that bends the survivors along $r=mv\u002F(|q|B)$. Then we ask what blurs a spectral line and how reference ions turn a position into a calibrated mass.\n",{"path":14882,"title":14883,"module":14884,"summary":14885},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmoving-charge-fields","Moving-Charge Fields","Magnetic Sources","Every magnetic field comes from charge in motion, and the simplest source is a single point charge drifting past. We work out the field it produces — normal to both the velocity and the line of sight, falling off as the inverse square — and read off why it vanishes straight ahead of the charge and peaks broadside. Summing many such charges is the bridge to steady currents, valid while speeds stay far below $c$ and the motion changes little during the time its field takes to propagate outward.\n",{"path":14887,"title":14888,"module":14884,"summary":14889},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fbiot-savart-law","Biot–Savart Law","A steady current is a continuous stream of current elements, and the Biot–Savart law hands each one a magnetic contribution — a right-hand cross product that falls off as the inverse square of distance. Summing the contributions along a conductor is a vector line integral, which we carry out for the straight wire to get the endpoint-angle formula. The infinite-wire field $B=\\mu_0 I\u002F2\\pi s$ falls out as the limit where both ends recede, and we mark how fast a finite wire departs from it and when a thin-filament model is safe.\n",{"path":14891,"title":14892,"module":14884,"summary":14893},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fcircular-current-loops","Circular Current Loops","A ring of current is the simplest source with a well-defined magnetic axis, and it is the building block of every coil and electromagnet. Symmetry kills the transverse Biot–Savart contributions along that axis and leaves a single clean integral; we evaluate it to get $B_z=\\mu_0 I R^2\u002F[2(R^2+z^2)^{3\u002F2}]$, read off the centre field $\\mu_0 I\u002F2R$, and watch it fall into the $1\u002Fz^3$ tail of a magnetic dipole far away. Stacking turns just adds their axial contributions, which is what makes a solenoid out of a pile of loops.\n",{"path":14895,"title":14896,"module":14884,"summary":14897},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Famperes-law","Ampère’s Law","When a current arrangement is symmetric enough, the Biot–Savart integral is overkill: Ampère's law, $\\oint_C\\vec B\\cdot\\d\\vec\\ell=\\mu_0 I_{\\rm enc}$, gets the field from a single line of reasoning about how much current a loop encloses. We see why the law holds for any steady current, then use cylindrical, planar, and toroidal symmetry to turn the circulation into simple algebra — the field inside and outside a wire, an infinite sheet, a solenoid, and a toroid. We also mark the catch: without symmetry the law still holds but no longer hands you the field pointwise.\n",{"path":14899,"title":14900,"module":14884,"summary":14901},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fgauss-law-for-magnetism","Gauss’s Law for Magnetism","Electric field lines start and end on charges; magnetic field lines do neither, because no one has ever found an isolated magnetic pole. That single experimental fact is Gauss's law for magnetism: the flux of $\\vec B$ through any closed surface is zero, $\\oint\\vec B\\cdot\\d\\vec A=0$, or in differential form $\\nabla\\cdot\\vec B=0$. We work through what it says — every field line that enters a closed surface must leave it, so field lines close on themselves — and, just as important, what it does not say, since flux through an open surface is generally nonzero.\n",{"path":14903,"title":14904,"module":14884,"summary":14905},"\u002Felectricity-and-magnetism\u002Fmagnetic-sources\u002Fmagnetic-materials","Magnetic Materials","Put matter in a magnetic field and its atoms respond, each acting as a tiny current loop; the aligned moments per unit volume are the magnetization $\\vec M$, whose bound currents add to the field. Separating what we control (the free current) from what the material supplies leads to $\\vec H$ and the relation $\\vec B=\\mu_0(\\vec H+\\vec M)$. We sort materials into diamagnets, paramagnets, and ferromagnets by how $\\vec M$ answers, follow a ferromagnet around its hysteresis loop, and see why the loop's area is the energy dissipated per cycle and why a sample's shape changes the field it actually feels.\n",{"path":14907,"title":14908,"module":14909,"summary":14910},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-flux","Magnetic Flux","Electromagnetic Induction","A magnetic field threading a loop collapses to one signed number, the flux, and every induced voltage in this module turns out to be a rate of change of that number — so defining the flux and its sign comes first. We define it as the surface integral of $\\vec B$ over an oriented surface, reduce it to $BA\\cos\\theta$ for a uniform field on a flat loop, and carry the flux linkage $N\\Phi_B$ of a coil. The chosen normal fixes the sign; reversing it flips the sign without touching the field. Nonuniform fields and curved surfaces force the integral, so we also build the numerical estimate and the checks that separate a reliable value from a nominal field-times-area product.\n",{"path":14912,"title":14913,"module":14909,"summary":14914},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Ffaradays-law","Faraday's Law","Move a magnet toward a coil, or ramp the current in a nearby circuit, and a voltage appears with no battery in sight. Faraday's law names the cause: the emf around a loop equals minus the rate of change of the magnetic flux through it, so any change of field, area, orientation, or position that alters the flux drives an emf. We separate the emf, which lives around the boundary whether or not current can flow, from the current that follows only when the path is closed; fix the single sign convention that ties flux to loop orientation; and read the emf off rotating coils and off flux sampled at discrete times.\n",{"path":14916,"title":14917,"module":14909,"summary":14918},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Flenzs-law","Lenz's Law","The minus sign in Faraday's law is not decoration: it decides which way the induced current flows, and it always chooses the direction that fights the change that produced it. Lenz's law reads that sign off energy conservation — a current that aided the change would be free energy — and turns it into a repeatable procedure. We fix a surface normal and a positive loop direction so the sign is calculable, then work through approaching magnets, expanding loops, coupled coils, and rotating generators, using mechanical work and Joule heating as an independent check on every direction we draw.\n",{"path":14920,"title":14921,"module":14909,"summary":14922},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmotional-emf","Motional EMF","Push a wire through a magnetic field and its free charges feel a sideways magnetic force that piles them up at the ends — a battery made of motion. Motional emf is that effect: the work per unit charge a moving conductor supplies is the line integral of $\\vec v\\times\\vec B$ along it, which for a rod moving perpendicular to both its length and the field collapses to $B\\ell v$. We chase where the energy comes from — the hand or motor fighting the magnetic drag, never the magnetic force itself — solve the sliding-rail circuit from both flux and carrier forces, and carry the idea into rotating rods, homopolar disks, generators, and the back emf of a motor.\n",{"path":14924,"title":14925,"module":14909,"summary":14926},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Feddy-currents","Eddy Currents","A wire carries current along one path; a solid block of metal offers a continuum of them, and any changing flux threading that block sets charge circulating in closed loops it chooses for itself. We ask what those eddy currents do — where they heat, where they drag, and how Lenz's law fixes their direction — and why the same circulation is a feature in an induction furnace and a loss to be suppressed in a transformer core. From a representative-loop estimate we get the scaling (heating grows with the square of frequency and flux rate) and the two design levers, lamination and resistivity, that break the paths a solid conductor would otherwise hand the current.\n",{"path":14928,"title":14929,"module":14909,"summary":14930},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fself-inductance","Self-Inductance","A coil resists changes to its own current. Drive current through it and the flux it produces threads its own turns; change that current and Faraday's law turns the coil against the source with a back emf $\\mathcal E_L=-L\\,\\d I\u002F\\d t$. We define self-inductance as the flux linkage per ampere fixed by winding and core geometry, derive the long-solenoid value $L=\\mu_0 N^2A\u002F\\ell$, and follow the consequence that dominates circuits: because a finite voltage can only sustain a finite $\\d I\u002F\\d t$, an inductor's current cannot jump — which is why opening a switch on a live coil throws a spark.\n",{"path":14932,"title":14933,"module":14909,"summary":14934},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Fmagnetic-energy","Magnetic Energy","Building current in a coil means working against its back emf, and that work does not vanish — it sits in the magnetic field as recoverable energy $U_B=\\tfrac12LI^2$, spread through space at density $u_B=B^2\u002F(2\\mu_0)$. We derive both forms, show they agree for a solenoid, and read a force out of the same energy: an armature is pulled toward higher inductance, and $B^2\u002F(2\\mu_0)$ doubles as a magnetic pressure. The lesson closes on the accounting a real switching event demands, where recoverable energy, copper heating, core loss, and clamp dissipation must balance a single ledger.\n",{"path":14936,"title":14937,"module":14909,"summary":14938},"\u002Felectricity-and-magnetism\u002Felectromagnetic-induction\u002Frl-circuits","RL Circuits","Put a resistor and an inductor in series and the current cannot switch on or off at will: it climbs to $V_0\u002FR$ and falls away exponentially on a single time scale $\\tau=L\u002FR$ set by how much flux the coil hoards against how fast the resistor bleeds it. We solve the turn-on and turn-off, then confront the practical sting — because the coil's current refuses to stop instantly, breaking its path throws up a large voltage, which is why real inductive circuits carry freewheel diodes and clamps that trade voltage stress against how quickly the current dies.\n",{"path":14940,"title":14941,"module":14942,"summary":14943},"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-fundamentals","AC Fundamentals","Alternating Current","A wall socket delivers a voltage that averages to zero over each cycle, yet it still heats a filament and runs a motor. The resolution is that dissipation follows the mean of the square, not the mean, so we define the root-mean-square value that makes an alternating source the equal of a DC one for resistive heating. We show a sinusoid's RMS is its peak divided by $\\sqrt2$, work out the average power an ideal resistor draws when its current stays in phase with the applied voltage, and separate the peak, average, and RMS descriptions that a single number cannot combine.\n",{"path":14945,"title":14946,"module":14942,"summary":14947},"\u002Felectricity-and-magnetism\u002Falternating-current\u002Freactance","Reactance","A resistor obeys Ohm's law instant by instant, but a capacitor responds to how fast its voltage changes and an inductor to how fast its current changes. Under a steady sinusoid that rate-dependence collapses to a fixed quarter-cycle phase shift and a frequency-dependent amplitude ratio, the reactance. We derive $X_C=1\u002F(\\omega C)$ and $X_L=\\omega L$, adopt phasors to turn the defining derivatives into multiplication by $j\\omega$ so a single complex impedance carries amplitude and phase together, and track the energy an ideal reactance stores and returns without dissipating it. Real windings and dielectrics add loss, leakage, and self-resonance that bound where the ideal formulas hold.\n",{"path":14949,"title":14950,"module":14942,"summary":14951},"\u002Felectricity-and-magnetism\u002Falternating-current\u002Frlc-resonance","RLC Resonance","Put a resistor, inductor, and capacitor in one loop and their reactances work against each other: inductive reactance grows with frequency while capacitive reactance shrinks, and at one frequency they cancel exactly. There the branch looks purely resistive, the current peaks, and the inductor and capacitor voltages can swing far above the source. We locate that resonance at $\\omega_0=1\u002F\\sqrt{LC}$, measure how sharp the peak is with the quality factor $Q=\\omega_0L\u002FR$, tie its half-power bandwidth $R\u002FL$ to the ringdown of the unforced circuit, and read the same poles off as bandpass and peaked filters at the R, L, or C terminals.\n",{"path":14953,"title":14954,"module":14942,"summary":14955},"\u002Felectricity-and-magnetism\u002Falternating-current\u002Fac-power","AC Power","Multiply an AC load's RMS voltage by its RMS current and you get an answer in volt-amperes that the wiring must carry, but not in general the watts the load consumes. The phase between voltage and current splits that product into a part that does net work and a part that merely sloshes energy back and forth. We derive the average power $P=V_{\\rm rms}I_{\\rm rms}\\cos\\phi$, package amplitude and phase into complex power $S=P+jQ$ so that real, reactive, and apparent power form one right triangle, and see why a harmonic-rich current forces the time-domain definition $P=\\langle vi\\rangle$ in place of a single phase angle.\n",{"path":14957,"title":14958,"module":14942,"summary":14959},"\u002Felectricity-and-magnetism\u002Falternating-current\u002Ftransformers","Transformers","Two coils sharing an iron core exchange no charge, yet a changing current in one drives a voltage in the other, and the ratio of their turns sets how voltage and current trade off between the windings. That lets a transformer step a voltage up or down, isolate two circuits, and make a load look larger or smaller to the source by the square of the turns ratio. We build the ideal ratio element from Faraday's law and the dot convention, derive the reflected-impedance rule, then add the winding resistance, leakage, magnetizing current, and core loss that turn the ideal ratios into real regulation, efficiency, and a bounded voltage-frequency range.\n",{"path":14961,"title":14962,"module":14963,"summary":14964},"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdisplacement-current","Displacement Current","Maxwell’s Equations and Electromagnetic Waves","Ampère's law asks for the current through a surface bounded by a loop, but a charging capacitor breaks it: slide the surface off the wire and into the gap and the enclosed conduction current drops to zero, while the magnetic field around the loop plainly does not. Maxwell's repair is to count a changing electric flux as itself a source of magnetic circulation. We derive the displacement-current term $\\varepsilon_0\\,\\d\\Phi_E\u002F\\d t$, show that charge continuity demands it, compute the magnetic field it produces inside a charging capacitor, and see how it closes the Ampère–Maxwell law so that electric and magnetic fields can sustain one another as a wave.\n",{"path":14966,"title":14967,"module":14963,"summary":14968},"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-waves","Electromagnetic Waves","Once a changing electric flux can drive a magnetic field, the two curl laws feed each other: a disturbance in one regenerates the other, and the pair walks off through empty space with no medium holding it up. We take the curl of Faraday's law, land on a wave equation whose speed is fixed entirely by $\\mu_0$ and $\\varepsilon_0$, and find that $c=1\u002F\\sqrt{\\mu_0\\varepsilon_0}$ falls out of purely electric and magnetic constants. The plane-wave solution then fixes the geometry — $\\vec E$, $\\vec B$, and the propagation direction mutually perpendicular, oscillating in phase, with amplitudes locked at $E=cB$ — a set of independent predictions any real measurement must meet at once.\n",{"path":14970,"title":14971,"module":14963,"summary":14972},"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Felectromagnetic-momentum","Electromagnetic Momentum","A light beam carries no mass, yet it pushes: shine it on a surface and the surface feels a force. We trace that force back to the fields, which store energy with density $\\varepsilon_0E^2$ and carry it along the Poynting vector $\\vec S=\\vec E\\times\\vec B\u002F\\mu_0$. Because that energy also carries momentum $U\u002Fc$, an absorbed beam presses with $I\u002Fc$ and a mirror with $2I\u002Fc$. We derive the Poynting theorem as local energy conservation, tie intensity to field amplitude, and work the momentum balance carefully enough that oblique incidence, partial reflection, and finite beams all drop out of one accounting.\n",{"path":14974,"title":14975,"module":14963,"summary":14976},"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fdipole-radiation","Dipole Radiation","Only accelerating charge radiates, and the simplest accelerator is a charge sloshing back and forth: an oscillating electric dipole. We work out the field it throws off, keeping the part that survives to large distance — the $1\u002Fr$ radiation field whose intensity goes as $\\sin^2\\theta\u002Fr^2$, zero along the dipole axis and strongest broadside. From it follow the $\\omega^4$ scaling of total radiated power, radiation resistance as the feed's view of that escaping power, and, through reciprocity, the fact that a good transmitter receives well in the same directions. The near-zone terms that fall off faster carry no net power, and we mark carefully where each description is allowed to be used.\n",{"path":14978,"title":14979,"module":14963,"summary":14980},"\u002Felectricity-and-magnetism\u002Fmaxwell-electromagnetic-waves\u002Fpolarization","Polarization","A plane wave still leaves one thing free: which way its electric field points as it oscillates. That freedom is polarization, set entirely by the relative amplitude and phase of the two transverse field components — in phase gives a line, equal amplitudes a quarter cycle apart give a circle, everything else an ellipse. We work out how a linear analyzer reads a state through Malus's law $I=I_0\\cos^2\\theta$, why that scan alone cannot tell circular light from unpolarized, and how a quarter-wave plate plus a few analyzer settings recover the full Stokes vector and the degree of polarization.\n",{"path":14982,"title":14983,"module":14984,"summary":14985},"\u002Felectricity-and-magnetism\u002Foptics\u002Freflection-and-refraction","Reflection and Refraction","Geometrical Optics","Light meeting a boundary between two transparent media splits into a reflected ray and a bent transmitted one, and predicting where those rays go is the whole starting point of geometrical optics. Fixing one convention — every angle measured from the surface normal — we get reflection's equal angles and derive Snell's law $n_1\\sin\\theta_1=n_2\\sin\\theta_2$ from wavefront timing. That single relation, applied once or twice, yields the critical angle and total internal reflection, prism deviation, the lateral shift through a window, apparent depth, and a fiber's acceptance cone; a wavelength-dependent index then adds dispersion. We mark throughout where the ray picture is trustworthy: feature sizes large against the wavelength and clean interface geometry.\n",{"path":14987,"title":14988,"module":14984,"summary":14989},"\u002Felectricity-and-magnetism\u002Foptics\u002Fthin-lenses","Thin Lenses","A lens gathers the light spreading from one point back onto another, and a single paraxial relation $1\u002Fs+1\u002Fs'=1\u002Ff$ predicts where that image lands and how large it is. We collapse two refractions into one bending plane, read image position and orientation off the three principal rays, and trace focal length back to glass and curvature through the lensmaker equation. Sign conventions carry the physics here — they separate real from virtual images and upright from inverted — so we drill them before chaining lenses in sequence and in contact. The lesson ends on how focal length is actually measured on a bench, and where finite thickness, aperture, and dispersion break the thin-lens picture.\n",{"path":14991,"title":14992,"module":14984,"summary":14993},"\u002Felectricity-and-magnetism\u002Foptics\u002Fspherical-mirrors","Spherical Mirrors","Curve a mirror and it stops merely reflecting an image and starts forming one: the same $1\u002Fs+1\u002Fs'=1\u002Ff$ that governs lenses reappears, now with $f=R\u002F2$ and reflected rays and object sharing one side of the glass. We derive the mirror equation from the reflection geometry of a single paraxial ray, then let signed distances do the sorting — real inverted images on the near branch, virtual upright ones behind the surface — and check the concave, convex, and plane-mirror limits against each other. The second half turns to how focal length is actually measured on a bench, by finite conjugates, distant targets, return imaging, and sagitta, and to the aperture and off-axis aberrations the single paraxial focus cannot capture.\n",{"path":14995,"title":14996,"module":6,"summary":6},"\u002Felectricity-and-magnetism","Electricity & Magnetism",{"path":14998,"title":14999,"module":15000,"summary":15001},"\u002Flinear-algebra\u002Flinear-systems\u002Fsystems-and-echelon-forms","Systems of Linear Equations and Row Reduction","Linear Equations in Linear Algebra","A linear system is a finite set of linear equations in shared variables. Elementary row operations rewrite it without changing its solution set, and reducing the augmented matrix to echelon form decides both existence and uniqueness. Pivot positions say whether the solution set is empty, a single point, or infinite.\n",{"path":15003,"title":15004,"module":15000,"summary":15005},"\u002Flinear-algebra\u002Flinear-systems\u002Fvector-and-matrix-equations","Vector Equations and the Matrix Equation Ax = b","The same linear system reads three equivalent ways: a system of equations, a vector equation asking whether b is a linear combination of fixed vectors, and a matrix equation Ax = b. Ax is the linear combination of A's columns weighted by x, so consistency for a given b means b lies in the span of the columns, and consistency for every b means the columns span all of R^m.\n",{"path":15007,"title":15008,"module":15000,"summary":15009},"\u002Flinear-algebra\u002Flinear-systems\u002Fsolution-sets-and-applications","Solution Sets and Applied Linear Systems","A homogeneous system Ax = 0 has a solution set that is a span through the origin; a consistent Ax = b has that same span translated by any one particular solution. Parametric vector form writes both explicitly. The structure shows up in applied systems with many solutions: equilibrium prices, balanced chemical reactions, network flows, weight-loss diets, and migration models.\n",{"path":15011,"title":15012,"module":15000,"summary":15013},"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-independence","Linear Independence","A set of vectors is linearly independent when the only linear combination equal to zero is the trivial one; otherwise a dependence relation writes one vector in terms of the others. For the columns of A the question becomes whether Ax = 0 has only the trivial solution — a pivot in every column. Counting pivots settles independence, and any set with more vectors than entries is automatically dependent.\n",{"path":15015,"title":15016,"module":15000,"summary":15017},"\u002Flinear-algebra\u002Flinear-systems\u002Flinear-transformations","Linear Transformations and Their Matrices","Reading A as an action rather than an array, x maps to Ax is a transformation from R^n to R^m. The ones that preserve addition and scalar multiplication are the linear transformations, and every one is x maps to Ax for a unique standard matrix whose columns are the images of the standard basis vectors. Onto and one-to-one translate into the span and independence of those columns.\n",{"path":15019,"title":15020,"module":15021,"summary":15022},"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-operations","Matrix Operations","Matrix Algebra","Matrices add and scale entrywise, but their product is defined so that multiplication corresponds to composition of linear maps: the columns of AB are A applied to the columns of B. From that requirement follow the row-column rule, the algebra of products (associative and distributive but not commutative), powers, and the transpose.\n",{"path":15024,"title":15025,"module":15021,"summary":15026},"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fmatrix-inverse-and-invertibility","The Inverse and the Invertible Matrix Theorem","The inverse of a square matrix is the matrix analogue of a reciprocal, defined by AA⁻¹ = I. A closed form settles the 2×2 case; the Gauss–Jordan algorithm row reduces [A | I] to [I | A⁻¹] in general; and elementary matrices record single row operations. The Invertible Matrix Theorem collects a dozen equivalent conditions for invertibility into one statement.\n",{"path":15028,"title":15029,"module":15021,"summary":15030},"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fpartitioned-matrices-and-lu","Block Matrices and the LU Factorization","Partitioning a matrix into blocks lets sums, products, and inverses be computed block by block, as if the submatrices were scalars. Block structure also underlies the LU factorization A = LU, which splits solving Ax = b into two fast triangular solves and repays the cost whenever many systems share one coefficient matrix.\n",{"path":15032,"title":15033,"module":15021,"summary":15034},"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fsubspaces-dimension-rank","Subspaces of Rⁿ, Dimension, and Rank","A subspace is a set closed under addition and scalar multiplication. Every matrix carries two: the column space of all attainable outputs Ax, and the null space of all solutions of Ax = 0. A basis measures each with a minimal spanning set, dimension counts it, and the Rank Theorem ties pivots and free variables together as rank + nullity = n.\n",{"path":15036,"title":15037,"module":15021,"summary":15038},"\u002Flinear-algebra\u002Fmatrix-algebra\u002Fapplications-leontief-and-graphics","Applications: Leontief Economics and Computer Graphics","The Leontief input–output model balances an economy through (I − C)x = d and expands the inverse as a geometric series in the consumption matrix. Computer graphics moves figures with matrix products, using homogeneous coordinates so that translation and perspective projection become matrix multiplications too.\n",{"path":15040,"title":15041,"module":15042,"summary":15043},"\u002Flinear-algebra\u002Fdeterminants\u002Fdeterminants-and-cofactors","Introduction to Determinants","Determinants","The determinant of a square matrix is defined recursively by cofactor expansion: an n-by-n determinant is a signed sum of (n-1)-by-(n-1) determinants built from the first row. The expansion can equally run along any row or down any column, and a triangular matrix has determinant equal to the product of its diagonal.\n",{"path":15045,"title":15046,"module":15042,"summary":15047},"\u002Flinear-algebra\u002Fdeterminants\u002Fproperties-of-determinants","Properties of Determinants","Row operations act on the determinant in three predictable ways, and this turns row reduction into a fast algorithm: the determinant is the product of the pivots times a sign for the interchanges. The same properties yield the invertibility test det A is nonzero, the transpose identity, and the multiplicative law det(AB) equals det A times det B.\n",{"path":15049,"title":15050,"module":15042,"summary":15051},"\u002Flinear-algebra\u002Fdeterminants\u002Fcramer-volume-and-area","Cramer's Rule, Volume, and Linear Transformations","Cramer's rule writes each unknown of an invertible system as a ratio of determinants, and the same idea gives a closed formula for the inverse through the adjugate. Geometrically the absolute determinant is the area of the parallelogram or the volume of the parallelepiped spanned by the columns, so a linear map scales every region's measure by that factor.\n",{"path":15053,"title":15054,"module":15055,"summary":15056},"\u002Flinear-algebra\u002Fvector-spaces\u002Fvector-spaces-and-subspaces","Vector Spaces and Subspaces","Vector Spaces","A vector space is any set closed under addition and scalar multiplication that obeys ten algebraic axioms. The same axioms that govern arrows in the plane govern polynomials, functions, matrices, and infinite signals, so one theory covers them all. A subspace is a subset that is a vector space in its own right, tested by three conditions, and the span of any set of vectors is the smallest subspace containing them.\n",{"path":15058,"title":15059,"module":15055,"summary":15060},"\u002Flinear-algebra\u002Fvector-spaces\u002Fnull-and-column-spaces","Null Spaces, Column Spaces, and Linear Transformations","Two subspaces sit inside every matrix. The null space collects all solutions of $Ax = 0$ and lives in the domain; the column space collects every attainable $Ax$ and lives in the codomain. One is defined implicitly by a condition, the other explicitly by a spanning set, and the same pair appears for an abstract linear transformation as its kernel and range.\n",{"path":15062,"title":15063,"module":15055,"summary":15064},"\u002Flinear-algebra\u002Fvector-spaces\u002Fbases-and-independent-sets","Linearly Independent Sets and Bases","A basis is a spanning set with no redundancy: linearly independent and still large enough to reach every vector. The spanning-set theorem shows any spanning set can be trimmed to a basis by discarding dependent vectors, and the pivot columns of a matrix give a basis for its column space. Independence and spanning are defined for abstract spaces exactly as in $\\mathbb{R}^n$.\n",{"path":15066,"title":15067,"module":15055,"summary":15068},"\u002Flinear-algebra\u002Fvector-spaces\u002Fcoordinate-systems","Coordinate Systems","Fixing a basis assigns every vector a unique list of coordinates, turning an abstract space into $\\mathbb{R}^n$. The coordinate mapping is a one-to-one linear transformation onto $\\mathbb{R}^n$ — an isomorphism — so any $n$-dimensional space is indistinguishable from $\\mathbb{R}^n$ as far as vector-space computations go. In $\\mathbb{R}^n$ the change-of-coordinates matrix $P_B$ and its inverse convert between basis coordinates and standard coordinates.\n",{"path":15070,"title":15071,"module":15055,"summary":15072},"\u002Flinear-algebra\u002Fvector-spaces\u002Fdimension-and-rank","The Dimension of a Vector Space and Rank","Every basis of a space has the same number of vectors, and that number is the dimension. Rank is the dimension of the column space, equal to the dimension of the row space and to the number of pivots. The Rank Theorem, rank plus nullity equals the number of columns, ties the four fundamental subspaces of a matrix together and adds six lines to the Invertible Matrix Theorem.\n",{"path":15074,"title":15075,"module":15055,"summary":15076},"\u002Flinear-algebra\u002Fvector-spaces\u002Fchange-of-basis","Change of Basis","Two bases give the same vector two different coordinate vectors, and a single invertible matrix converts between them. Its columns are the coordinate vectors of the old basis expressed in the new one, and its inverse reverses the conversion. In $\\mathbb{R}^n$ the change-of-coordinates matrix between two bases is found by one row reduction.\n",{"path":15078,"title":15079,"module":15055,"summary":15080},"\u002Flinear-algebra\u002Fvector-spaces\u002Fdifference-equations-and-markov","Applications: Difference Equations and Markov Chains","The solutions of an nth-order linear difference equation form an $n$-dimensional vector space, so finding $n$ independent solutions gives them all. A Markov chain evolves a probability distribution by repeated multiplication by a stochastic matrix, and a regular chain converges to a unique steady-state vector fixed by that matrix. Both applications turn a dynamic process into a subspace or a fixed-point question.\n",{"path":15082,"title":15083,"module":15084,"summary":15085},"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-eigenvalues","Eigenvectors and Eigenvalues","Eigenvalues and Eigenvectors","An eigenvector of a square matrix is a nonzero vector the matrix only stretches; its eigenvalue is the stretch factor. The eigenspace of an eigenvalue is the null space of A minus lambda times the identity, the eigenvalues of a triangular matrix are its diagonal entries, and eigenvectors for distinct eigenvalues are linearly independent.\n",{"path":15087,"title":15088,"module":15084,"summary":15089},"\u002Flinear-algebra\u002Feigenvalues\u002Fthe-characteristic-equation","The Characteristic Equation","The eigenvalues of a matrix are the roots of its characteristic polynomial det(A minus lambda I). This degree-n polynomial carries an algebraic multiplicity at each repeated root, a nonzero determinant is equivalent to zero not being an eigenvalue, and similar matrices share a characteristic polynomial and hence the same eigenvalues.\n",{"path":15091,"title":15092,"module":15084,"summary":15093},"\u002Flinear-algebra\u002Feigenvalues\u002Fdiagonalization","Diagonalization","A matrix is diagonalizable when it factors as A equals P D P inverse with D diagonal, which happens exactly when it has n linearly independent eigenvectors. The factorization computes matrix powers cheaply, distinct eigenvalues guarantee it, and a repeated eigenvalue permits it only when its eigenspace dimension equals its multiplicity.\n",{"path":15095,"title":15096,"module":15084,"summary":15097},"\u002Flinear-algebra\u002Feigenvalues\u002Feigenvectors-and-linear-transformations","Eigenvectors and Linear Transformations","Every linear transformation between finite-dimensional spaces has a matrix relative to chosen bases, built from the coordinate vectors of the images of the basis vectors. For a map from a space to itself, an eigenvector basis makes that matrix diagonal, and that change of basis is diagonalization; the matrices similar to A are the representations of the map in every basis.\n",{"path":15099,"title":15100,"module":15084,"summary":15101},"\u002Flinear-algebra\u002Feigenvalues\u002Fcomplex-eigenvalues","Complex Eigenvalues","A real matrix with no real eigenvalues still has complex ones, occurring in conjugate pairs. A real 2-by-2 matrix with eigenvalue a plus b i is similar to a rotation-scaling matrix, whose rotation angle is the argument of the eigenvalue and whose scale factor is its modulus; the modulus decides whether the trajectories close up, spiral in, or spiral out.\n",{"path":15103,"title":15104,"module":15084,"summary":15105},"\u002Flinear-algebra\u002Feigenvalues\u002Fdynamical-systems","Discrete and Continuous Dynamical Systems","Eigenvalues govern the long-term behavior of a system that evolves by x becomes A x or by x prime equals A x. An eigenvector basis decouples both kinds of system into independent scalar equations; the eigenvalues then classify the origin as attractor, repeller, saddle, or spiral, and the dominant eigenpair fixes the growth rate and limiting direction.\n",{"path":15107,"title":15108,"module":15084,"summary":15109},"\u002Flinear-algebra\u002Feigenvalues\u002Fpower-method","Iterative Estimates for Eigenvalues","When only a numerical eigenvalue is needed, iteration is preferred over the characteristic polynomial. The power method repeatedly multiplies by A to converge on the dominant eigenvalue and its eigenvector; the Rayleigh quotient sharpens the estimate for symmetric matrices; and the inverse power method targets any eigenvalue near a known guess.\n",{"path":15111,"title":15112,"module":15113,"summary":15114},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-length-orthogonality","Inner Product, Length, and Orthogonality","Orthogonality and Least Squares","The dot product turns the algebra of vectors in R^n into geometry: length, distance, and perpendicularity. The inner product yields the norm, the Pythagorean theorem, and the orthogonal complement, and the null space of a matrix is the orthogonal complement of its row space.\n",{"path":15116,"title":15117,"module":15113,"summary":15118},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Forthogonal-sets-and-projections","Orthogonal Sets and Orthogonal Projections","An orthogonal basis makes coordinates trivial: each weight is a single dot product, no linear system required. Orthogonal and orthonormal bases give a direct projection formula onto a line and onto a subspace, the orthogonal decomposition and best-approximation theorems, and the matrix form U U-transpose of a projection.\n",{"path":15120,"title":15121,"module":15113,"summary":15122},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fgram-schmidt-and-qr","The Gram-Schmidt Process and QR Factorization","Gram-Schmidt turns any basis into an orthogonal one by repeatedly subtracting off projections onto the span already built. Normalizing the result and recording the coefficients factors the matrix as A = QR, with Q orthonormal and R upper triangular, the factorization behind stable least-squares and eigenvalue algorithms.\n",{"path":15124,"title":15125,"module":15113,"summary":15126},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-problems","Least-Squares Problems","When Ax = b has no solution, the least-squares solution makes Ax as close to b as possible. The closest Ax is the projection of b onto the column space, and the vector that produces it solves the normal equations A-transpose A x = A-transpose b. Uniqueness, the residual error, and the stabler QR route follow.\n",{"path":15128,"title":15129,"module":15113,"summary":15130},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Fleast-squares-applications","Applications to Linear Models","Curve fitting is a least-squares problem in statistical notation. The least-squares line, polynomial fits, and multiple regression all reduce to X beta = y with a design matrix X built from the data, solved by the same normal equations.\n",{"path":15132,"title":15133,"module":15113,"summary":15134},"\u002Flinear-algebra\u002Forthogonality-least-squares\u002Finner-product-spaces","Inner Product Spaces","Promoting the four properties of the dot product to axioms defines an inner product on any vector space, including spaces of functions. Length, distance, orthogonality, Gram-Schmidt, and best approximation all carry over, along with the Cauchy-Schwarz and triangle inequalities and the integral inner product behind Fourier approximation.\n",{"path":15136,"title":15137,"module":15138,"summary":15139},"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fdiagonalizing-symmetric-matrices","Diagonalization of Symmetric Matrices","Symmetric Matrices, Quadratic Forms, and the SVD","A symmetric matrix is one that equals its own transpose. Every such matrix can be diagonalized by an orthogonal change of basis, A = PDPᵀ, with real eigenvalues and perpendicular eigenvectors. This is the Spectral Theorem, and it rewrites A as a weighted sum of rank-one projections onto its eigenvectors.\n",{"path":15141,"title":15142,"module":15138,"summary":15143},"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fquadratic-forms","Quadratic Forms","A quadratic form xᵀAx is the second-degree analogue of a linear map, attached to a symmetric matrix A. Orthogonal diagonalization changes variables to the eigenbasis, removing all cross-terms and rotating the form into standard position. The signs of the eigenvalues then classify it as definite or indefinite.\n",{"path":15145,"title":15146,"module":15138,"summary":15147},"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fconstrained-optimization","Constrained Optimization","Maximizing a quadratic form xᵀAx over the unit sphere has an exact answer: the maximum is the largest eigenvalue of A, attained at its eigenvector, and the minimum is the smallest eigenvalue. Adding orthogonality constraints peels off the eigenvalues in order, characterizing the whole spectrum by optimization.\n",{"path":15149,"title":15150,"module":15138,"summary":15151},"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsingular-value-decomposition","The Singular Value Decomposition","The singular value decomposition factors any m×n matrix as A = UΣVᵀ, with orthogonal U and V and a nonnegative diagonal Σ of singular values. The singular values are the square roots of the eigenvalues of AᵀA, and they describe the matrix geometrically as a rotation, an axiswise stretch, and another rotation, exposing rank, the four fundamental subspaces, and a best low-rank approximation.\n",{"path":15153,"title":15154,"module":15138,"summary":15155},"\u002Flinear-algebra\u002Fsymmetric-quadratic-svd\u002Fsvd-applications-pca-imaging","Applications: Image Processing and Statistics","Principal component analysis diagonalizes the covariance matrix of a data set, producing uncorrelated variables ordered by variance. The leading components capture most of the variation, which reduces dimension, compresses images through low-rank SVD approximation, and connects directly to the singular values of the data matrix.\n",{"path":15157,"title":15158,"module":15159,"summary":15160},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-thinking-and-matrix-computation","Numerical Thinking and Matrix Computation","Numerical Linear Algebra","Numerical analysis builds efficient discrete algorithms for continuous problems, and its cost is dominated as much by memory traffic as by arithmetic. Block matrix calculus, flop counts, and the BLAS efficiency ratio fix the cost model; triangular and unitary matrices are the two computational building blocks every factorization rests on.\n",{"path":15162,"title":15163,"module":15159,"summary":15164},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Flu-and-cholesky","LU and Cholesky Factorization in Practice","Gaussian elimination, read as a factorization A = LU, turns a linear system into two triangular solves. A single near-zero pivot wrecks it, so partial pivoting reorders rows to pick the largest available pivot and makes the method work for every invertible matrix. For symmetric positive-definite systems, Cholesky halves the cost and needs no pivoting.\n",{"path":15166,"title":15167,"module":15159,"summary":15168},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fconditioning-and-floating-point","Conditioning and Floating-Point Arithmetic","A problem's condition number measures how much its answer moves when its data is perturbed, independent of any algorithm. Subtraction is ill-conditioned under cancellation, and for a linear system the amplifier is the matrix condition number κ(A). Floating-point arithmetic supplies the perturbation: every real number is rounded to within a relative machine precision, so even perfect computation inherits an error of order κ times the unit roundoff.\n",{"path":15170,"title":15171,"module":15159,"summary":15172},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fstability-and-error-analysis","Numerical Stability and Backward Error Analysis","An algorithm is backward stable when its computed answer is the exact answer to a slightly perturbed problem. Combined with the condition number this gives the governing rule of thumb: forward error is at most condition times stability. Three cancellation case studies make the point, then the residual-based backward error applies it to Ax = b and shows why partial pivoting keeps Gaussian elimination stable.\n",{"path":15174,"title":15175,"module":15159,"summary":15176},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fqr-and-numerical-least-squares","QR, Householder, and Numerical Least Squares","The least-squares problem reduces to the normal equations, but forming AᵀA squares the condition number and can wreck accuracy. The stable route computes a QR factorization directly on A and solves Rx = Qᵀb. Householder reflectors build that QR one column at a time using length-preserving reflections, the unconditionally backward-stable building block behind every serious least-squares solver.\n",{"path":15178,"title":15179,"module":15159,"summary":15180},"\u002Flinear-algebra\u002Fnumerical-linear-algebra\u002Fnumerical-eigenvalues-and-svd","Numerical Eigenvalue Problems and the SVD","Eigenvalues cannot be found by a formula for large matrices, so they are found by iteration. Power and inverse iteration converge to one eigenvector at a rate set by the eigenvalue gap; the QR algorithm sweeps a matrix to Schur form and, with a good shift and a Hessenberg reduction, computes the whole spectrum in cubic time. Singular values follow from the same machinery applied without ever forming AᵀA.\n",{"path":15182,"title":15183,"module":15184,"summary":15185},"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-combinations","Affine Combinations","Geometry of Vector Spaces","An affine combination is a linear combination whose weights sum to one. The affine hull of a set is the smallest flat containing it: a point, a line, a plane, or a translated subspace. Homogeneous coordinates turn every affine combination into an ordinary linear combination one dimension up.\n",{"path":15187,"title":15188,"module":15184,"summary":15189},"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Faffine-independence-and-barycentric-coordinates","Affine Independence and Barycentric Coordinates","Affine independence is linear independence for the translated or lifted points, and it guarantees each point of an affine hull a unique weight vector. Those weights are barycentric coordinates: centers of mass, ratios of triangle areas, and the interpolation rule behind smooth shading in computer graphics.\n",{"path":15191,"title":15192,"module":15184,"summary":15193},"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fconvex-combinations-and-convex-sets","Convex Combinations and Convex Sets","A convex combination is an affine combination with nonnegative weights, and the convex hull of a set is the smallest convex set containing it. Convex sets are closed under intersection, and Carathéodory's theorem bounds how many points a convex combination in $\\mathbb{R}^n$ ever needs: at most $n+1$.\n",{"path":15195,"title":15196,"module":15184,"summary":15197},"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fhyperplanes-and-polytopes","Hyperplanes and Polytopes","A hyperplane is a level set of a linear functional, the set where an inner product equals a constant. Hyperplanes separate disjoint convex sets and support them at their boundaries. Polytopes are convex hulls of finite point sets; their vertices are the extreme points, and a linear functional attains its extremes there.\n",{"path":15199,"title":15200,"module":15184,"summary":15201},"\u002Flinear-algebra\u002Fgeometry-of-vector-spaces\u002Fcurves-and-surfaces","Curves and Surfaces","Bézier curves are affine combinations of control points with polynomial weights, so they lie in the convex hull of those points and bend toward them. The de Casteljau algorithm evaluates them by repeated interpolation, a matrix form factors them for computation, and matching endpoints and tangents joins segments into smooth curves and surfaces.\n",{"path":15203,"title":15204,"module":6,"summary":6},"\u002Flinear-algebra","Linear Algebra",{"path":15206,"title":15207,"module":6,"summary":6},"\u002Ftheory-of-computation","Theory of Computation",{"path":15209,"title":15210,"module":14017,"summary":15211},"\u002Fcomputer-architecture\u002Ffoundations\u002Fbits-bytes-and-words","Bits, Bytes, and Words","Everything a machine stores is a string of bits grouped into bytes. We set out binary and hexadecimal, the byte as the unit of addressing, the word as the machine's natural integer size, and byte ordering — why the same four bytes read as 0x01234567 on one machine and 0x67452301 on another.\n",{"path":15213,"title":15214,"module":14017,"summary":15215},"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-representation","Integer Representation","A fixed-width byte string is just a pattern; what makes it a number is the rule we read it by. We define unsigned encoding and two's complement — where the top bit carries a negative weight — derive the ranges UMax, TMin, and TMax, and show how the same bits reinterpret between signed and unsigned, how widening sign-extends, and what truncation throws away.\n",{"path":15217,"title":15218,"module":14017,"summary":15219},"\u002Fcomputer-architecture\u002Ffoundations\u002Finteger-arithmetic","Integer Arithmetic","Fixed-width integer arithmetic is arithmetic modulo a power of two: add past the top and the result wraps. We work out unsigned and two's-complement addition and the rules that detect their overflow, why negation is a complement-plus-one, how multiplication truncates to the low-order bits and how compilers turn constant multiplies into shifts and adds, why C declares signed overflow undefined, and the bias fix that keeps shift-based signed division rounding toward zero.\n",{"path":15221,"title":15222,"module":14017,"summary":15223},"\u002Fcomputer-architecture\u002Ffoundations\u002Ffloating-point","Floating Point","IEEE-754 trades the exactness of integers for enormous range by storing numbers as sign, exponent, and fraction — scientific notation in binary. We lay out the single and double formats, the bias that encodes the exponent, the three regimes (normalized, denormalized, special), a worked encode\u002Fdecode, the four rounding modes and round-to-even at the bit level, why addition is not associative, the pitfalls of float-int conversion, and why 0.1 has no exact binary representation.\n",{"path":15225,"title":15226,"module":14017,"summary":15227},"\u002Fcomputer-architecture\u002Ffoundations\u002Fboolean-algebra-and-bit-manipulation","Boolean Algebra and Bit Manipulation","Treat a word as a vector of independent bits and the bitwise operators become an algebra. We define AND, OR, NOT, and XOR as bit vectors, build the masking idioms that set, clear, toggle, and test individual bits, extract fields with zero- and sign-extension, count set bits three ways, derive the classic x & (x - 1) family of tricks, and distinguish bitwise operators from C's short-circuiting logical operators.\n",{"path":15229,"title":15230,"module":15231,"summary":15232},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fthe-machines-view","The Machine's View","Machine-Level Programming","The instruction set architecture is the contract a compiler writes against: the program counter, sixteen integer registers with their sub-register widths, and the condition codes. We follow one C function down through gcc to assembly, learn to read an instruction as operation plus operands, and fix the vocabulary the rest of the module uses.\n",{"path":15234,"title":15235,"module":15231,"summary":15236},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fdata-movement","Data Movement","Most instructions a program runs simply move data. We cover the mov family and its size suffixes, the three operand forms, the full memory addressing mode D(Rb,Ri,S) and its special cases, lea for address arithmetic, and how push and pop manipulate the stack pointer %rsp on a stack that grows toward lower addresses.\n",{"path":15238,"title":15239,"module":15231,"summary":15240},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farithmetic-and-logic","Arithmetic and Logic","The ALU instructions that compute on register and memory values: add, sub, and imul; the unary inc\u002Fdec\u002Fneg\u002Fnot; the shifts sal\u002Fshr\u002Fsar; the bitwise and\u002For\u002Fxor; and lea reused as a fast arithmetic trick. Each binary operation also sets the condition-code flags CF, ZF, SF, and OF, which cmp and test compute without keeping a result.\n",{"path":15242,"title":15243,"module":15231,"summary":15244},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fcontrol-flow","Control Flow","How a flat instruction stream realizes branches and loops. The conditional jumps read the condition-code flags; set instructions turn flags into a 0\u002F1 byte. We translate if\u002Felse into the standard compare-and-branch pattern, while\u002Ffor loops into the guarded-do form, and dense switches into jump tables that index a target directly.\n",{"path":15246,"title":15247,"module":15231,"summary":15248},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fprocedures","Procedures","How a function call works at the machine level: the run-time stack, call and ret passing control through a saved return address, the System V convention that routes the first six arguments through %rdi..%r9 and the result through %rax, the caller-saved versus callee-saved split, the stack frame, and a recursive factorial traced through its frames.\n",{"path":15250,"title":15251,"module":15231,"summary":15252},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Farrays-structs-and-alignment","Arrays, Structs, and Alignment","How aggregate data lays out in memory. Arrays as base-plus-scaled-index, the row-major ordering of multidimensional arrays, pointer arithmetic in units of the pointed-to type, struct fields at fixed byte offsets, the overlapping storage of unions, and the alignment rules that force padding into a struct.\n",{"path":15254,"title":15255,"module":15231,"summary":15256},"\u002Fcomputer-architecture\u002Fmachine-level-x86-64\u002Fmemory-layout-and-buffer-overflows","Memory Layout and Buffer Overflows","The process address space — text, data, heap, and stack — and the classic vulnerability it enables. A stack buffer that is written past its end can overwrite the saved return address and redirect ret, so we sketch the mechanism defensively and then the three standard protections: stack canaries, a non-executable stack, and address-space layout randomization.\n",{"path":15258,"title":15259,"module":15260,"summary":15261},"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fwhat-an-isa-is","What an ISA Is","Instruction Set Architecture","The instruction set architecture is the contract that lets a compiler and a chip be written by people who never meet: the stable interface software targets and hardware implements. We separate architecture from microarchitecture, read RISC and CISC as opposite answers to where complexity should live, price out what each choice costs in decode hardware, code density, and pipeline friendliness, and see how x86-64 endures by translating its instructions into RISC-like operations on the fly.\n",{"path":15263,"title":15264,"module":15260,"summary":15265},"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Finstruction-formats-and-operands","Instruction Formats and Operands","An instruction is an opcode plus a way to name its operands. We count operands — 3-address, 2-address, 1-address accumulator, and 0-address stack machines — by writing the same C = A + B four ways, weigh register operands against memory operands, then lay out the same add byte by byte in x86-64 (REX prefix, opcode, ModRM) and in Y86-64, and what fixed versus variable length costs at fetch time.\n",{"path":15267,"title":15268,"module":15260,"summary":15269},"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Faddressing-modes","Addressing Modes","Once an operand field exists, it needs a rule for turning its bits into the data it names. That rule is the addressing mode. We walk the standard set — immediate, register, direct, register-indirect, displacement, scaled-indexed, and PC-relative — fixing the effective-address computation for each, run every mode against one concrete machine state, and price out what Y86-64 loses by keeping only base plus displacement.\n",{"path":15271,"title":15272,"module":15260,"summary":15273},"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fthe-y86-64-instruction-set","The Y86-64 Instruction Set","Y86-64 is a teaching ISA — a stripped-down x86-64 simple enough to implement by hand yet real enough to compile to. We fix its programmer-visible state (fifteen registers, three condition codes, the PC, memory, and a status code), give the instruction set with exact byte encodings, spell out how the condition codes decide every jXX and cmovXX, and run the encoding both directions: assembly to bytes and raw bytes back to meaning.\n",{"path":15275,"title":15276,"module":15260,"summary":15277},"\u002Fcomputer-architecture\u002Finstruction-set-architecture\u002Fy86-64-programming","Y86-64 Programming","With the encodings fixed, we write real Y86-64 assembly: the .pos, .align, and .quad directives, the calling convention borrowed from x86-64, a stack set up by hand, and complete programs — an array sum and a branch-free max. We watch the assembler turn the listing into the exact byte image the processor will execute, and trace the stack across the call.\n",{"path":15279,"title":15280,"module":15281,"summary":15282},"\u002Fcomputer-architecture\u002Fdigital-logic\u002Ftransistors-gates-and-boolean-functions","Transistors, Gates, and Boolean Functions","Digital Logic","A processor is built from millions of transistor switches. We start at the MOS transistor as a voltage-controlled switch, build the CMOS inverter and NAND transistor by transistor, meet the seven standard gates with their truth tables, show that NAND alone is functionally complete, price each gate in transistors and in time, and turn any truth table into a sum-of-products circuit.\n",{"path":15284,"title":15285,"module":15281,"summary":15286},"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fcombinational-logic-and-hcl","Combinational Logic and HCL","A combinational circuit is a pure Boolean function of its current inputs — no memory, no clock. We draw the line between combinational and sequential logic, do the gate-delay accounting that finds a circuit's critical path and bounds the clock, meet don't-cares, then introduce CS:APP's Hardware Control Language: bit-level operators, word-level signals, equality nets, and the case expression that compiles to a multiplexer tree.\n",{"path":15288,"title":15289,"module":15281,"summary":15290},"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmultiplexers-decoders-and-the-alu","Multiplexers, Decoders, and the ALU","The combinational building blocks that make a datapath. We build the 2:1 and 4:1 multiplexer and tie it back to HCL's case expression, the n-to-2^n decoder, a one-bit full adder (sum is XOR, carry is majority), the ripple-carry adder that chains them, and finally the ALU — a function unit that selects among add, sub, and, and xor under a control input and exposes condition flags.\n",{"path":15292,"title":15293,"module":15281,"summary":15294},"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fmemory-elements-latches-flip-flops-and-clocking","Memory Elements: Latches, Flip-Flops, and Clocking","A combinational circuit holds no state; feeding a circuit's output back to its input creates memory. We build the SR latch from cross-coupled gates, the level-sensitive D latch, and the master\u002Fslave edge-triggered D flip-flop, then introduce the clock and the synchronous design discipline, the setup\u002Fhold timing window, clock skew, metastability, and the register as n flip-flops sharing one clock.\n",{"path":15296,"title":15297,"module":15281,"summary":15298},"\u002Fcomputer-architecture\u002Fdigital-logic\u002Fregister-files-and-random-access-memory","Register Files and Random-Access Memory","Storage organized for access by address. We build the register file (a small bank of registers with addressed read ports and clocked write ports, the exact structure Y86-64's decode and write-back stages use), then descend to the SRAM and DRAM cells of main memory, why one is fast and dear and the other dense and slow, and how a row decoder picks a word out of a memory array.\n",{"path":15300,"title":15301,"module":15302,"summary":15303},"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-fetch-decode-execute-cycle","The Fetch-Decode-Execute Cycle","Processor Design","A processor is a machine that repeats one loop forever: read the next instruction from memory, figure out what it asks for, do it, and advance. We fix the stored-program idea, lay out the datapath at a high level — PC, instruction memory, register file, ALU, data memory — and the control unit that sequences them, break the work into the six stages the rest of the module builds in hardware, and work out exactly how fetch parses variable-length instructions and computes the next PC.\n",{"path":15305,"title":15306,"module":15302,"summary":15307},"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fthe-seq-stages","The SEQ Stages","The six SEQ stages, made exact. For every Y86-64 instruction — halt, nop, the moves, OPq, the jumps, call and ret, pushq and popq — we write down what Fetch, Decode, Execute, Memory, Write-back, and PC update each compute, as per-instruction stage tables with every row justified. Once the tables are filled in, the processor is fully specified; the remaining lessons turn them into wires.\n",{"path":15309,"title":15310,"module":15302,"summary":15311},"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fcontrol-logic-and-sequencing","Control Logic and Sequencing","The stage tables say what each instruction needs; the control logic computes it from icode. We write the HCL for the register-port selections (srcA, srcB, dstE, dstM), the ALU function and input selection, the memory read\u002Fwrite and address, the branch condition, and the next-PC mux — each a case expression on icode that compiles to a mux — and see how one blob of combinational logic serves every instruction at once. We close by contrasting hardwired control with the microprogrammed alternative.\n",{"path":15313,"title":15314,"module":15302,"summary":15315},"\u002Fcomputer-architecture\u002Fprocessor-design\u002Fassembling-seq","Assembling SEQ","We wire the whole thing together. The functional units from digital logic and the control signals from the last lesson assemble into the complete SEQ datapath, laid out the way CS:APP draws it — six stages stacked bottom to top, Fetch at the floor and PC update at the ceiling, signals flowing up the margins. Then the timing analysis: why everything must settle in one cycle, the no-reading-back principle that makes single-cycle execution consistent, and the critical path that sets the clock. We close by walking an OPq and a ret through the assembled machine.\n",{"path":15317,"title":15318,"module":15302,"summary":15319},"\u002Fcomputer-architecture\u002Fprocessor-design\u002Ftracing-a-program","Tracing a Program","To close the module, we take a complete Y86-64 program — a loop that sums 1 through 3 — and run it through SEQ one cycle at a time, recording the PC, the fetched instruction, every stage computation, and the registers, condition codes, and memory after each cycle. Then we examine single cycles in detail: every named signal of an OPq in concrete hex, and a second program whose call and ret we trace through the stack. The traces confirm that the assembled datapath and control logic behave as a processor.\n",{"path":15321,"title":15322,"module":15323,"summary":15324},"\u002Fcomputer-architecture\u002Fpipelining\u002Fpipelining-principles","Pipelining Principles","Pipelining","A processor that runs one instruction to completion before starting the next wastes most of its hardware most of the time. Pipelining splits the work into stages separated by registers so several instructions are in flight at once. We separate throughput from latency, work the 300 ps example through one, two, and three stages, and derive the three ceilings on the gain: uneven stages, register overhead, and the dependencies between instructions.\n",{"path":15326,"title":15327,"module":15323,"summary":15328},"\u002Fcomputer-architecture\u002Fpipelining\u002Ffrom-seq-to-pipe","From SEQ to PIPE","We turn the sequential Y86-64 processor into a pipelined one by inserting pipeline registers between its stages so each cycle holds one instruction per stage. Doing it correctly forces a rearrangement: the next-PC computation must move into Fetch as a prediction, because the later stages that used to compute it are now busy with other instructions. We walk SEQ to SEQ+ to PIPE, spell out exactly what each pipeline register carries, and fix the naming discipline (D_stat versus d_stat) that keeps five in-flight instructions straight.\n",{"path":15330,"title":15331,"module":15323,"summary":15332},"\u002Fcomputer-architecture\u002Fpipelining\u002Fdata-hazards-stalling-and-forwarding","Data Hazards: Stalling and Forwarding","Overlapping instructions collide when a later one needs a value an earlier one has not finished computing: a read-after-write data hazard. We map exactly which instruction distances are dangerous, fix hazards the slow way by stalling (three bubbles), then the fast way by forwarding from five distinct sources into Decode, in a priority order that sequential semantics forces. Forwarding handles almost everything; the load-use hazard still needs exactly one stall.\n",{"path":15334,"title":15335,"module":15323,"summary":15336},"\u002Fcomputer-architecture\u002Fpipelining\u002Fcontrol-hazards-and-branch-prediction","Control Hazards and Branch Prediction","A pipeline must fetch an instruction every cycle, but after a conditional jump or a ret the next address is not yet known: a control hazard. We measure the branch penalty, weigh predict-taken against its alternatives with real loop arithmetic, watch PIPE detect a misprediction in Execute and squash the two wrong-path instructions, and meet the ret hazard, which has nothing to predict and stalls three cycles. A 2-bit counter gives a taste of dynamic prediction.\n",{"path":15338,"title":15339,"module":15323,"summary":15340},"\u002Fcomputer-architecture\u002Fpipelining\u002Fthe-complete-pipe-processor","The Complete PIPE Processor","We assemble the full pipelined Y86-64: five stages, five pipeline registers, forwarding paths, and a small control unit that decides, each cycle, whether to stall or bubble each register. The subtle part is when hazards combine: one pairing hides a genuine bug. A fourth control case reads stat and keeps exceptions precise. Performance reduces to CPI = 1 + lp + mp + rp, worked out to 1.27 with realistic frequencies, and PIPE beats SEQ by several times despite every penalty.\n",{"path":15342,"title":15343,"module":15344,"summary":15345},"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fstorage-technologies-and-the-latency-gap","Storage Technologies and the Latency Gap","The Memory Hierarchy","No single memory is both fast and large and cheap. We survey the technologies a machine can store bits in — SRAM, DRAM, flash, and rotating disk — open up a DRAM chip to find the row buffer, work a disk access down to the millisecond, and rank everything by speed, density, and cost per bit. Then we watch the processor outrun memory decade after decade. That widening gap is the whole reason a machine stacks fast small storage on top of slow large storage into a hierarchy.\n",{"path":15347,"title":15348,"module":15344,"summary":15349},"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Flocality","Locality","A hierarchy only pays off because programs do not touch memory at random. They reuse recently-used data (temporal locality) and touch nearby data soon after (spatial locality). We make both precise and then quantitative: miss rates for stride-1 and stride-k traversals against a concrete block size, and the loop-order pair on a 2-D array where the same sum misses 16 times one way and 64 times the other — why row-major versus column-major order can change a program's speed by an order of magnitude.\n",{"path":15351,"title":15352,"module":15344,"summary":15353},"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-memories-direct-mapped","Cache Memories and Direct Mapping","A cache is fast SRAM that holds copies of recently-used blocks of main memory. We fix its organization — S sets, E lines per set, B bytes per block — and the way it dissects an address into tag, set index, and block offset, worked bit by bit on a concrete 16-byte cache. Then we run the direct-mapped (E=1) access algorithm end to end on a seven-access trace: index to a set, compare the tag, hit or miss, evict. Cold and conflict misses fall out of the structure, and a two-array ping-pong shows conflict thrashing and its padding fix.\n",{"path":15355,"title":15356,"module":15344,"summary":15357},"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fset-associative-and-write-policies","Set-Associative Caches and Write Policies","Give each set several lines and a block has a choice of homes — fewer conflict misses, at the cost of comparing E tags in parallel and choosing a victim to evict. We re-run the direct-mapped ping-pong trace on a 2-way cache and watch the conflicts vanish, weigh LRU against random replacement, then turn to writes: write-through versus write-back with a dirty bit on a hit, write-allocate versus no-write-allocate on a miss, and a worked traffic count showing when each pairing wins.\n",{"path":15359,"title":15360,"module":15344,"summary":15361},"\u002Fcomputer-architecture\u002Fmemory-hierarchy\u002Fcache-performance-and-cache-friendly-code","Cache Performance and Cache-Friendly Code","Turn the cache mechanism into a number. Hit time, miss rate, and miss penalty combine into the average memory access time; we compute AMAT for a two-level hierarchy with real numbers, weigh the design knobs against each other, and read the memory mountain. Then we write cache-friendly code — the matrix-multiply loop-order case study (ijk versus kij, misses counted per iteration) and loop blocking, where cache-sized tiles turn evicted reuse back into hits.\n",{"path":15363,"title":15364,"module":15365,"summary":15366},"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Faddress-spaces-and-translation","Address Spaces and Translation","Virtual Memory","Every process runs as if it owns a private, contiguous span of memory — its virtual address space — while the hardware maps those addresses onto a single shared physical memory. We fix virtual memory's three jobs (a cache for disk, a memory manager, a protection boundary), the page as the unit of mapping, and the MMU replacing the virtual page number while the offset passes through untouched — then run one translation end to end at the bit level and trace the control flow of a page hit against a page fault.\n",{"path":15368,"title":15369,"module":15365,"summary":15370},"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fpage-tables-and-page-faults","Page Tables and Page Faults","The page table is an array of page-table entries indexed by virtual page number; each entry's valid bit says whether the page is in DRAM, on disk, or unallocated, and its permission, reference, and dirty bits drive protection and replacement. We walk translation as a table lookup, the page fault and demand paging, the clock algorithm the OS uses to approximate LRU, memory mapping and copy-on-write (why fork is cheap), the taxonomy of bad references, and thrashing.\n",{"path":15372,"title":15373,"module":15365,"summary":15374},"\u002Fcomputer-architecture\u002Fvirtual-memory\u002Fthe-tlb-and-multi-level-page-tables","The TLB and Multi-Level Page Tables","A page-table read on every access would double memory traffic; a flat table for a 48-bit space would occupy 512 GB per process. The TLB fixes the first: a small set-associative cache of PTEs inside the MMU whose tag and index come from the VPN. Multi-level page tables fix the second, allocating only the sub-tables a process uses; x86-64 walks four levels with a 9+9+9+9+12 split. We trace one reference end to end through TLB, walk, and cache, and close with the overlap trick that lets the L1 cache start before translation ends.\n",{"path":15376,"title":15377,"module":15378,"summary":15379},"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Fexceptional-control-flow","Exceptional Control Flow","Exceptions & I\u002FO","Beyond the sequential, branch, and call flow a program controls itself, the hardware can divert the processor in response to events. We sort these into four classes — interrupts (asynchronous, from devices), traps (intentional syscalls), faults (recoverable, like a page fault), and aborts (unrecoverable) — then take the mechanism apart: exception numbers and the table dispatch, what the hardware pushes and why it differs from a procedure call, the divide-error \u002F page-fault \u002F general-protection trio on x86-64, the full syscall round trip with a worked write in assembly, and processes and signals as the abstractions ECF makes possible.\n",{"path":15381,"title":15382,"module":15378,"summary":15383},"\u002Fcomputer-architecture\u002Fexceptions-and-io\u002Finterrupts-and-the-kernel","Interrupts and the Kernel","An I\u002FO device signals completion by raising an interrupt, crossing the privilege boundary from user mode into the kernel. We fix that boundary, follow an interrupt from device through the interrupt controller to its vectored handler, and use the timer interrupt to drive preemptive scheduling and the context switch. Then the I\u002FO mechanics: polling versus interrupt-driven I\u002FO with a cycle count, device registers and memory-mapped I\u002FO versus port I\u002FO, DMA's full transfer walkthrough and its cache hazard, and a disk read traced end to end, from the read syscall to the completion interrupt.\n",{"path":15385,"title":15386,"module":15387,"summary":15388},"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fprocesses-threads-and-parallelism","Processes, Threads, and Parallelism","Multithreading & Multicore","Around 2004 the single core stopped getting faster, and the industry's answer was to hand programmers more cores instead. This lesson builds the vocabulary that shift demands: process versus thread and exactly which hardware state each one owns, concurrency versus parallelism, the three kinds of parallelism a machine can exploit, why Dennard scaling ended and forced the multicore turn, and Amdahl's law — the arithmetic that bounds the speedup those cores can deliver.\n",{"path":15390,"title":15391,"module":15387,"summary":15392},"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fhardware-multithreading","Hardware Multithreading","A pipeline spends much of its life waiting — on cache misses, on dependences, on branches. Hardware multithreading fills the dead cycles with instructions from another thread. We compare coarse-grained switching (change threads on a long stall), fine-grained interleaving (change every cycle), and simultaneous multithreading (mix threads inside a single cycle), work out exactly which hardware a second thread context duplicates and which it shares, and weigh when SMT pays off and when two threads just fight over one cache.\n",{"path":15394,"title":15395,"module":15387,"summary":15396},"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fcache-coherence","Cache Coherence","Give each core its own cache and the same address can live in two places at once, with copies that disagree. We reproduce the stale-copy bug with a two-core trace, then fix it the way hardware does: snooping caches that watch a shared bus and keep every line in a protocol state. We build MSI in full, upgrade it to MESI, contrast invalidation with updating, add coherence misses as the fourth C, and end with false sharing: the performance bug where cores fight over a line while never touching the same byte.\n",{"path":15398,"title":15399,"module":15387,"summary":15400},"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmemory-consistency-and-synchronization","Memory Consistency and Synchronization","Coherence keeps cores agreeing about one location; consistency is the contract about many. We define sequential consistency, then watch real hardware break it: the store buffer lets a load slip ahead of an older store, and the classic two-thread litmus test ends with both sides reading zero. We state x86-TSO precisely, restore order with mfence, build atomic read-modify-write from the lock prefix, xchg, and cmpxchg, and write a spinlock twice — once naively, once bus-friendly — closing with what lock-free progress actually guarantees.\n",{"path":15402,"title":15403,"module":15387,"summary":15404},"\u002Fcomputer-architecture\u002Fmultithreading-and-multicore\u002Fmulticore-organization","Multicore Organization","Where everything sits on the die. A modern die gives each core private L1 and L2 caches, spreads a shared last-level cache across slices, and wires it all together with a ring or mesh; multi-socket servers add NUMA, where memory is local to one socket and every remote access pays a latency penalty. We walk the floorplan, put numbers on local versus remote latency, meet thread affinity, and account for the two shared resources — coherence traffic and LLC capacity — that decide how far a parallel program scales.\n",{"path":15406,"title":15407,"module":15408,"summary":15409},"\u002Fcomputer-architecture\u002Fcapstone\u002Fthe-whole-machine","The Whole Machine","Capstone","We take one line of C down the whole tower the course built — compiler to assembly, assembly to machine-code bytes, the bytes into the fetch–decode–execute datapath — then trace one load and one add through the pipelined, cached, translated, interruptible machine, each step cross-linked to the lesson that built it. We close with the map of the course as a stack of layers and an accounting of what we simplified: out-of-order execution, superscalar issue, and speculation past the branch predictor.\n",{"path":15411,"title":15412,"module":15408,"summary":15413},"\u002Fcomputer-architecture\u002Fcapstone\u002Fassembling-a-complete-cpu","Assembling a Complete CPU","We bolt the parts the course built — PC, instruction memory and its fetch logic, register file, ALU, condition codes, data memory, and the control unit — into one complete CPU, name the lesson that built each, wire them in a deliberate order, and power the machine on from reset. Then we assemble a real test program (sum a four-element array through a call\u002Fret procedure), give its exact bytes and memory layout, and trace it cycle by cycle to the answer 0xabcdabcdabcd. We close with how to validate such a machine, and what it takes to put two of them on one die.\n",{"path":15415,"title":15416,"module":6,"summary":6},"\u002Fcomputer-architecture","Computer Architecture",{"path":15418,"title":15419,"module":14017,"summary":15420},"\u002Fdifferential-equations\u002Ffoundations\u002Fmodels-and-direction-fields","Models, Direction Fields, and Solution Curves","A differential equation relates an unknown function to its own rates of change. Three first-order models — a falling body, a cooling object, a population under predation — share the form dy\u002Fdt = ay - b; the slope field fixes their equilibria and long-run behavior before any formula is found. Solving the linear case gives the general solution, its integral curves, and the particular solution selected by an initial condition.\n",{"path":15422,"title":15423,"module":14017,"summary":15424},"\u002Fdifferential-equations\u002Ffoundations\u002Fclassification-and-terminology","Classifying Equations: Order, Linearity, ODE vs. PDE","Every solution method targets a specific class of equation, so the first question about any differential equation is which classes it belongs to. Four independent axes sort them: ordinary versus partial, order, linear versus nonlinear, and homogeneous versus nonhomogeneous. Systems, verification of a solution by substitution, and the split between initial and boundary value problems complete the vocabulary.\n",{"path":15426,"title":15427,"module":15428,"summary":15429},"\u002Fdifferential-equations\u002Ffirst-order\u002Flinear-first-order-integrating-factors","Linear Equations and Integrating Factors","First-Order Equations","A first-order linear equation has the unknown and its derivative to the first power only. Multiplying by an integrating factor collapses the left side into a single derivative, and one integration gives the general solution in closed form. The solution exists wherever the coefficients are continuous, and for a constant coefficient it splits into a decaying transient and a steady state set by the forcing.\n",{"path":15431,"title":15432,"module":15428,"summary":15433},"\u002Fdifferential-equations\u002Ffirst-order\u002Fseparable-and-exact","Separable and Exact Equations","Two nonlinear first-order classes solve by direct integration. A separable equation splits so that each variable can be integrated on its own side, giving an implicit relation. An exact equation is the total differential of a hidden potential function, recognized by a symmetry test on its coefficients; when the test fails, an integrating factor can sometimes restore exactness. A change of variable brings homogeneous equations into the separable class.\n",{"path":15435,"title":15436,"module":15428,"summary":15437},"\u002Fdifferential-equations\u002Ffirst-order\u002Fmodeling-first-order","Modeling with First-Order Equations","A rate law is a differential equation. Each first-order model starts from one governing principle: conservation of mass for a mixing tank, proportional change for interest and radioactive decay, Newton's law of cooling, a force balance for a body falling against drag, and Kirchhoff's law for a series circuit. Setting the derivative to zero recovers the steady state, and the transient records how the initial condition relaxes toward it.\n",{"path":15439,"title":15440,"module":15428,"summary":15441},"\u002Fdifferential-equations\u002Ffirst-order\u002Fautonomous-and-population-dynamics","Autonomous Equations, Phase Lines, and Population Dynamics","An autonomous equation y' = f(y) can be analyzed qualitatively without being solved. Its constant solutions are the zeros of f, and the sign of f between them fixes whether nearby solutions rise or fall, which the phase line records as a column of arrows. The logistic and threshold models, constant- and effort-proportional harvesting, and the properties nonlinear equations lose all follow from this reading.\n",{"path":15443,"title":15444,"module":15428,"summary":15445},"\u002Fdifferential-equations\u002Ffirst-order\u002Fexistence-uniqueness-euler","Existence, Uniqueness, and Euler's Method","Existence and uniqueness can be settled before any attempt to solve. The existence-uniqueness theorem gives sufficient conditions on f, and a standard example shows what fails when they do not hold. Picard's successive approximations build the solution as the limit of an iteration, and Euler's method turns the same tangent-line idea into a numerical procedure for the equations no formula reaches.\n",{"path":15447,"title":15448,"module":15428,"summary":15449},"\u002Fdifferential-equations\u002Ffirst-order\u002Ffirst-order-difference-equations","First-Order Difference Equations","A difference equation advances a sequence one index at a time by a rule y_{n+1} = f(y_n). The linear case y_{n+1} = rho*y_n + b solves in closed form and converges to its equilibrium exactly when the ratio has magnitude below one, which underlies compound-interest and loan calculations. The logistic difference equation shows the nonlinear counterpart: an exchange of stability, a cascade of period doublings, and the onset of chaos.\n",{"path":15451,"title":15452,"module":15453,"summary":15454},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhomogeneous-constant-coefficients","Homogeneous Equations, the Wronskian, and Real Roots","Second-Order Linear Equations","A second-order linear homogeneous equation with constant coefficients is solved by guessing an exponential and reducing to the quadratic characteristic equation. Two solutions span every solution exactly when their Wronskian is nonzero; that condition, superposition, and Abel's formula give the full structure of the general solution for the case of two distinct real roots.\n",{"path":15456,"title":15457,"module":15453,"summary":15458},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fcomplex-and-repeated-roots","Complex Roots, Repeated Roots, and Reduction of Order","When the characteristic equation has complex conjugate roots, Euler's formula converts the complex exponentials into a real fundamental set of decaying or growing oscillations. When it has a repeated root, one exponential is lost and reduction of order recovers the missing second solution as $t\\,e^{rt}$. The same substitution $y = v(t)y_1(t)$ finds a second solution from any known one.\n",{"path":15460,"title":15461,"module":15453,"summary":15462},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fnonhomogeneous-undetermined-coefficients","Nonhomogeneous Equations: Undetermined Coefficients","The general solution of a nonhomogeneous linear equation is a complementary solution plus any one particular solution. When the forcing term is a polynomial, exponential, sine, or cosine, a particular solution can be found by assuming a trial form of the same shape with unknown coefficients and solving for them. The one complication is resonance, handled by multiplying the trial by a power of $t$.\n",{"path":15464,"title":15465,"module":15453,"summary":15466},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fvariation-of-parameters","Variation of Parameters","Variation of parameters finds a particular solution of any nonhomogeneous linear equation from a fundamental set of the homogeneous one. Replacing the constants in the complementary solution by functions and imposing one convenient constraint reduces the problem to a two-by-two linear system whose solution is expressed through the Wronskian, giving an integral formula that works for forcing terms undetermined coefficients cannot touch.\n",{"path":15468,"title":15469,"module":15453,"summary":15470},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fmechanical-electrical-vibrations","Mechanical and Electrical Vibrations","A spring-mass-damper obeys a second-order linear equation, and so does a series RLC circuit, with the same mathematics governing both. Free undamped motion is a pure sinusoid; damping adds a decaying envelope with three regimes; periodic forcing produces a transient that dies out and a steady-state oscillation whose amplitude peaks sharply near the natural frequency, the phenomenon of resonance.\n",{"path":15472,"title":15473,"module":15453,"summary":15474},"\u002Fdifferential-equations\u002Fsecond-order-linear\u002Fhigher-order-linear","Higher-Order Linear Equations","The second-order theory extends directly to order $n$: the solution space is $n$-dimensional, spanned by any $n$ solutions with nonzero Wronskian. For constant coefficients the characteristic polynomial has degree $n$, and its roots (counted with multiplicity, real and complex) build the basis by the same rules as before. Coupled oscillators are the natural application that raises the order.\n",{"path":15476,"title":15477,"module":15478,"summary":15479},"\u002Fdifferential-equations\u002Fseries-solutions\u002Fpower-series-ordinary-points","Power Series Solutions Near Ordinary Points","Series Solutions and Special Functions","A linear equation with variable coefficients has no characteristic equation. A power series substituted into the equation matches coefficients to a recurrence relation, which near an ordinary point yields two independent analytic solutions. The radius of convergence is at least the distance from the expansion point to the nearest singular point in the complex plane.\n",{"path":15481,"title":15482,"module":15478,"summary":15483},"\u002Fdifferential-equations\u002Fseries-solutions\u002Fregular-singular-frobenius","Euler Equations, Regular Singular Points, and Frobenius","The Euler equation x^2 y'' + a x y' + b y = 0 is solved outright by y = x^r, and its three root cases fix the behavior at any regular singular point. The Frobenius method multiplies x^r by a power series; the indicial equation chooses the exponents, and equal or integer-separated roots force a logarithm in the second solution. Gauss's hypergeometric equation is the archetype containing most classical functions as special cases.\n",{"path":15485,"title":15486,"module":15478,"summary":15487},"\u002Fdifferential-equations\u002Fseries-solutions\u002Fbessel-and-special-functions","Bessel's Equation, Legendre Polynomials, and Special Functions","Bessel's equation puts the Frobenius machinery through all three of its cases and produces the functions J and Y that govern anything vibrating or diffusing with circular symmetry. The gamma function extends the factorial so that Bessel functions of every order make sense; Legendre's equation, run through the hypergeometric form, yields the polynomials that play the same role in spherical geometry. Orthogonality ties both families to the eigenfunction expansions of Sturm–Liouville theory.\n",{"path":15489,"title":15490,"module":15491,"summary":15492},"\u002Fdifferential-equations\u002Flaplace\u002Flaplace-definition-ivps","The Laplace Transform: Definition, Properties, and Solving IVPs","The Laplace Transform","The Laplace transform sends a function of time to a function of a complex frequency by integrating it against the kernel e^{-st}. Differentiation in t becomes multiplication by s, so a linear constant-coefficient initial value problem turns into an algebraic equation. Existence rests on piecewise continuity and exponential order; the derivative rule folds in the initial data; and inversion runs through a transform table and partial fractions.\n",{"path":15494,"title":15495,"module":15491,"summary":15496},"\u002Fdifferential-equations\u002Flaplace\u002Fstep-impulse-convolution","Step Functions, Discontinuous Forcing, Impulses, and Convolution","The Heaviside step function and the second shifting theorem transform switches and discontinuous forcing into exponential factors on the transform. The Dirac delta idealizes an instantaneous impulse and transforms to a pure exponential. The convolution theorem inverts a product of transforms, writes the forced response as the impulse response convolved with the input, and solves Abel's tautochrone by transform.\n",{"path":15498,"title":15499,"module":15500,"summary":15501},"\u002Fdifferential-equations\u002Fsystems\u002Fmatrices-eigenvalues-review","Matrices, Linear Systems, and the Eigenvalue Toolkit","Systems of First-Order Linear Equations","Any nth-order linear equation, and any coupled collection of them, rewrites as a single first-order system x' = P(t)x + g(t). The matrix and vector algebra behind that form, the eigenvalue problem det(A - λI) = 0 that drives every solution method, and the fundamental theory — superposition, the Wronskian, Abel's theorem — together establish that n independent solutions span all solutions.\n",{"path":15503,"title":15504,"module":15500,"summary":15505},"\u002Fdifferential-equations\u002Fsystems\u002Fconstant-coefficient-systems-phase-portraits","Homogeneous Constant-Coefficient Systems and Phase Portraits","For x' = Ax with A constant, the trial x = ξe^{rt} turns the differential equation into the eigenvalue problem Aξ = rξ. The eigenvalues fix the geometry of the phase plane: real opposite signs give a saddle, real same sign a node, complex a spiral, purely imaginary a center. Worked in the plane, these cases form the eigenvalue-type classification of equilibria.\n",{"path":15507,"title":15508,"module":15500,"summary":15509},"\u002Fdifferential-equations\u002Fsystems\u002Frepeated-eigenvalues-fundamental-matrices","Repeated Eigenvalues, Fundamental Matrices, and Nonhomogeneous Systems","When a repeated eigenvalue supplies too few eigenvectors, a generalized eigenvector supplies the missing solution as ξte^{ρt} + ηe^{ρt}, giving an improper node. A fundamental set packaged as a matrix Φ(t) yields the matrix exponential e^{At}, the propagator mapping initial states to later ones. Variation of parameters solves the nonhomogeneous system x' = Ax + g(t).\n",{"path":15511,"title":15512,"module":15513,"summary":15514},"\u002Fdifferential-equations\u002Fnumerical\u002Feuler-and-runge-kutta","Euler, Improved Euler, and Runge–Kutta","Numerical Methods","Most initial value problems have no closed-form solution, so the solution is approximated on a grid. Euler's method steps along the tangent line, the improved Euler method averages two slopes, and the classical Runge–Kutta method averages four. Each added stage raises the order of accuracy at the cost of more evaluations per step, measured by how the local and global truncation errors scale with the step size.\n",{"path":15516,"title":15517,"module":15513,"summary":15518},"\u002Fdifferential-equations\u002Fnumerical\u002Fmultistep-systems-stability","Multistep Methods, Systems, and Stability","One-step methods discard everything but the last point. Multistep methods fit a polynomial to several past values and integrate it forward: the explicit Adams–Bashforth formulas, the implicit and more accurate Adams–Moulton formulas, and predictor–corrector pairs that combine them. The same rules extend verbatim to systems in vector form. A separate concern is stability: round-off can dominate truncation, and stiff equations force a tiny step for stability even when accuracy would allow a large one.\n",{"path":15520,"title":15521,"module":15522,"summary":15523},"\u002Fdifferential-equations\u002Fnonlinear\u002Fphase-plane-autonomous-stability","The Phase Plane, Critical Points, and Stability","Nonlinear Systems and Stability","Most nonlinear systems cannot be solved in closed form, so they are studied geometrically. The phase plane turns an autonomous planar system into a family of trajectories; the five archetypes of critical point follow from the eigenvalues of the coefficient matrix; the trace-determinant plane reads off type and stability directly; and epsilon-delta definitions make stability, asymptotic stability, and instability precise.\n",{"path":15525,"title":15526,"module":15522,"summary":15527},"\u002Fdifferential-equations\u002Fnonlinear\u002Flocally-linear-and-liapunov","Locally Linear Systems and Liapunov's Method","Near a critical point a nonlinear system looks linear, and the linear part is the Jacobian. The linearization fixes the type and stability of the nonlinear critical point in every case except a center or a repeated eigenvalue. Liapunov's direct method settles those cases and bounds the basin of attraction by constructing an energy-like function, without solving the system.\n",{"path":15529,"title":15530,"module":15522,"summary":15531},"\u002Fdifferential-equations\u002Fnonlinear\u002Fcompeting-species-predator-prey-limit-cycles","Population Models, Limit Cycles, and Chaos","The phase-plane methods apply directly to interacting-population models. Competing species either coexist or drive one another to extinction, decided by a single inequality among the interaction constants; the Lotka-Volterra predator-prey system produces closed population cycles. Limit cycles and the Poincaré-Bendixson theorem, the van der Pol oscillator, and the Lorenz equations with their strange attractor carry the theory into chaos.\n",{"path":15533,"title":15534,"module":15535,"summary":15536},"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Ffourier-series","Fourier Series and Convergence","PDEs, Fourier Series, and Boundary Value Problems","A two-point boundary value problem has nontrivial solutions only at a discrete set of eigenvalues, the same trichotomy that governs a singular linear system. For y'' + lambda y = 0 with zero endpoints the eigenfunctions are sines and cosines, and their orthogonality gives the Euler-Fourier coefficient formulas. The convergence theorem fixes when the series returns the function, the Gibbs phenomenon measures the overshoot at a jump, and even\u002Fodd symmetry produces half-range sine and cosine series.\n",{"path":15538,"title":15539,"module":15535,"summary":15540},"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fheat-wave-laplace-equations","Separation of Variables: Heat, Wave, and Laplace Equations","Separation of variables replaces a partial differential equation by a pair of ordinary ones joined through a shared separation constant. Applied to the heat equation it produces the eigenvalue problem X'' + lambda X = 0, and the solution assembles as a Fourier series in the eigenfunctions. The same steps solve the wave equation, whose modes are standing waves, and Laplace's equation, the steady-state limit posed on a region rather than an interval.\n",{"path":15542,"title":15543,"module":15535,"summary":15544},"\u002Fdifferential-equations\u002Fpdes-fourier-bvp\u002Fsturm-liouville","Sturm-Liouville Theory","The eigenvalue problem behind separation of variables generalizes to the self-adjoint Sturm-Liouville form. Lagrange's identity makes the operator symmetric, and from that one fact follow real eigenvalues, orthogonal eigenfunctions, and eigenfunction expansions that behave like Fourier series. Singular problems admit Bessel and Legendre functions, and Sturm's separation and comparison theorems describe how the eigenfunctions oscillate.\n",{"path":15546,"title":15547,"module":15548,"summary":15549},"\u002Fdifferential-equations\u002Fhistory-variations\u002Fcalculus-of-variations","The Calculus of Variations","Historical Notes and the Calculus of Variations","Ordinary calculus finds the point where a function is stationary; the calculus of variations finds the whole curve where an integral is stationary. Euler's differential equation is the necessary condition for an extremal, and it becomes integrable in three cases, solving the shortest-path, minimal-surface, and brachistochrone problems. Lagrange multipliers extend the method to isoperimetric constraints, and Hamilton's principle recovers Newton's law from a single stationary integral.\n",{"path":15551,"title":15552,"module":15548,"summary":15553},"\u002Fdifferential-equations\u002Fhistory-variations\u002Fhistorical-notes","Great Problems and the People Who Solved Them","Differential equations grew out of specific problems, not a plan: the invention of calculus by Newton and Leibniz, the Bernoulli brachistochrone challenge, Euler's flood of methods, Lagrange's analytical mechanics, Gauss and Riemann's rigor, Laplace's celestial mechanics, and Poincaré's qualitative theory. Each method descends from a named problem, and reading the subject forward from those problems explains why its parts fit together.\n",{"path":15555,"title":15556,"module":6,"summary":6},"\u002Fdifferential-equations","Differential Equations",{"path":15558,"title":15559,"module":15560,"summary":15561},"\u002Frelativity\u002Ffoundations\u002Fspecial-relativity-postulates","The Postulates of Special Relativity","Foundations of Relativity","Newton's laws are the same in every inertial frame, but Maxwell's are not: the equations of electromagnetism single out one speed, c, and the nineteenth century read that as the speed of light relative to a medium, the ether. The Michelson-Morley experiment looked for Earth's motion through that medium and found nothing. Einstein's two postulates replace the ether, and their first consequence is that simultaneity is frame-dependent.\n",{"path":15563,"title":15564,"module":15560,"summary":15565},"\u002Frelativity\u002Ffoundations\u002Florentz-transformation-spacetime","The Lorentz Transformation and Spacetime","Requiring that a light sphere stay a light sphere in every inertial frame fixes the coordinate change between frames uniquely: the Lorentz transformation, with its factor gamma. Differentiating it gives relativistic velocity addition, which caps composed speeds at c. Plotting the same events on skewed spacetime axes turns the algebra into geometry, with calibration hyperbolae, an invariant interval, and a light cone that sorts events into past, future, and elsewhere.\n",{"path":15567,"title":15568,"module":15560,"summary":15569},"\u002Frelativity\u002Ffoundations\u002Ftime-dilation-length-contraction","Time Dilation, Length Contraction, and Paradoxes","A light clock and the constancy of c give the two headline effects directly: a moving clock runs slow by gamma, and a moving rod is short by the same factor. Cosmic-ray muons reaching sea level are the standing experimental proof. The relativistic Doppler effect adds the time-dilation factor to the classical shift, and the twin and pole-barn paradoxes dissolve once the relativity of simultaneity is taken seriously.\n",{"path":15571,"title":15572,"module":15560,"summary":15573},"\u002Frelativity\u002Ffoundations\u002Frelativistic-momentum-energy","Relativistic Momentum and Energy","Conserving momentum in every inertial frame forces the redefinition p = gamma m u, which diverges as the speed approaches c. Integrating the corresponding force gives the total energy E = gamma m c-squared, whose rest term m c-squared is Einstein's mass-energy equivalence. Energy and momentum join into a four-vector whose invariant length is the rest energy, giving E-squared = (pc)-squared + (m c-squared)-squared, massless particles, and nuclear binding energy.\n",{"path":15575,"title":15576,"module":15560,"summary":15577},"\u002Frelativity\u002Ffoundations\u002Fgeneral-relativity","A Taste of General Relativity","Einstein's happiest thought was that a freely falling observer feels no gravity: a uniform gravitational field is locally indistinguishable from an accelerating frame. That equivalence principle predicts that light bends near a mass, that clocks run slow deep in a gravitational well, that Mercury's orbit precesses, and that radar echoes are delayed. Every prediction has been confirmed, and pushing the redshift to its limit gives the black hole.\n",{"path":15579,"title":15580,"module":15581,"summary":15582},"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fminkowski-spacetime-and-the-interval","Minkowski Spacetime and the Interval","Spacetime and the Lorentz Group","The Lorentz transformation of the foundations module is repackaged as the geometry of a four-dimensional space whose invariant is not a distance but the spacetime interval. Events, worldlines, and the metric signature define a causal structure that every observer shares. Proper time is the length of a timelike worldline, and the twin paradox becomes the statement that a straight worldline accumulates the most proper time.\n",{"path":15584,"title":15585,"module":15581,"summary":15586},"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Ffour-vectors-and-index-notation","Four-Vectors and Index Notation","The index calculus that the rest of the course runs on. Contravariant and covariant components, the Minkowski metric as the machine that raises and lowers indices, and the Einstein summation convention are assembled into scalar products that are the same in every frame. The four-velocity and four-acceleration follow, together with the identity that the four-velocity has constant invariant length.\n",{"path":15588,"title":15589,"module":15581,"summary":15590},"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fthe-lorentz-group-and-rapidity","The Lorentz Group and Rapidity","The Lorentz transformations are the linear maps that preserve the Minkowski metric, and they form the group O(1,3). Boosts are hyperbolic rotations parametrized by rapidity, which adds along a line where velocity does not. The boost and rotation generators fix the group's local structure; its four disconnected components are set by two signs; and two non-collinear boosts compose into a boost plus a rotation, the Wigner rotation behind Thomas precession.\n",{"path":15592,"title":15593,"module":15581,"summary":15594},"\u002Frelativity\u002Fspacetime-and-the-lorentz-group\u002Fdoppler-aberration-and-appearance","Doppler, Aberration, and Appearance","Light carries a null four-momentum, and boosting it produces every optical effect of relativity at once. The covariant Doppler formula follows from the transformation of frequency, aberration from the transformation of direction, and the headlight effect from the resulting concentration of light forward. The Terrell-Penrose result shows that a fast object photographs as rotated, not contracted.\n",{"path":15596,"title":15597,"module":15598,"summary":15599},"\u002Frelativity\u002Frelativistic-dynamics\u002Ffour-momentum-force-and-accelerated-motion","Four-Momentum, Four-Force, and Accelerated Motion","Relativistic Dynamics","The four-momentum packages energy and momentum into a single vector whose invariant length is the rest mass. Its proper-time derivative is the four-force, always orthogonal to the four-velocity, and a constant orthogonal four-force produces hyperbolic motion. Constant proper acceleration gives rapidity linear in proper time, the relativistic rocket equation, and the Rindler horizon behind an eternally accelerating observer.\n",{"path":15601,"title":15602,"module":15598,"summary":15603},"\u002Frelativity\u002Frelativistic-dynamics\u002Fparticle-decays-and-two-body-kinematics","Particle Decays and Two-Body Kinematics","Conservation of four-momentum fixes the kinematics of a decay from the masses alone. In the center-of-momentum frame a parent breaks into two daughters with equal and opposite momenta and energies set by the Kallen triangle function. Boosting to the lab opens the decay into a cone, and the invariant mass built from the daughters reconstructs the parent as a peak. Worked cases: the two-photon decay of the neutral pion and a heavy two-body hadronic decay.\n",{"path":15605,"title":15606,"module":15598,"summary":15607},"\u002Frelativity\u002Frelativistic-dynamics\u002Fcollisions-thresholds-and-the-cm-frame","Relativistic Collisions and Threshold Energies","Two-body collisions run on the same conserved four-momentum as decays. The invariant s sets the total energy available in the center-of-momentum frame and therefore the threshold for producing new particles. Fixed-target energy grows only as the square root of beam energy while a collider grows linearly, which is why colliders reach high energy. Compton scattering follows as a worked photon-electron collision giving the wavelength shift.\n",{"path":15609,"title":15610,"module":15598,"summary":15611},"\u002Frelativity\u002Frelativistic-dynamics\u002Fmandelstam-variables-and-invariants","Mandelstam Variables and Lorentz Invariants","For a two-to-two process the three Mandelstam invariants s, t, and u encode all the kinematics in frame-independent form. They obey a single linear constraint, the sum of the four squared masses, so only two are independent. s is the center-of-momentum energy squared, t and u are momentum transfers tied to the scattering angle, and crossing symmetry relates one amplitude across three channels through these variables.\n",{"path":15613,"title":15614,"module":15615,"summary":15616},"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ffour-current-and-the-four-potential","The Four-Current and Four-Potential","Covariant Electromagnetism","Charge density and current combine into a single four-vector whose divergence is charge conservation. The scalar and vector potentials combine likewise into the four-potential, whose gauge freedom fixes to the Lorenz condition, reducing Maxwell's equations for the potentials to a single wave equation sourced by the four-current.\n",{"path":15618,"title":15619,"module":15615,"summary":15620},"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fthe-electromagnetic-field-tensor","The Electromagnetic Field Tensor","The antisymmetric derivative of the four-potential is the field-strength tensor F, gauge invariant by construction, with the electric and magnetic fields as its components. Its dual exchanges E and B, and its two contractions form the Lorentz invariants that classify a field as electric, magnetic, or radiative in every frame.\n",{"path":15622,"title":15623,"module":15615,"summary":15624},"\u002Frelativity\u002Fcovariant-electrodynamics\u002Ftransformation-of-electric-and-magnetic-fields","How E and B Transform","Transforming the field tensor under a boost gives explicit rules for the electric and magnetic fields: components along the motion are unchanged, transverse components mix and pick up a gamma. The field of a uniformly moving charge compresses transversely, and the force between a current and a moving charge shows that magnetism is the relativistic shadow of electrostatics.\n",{"path":15626,"title":15627,"module":15615,"summary":15628},"\u002Frelativity\u002Fcovariant-electrodynamics\u002Fcovariant-maxwell-and-the-stress-energy-tensor","Covariant Maxwell and the Stress–Energy Tensor","Maxwell's four equations collapse into two tensor equations, one sourced by the four-current and one an identity on the field strength, with charge conservation automatic. The Lorentz force becomes a four-vector law, and the field's energy, momentum, and stress assemble into a symmetric, conserved stress–energy tensor — the object that will source gravity.\n",{"path":15630,"title":15631,"module":15632,"summary":15633},"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-equivalence-principle-formalized","The Equivalence Principle","Curved Spacetime","The equality of gravitational and inertial mass promotes to a physical principle in three graded strengths — weak, Einstein, and strong. A freely falling laboratory is locally indistinguishable from an inertial frame, but the qualifier \"locally\" is essential: the size of the patch over which gravity vanishes is set by the tidal field, which no change of frame can remove. Tidal forces are the true, coordinate-independent signature of gravity, and they are what curvature will measure.\n",{"path":15635,"title":15636,"module":15632,"summary":15637},"\u002Frelativity\u002Fcurved-spacetime\u002Fmanifolds-vectors-and-the-metric","Manifolds, Vectors, and the Metric","A manifold is a space that looks locally like flat space, described by overlapping coordinate charts. Tangent vectors are directional derivatives with the coordinate basis vectors as partial-derivative operators; one-forms live in the dual space; and the metric tensor turns a coordinate line element into an invariant length. The 2-sphere and Rindler metrics serve as worked examples, including the coordinate singularities that are artefacts of the chart, not of the geometry.\n",{"path":15639,"title":15640,"module":15632,"summary":15641},"\u002Frelativity\u002Fcurved-spacetime\u002Fcovariant-derivative-and-christoffel-symbols","Parallel Transport and the Covariant Derivative","The ordinary derivative of a vector field is not a tensor, because it subtracts vectors living in different tangent spaces. A connection supplies the missing comparison: the covariant derivative adds Christoffel-symbol correction terms that cancel the coordinate artefacts. Requiring the connection to be torsion-free and to preserve the metric fixes the Christoffel symbols uniquely in terms of derivatives of the metric, giving the Levi-Civita connection that general relativity uses.\n",{"path":15643,"title":15644,"module":15632,"summary":15645},"\u002Frelativity\u002Fcurved-spacetime\u002Fgeodesics-and-the-geodesic-equation","Geodesics and the Newtonian Limit","Free fall is geodesic motion: a freely falling particle follows the straightest possible worldline, obtained either by parallel-transporting its own tangent vector or by extremizing proper time. Both routes give the geodesic equation. Affine parameters, and conserved quantities from symmetries via Killing vectors, make it solvable. In the weak-field slow-motion limit the geodesic equation reproduces Newton's law of gravity, fixing the time-time metric component as the Newtonian potential.\n",{"path":15647,"title":15648,"module":15632,"summary":15649},"\u002Frelativity\u002Fcurved-spacetime\u002Fcurvature-riemann-and-geodesic-deviation","Curvature and the Riemann Tensor","Curvature is the failure of parallel transport to commute: carrying a vector around an infinitesimal loop returns it rotated, and the rotation per unit area is the Riemann tensor. Its symmetries cut the components to twenty in four dimensions. Geodesic deviation makes it the equation of tidal forces, and its contractions — the Ricci tensor, the Ricci scalar, and the divergence-free Einstein tensor — assemble the objects the field equation is built from.\n",{"path":15651,"title":15652,"module":15632,"summary":15653},"\u002Frelativity\u002Fcurved-spacetime\u002Fthe-einstein-field-equations","The Einstein Field Equations","The field equation is assembled from a short list of requirements: a symmetric, divergence-free, second-order geometric tensor set proportional to the stress–energy tensor, with the coefficient fixed by the Newtonian limit. The cosmological constant is the one extra term the requirements allow. The Einstein–Hilbert action gives the same equation from a variational principle, and the coupled system closes the logic of the module: matter curves spacetime, and spacetime tells matter how to move.\n",{"path":15655,"title":15656,"module":15657,"summary":15658},"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fthe-schwarzschild-metric","The Schwarzschild Metric","The Schwarzschild Solution","The first exact solution of Einstein's equation follows from two assumptions, staticity and spherical symmetry, imposed on the vacuum outside a mass. Solving the vacuum field equations fixes two metric functions and produces the Schwarzschild geometry, whose one length scale is the Schwarzschild radius $r_s = 2GM\u002Fc^2$. Birkhoff's theorem shows this is the only spherical vacuum, and the far field reduces to Newtonian gravity.\n",{"path":15660,"title":15661,"module":15657,"summary":15662},"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Fgeodesics-and-orbits-in-schwarzschild","Orbits in the Schwarzschild Geometry","The two Killing symmetries of the Schwarzschild metric give a conserved energy and angular momentum per unit mass, reducing geodesic motion to a one-dimensional problem in an effective potential. The potential carries an extra attractive $1\u002Fr^3$ term absent from Newton's, which caps the centrifugal barrier, produces an innermost stable circular orbit at $6GM\u002Fc^2$, and makes bound orbits precess instead of closing.\n",{"path":15664,"title":15665,"module":15657,"summary":15666},"\u002Frelativity\u002Fthe-schwarzschild-solution\u002Flight-bending-and-null-geodesics","Null Geodesics and the Photon Sphere","Light follows null geodesics, governed by a photon effective potential with a single unstable maximum at $3GM\u002Fc^2$, the photon sphere. The impact parameter sorts rays into those that escape with a deflection and those captured, with the critical value $b_c = 3\\sqrt{3}\\,GM\u002Fc^2$ dividing them. A grazing ray bends by $4GM\u002F(c^2 b)$, twice the naive Newtonian value, and the critical impact parameter sets the edge of a black hole's shadow.\n",{"path":15668,"title":15669,"module":15670,"summary":15671},"\u002Frelativity\u002Ftests-of-general-relativity\u002Fperihelion-precession-of-mercury","The Perihelion Precession of Mercury","Tests of General Relativity","A single extra term in the Schwarzschild orbit equation, cubic in the inverse radius, keeps a bound orbit from closing. The perturbation advances the perihelion by 6πGM\u002F(c²a(1−e²)) per revolution, which for Mercury is 43 arcseconds per century — exactly the anomaly left after Newtonian planetary perturbations are subtracted. A note on frame dragging closes the lesson.\n",{"path":15673,"title":15674,"module":15670,"summary":15675},"\u002Frelativity\u002Ftests-of-general-relativity\u002Fdeflection-of-light-and-gravitational-lensing","Light Deflection and Gravitational Lensing","A light ray grazing the Sun bends by 4GM\u002F(c²b), exactly twice the value a Newtonian corpuscle would give; the extra factor is the curvature of space. The 1919 eclipse confirmed it. The same bending focuses light from distant sources into Einstein rings, multiple images, and microlensing brightenings, making lensing a direct probe of mass, including mass that emits no light.\n",{"path":15677,"title":15678,"module":15670,"summary":15679},"\u002Frelativity\u002Ftests-of-general-relativity\u002Fgravitational-redshift-and-shapiro-delay","Gravitational Redshift and the Shapiro Delay","A clock deeper in a gravitational well ticks slower, and a photon climbing out loses frequency by the ratio of the metric's time-time components. Pound and Rebka measured the 2.5×10⁻¹⁵ shift over a 22.5-metre tower. Radar signals grazing the Sun return late by about 250 microseconds, the Shapiro delay. Both probe the time part of the metric directly.\n",{"path":15681,"title":15682,"module":15670,"summary":15683},"\u002Frelativity\u002Ftests-of-general-relativity\u002Frelativity-in-technology-gps","Relativity and the Global Positioning System","A GPS satellite clock runs slow by 7 microseconds a day from its orbital speed and fast by 46 from its higher gravitational potential, a net gain of about 38 microseconds a day. Left uncorrected, the timing error would grow into kilometres of position error within a day and exceed navigation tolerance within minutes. The satellites carry a pre-launch frequency offset to cancel it.\n",{"path":15685,"title":15686,"module":15687,"summary":15688},"\u002Frelativity\u002Fblack-holes\u002Fhorizons-and-coordinate-singularities","Horizons and Coordinate Singularities","Black Holes","The Schwarzschild radius is a coordinate singularity, not a curvature singularity: the metric blows up there only because the static coordinates fail, while the geometry stays finite. Eddington–Finkelstein and Kruskal– Szekeres coordinates cross the horizon smoothly and show the light cones tipping toward the center. A freely falling observer reaches the true singularity at r=0 in finite proper time, while a distant observer sees the infall freeze and redden at the horizon.\n",{"path":15690,"title":15691,"module":15687,"summary":15692},"\u002Frelativity\u002Fblack-holes\u002Frotating-and-charged-black-holes","Rotating and Charged Black Holes","A stationary black hole is fixed by three numbers: mass, angular momentum, and charge. The Reissner–Nordström metric adds charge and splits the horizon in two; the Kerr metric adds rotation, drags inertial frames, and wraps the horizon in an ergosphere where nothing can stay still. Inside the ergosphere the Penrose process extracts rotational energy, and the no-hair theorem states that no other detail of the collapsed matter survives.\n",{"path":15694,"title":15695,"module":15687,"summary":15696},"\u002Frelativity\u002Fblack-holes\u002Fblack-hole-thermodynamics","Black-Hole Thermodynamics","The four laws of black-hole mechanics mirror the four laws of thermodynamics term for term, with horizon area playing the role of entropy and surface gravity the role of temperature. Hawking's calculation makes the analogy literal: a black hole radiates at a temperature set by its surface gravity, carries a real entropy proportional to its horizon area, and slowly evaporates. The thermal spectrum raises the information paradox.\n",{"path":15698,"title":15699,"module":15700,"summary":15701},"\u002Frelativity\u002Fgravitational-waves\u002Flinearized-gravity-and-wave-solutions","Linearized Gravity and Wave Solutions","Gravitational Waves","Weak gravity is a small perturbation of flat spacetime, and the linearized Einstein equation in the Lorenz gauge is an ordinary wave equation propagating at the speed of light. The trace-reversed perturbation carries the dynamics, residual gauge freedom fixes the transverse-traceless form, and the two physical polarizations deform a ring of freely falling masses into oscillating ellipses whose fractional size change is the strain.\n",{"path":15703,"title":15704,"module":15700,"summary":15705},"\u002Frelativity\u002Fgravitational-waves\u002Fgeneration-and-the-quadrupole-formula","The Quadrupole Formula","The retarded solution of the linearized field equation gives the field of a moving source, and conservation of mass and momentum forbids monopole and dipole radiation, leaving the mass quadrupole as the leading emitter. The quadrupole formula fixes the strain and the radiated luminosity, and applied to a compact binary it predicts the inspiral chirp of rising frequency and amplitude. The Hulse-Taylor pulsar's orbital decay confirmed it to a fraction of a percent.\n",{"path":15707,"title":15708,"module":15700,"summary":15709},"\u002Frelativity\u002Fgravitational-waves\u002Fdetection-ligo-and-the-first-events","LIGO and the First Detections","A gravitational wave is measured as a differential length change of the two arms of a kilometre-scale Michelson interferometer, a strain of order ten to the minus twenty-one that moves the mirrors by a fraction of a proton radius. GW150914 recorded the inspiral, merger, and ringdown of two black holes, fixing their masses and the energy radiated, and GW170817 with its coincident gamma-ray burst and kilonova opened multimessenger astronomy.\n",{"path":15711,"title":15712,"module":15713,"summary":15714},"\u002Frelativity\u002Fcosmological-bridge\u002Fthe-cosmological-principle-and-flrw-metric","The Cosmological Principle and the FLRW Metric","A Bridge to Cosmology","Homogeneity and isotropy restrict the spacetime of the universe to a single family of metrics: a flat cosmic-time slicing of spatial sections of constant curvature, scaled by a time-dependent factor a(t). This lesson builds the Friedmann–Lemaître–Robertson–Walker metric from those symmetries, separates comoving from proper distance, and derives cosmological redshift as the stretching of wavelengths with the scale factor.\n",{"path":15716,"title":15717,"module":15713,"summary":15718},"\u002Frelativity\u002Fcosmological-bridge\u002Ffriedmann-equations-and-cosmic-dynamics","The Friedmann Equations and Cosmic Dynamics","The Einstein equation applied to the FLRW metric with a perfect-fluid source yields the two Friedmann equations and the conservation law that ties them together. This lesson derives them, defines the critical density and the density parameters that fix the spatial geometry, works out how matter, radiation, and a cosmological constant dilute and drive the expansion, and hands off to a dedicated cosmology subject.\n",{"path":15720,"title":15721,"module":6,"summary":6},"\u002Frelativity","Relativity",{"path":15723,"title":15724,"module":6,"summary":6},"\u002Fphysical-computing","Physical Computing",{"path":15726,"title":15727,"module":15728,"summary":15729},"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fblackbody-radiation-and-the-planck-quantum","Blackbody Radiation and the Planck Quantum","Origins of the Quantum","Millikan's oil-drop experiment fixed the electron charge as an indivisible unit, and the spectrum of thermal radiation forced a second, deeper quantum. Classical physics predicts an infinite energy density at short wavelengths; Planck removed the divergence by allowing a cavity oscillator to hold only energies that are integer multiples of hf, the first appearance of the quantum of action.\n",{"path":15731,"title":15732,"module":15728,"summary":15733},"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-photoelectric-effect-and-the-photon","The Photoelectric Effect and the Photon","Light shone on a clean metal ejects electrons, but the details defied the wave theory: the electrons' maximum energy depends on the light's frequency, not its brightness, and there is a sharp threshold frequency below which nothing happens. Einstein resolved every anomaly by treating light as a stream of energy quanta hf, each absorbed whole by one electron, and Millikan's measurement of the stopping-potential slope confirmed h to a decade before anyone expected.\n",{"path":15735,"title":15736,"module":15728,"summary":15737},"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fx-rays-and-the-compton-effect","X-Rays and the Compton Effect","X-rays are short-wavelength electromagnetic waves produced when fast electrons are braked in a target, and their diffraction by crystals lets Bragg's law measure atomic spacings. Compton then scattered X-rays off electrons and found the wavelength shifted by an amount that only a photon carrying momentum hf\u002Fc could explain, closing the case for the particle nature of light.\n",{"path":15739,"title":15740,"module":15728,"summary":15741},"\u002Fquantum-mechanics\u002Fold-quantum-theory\u002Fthe-old-quantum-theory-bohr-and-sommerfeld","The Old Quantum Theory: Bohr, Sommerfeld, and Correspondence","Between Bohr's 1913 atom and Schrödinger's 1926 equation, physics ran on a provisional recipe: keep classical orbits, but admit only those whose action integral is a whole multiple of Planck's constant. This lesson develops the Wilson-Sommerfeld phase-integral rule, applies it to the oscillator and to the elliptical Kepler orbits of hydrogen, derives Sommerfeld's relativistic fine structure and the quantization of orbit orientation, and shows how the correspondence principle fixed intensities and selection rules. The systematic failures — helium, line intensities, the anomalous Zeeman effect — mark exactly where a theory of orbits had to give way to a theory of waves.\n",{"path":15743,"title":15744,"module":15745,"summary":15746},"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fde-broglie-waves-and-electron-diffraction","De Broglie Waves and Electron Diffraction","The Wave Nature of Matter","In 1924 de Broglie proposed that every particle carries a wave of wavelength h\u002Fp. The hypothesis explains Bohr's quantized orbits as standing waves, and Davisson and Germer, then G. P. Thomson, confirmed it by diffracting electrons from crystals exactly as X-rays diffract. We derive the electron wavelength, work the Bragg analysis of the data, and give the relativistic form.\n",{"path":15748,"title":15749,"module":15745,"summary":15750},"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fwave-packets-and-the-probability-interpretation","Wave Packets and the Probabilistic Wave Function","A single de Broglie wave fills all space, but a particle is localized. Adding many waves of nearby wavelength builds a wave packet that is confined and moves at the group velocity, which equals the particle velocity. Born's rule reads the squared amplitude of the wave function as a probability density, the meaning confirmed by electron interference building up one detection at a time.\n",{"path":15752,"title":15753,"module":15745,"summary":15754},"\u002Fquantum-mechanics\u002Fmatter-waves\u002Fthe-uncertainty-principle","The Uncertainty Principle and Wave-Particle Duality","The packet relations delta-k delta-x about 1 become Heisenberg's principle once momentum is hbar times wave number: position and momentum cannot both be sharp, nor energy and time. The gamma-ray microscope shows the limit is physical, not technical. It fixes the zero-point energy of a confined particle, the size of the hydrogen atom, and the natural width of spectral lines, and it frames the wave-particle duality of all matter and radiation.\n",{"path":15756,"title":15757,"module":15758,"summary":15759},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-schrodinger-equation-in-one-dimension","The Schrödinger Equation in One Dimension","Wave Mechanics in One Dimension","The wave equation for matter cannot be derived; it is postulated and judged by experiment. We build the time-dependent Schrödinger equation from the de Broglie relations, read Born's probability rule off the complex wave function, and separate the time and space dependence to get the time-independent equation whose bound-state solutions are the stationary states. The five acceptability conditions on the wave function are what force energy to be quantized.\n",{"path":15761,"title":15762,"module":15758,"summary":15763},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-free-particle-and-wave-packet-dynamics","The Free Particle and Wave-Packet Dynamics","The free particle has no bound states: its stationary solutions are non-normalizable plane waves forming a continuum. Physical states are wave packets built by superposing them, and the superposition is a Fourier transform. We delta-normalize the plane waves, assemble a Gaussian packet, solve for its exact time evolution, and read off the two facts that reconcile the wave picture with mechanics: the packet moves at the group velocity ħk\u002Fm, the classical velocity, and it spreads because its component momenta travel at different speeds.\n",{"path":15765,"title":15766,"module":15758,"summary":15767},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fparticle-in-infinite-and-finite-square-wells","Particle in Infinite and Finite Square Wells","The infinite square well is the simplest bound-state problem: two boundary conditions quantize the energy into a ladder E_n = n² E_1, and the eigenfunctions are the standing waves of a string fixed at both ends. Relaxing the walls to a finite depth lets the wave function leak into the classically forbidden region, keeps the number of bound states finite, and turns the eigenvalue condition into a transcendental equation solved graphically.\n",{"path":15769,"title":15770,"module":15758,"summary":15771},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Foperators-expectation-values-and-the-harmonic-oscillator","Operators, Expectation Values, and the Harmonic Oscillator","Measurable quantities are extracted from the wave function as expectation values, and each observable is represented by an operator that acts between Ψ* and Ψ — position by multiplication, momentum by a derivative, energy by the Hamiltonian. Applied to the harmonic oscillator, the machinery yields evenly spaced levels E_n = (n+½)ℏω, Gaussian- times-Hermite eigenfunctions of definite parity, and the selection rule Δn = ±1.\n",{"path":15773,"title":15774,"module":15758,"summary":15775},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fthe-dirac-delta-potential","The Dirac-Delta Potential: A Single Bound State and Scattering","A potential concentrated at a single point is solvable in closed form and isolates the physics of matching a wave function across a discontinuity. Integrating the Schrödinger equation across the spike gives a jump condition on the derivative; the attractive delta well then supports exactly one bound state, of energy set by the strength alone, while the same spike scatters an incoming beam with a transmission that rises from zero to one. The attractive well and the repulsive barrier scatter identically yet only the well binds.\n",{"path":15777,"title":15778,"module":15758,"summary":15779},"\u002Fquantum-mechanics\u002Fwave-mechanics-1d\u002Fbarrier-penetration-and-quantum-tunneling","Barrier Penetration and Quantum Tunneling","Unbound states scatter rather than bind. A particle meeting a step is partly reflected even when it has more than enough energy to pass, and a particle meeting a barrier taller than its energy has a nonzero chance of appearing on the far side. Matching the wave function across the boundaries gives the reflection and transmission coefficients and the exponential tunneling probability that explains alpha decay, the scanning tunneling microscope, and the ammonia clock.\n",{"path":15781,"title":15782,"module":15783,"summary":15784},"\u002Fquantum-mechanics\u002Fformalism\u002Fhilbert-space-and-dirac-notation","Hilbert Space and Dirac Bra–Ket Notation","The Formalism of Quantum Mechanics","Wave mechanics is one representation of a deeper structure: quantum states are vectors in a complex inner-product space, and observables act on them as linear operators. We build that space from the axioms, introduce Dirac's kets and bras as vectors and the linear functionals that measure them, and identify the wavefunction as the components of an abstract state in the position basis. The resolution of the identity is the single algebraic tool that ties every basis, expansion, and matrix element together.\n",{"path":15786,"title":15787,"module":15783,"summary":15788},"\u002Fquantum-mechanics\u002Fformalism\u002Fobservables-hermitian-operators-and-eigenvalues","Observables, Hermitian Operators, and the Spectral Theorem","Every measurable quantity is represented by a Hermitian operator, and the reason is forced: a measurement needs real eigenvalues, orthogonal eigenvectors, and a complete eigenbasis, and Hermiticity delivers precisely those. We derive those properties from self-adjointness, state the spectral theorem, handle degeneracy, and show that two observables share an eigenbasis precisely when they commute — the algebraic condition behind compatible and incompatible measurements.\n",{"path":15790,"title":15791,"module":15783,"summary":15792},"\u002Fquantum-mechanics\u002Fformalism\u002Fthe-postulates-and-quantum-measurement","The Postulates and Quantum Measurement","With states as vectors and observables as Hermitian operators, the physical content of quantum mechanics reduces to a short list of postulates. We state them precisely, derive the Born probability rule for discrete and continuous spectra, work out projective collapse and its idempotence, compute expectation values and their variance, and state the measurement problem cleanly — the one place the postulates split unitary evolution from measurement without explaining the seam.\n",{"path":15794,"title":15795,"module":15783,"summary":15796},"\u002Fquantum-mechanics\u002Fformalism\u002Fposition-momentum-and-continuous-spectra","Position, Momentum, and Continuous Spectra","Position and momentum are the observables with no normalizable eigenstates: their spectra are continuous, their eigenkets are delta-normalized, and the two are Fourier conjugates. We derive the canonical commutator from the momentum operator, build the continuous-basis machinery (Dirac deltas replacing Kronecker deltas), show the position and momentum wavefunctions are a Fourier-transform pair, and compute expectation values in either representation.\n",{"path":15798,"title":15799,"module":15783,"summary":15800},"\u002Fquantum-mechanics\u002Fformalism\u002Fcommutators-and-the-generalized-uncertainty-principle","Commutators and the Generalized Uncertainty Principle","The commutator of two observables measures the obstruction to sharing an eigenbasis, and it bounds how sharply both can be known at once. We derive the generalized uncertainty relation from the Schwarz inequality, recover the position–momentum bound as a special case, characterize the minimum-uncertainty states that saturate it as Gaussians, and give the energy–time relation its correct reading as a lifetime bound rather than a commutator relation.\n",{"path":15802,"title":15803,"module":15783,"summary":15804},"\u002Fquantum-mechanics\u002Fformalism\u002Ftime-evolution-schrodinger-and-heisenberg-pictures","Time Evolution, Propagators, and the Heisenberg Picture","Time evolution is generated by the Hamiltonian and implemented by a unitary operator that preserves probability. We build that operator, expand a state in stationary states to see why probability densities freeze while phases wind, introduce the propagator, transfer the time dependence onto operators in the Heisenberg picture, and derive Ehrenfest's theorem — which recovers classical equations of motion for expectation values and identifies conserved quantities as observables commuting with the Hamiltonian.\n",{"path":15806,"title":15807,"module":15808,"summary":15809},"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fladder-operators-and-the-number-states","Ladder Operators and the Number States","The Oscillator Algebraically, and Symmetry","The harmonic oscillator can be solved without touching a differential equation. Factoring the Hamiltonian into a lowering operator and its adjoint turns the spectrum into pure algebra: the commutator relation fixes the ladder, the vacuum condition fixes the ground state, and the energies fall out as equally spaced rungs. The same operators give the matrix elements of position and momentum for free.\n",{"path":15811,"title":15812,"module":15808,"summary":15813},"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fcoherent-and-squeezed-states","Coherent and Squeezed States","A single number state never moves — its position expectation is pinned at the origin. The superposition that oscillates like a classical particle is the eigenstate of the annihilation operator: the coherent state. It is a displaced vacuum, carries Poissonian photon statistics, saturates the uncertainty bound, and traces a rigid Gaussian orbit in phase space. Squeezing deforms that circle, trading precision in one quadrature for noise in the other.\n",{"path":15815,"title":15816,"module":15808,"summary":15817},"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fsymmetries-generators-and-conservation-laws","Symmetries, Generators, and Conservation Laws","Every continuous symmetry of a quantum system is a unitary operator built by exponentiating a Hermitian generator: momentum generates translations, angular momentum generates rotations, the Hamiltonian generates time evolution. When a generator commutes with the Hamiltonian, the transformation leaves the dynamics unchanged and the generator is conserved — the quantum form of Noether's theorem — and any symmetry that mixes states within a level forces degeneracy.\n",{"path":15819,"title":15820,"module":15808,"summary":15821},"\u002Fquantum-mechanics\u002Foscillator-and-symmetry\u002Fparity-time-reversal-and-discrete-symmetries","Parity, Time Reversal, and Discrete Symmetries","Parity and time reversal are symmetries no continuous generator can reach. Parity is a unitary involution whose eigenvalues label states even or odd, fixing the dipole selection rules. Time reversal is antiunitary: it conjugates i, flips momenta and spins, and for half-integer spin squares to minus one, which by Kramers' theorem makes every level of a time-reversal-invariant Hamiltonian at least doubly degenerate.\n",{"path":15823,"title":15824,"module":14663,"summary":15825},"\u002Fquantum-mechanics\u002Fangular-momentum\u002Forbital-angular-momentum-and-spherical-harmonics","Orbital Angular Momentum and Spherical Harmonics","Orbital angular momentum is the operator triple built from position and momentum. Its components fail to commute, so no state carries sharp values of more than one of them, but each commutes with the total square. Solving the common eigenvalue problem in spherical coordinates quantizes both the magnitude and the projection and produces the spherical harmonics, the angular part of every central-force wavefunction.\n",{"path":15827,"title":15828,"module":14663,"summary":15829},"\u002Fquantum-mechanics\u002Fangular-momentum\u002Fthe-angular-momentum-algebra","The Angular-Momentum Algebra and Ladder Operators","The eigenvalues of angular momentum follow from the commutation relations alone, with no reference to coordinates or wavefunctions. Raising and lowering operators built from the components generate finite multiplets, force the total quantum number to be a non-negative integer or half-integer, and fix the matrix elements of every component. The half-integer values excluded by orbital motion appear here, and they are what spin realizes.\n",{"path":15831,"title":15832,"module":14663,"summary":15833},"\u002Fquantum-mechanics\u002Fangular-momentum\u002Faddition-of-angular-momenta-and-clebsch-gordan","Addition of Angular Momenta and Clebsch–Gordan Coefficients","Two angular momenta combine into a total whose allowed magnitudes run from the difference to the sum of the parts in integer steps. The change from the uncoupled product basis to the coupled total-angular-momentum basis is carried out with the lowering operator and orthogonality, and its matrix of overlaps is the table of Clebsch–Gordan coefficients. Two spin-halves split into a triplet and a singlet, the prototype for every composite spin.\n",{"path":15835,"title":15836,"module":15837,"summary":15838},"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-schrodinger-equation-in-three-dimensions","The Schrödinger Equation in Three Dimensions","Central Potentials","A central potential depends only on the distance from a force center, so the three-dimensional Schrödinger equation separates in spherical coordinates. The angular factor is a spherical harmonic; the radial factor obeys a one-dimensional equation with an effective potential whose centrifugal barrier depends on the angular-momentum quantum number. The free particle and the spherical box fix the two limiting cases through the spherical Bessel functions.\n",{"path":15840,"title":15841,"module":15837,"summary":15842},"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-hydrogen-atom","The Hydrogen Atom","The Coulomb potential turns the radial equation into one whose bound states exist only for a discrete set of energies. A power-series solution truncated to keep the wavefunction normalizable forces the principal quantum number, and the energy comes out proportional to minus one over its square, recovering the Rydberg spectrum. The bound states are the associated Laguerre functions times spherical harmonics, and their energy depends on the principal number alone, giving an n-squared degeneracy larger than rotational symmetry can explain.\n",{"path":15844,"title":15845,"module":15837,"summary":15846},"\u002Fquantum-mechanics\u002Fcentral-potentials\u002Fthe-isotropic-oscillator-and-hidden-symmetry","The Isotropic Oscillator and Hidden Symmetry","The three-dimensional isotropic harmonic oscillator solves in both Cartesian and spherical bases, and the two solutions must agree on the degeneracy of every level. That agreement, and the accidental degeneracy of hydrogen, both come from a symmetry larger than rotation: the oscillator carries an SU(3) invariance built from a conserved quadrupole tensor, and the Coulomb problem carries an SO(4) invariance built from the conserved Runge–Lenz vector. These hidden symmetries pin the degeneracies that rotational invariance alone leaves unexplained.\n",{"path":15848,"title":15849,"module":15850,"summary":15851},"\u002Fquantum-mechanics\u002Fspin\u002Fspin-half-pauli-matrices-and-stern-gerlach","Spin-½, the Pauli Matrices, and Stern–Gerlach","Spin","A silver atom passing through an inhomogeneous magnetic field splits into two beams, not a smear. That single fact fixes the internal angular momentum of the electron to a two-valued quantity with no spatial wavefunction. We build the two-dimensional spin space, the Pauli matrices and their algebra, the spinor for measurement along an arbitrary axis, and the sequential Stern–Gerlach filters that expose measurement disturbance.\n",{"path":15853,"title":15854,"module":15850,"summary":15855},"\u002Fquantum-mechanics\u002Fspin\u002Fspin-in-a-magnetic-field-precession-and-resonance","Spin in a Magnetic Field: Precession and Resonance","A spin coupled to a magnetic field is the simplest nontrivial quantum dynamics. A static field makes the spin expectation precess on a cone at the Larmor frequency while the energy levels split linearly. Adding a weak oscillating field and passing to the rotating frame produces Rabi oscillations and a resonance lineshape — the physics of NMR and ESR, and the driven qubit.\n",{"path":15857,"title":15858,"module":15850,"summary":15859},"\u002Fquantum-mechanics\u002Fspin\u002Ftwo-level-systems-and-the-bloch-sphere","Two-Level Systems and the Bloch Sphere","Every two-state quantum system is a spin-½ in disguise. Its Hamiltonian is an effective magnetic field, its pure states are points on the Bloch sphere, and its unitary evolution is a rigid rotation of that sphere. The same structure produces avoided level crossings, the ammonia inversion doublet and its maser, and the qubit.\n",{"path":15861,"title":15862,"module":15863,"summary":15864},"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fidentical-particles-and-exchange-symmetry","Identical Particles and Exchange Symmetry","Identical Particles","Two electrons carry no label that distinguishes one from the other, and that bare fact reshapes the state space. The exchange operator that swaps particle labels commutes with any Hamiltonian built from identical particles, so its eigenvalue is conserved, and nature admits only its two extremes: totally symmetric states for bosons and totally antisymmetric states for fermions. The antisymmetry forces a statistical correlation, the exchange \"force,\" that keeps fermions apart and draws bosons together even with no interaction between them.\n",{"path":15866,"title":15867,"module":15863,"summary":15868},"\u002Fquantum-mechanics\u002Fidentical-particles\u002Fthe-pauli-principle-atoms-and-the-periodic-table","The Pauli Principle, Atoms, and the Periodic Table","Antisymmetry packaged as a Slater determinant turns the exclusion principle into an operating rule for building atoms. Helium shows the machinery in full: the electron-electron repulsion splits into a direct Coulomb integral and an exchange integral, and the exchange term alone pushes the spin-triplet (orthohelium) below the spin-singlet (parahelium) with no magnetic interaction in sight. Screening, the aufbau order, and Hund's rules then assemble the whole periodic table from the same antisymmetry.\n",{"path":15870,"title":15871,"module":15872,"summary":15873},"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ftime-independent-perturbation-theory","Time-Independent Perturbation Theory","Approximation Methods for Bound States","Almost no realistic Hamiltonian can be solved exactly. Perturbation theory treats a hard Hamiltonian as a solvable one plus a small correction and expands the eigenvalues and eigenstates in powers of that correction. We derive the first- and second-order energy shifts and the first-order state correction for a nondegenerate level, expose the small-denominator failure that degeneracy forces, and fix it by diagonalizing the perturbation inside the degenerate subspace to find the \"good\" zeroth-order states.\n",{"path":15875,"title":15876,"module":15872,"summary":15877},"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Ffine-structure-and-the-real-hydrogen-atom","Fine Structure and the Real Hydrogen Atom","The Bohr spectrum is only the leading term. Two relativistic corrections of order alpha-squared — the relativistic kinetic-energy correction and spin–orbit coupling, joined by the Darwin term for s states — split the hydrogen levels into fine structure that depends on the total angular momentum j. We derive each shift as a first-order perturbation, combine them into a formula depending only on n and j, and continue down the energy ladder to the Lamb shift and the hyperfine 21 cm line.\n",{"path":15879,"title":15880,"module":15872,"summary":15881},"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-zeeman-and-stark-effects","The Zeeman and Stark Effects","An atom in an external field is a perturbation problem whose good basis depends on which interaction wins. A magnetic field competes with the internal spin–orbit coupling: the weak-field limit gives the anomalous Zeeman splitting set by the Landé g-factor, the strong-field limit gives the Paschen–Back pattern in the uncoupled basis, and the intermediate regime is a matrix diagonalization. An electric field gives a quadratic shift for the nondegenerate ground state and a linear splitting for the degenerate n = 2 level.\n",{"path":15883,"title":15884,"module":15872,"summary":15885},"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-variational-method","The Variational Method","The expectation of the Hamiltonian in any trial state is an upper bound on the true ground-state energy. Minimizing that expectation over a parametrized family of trial functions turns the ground-state problem into ordinary calculus and needs no small parameter. We prove the bound, apply it to the helium atom with a screened effective charge, use a two-center trial to predict binding in the hydrogen molecular ion, and extend the method to excited states through orthogonality.\n",{"path":15887,"title":15888,"module":15872,"summary":15889},"\u002Fquantum-mechanics\u002Fapproximation-methods\u002Fthe-wkb-approximation","The WKB Approximation","When the potential varies slowly on the scale of the de Broglie wavelength, the wavefunction is locally a plane wave with a position-dependent wavelength. This semiclassical picture builds the wavefunction from the classical momentum, breaks down at the turning points where the momentum vanishes, and is repaired there by connection formulas. The result recovers the Bohr–Sommerfeld quantization rule with its half-integer correction and gives the exponential tunneling rate through a smooth barrier, the Gamow factor.\n",{"path":15891,"title":15892,"module":6,"summary":6},"\u002Fquantum-mechanics","Quantum Mechanics",{"path":15894,"title":15895,"module":15896,"summary":15897},"\u002Freal-analysis\u002Ffoundations\u002Fsets-logic-functions","Sets, Logic, and Functions","Foundations and the Real Number System","The working language of analysis: quantifiers and the proof patterns (contrapositive, contradiction, induction), sets and their operations, relations and equivalence classes, and functions with their images, injections, surjections, and bijections. Cardinality is measured by bijection, and Cantor's theorem that no set surjects onto its power set forces uncountable sets to exist.\n",{"path":15899,"title":15900,"module":15896,"summary":15901},"\u002Freal-analysis\u002Ffoundations\u002Fordered-fields-completeness","Ordered Fields and the Completeness Axiom","The real numbers are the unique ordered field with the least-upper-bound property. The field and order axioms, the exact failure of the rationals (no supremum for the set of rationals below √2), and completeness as the defining axiom of ℝ lead to the first consequences: the existence of √2, the Archimedean property, and the density of ℚ in ℝ.\n",{"path":15903,"title":15904,"module":15896,"summary":15905},"\u002Freal-analysis\u002Ffoundations\u002Fabsolute-value-bounds","Absolute Value, Bounded Sets, and Inequalities","The absolute value turns the order on ℝ into a notion of distance, with the triangle inequality as the estimate underlying most later proofs. Covered: its algebra, the triangle and reverse-triangle inequalities, and the extension of the sup\u002Finf vocabulary from sets to bounded functions.\n",{"path":15907,"title":15908,"module":15896,"summary":15909},"\u002Freal-analysis\u002Ffoundations\u002Fintervals-uncountability","Intervals, Uncountability, and Decimals","Intervals are classified, and ℝ is proved uncountable two ways: a nested-interval construction and the decimal diagonal argument. Decimal expansions are built as suprema of truncations, which pins the source of their non-uniqueness (the 0.4999… equals 0.5000… identity) and the identification of the rationals with the eventually-repeating expansions. The middle-thirds Cantor set is an uncountable set of measure zero.\n",{"path":15911,"title":15912,"module":15913,"summary":15914},"\u002Freal-analysis\u002Fsequences-series\u002Fsequences-limits","Sequences and Their Limits","Sequences and Series","A sequence is a function on the natural numbers; it converges to a limit when its terms eventually stay within any prescribed tolerance of that number. The epsilon-M definition fixes the order of the quantifiers, and from it the limit is unique, every convergent sequence is bounded, and only the tail matters. Divergence to plus or minus infinity records terms that outgrow every bound.\n",{"path":15916,"title":15917,"module":15913,"summary":15918},"\u002Freal-analysis\u002Fsequences-series\u002Flimit-laws-monotone","Limit Laws and Monotone Convergence","Limits commute with sums, products, quotients, roots, and absolute values and preserve non-strict inequalities, so a limit can be assembled from the limits of its parts without returning to epsilon and M. The squeeze lemma transfers a limit through two envelopes; the monotone convergence theorem produces a limit from boundedness alone; and the ratio test settles the geometric and factorial standard limits.\n",{"path":15920,"title":15921,"module":15913,"summary":15922},"\u002Freal-analysis\u002Fsequences-series\u002Flimsup-bolzano-weierstrass","Subsequences, Limit Superior, and Bolzano–Weierstrass","A bounded sequence need not converge, but it always has convergent subsequences, and its terms cluster between two extreme values. The limit superior and inferior are the limits of the tail suprema and infima; they always exist for a bounded sequence, coincide exactly when it converges, and are its largest and smallest subsequential limits. Bolzano–Weierstrass extracts a convergent subsequence from boundedness alone.\n",{"path":15924,"title":15925,"module":15913,"summary":15926},"\u002Freal-analysis\u002Fsequences-series\u002Fcauchy-completeness","Cauchy Sequences and the Completeness of the Reals","The Cauchy criterion tests convergence without knowing the limit: a sequence converges exactly when its terms eventually all lie within any tolerance of one another. Cauchy sequences are bounded, in the reals Cauchy and convergent are equivalent, and this completeness property is interchangeable with the least-upper-bound axiom — the single feature that separates the real line from the rationals.\n",{"path":15928,"title":15929,"module":15913,"summary":15930},"\u002Freal-analysis\u002Fsequences-series\u002Fseries-convergence","Series and Convergence Tests","A series converges when its sequence of partial sums does, so every fact about sequences transfers. Geometric and telescoping series sum in closed form; the n-th term test rejects series whose terms miss zero, though the harmonic series shows the converse fails; and the comparison test against the geometric and p-series benchmarks settles most nonnegative-term series.\n",{"path":15932,"title":15933,"module":15913,"summary":15934},"\u002Freal-analysis\u002Fsequences-series\u002Fabsolute-conditional-rearrangement","Absolute Convergence, the Ratio and Root Tests, and Rearrangements","Absolute convergence is the strong form of convergence that permits free manipulation; conditional convergence is fragile. Absolute convergence implies convergence, and the ratio and root tests detect it by comparison with the geometric series. The alternating series test supplies conditionally convergent series, Riemann's theorem rearranges any of them to any sum, and Mertens' theorem multiplies series when at least one converges absolutely.\n",{"path":15936,"title":15937,"module":15938,"summary":15939},"\u002Freal-analysis\u002Fmetric-spaces\u002Fmetric-spaces-norms","Metric Spaces, Norms, and Examples","Metric Spaces and Topology","A metric is a function $d(x,y)$ obeying four axioms: nonnegativity, identity of indiscernibles, symmetry, and the triangle inequality. The Euclidean, taxicab, sup, discrete, and great-circle metrics all qualify, as does the sup metric on $C[a,b]$. Every norm induces a metric, and strongly equivalent metrics share the same open sets.\n",{"path":15941,"title":15942,"module":15938,"summary":15943},"\u002Freal-analysis\u002Fmetric-spaces\u002Fopen-closed-sets","Open and Closed Sets, Interior, Closure","Open sets are those in which every point has room to move; closed sets are their complements. From the single ball construction come the topology axioms (arbitrary unions, finite intersections), the interior, closure, and boundary of a set, and the fact that openness is always relative to the ambient space.\n",{"path":15945,"title":15946,"module":15938,"summary":15947},"\u002Freal-analysis\u002Fmetric-spaces\u002Fconvergence-completeness","Convergence, Cauchy Sequences, and Completeness","The $\\varepsilon$-$N$ definition of a limit transfers verbatim to any metric space once $|x-y|$ is replaced by $d(x,y)$. Convergent sequences characterize closed sets and closures; Cauchy sequences and completeness capture spaces with no missing limits, with $\\mathbb{R}^n$ and $C[a,b]$ complete and $\\mathbb{Q}$ and $(0,1]$ not.\n",{"path":15949,"title":15950,"module":15938,"summary":15951},"\u002Freal-analysis\u002Fmetric-spaces\u002Fcompactness","Compactness","A set is compact if every open cover has a finite subcover. In a metric space this is equivalent to sequential compactness and to being complete and totally bounded. Compact sets are closed and bounded; the Heine–Borel theorem gives the converse in $\\mathbb{R}^n$ but nowhere else in general.\n",{"path":15953,"title":15954,"module":15938,"summary":15955},"\u002Freal-analysis\u002Fmetric-spaces\u002Fconnectedness","Connectedness","A space is connected when it cannot be split into two nonempty open pieces. The connected subsets of $\\mathbb{R}$ are precisely the intervals, path- connectedness gives a constructive sufficient condition, and connectedness is a topological invariant preserved by continuous maps, the fact behind the intermediate value theorem.\n",{"path":15957,"title":15958,"module":14357,"summary":15959},"\u002Freal-analysis\u002Fcontinuity\u002Flimits-of-functions","Limits of Functions","The limit of a function at a point is an epsilon–delta condition pinning one value L as the target of f(x) as x approaches c, mirroring the sequence definition with distance replacing index. It is stated only at cluster points of the domain, is unique when it exists, and reduces to sequential limits through the Heine criterion. The algebra of limits and one-sided limits follow from that reduction.\n",{"path":15961,"title":15962,"module":14357,"summary":15963},"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuous-functions","Continuous Functions","A function is continuous at c when its limit there equals its own value, lim f(x) = f(c). The epsilon–delta and sequential forms agree; sums, products, quotients, and compositions of continuous functions are continuous; and the failures split into jump, Dirichlet, popcorn, and removable types. The topological reading is that preimages of open sets are open.\n",{"path":15965,"title":15966,"module":14357,"summary":15967},"\u002Freal-analysis\u002Fcontinuity\u002Fevt-ivt","Extreme and Intermediate Value Theorems","On a closed bounded interval a continuous function attains an absolute maximum and minimum (the extreme value theorem, compactness preserved by continuity) and takes every value between its endpoint values (the intermediate value theorem, connectedness preserved). Both proofs run through Bolzano–Weierstrass and bisection, and yield root-finding, existence of k-th roots, and fixed-point theorems.\n",{"path":15969,"title":15970,"module":14357,"summary":15971},"\u002Freal-analysis\u002Fcontinuity\u002Funiform-continuity","Uniform Continuity","Uniform continuity strengthens continuity by demanding one delta that works at every point of the domain, not a delta re-chosen at each point. It separates x^2 on a compact interval from x^2 on the whole line and from 1\u002Fx near zero; continuity on a closed bounded interval is automatically uniform; uniformly continuous functions preserve Cauchy sequences and extend to endpoints; and Lipschitz continuity is the strongest of the three, through its secant-slope bound.\n",{"path":15973,"title":15974,"module":14357,"summary":15975},"\u002Freal-analysis\u002Fcontinuity\u002Fcontinuity-metric-spaces","Continuity on Metric Spaces","The epsilon–delta definition used only distances, so continuity transfers to maps between metric spaces by replacing absolute values with the two metrics. In this generality continuity still admits a sequential form, preserves compactness and connectedness, is uniform on a compact domain, and reads topologically as preimages of open sets being open, the formulation that defines homeomorphisms.\n",{"path":15977,"title":15978,"module":14357,"summary":15979},"\u002Freal-analysis\u002Fcontinuity\u002Flimits-infinity-monotone","Limits at Infinity and Monotone Functions","Treating infinity as a cluster point extends the epsilon–delta limit to x approaching plus or minus infinity, giving horizontal asymptotes and infinite limits. For monotone functions the one-sided limits always exist as suprema and infima, the discontinuities are jumps and at most countably many, the continuity is equivalent to the image being an interval, and a strictly monotone function always has a continuous inverse.\n",{"path":15981,"title":15982,"module":15983,"summary":15984},"\u002Freal-analysis\u002Fdifferentiation\u002Fthe-derivative","The Derivative","Differentiation","The derivative is the limit of the difference quotient, the slope the secant lines approach as the second point slides into the first. Differentiability forces continuity; linearity and the product, quotient, and chain rules follow from the definition; and a continuous function can fail to be differentiable, as the absolute value does at the origin.\n",{"path":15986,"title":15987,"module":15983,"summary":15988},"\u002Freal-analysis\u002Fdifferentiation\u002Fmean-value-theorem","The Mean Value Theorem","A relative extremum in the interior forces the derivative to vanish; Rolle's theorem and the mean value theorem turn that local fact into global control. The sign of the derivative fixes monotonicity, a bounded derivative yields a Lipschitz bound, and Darboux's theorem shows derivatives have the intermediate value property even where they are discontinuous.\n",{"path":15990,"title":15991,"module":15983,"summary":15992},"\u002Freal-analysis\u002Fdifferentiation\u002Ftaylors-theorem","Taylor's Theorem","Taylor's theorem generalizes the mean value theorem: an n-times differentiable function is matched near a point by a degree-n polynomial, with a Lagrange remainder that names the error exactly through one higher derivative. Iterating the mean value theorem proves it; the second-derivative test is the order-one case; and a smooth non-analytic bump separates a Taylor series from the function it fails to represent.\n",{"path":15994,"title":15995,"module":15983,"summary":15996},"\u002Freal-analysis\u002Fdifferentiation\u002Finverse-function-1d","The Inverse Function Theorem in One Variable","A nonzero derivative certifies a local inverse and fixes its slope. A strictly monotone differentiable function has a differentiable inverse whose derivative is the reciprocal of the original; the inverse function theorem removes the monotonicity hypothesis, and the reciprocal formula constructs nth roots and the logarithm's derivative, failing exactly where the derivative vanishes.\n",{"path":15998,"title":15999,"module":16000,"summary":16001},"\u002Freal-analysis\u002Friemann-integration\u002Fdarboux-integral","Partitions, Darboux Sums, and Integrability","The Riemann Integral","The Riemann integral is defined by trapping the area under a bounded function between under- and over-estimates. Partitions cut the domain into strips; lower and upper Darboux sums bracket the area; refining a partition tightens the bracket. A function is integrable exactly when the bracket can be made arbitrarily thin, and the tagged Riemann-sum limit gives the same number.\n",{"path":16003,"title":16004,"module":16000,"summary":16005},"\u002Freal-analysis\u002Friemann-integration\u002Fintegrability-classes","Which Functions Are Integrable","The Cauchy criterion certifies whole classes of functions as integrable. Continuous functions are integrable because uniform continuity makes every oscillation cap small; monotone functions are integrable because their caps telescope to a single total jump; bounded functions with finitely many discontinuities are integrable by isolating the bad points. The Dirichlet function fails, and the Lebesgue criterion names the exact boundary.\n",{"path":16007,"title":16008,"module":16000,"summary":16009},"\u002Freal-analysis\u002Friemann-integration\u002Fproperties-of-the-integral","Properties of the Integral","The integral is a linear, order-preserving, additive operator on the integrable functions. It splits across subintervals, respects inequalities, bounds the size of a function by the integral of its absolute value, and preserves products. The mean value theorem for integrals identifies the integral with an attained average height on a fixed rectangle.\n",{"path":16011,"title":14412,"module":16000,"summary":16012},"\u002Freal-analysis\u002Friemann-integration\u002Ffundamental-theorem","The fundamental theorem ties the integral to the derivative in two forms. The evaluation form computes a definite integral from any antiderivative; the differentiation form shows the area function has derivative equal to the integrand at points of continuity. Together they make differentiation and integration inverse operations, and yield integration by parts and change of variables.\n",{"path":16014,"title":16015,"module":16000,"summary":16016},"\u002Freal-analysis\u002Friemann-integration\u002Flog-exp-improper","The Logarithm, Exponential, and Improper Integrals","The integral defines transcendental functions. The logarithm is the area under 1\u002Ft, the exponential is its inverse, and their calculus properties follow from the fundamental theorem. Improper integrals extend integration to unbounded intervals and unbounded integrands as limits of proper integrals, with a p-test, a comparison test, absolute versus conditional convergence, and the integral test linking integrals to series.\n",{"path":16018,"title":16019,"module":16020,"summary":16021},"\u002Freal-analysis\u002Ffunction-sequences\u002Fpointwise-uniform-convergence","Pointwise and Uniform Convergence","Sequences and Series of Functions","A sequence of functions has two natural notions of limit. Pointwise convergence fixes each input and takes the limit of numbers; uniform convergence demands one rate that works for every input at once. The uniform norm turns the second into a statement about a single sequence of numbers, and the uniform Cauchy criterion and the Weierstrass M-test let us certify it.\n",{"path":16023,"title":16024,"module":16020,"summary":16025},"\u002Freal-analysis\u002Ffunction-sequences\u002Finterchange-of-limits","Interchange of Limits: Continuity, Integration, Differentiation","Passing to a limit inside a continuity statement, an integral, or a derivative is an interchange of two limits, and the two limits do not always commute. Uniform convergence licenses the first two swaps: the uniform limit of continuous functions is continuous, and the limit of the integrals is the integral of the limit. Differentiation needs uniform convergence of the derivatives, and counterexamples show why each hypothesis is required.\n",{"path":16027,"title":16028,"module":16020,"summary":16029},"\u002Freal-analysis\u002Ffunction-sequences\u002Fpower-series-weierstrass","Power Series and the Weierstrass Approximation Theorem","A power series converges uniformly on every closed subinterval inside its radius of convergence, together with all of its derivatives. That makes it continuous, differentiable, and integrable term by term, so a power series defines an infinitely differentiable function. The Weierstrass approximation theorem then shows that polynomials come uniformly close to any continuous function on a closed bounded interval.\n",{"path":16031,"title":16032,"module":16020,"summary":16033},"\u002Freal-analysis\u002Ffunction-sequences\u002Fpicard-ode","Picard's Existence and Uniqueness Theorem","The Banach fixed-point theorem says a contraction of a complete metric space has exactly one fixed point, found by iterating from any start. Applied to the space of continuous functions with the uniform norm, it proves Picard's theorem: a first-order differential equation with a Lipschitz right-hand side has a unique local solution. Picard iteration constructs that solution explicitly, and worked examples show the Lipschitz condition is not optional.\n",{"path":16035,"title":16036,"module":16037,"summary":16038},"\u002Freal-analysis\u002Fseveral-variables\u002Fdifferentiability-rn","The Derivative of a Map ℝⁿ → ℝᵐ","Functions of Several Variables (Introduction)","The derivative of a map between Euclidean spaces is the linear transformation of vanishing relative error, unique when it exists and represented in coordinates by the Jacobian matrix of partial derivatives. Differentiability forces continuity through a local Lipschitz bound. Existence of the partial derivatives alone does not suffice; continuity of the partials does.\n",{"path":16040,"title":16041,"module":16037,"summary":16042},"\u002Freal-analysis\u002Fseveral-variables\u002Fgradient-chain-rule","Directional Derivatives, the Gradient, and the Chain Rule","The directional derivative measures the rate of change of a scalar field along a chosen heading and equals the derivative applied to that direction. The gradient collects these into a vector that points along steepest ascent and sits orthogonal to level sets. The chain rule composes derivatives by multiplying Jacobians, and a mean value theorem holds for scalar fields but fails for vector-valued maps.\n",{"path":16044,"title":16045,"module":16037,"summary":16046},"\u002Freal-analysis\u002Fseveral-variables\u002Fhigher-derivatives-taylor-extrema","Higher Derivatives, Taylor's Theorem, and Extrema","Iterating the derivative gives a symmetric second derivative, the Hessian, whose mixed partials agree when they are continuous. Taylor's theorem expands a smooth map to any order with a Lagrange-type remainder, and at a critical point the definiteness of the Hessian decides between a local minimum, a local maximum, and a saddle.\n",{"path":16048,"title":16049,"module":16037,"summary":16050},"\u002Freal-analysis\u002Fseveral-variables\u002Finverse-implicit-theorems","The Inverse and Implicit Function Theorems","A nonlinear map with a nonsingular Jacobian is locally invertible, with the inverse's derivative given by the inverse matrix. The contraction mapping principle supplies the local inverse; the implicit function theorem then solves a system for some variables in terms of the rest whenever the relevant Jacobian block is invertible. Worked coordinate changes show both theorems in use.\n",{"path":16052,"title":16053,"module":16037,"summary":16054},"\u002Freal-analysis\u002Fseveral-variables\u002Fmultiple-integrals","Multiple Integrals","The Riemann integral of a bounded function over a closed rectangle in Euclidean space is built from Darboux upper and lower sums on a grid of subrectangles, with the same squeeze criterion that governs the one-variable integral. Continuous integrands are integrable, and a set of content zero can be ignored. Fubini's theorem evaluates a multiple integral as an iterated one in either order, and the indicator trick extends the theory to regions bounded by curves.\n",{"path":16056,"title":16057,"module":6,"summary":6},"\u002Freal-analysis","Real Analysis",{"path":16059,"title":16060,"module":14017,"summary":16061},"\u002Fabstract-algebra\u002Ffoundations\u002Fsets-functions-relations","Sets, Functions, and Equivalence Relations","Algebra is built on three prior notions: the set, the map between sets, and the equivalence relation that reorganizes a set into disjoint classes. Sets, maps (injective, surjective, bijective), fibers and preimages, and the correspondence between equivalence relations and partitions — the one structural fact reused in every later quotient construction.\n",{"path":16063,"title":16064,"module":14017,"summary":16065},"\u002Fabstract-algebra\u002Ffoundations\u002Fintegers-and-modular-arithmetic","The Integers and Modular Arithmetic","The integers carry the template every ring later imitates: well-ordering drives induction, induction drives the division algorithm, and division drives the Euclidean algorithm, gcd, Bézout's identity, and unique factorization into primes. Quotienting by congruence mod n builds the first finite arithmetic, Z\u002FnZ, whose invertible elements form the group of units.\n",{"path":16067,"title":16068,"module":16069,"summary":16070},"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fgroup-axioms-and-first-examples","Group Axioms and First Examples","Groups and Symmetry","A group is a set with one associative operation that has an identity and inverses. We state the axioms, prove that the identity, inverses, and cancellation behave as expected, define the order of a group and of an element, and catalogue the running examples: the integers, the additive group of residues mod n, and the multiplicative group of units mod n.\n",{"path":16072,"title":16073,"module":16069,"summary":16074},"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fdihedral-and-symmetric-groups","Dihedral and Symmetric Groups","The dihedral group D_{2n} is the symmetries of a regular n-gon, generated by a rotation r and a reflection s subject to three relations. The symmetric group S_n is all permutations of n objects, written in cycle notation. Orders, generators and relations, cycle decomposition, the order of a permutation from its cycle type, and the parity that splits S_n in half.\n",{"path":16076,"title":16077,"module":16069,"summary":16078},"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fmatrix-and-quaternion-groups","Matrix and Quaternion Groups","Invertible matrices over a field form the general linear group GL_n(F), with the determinant-one matrices as the subgroup SL_n(F). Over a finite field the order of GL_n(F) has a clean product formula. The quaternion group Q_8 is a second small nonabelian group, distinct from the dihedral group of the same order; its multiplication and subgroup structure sharpen the contrast between the two.\n",{"path":16080,"title":16081,"module":16069,"summary":16082},"\u002Fabstract-algebra\u002Fgroups-and-symmetry\u002Fhomomorphisms-and-group-actions","Homomorphisms, Isomorphisms, and Actions","A homomorphism is a map between groups that respects the operation; an isomorphism is a bijective one, making two groups the same up to relabeling. The kernel and image measure how far a homomorphism is from injective and surjective. A group action realizes a group as permutations of a set, and actions correspond exactly to homomorphisms into a symmetric group, with orbits and stabilizers as the first tools for counting.\n",{"path":16084,"title":16085,"module":16086,"summary":16087},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fsubgroups-and-substructures","Subgroups and Their Substructures","Subgroups and Quotients","A subgroup is a subset that is a group under the inherited operation. One test decides it: nonempty and closed under the map $(x,y) \\mapsto xy^{-1}$. From an arbitrary subset $A$ we build the centralizer, normalizer, and center, and from an action the stabilizer and kernel, all of them subgroups nested in a fixed chain inside $G$.\n",{"path":16089,"title":16090,"module":16086,"summary":16091},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcyclic-groups","Cyclic Groups","A cyclic group is generated by one element. Two facts organize the whole theory: the order of an element equals the order of the subgroup it generates, and cyclic groups of equal order are isomorphic, so $\\mathbb{Z}$ and $\\mathbb{Z}\u002Fn\\mathbb{Z}$ are the only ones. From there the generators ($\\varphi(n)$ of them), the subgroups (one per divisor of $n$), and a fast exponentiation algorithm all follow.\n",{"path":16093,"title":16094,"module":16086,"summary":16095},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fgeneration-and-subgroup-lattices","Generation and the Lattice of Subgroups","The subgroup generated by a subset $A$ is the smallest subgroup containing it, described top-down as an intersection and bottom-up as the set of words in $A$ and its inverses. Collecting all subgroups and ordering them by containment produces the subgroup lattice, whose Hasse diagram shows the joins, meets, and containment relations among all subgroups.\n",{"path":16097,"title":16098,"module":16086,"summary":16099},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcosets-lagrange-and-normal-subgroups","Cosets, Lagrange, and Normal Subgroups","The left cosets of a subgroup partition a group into equal-sized blocks, so the order of a subgroup divides the order of the group: Lagrange's theorem. When the blocks can be multiplied consistently — exactly when the subgroup is normal — they form the quotient group $G\u002FN$. Fermat's and Euler's theorems fall out as index computations.\n",{"path":16101,"title":16102,"module":16086,"summary":16103},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fisomorphism-theorems","The Isomorphism Theorems","Four theorems relate homomorphisms, quotients, and subgroup lattices. The first identifies the image of a homomorphism with the quotient by its kernel; the second and third compute quotients built from two subgroups and quotients of quotients; the fourth matches the subgroups of $G\u002FN$ with the subgroups of $G$ lying above $N$. Together they make quotient groups computable.\n",{"path":16105,"title":16106,"module":16086,"summary":16107},"\u002Fabstract-algebra\u002Fsubgroups-and-quotients\u002Fcomposition-series-and-the-alternating-group","Composition Series and the Alternating Group","A composition series breaks a finite group into simple quotient factors, and Jordan-Hölder says those factors are unique up to order. This turns classification into two problems: list the simple groups, and describe how to reassemble them. The sign homomorphism splits $S_n$ into even and odd permutations, defining the alternating group $A_n$, simple for $n \\ge 5$.\n",{"path":16109,"title":16110,"module":16111,"summary":16112},"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Factions-and-cayleys-theorem","Actions, Orbits, and Cayley's Theorem","Group Actions and Sylow Theory","A group action turns abstract elements into permutations of a set. The action splits the set into orbits, and the orbit-stabilizer theorem ties each orbit's size to the index of a stabilizer. Applied to a group acting on itself by left multiplication, this gives Cayley's theorem: every group is a group of permutations.\n",{"path":16114,"title":16115,"module":16111,"summary":16116},"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fconjugation-and-the-class-equation","Conjugation and the Class Equation","A group acts on itself by conjugation, and the orbits are the conjugacy classes. Orbit-stabilizer turns the resulting partition into the class equation, which forces every group of prime-power order to have a nontrivial center. Conjugacy in the symmetric group is cycle type, and Burnside's lemma counts orbits by averaging fixed points.\n",{"path":16118,"title":16119,"module":16111,"summary":16120},"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fsylow-theorems","The Sylow Theorems","Lagrange's theorem forbids subgroups whose order fails to divide the group order; Sylow's theorems supply a partial converse for prime powers. A Sylow p-subgroup always exists, all of them are conjugate, and their count satisfies two congruence-and-divisibility constraints tight enough to prove many groups non-simple from their order alone.\n",{"path":16122,"title":16123,"module":16111,"summary":16124},"\u002Fabstract-algebra\u002Fgroup-actions-and-sylow\u002Fautomorphisms-and-simple-groups","Automorphisms and Simplicity of Aₙ","Conjugation makes a group act on itself and on its normal subgroups by automorphisms, giving the inner automorphism group G\u002FZ(G) and the embedding of N(H)\u002FC(H) into Aut(H). Characteristic subgroups are those every automorphism fixes, and the automorphism group of a cyclic group is its unit group. The lesson closes by proving the alternating group Aₙ is simple for n ≥ 5.\n",{"path":16126,"title":16127,"module":16128,"summary":16129},"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fdirect-products-and-finite-abelian-groups","Direct Products and Finite Abelian Groups","Products and Group Structure","The direct product assembles a larger group from componentwise copies of smaller ones, and a recognition theorem reverses the process when two normal subgroups meet trivially and span the group. The Fundamental Theorem of Finitely Generated Abelian Groups then classifies every such group by two equivalent invariants, invariant factors and elementary divisors.\n",{"path":16131,"title":16132,"module":16128,"summary":16133},"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fsemidirect-products","Semidirect Products","The semidirect product relaxes the direct product by requiring only one factor to be normal, with the other acting on it through a homomorphism into its automorphism group. This single twisting map lets abelian pieces assemble into non-abelian groups, realizes the dihedral groups as $\\mathbb{Z}_n \\rtimes \\mathbb{Z}_2$, and, with a recognition theorem, classifies groups of several small orders.\n",{"path":16135,"title":16136,"module":16128,"summary":16137},"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fnilpotent-and-solvable-groups","p-Groups, Nilpotent, and Solvable Groups","Finite p-groups have nontrivial center, and iterating the center upward builds the nilpotent groups, which decompose as the direct product of their Sylow subgroups. Iterating the commutator downward builds the solvable groups, whose factors are abelian. The chain cyclic, abelian, nilpotent, solvable orders these classes, and A_5 breaks the last link.\n",{"path":16139,"title":16140,"module":16128,"summary":16141},"\u002Fabstract-algebra\u002Fproducts-and-group-structure\u002Fclassifying-small-groups","Classifying Groups of Small Order","With Sylow's theorem to force normal subgroups, direct and semidirect products to assemble them, and presentations to name the result, every group up to order fifteen can be listed explicitly. Free groups make presentations precise: generators with no relations, from which any group is a quotient by the normal closure of its relations.\n",{"path":16143,"title":16144,"module":16145,"summary":16146},"\u002Fabstract-algebra\u002Fring-theory\u002Frings-definitions-and-examples","Rings: Definitions and Examples","Ring Theory","A ring carries two operations: an abelian group under addition and an associative multiplication linked by the distributive laws. The named special cases — commutative rings, integral domains, division rings, and fields — differ only in how their multiplication behaves. Standard examples include quadratic integer rings, polynomial rings, matrix rings, and group rings.\n",{"path":16148,"title":16149,"module":16145,"summary":16150},"\u002Fabstract-algebra\u002Fring-theory\u002Fideals-quotients-and-homomorphisms","Ideals, Quotient Rings, and Homomorphisms","Ring homomorphisms have kernels that absorb multiplication; such subsets are ideals, and every ideal is the kernel of the projection onto a quotient ring. The quotient construction yields the ring isomorphism theorems and classifies ideals by their quotients: R\u002FI is a field exactly when I is maximal, an integral domain exactly when I is prime.\n",{"path":16152,"title":16153,"module":16145,"summary":16154},"\u002Fabstract-algebra\u002Fring-theory\u002Ffractions-and-the-chinese-remainder-theorem","Fields of Fractions and the CRT","Rings of fractions invert a multiplicatively closed set, enlarging an integral domain into its field of fractions the way Z becomes Q. The Chinese Remainder Theorem splits a quotient by comaximal ideals into a direct product, generalizing Z\u002FmnZ ≅ Z\u002FmZ × Z\u002FnZ and explaining why the Euler function is multiplicative.\n",{"path":16156,"title":16157,"module":16158,"summary":16159},"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Feuclidean-domains-pids-ufds","Euclidean Domains, PIDs, and UFDs","Factorization and Polynomial Rings","Three classes of integral domain, ordered by how much of elementary arithmetic survives: Euclidean domains carry a division algorithm, principal ideal domains make every ideal a single multiple, and unique factorization domains factor every element into irreducibles in one way. We prove the chain ED implies PID implies UFD, the classes are separated by explicit counterexamples, and irreducible and prime coincide exactly in a UFD.\n",{"path":16161,"title":16162,"module":16158,"summary":16163},"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fpolynomial-rings-over-fields","Polynomial Rings over Fields","When the coefficients form a field, polynomial long division works exactly as it does over the rationals, and it works with a unique quotient and remainder. That single fact makes F[x] a Euclidean domain, hence a PID and a UFD: every ideal is the multiples of one polynomial, roots correspond to linear factors, and F[x]\u002F(f) is a field precisely when f is irreducible.\n",{"path":16165,"title":16166,"module":16158,"summary":16167},"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Fgauss-lemma-and-unique-factorization","Gauss's Lemma and Unique Factorization","A UFD is not a field, so its polynomial ring is not a PID — yet unique factorization survives the passage from R to R[x]. Gauss's lemma supplies the passage: a polynomial that factors over the fraction field already factors over R, once content is factored out. This gives the theorem that R[x] is a UFD whenever R is, so Z[x] and Q[x,y] factor uniquely even though neither is a PID.\n",{"path":16169,"title":16170,"module":16158,"summary":16171},"\u002Fabstract-algebra\u002Ffactorization-and-polynomials\u002Firreducibility-criteria-and-groebner","Irreducibility Criteria and Gröbner Bases","Deciding whether a given polynomial is irreducible, and computing in multivariate polynomial rings. In one variable: the rational root test, reduction modulo a prime, and Eisenstein's criterion. In several variables, where division fails, a monomial order gives leading terms, a Gröbner basis restores a well-defined remainder, and Buchberger's algorithm computes it.\n",{"path":16173,"title":16174,"module":16175,"summary":16176},"\u002Fabstract-algebra\u002Fmodule-theory\u002Fintroduction-to-modules","Introduction to Modules","Module Theory","A module is an abelian group on which a ring acts, generalizing both vector spaces (when the ring is a field) and abelian groups (when the ring is the integers). Submodules, homomorphisms, quotients, and the isomorphism theorems carry over from groups, and an F[x]-module is the same datum as a vector space with a chosen linear operator — the correspondence behind the canonical forms.\n",{"path":16178,"title":16179,"module":16175,"summary":16180},"\u002Fabstract-algebra\u002Fmodule-theory\u002Ffree-modules-and-direct-sums","Generation, Direct Sums, and Free Modules","A generating set spans a module by R-linear combinations; a direct sum decomposes it into independent pieces; a free module has a basis and the universal property that a homomorphism is determined by arbitrary values on that basis. Rank is well defined over a commutative ring, torsion blocks a basis, and every module is a quotient of a free one — a presentation by generators and relations.\n",{"path":16182,"title":16183,"module":16175,"summary":16184},"\u002Fabstract-algebra\u002Fmodule-theory\u002Ftensor-products-and-exact-sequences","Tensor Products and Exact Sequences","The tensor product builds a module in which elements of two modules can be multiplied, characterized by a universal property turning bilinear maps into linear ones; extension of scalars is its guiding case. Exact sequences track how a module is assembled from a submodule and a quotient, when that assembly splits, and which modules — projective, injective, flat — make the Hom and tensor functors preserve exactness.\n",{"path":16186,"title":16187,"module":16175,"summary":16188},"\u002Fabstract-algebra\u002Fmodule-theory\u002Fvector-spaces-and-linear-maps","Vector Spaces and Linear Maps","A vector space is a module over a field, and the field hypothesis removes every pathology a general module can have: every vector space is free, so it has a basis, a well-defined dimension, and a coordinate isomorphism with F^n. Linear maps become matrices, change of basis becomes similarity, every space pairs with a dual of the same dimension, and the determinant is the unique alternating multilinear normalized form.\n",{"path":16190,"title":16191,"module":16192,"summary":16193},"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fstructure-theorem-over-pids","The Structure Theorem for Modules over a PID","Modules over PIDs and Canonical Forms","Every finitely generated module over a principal ideal domain splits as a free part plus a direct sum of cyclic torsion pieces, in two canonical ways: invariant factors, tied together by a divisibility chain, and elementary divisors, one prime power at a time. Existence follows from the stacked-basis theorem, both lists are unique, and the case $R = \\mathbb{Z}$ is the classification of finitely generated abelian groups.\n",{"path":16195,"title":16196,"module":16192,"summary":16197},"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Frational-canonical-form","Rational Canonical Form","A linear operator turns its vector space into a module over the polynomial ring $F[x]$, with $x$ acting as the operator. The structure theorem's invariant factors then become polynomials, each cyclic summand becomes a companion matrix, and the block-diagonal assembly is the rational canonical form. It is unique, it is computed inside the base field, and two matrices are similar exactly when their rational canonical forms agree.\n",{"path":16199,"title":16200,"module":16192,"summary":16201},"\u002Fabstract-algebra\u002Fmodules-over-pids\u002Fjordan-canonical-form","Jordan Canonical Form","When the base field contains all the eigenvalues, the elementary divisors of an operator are powers of linear polynomials, and each cyclic summand becomes a Jordan block: an eigenvalue on the diagonal with ones just above it. Stacking the blocks gives the Jordan canonical form, unique up to reordering, as close to diagonal as the operator allows. Diagonalizability reads off the minimal polynomial, and the block sizes are counted by ranks of powers of the operator minus the eigenvalue.\n",{"path":16203,"title":16204,"module":16205,"summary":16206},"\u002Fabstract-algebra\u002Ffield-theory\u002Ffield-extensions-and-algebraic-elements","Field Extensions and Algebraic Elements","Field Theory","A field extension makes a larger field K into a vector space over a smaller field F, and its degree [K:F] is that dimension. Adjoining a root of an irreducible polynomial builds a simple extension F(α) isomorphic to F[x]\u002F(m), whose degree is the degree of the minimal polynomial. The tower law makes these degrees multiply, which turns algebra over fields into bookkeeping with integers.\n",{"path":16208,"title":16209,"module":16205,"summary":16210},"\u002Fabstract-algebra\u002Ffield-theory\u002Fstraightedge-and-compass-constructions","Straightedge-and-Compass Constructions","The lengths a straightedge and compass can build from a unit form a field closed under square roots, and every constructible number lies in a tower of quadratic extensions. So its degree over the rationals is a power of two. That single obstruction settles three problems the Greeks left open: doubling the cube, trisecting a general angle, and squaring the circle are all impossible.\n",{"path":16212,"title":16213,"module":16205,"summary":16214},"\u002Fabstract-algebra\u002Ffield-theory\u002Fsplitting-fields-and-algebraic-closure","Splitting Fields and Algebraic Closure","The splitting field of a polynomial is the smallest extension in which it factors into linear pieces, obtained by adjoining all its roots. Every polynomial has one, its degree is at most n factorial, and any two splitting fields are isomorphic. Pushing this to all polynomials at once gives the algebraic closure, a field in which every polynomial splits and which is unique up to isomorphism.\n",{"path":16216,"title":16217,"module":16205,"summary":16218},"\u002Fabstract-algebra\u002Ffield-theory\u002Fseparable-and-cyclotomic-extensions","Separable Extensions and Cyclotomic Fields","A polynomial is separable when its roots are distinct, detected by whether it shares a factor with its formal derivative. Over perfect fields — characteristic zero and finite fields — every irreducible is separable, and the existence and uniqueness of the finite fields follow. Cyclotomic polynomials package the roots of unity by order, are irreducible over the rationals, and give the cyclotomic field its degree phi(n).\n",{"path":16220,"title":16221,"module":16222,"summary":16223},"\u002Fabstract-algebra\u002Fgalois-theory\u002Fthe-galois-correspondence","The Galois Correspondence","Galois Theory","Galois theory attaches to a field extension its group of symmetries and shows that, for the right extensions, the subgroups of that group are in exact order-reversing correspondence with the intermediate fields. The automorphism group, Artin's theorem, the characterization of Galois extensions, and the Fundamental Theorem together turn questions about fields into questions about finite groups.\n",{"path":16225,"title":16226,"module":16222,"summary":16227},"\u002Fabstract-algebra\u002Fgalois-theory\u002Ffinite-fields","Finite Fields","Every finite field has prime-power order, is the splitting field of $x^{p^n} - x$, and is unique up to isomorphism. Its extension over the prime field is Galois with cyclic group generated by the Frobenius map $x \\mapsto x^p$, so the Galois correspondence reduces the subfield lattice to the divisor lattice of $n$. Möbius inversion counts the irreducible polynomials of each degree, and cyclic error-correcting codes are one application.\n",{"path":16229,"title":16230,"module":16222,"summary":16231},"\u002Fabstract-algebra\u002Fgalois-theory\u002Fcyclotomic-and-abelian-extensions","Cyclotomic and Abelian Extensions","The Galois group of the $n$th cyclotomic field over $\\mathbb{Q}$ is the unit group $(\\mathbb{Z}\u002Fn\\mathbb{Z})^\\times$, which makes cyclotomic fields the worked catalogue of abelian extensions of $\\mathbb{Q}$. The isomorphism identifies subfields with subgroups, realizes every finite abelian group as a Galois group over $\\mathbb{Q}$, and leads to Kronecker–Weber. Composites of Galois extensions and the primitive element theorem supply the machinery.\n",{"path":16233,"title":16234,"module":16222,"summary":16235},"\u002Fabstract-algebra\u002Fgalois-theory\u002Fgalois-groups-of-polynomials","Galois Groups of Polynomials","Ordering the roots of a separable polynomial embeds its Galois group in the symmetric group $S_n$, and the group is transitive exactly when the polynomial is irreducible. The discriminant decides membership in $A_n$; for cubics and quartics the resolvent cubic pins the group down; and reduction modulo a prime produces elements of prescribed cycle type, the standard tool for computing Galois groups over $\\mathbb{Q}$.\n",{"path":16237,"title":16238,"module":16222,"summary":16239},"\u002Fabstract-algebra\u002Fgalois-theory\u002Fsolvability-by-radicals-and-the-quintic","Solvability by Radicals and the Quintic","A polynomial is solvable by radicals exactly when its Galois group is solvable. Cyclic extensions are radical extensions once roots of unity are present, which turns a radical tower into a solvable subnormal series. Since $S_n$ is solvable only for $n \\le 4$, the general quintic has no radical formula, and an explicit quintic with Galois group $S_5$ has roots provably not expressible in radicals.\n",{"path":16241,"title":16242,"module":16243,"summary":16244},"\u002Fabstract-algebra\u002Fcapstone\u002Fcommutative-algebra-and-algebraic-geometry","A Glimpse of Commutative Algebra and Algebraic Geometry","Capstone: Where Algebra Goes Next","Commutative algebra reads geometry off the ring of polynomial functions. The dictionary runs through Noetherian rings and the ascending chain condition, Hilbert's Basis Theorem, affine algebraic sets and the two maps connecting ideals to zero sets, radicals, the Zariski topology, and Hilbert's Nullstellensatz, which over an algebraically closed field makes radical ideals and algebraic sets the same object.\n",{"path":16246,"title":16247,"module":16243,"summary":16248},"\u002Fabstract-algebra\u002Fcapstone\u002Frepresentation-and-character-theory","A Glimpse of Representation and Character Theory","Representation theory studies a group by the ways it can act linearly on a vector space. Representations are equivalent to modules over the group ring; Maschke's theorem gives complete reducibility, the Wedderburn consequences bound the irreducible degrees, and character theory reduces a representation to a trace invariant governed by the orthogonality relations and displayed in the character table of a small group.\n",{"path":16250,"title":16251,"module":6,"summary":6},"\u002Fabstract-algebra","Abstract Algebra",{"path":16253,"title":16254,"module":16255,"summary":16256},"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fatomic-spectra-rutherford","Atomic Spectra and Rutherford's Nucleus","Early Atomic Models and the Old Quantum Theory","Atoms emit light only at sharp, reproducible wavelengths, and by 1890 those wavelengths were captured by the Rydberg-Ritz formula. Neither empirical regularity had a mechanical explanation. Rutherford's alpha-scattering experiment supplied the missing structure: the atom's positive charge and nearly all its mass sit in a tiny central nucleus, with the electrons far outside.\n",{"path":16258,"title":16259,"module":16255,"summary":16260},"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-model-hydrogen","The Bohr Model of Hydrogen","Bohr grafted three quantum postulates onto Rutherford's nuclear atom: certain orbits do not radiate, radiation accompanies a jump between them, and quantization must match classical physics for large orbits. Quantizing the angular momentum fixes the orbit radii and energies, reproduces the Rydberg-Ritz formula, and predicts the Rydberg constant from fundamental constants alone.\n",{"path":16262,"title":16263,"module":16255,"summary":16264},"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fx-ray-spectra-franck-hertz","X-Ray Spectra and the Franck-Hertz Experiment","Two 1913-14 experiments confirmed the Bohr-Rutherford atom independently of optical spectra. Moseley found that the square root of a characteristic X-ray frequency is linear in atomic number, fixing Z as nuclear charge and ordering the periodic table. Franck and Hertz measured discrete atomic energy levels directly by scattering electrons through a mercury vapor.\n",{"path":16266,"title":16267,"module":16255,"summary":16268},"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fbohr-sommerfeld-old-quantum-theory","The Bohr-Sommerfeld Old Quantum Theory","Bohr fixed the hydrogen levels with a single quantum number by quantizing angular momentum. Sommerfeld replaced that ad hoc rule with a general prescription: quantize the action of each separable coordinate. The rule produces elliptical orbits, a second (azimuthal) quantum number, space quantization, and — once the relativistic mass variation is included — a fine-structure splitting that matches experiment to order alpha squared.\n",{"path":16270,"title":16271,"module":16255,"summary":16272},"\u002Fatomic-physics\u002Fearly-models-and-old-quantum-theory\u002Fold-quantum-theory-limits-wkb","Limits of the Old Quantum Theory and the WKB Bridge","The old quantum theory works only where the classical motion is separable into independent periodic coordinates. It fails for helium, forbids the correct zero angular momentum of the hydrogen ground state, and misses the half-integer in the oscillator and in molecular spectra. The WKB quantization condition, derived from the Schrodinger equation, is the modern descendant of the Sommerfeld rule and repairs the half-integer through the Maslov correction.\n",{"path":16274,"title":16275,"module":16276,"summary":16277},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fschrodinger-3d-hydrogen","The Schrödinger Equation in Three Dimensions and Hydrogen","The Quantum Hydrogen Atom","Extending the Schrödinger equation to three dimensions and separating it in spherical coordinates produces three ordinary differential equations, one per coordinate. Their boundary conditions generate the quantum numbers n, ℓ, and mℓ, quantize the angular momentum to √(ℓ(ℓ+1))ℏ with projections mℏ, and fix the bound-state energies of hydrogen at −Z²(13.6 eV)\u002Fn².\n",{"path":16279,"title":16280,"module":16276,"summary":16281},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fhydrogen-wave-functions","Hydrogen Wave Functions and Orbitals","The hydrogen wave functions factor into a radial part Rₙℓ(r) and an angular spherical harmonic Yℓm(θ,φ). Squaring gives the probability cloud; the radial distribution P(r) = r²|ψ|² peaks at the Bohr radius for the ground state and at the Bohr orbits for excited states. The angular part fixes the s, p, and d orbital shapes that govern chemical bonding.\n",{"path":16283,"title":16284,"module":16276,"summary":16285},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fradial-equation-in-full","Solving the Radial Equation in Full","The hydrogen radial equation is solved from the differential equation up. The substitution u = rR turns it into a one-dimensional problem with a centrifugal barrier; matching the asymptotic behaviour at the origin and at infinity peels off the factors r^(ℓ+1) and e^(−r\u002Fna₀); a Frobenius series for the remainder must terminate, and that termination condition yields the quantization n ≥ ℓ+1 with E = −Z²Ry\u002Fn². The surviving polynomials are the associated Laguerre functions, whose degree n−ℓ−1 counts the radial nodes.\n",{"path":16287,"title":16288,"module":16276,"summary":16289},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fsymmetry-degeneracy-runge-lenz","Accidental Degeneracy and the Runge-Lenz Symmetry","Hydrogen energies depend only on n, so states of different ℓ at the same n are degenerate. This is not a coincidence but the mark of a hidden symmetry: the quantum Runge-Lenz vector is conserved for the 1\u002Fr potential alone, and together with angular momentum it generates the group SO(4). The Casimir invariant of that group reproduces E = −Z²Ry\u002Fn² and its representations count the n² states. Any departure from 1\u002Fr breaks the symmetry and lifts the ℓ-degeneracy.\n",{"path":16291,"title":16292,"module":16276,"summary":16293},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fexpectation-values-virial","Expectation Values, the Virial Theorem, and Scaling","The radial matrix elements ⟨r^k⟩ of hydrogenic states are the raw material of every later correction. This lesson derives ⟨1\u002Fr⟩ from the virial theorem, builds the full family ⟨r⟩, ⟨r²⟩, ⟨1\u002Fr²⟩, ⟨1\u002Fr³⟩ from Kramers' recursion and the Feynman-Hellmann theorem, and reads off their scaling with n, ℓ, and Z. The virial balance ⟨T⟩ = −½⟨V⟩ = −E fixes the energy budget of every bound state.\n",{"path":16295,"title":16296,"module":16276,"summary":16297},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Fquantum-defects-alkali-spectra","Quantum Defects and Alkali Spectra","An alkali atom is one valence electron outside a closed-shell core, and to a good approximation it is hydrogen with a modified quantum number. Core penetration makes low-ℓ states more bound than the Coulomb formula predicts, and the shortfall is captured by a single number per ℓ, the quantum defect δℓ. The spectrum then follows the Rydberg formula with n replaced by the effective n − δℓ, and the sodium D-line doublet is the worked case.\n",{"path":16299,"title":16300,"module":16276,"summary":16301},"\u002Fatomic-physics\u002Fquantum-hydrogen-atom\u002Frydberg-atoms","Rydberg Atoms","A Rydberg atom is an atom excited to a very high principal quantum number, and every hydrogenic property becomes exaggerated by a power of n. Size grows as n², binding falls as n⁻², radiative lifetime lengthens as n³, and the static polarizability explodes as n⁷. The levels crowd toward the ionization limit, and the enormous dipole interaction between two Rydberg atoms produces the blockade that underlies neutral-atom quantum computing.\n",{"path":16303,"title":16304,"module":16305,"summary":16306},"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Frelativistic-kinetic-correction","The Relativistic Kinetic-Energy Correction","Fine Structure and the Dirac Atom","The Bohr energies treat the electron as slowly moving, but its speed is of order αc, so the kinetic energy needs a relativistic correction. Expanding √(p²c²+m²c⁴) to order (v\u002Fc)² produces the perturbation −p⁴\u002F8m³c², whose first-order shift on a hydrogenic state is evaluated with the trick p²=2m(E−V). The result depends on n and ℓ, is smaller than the gross structure by α²≈5×10⁻⁵, and is one of the three pieces that combine into the fine-structure formula.\n",{"path":16308,"title":16309,"module":16305,"summary":16310},"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fspin-orbit-thomas-precession","Spin-Orbit Coupling and Thomas Precession","In the electron's rest frame the nucleus orbits it, and the resulting current produces a magnetic field that couples to the electron's spin moment. The interaction is ξ(r) L·S, with ξ built from the Coulomb potential and the radial expectation ⟨1\u002Fr³⟩. A relativistic subtlety, Thomas precession, halves the naive coefficient because the electron's rest frame is accelerating. The result splits each ℓ≥1 level into a j=ℓ±½ doublet and makes (n, ℓ, j, mⱼ) the good quantum numbers.\n",{"path":16312,"title":16313,"module":16305,"summary":16314},"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdarwin-term-fine-structure-formula","The Darwin Term and the Fine-Structure Formula","The third fine-structure correction, the Darwin term, is a contact interaction proportional to ∇²V that acts only on s-states, physically a smearing of the electron over a Compton wavelength. Adding the relativistic, spin-orbit, and Darwin shifts, the ℓ-dependence cancels and the total collapses to a formula in n and j alone. The n=2 shell splits into 2S₁\u002F₂, 2P₁\u002F₂, 2P₃\u002F₂, with the two j=½ levels exactly degenerate, a coincidence the Dirac theory explains.\n",{"path":16316,"title":16317,"module":16305,"summary":16318},"\u002Fatomic-physics\u002Ffine-structure-and-the-dirac-atom\u002Fdirac-equation-hydrogen","The Dirac Equation for Hydrogen","The fine-structure formula was assembled from three perturbations; the Dirac equation produces it in one stroke and exactly. A first-order relativistic wave equation forces a four-component spinor, from which spin s=½, the g-factor of 2, the spin-orbit term, and antiparticles all emerge automatically. Its exact Coulomb spectrum depends only on n and j, and expanding in Zα reproduces the perturbative result, including the 2S₁\u002F₂–2P₁\u002F₂ degeneracy that sets up the Lamb shift.\n",{"path":16320,"title":16321,"module":16322,"summary":16323},"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Flamb-shift-qed","The Lamb Shift and QED Radiative Corrections","QED Corrections and Hyperfine Structure","The Dirac equation makes the 2S₁\u002F₂ and 2P₁\u002F₂ levels of hydrogen exactly degenerate. Lamb and Retherford measured a splitting of about 1058 MHz that the Dirac theory cannot produce. The gap comes from the electron's coupling to the quantized electromagnetic field: self-energy, vacuum polarization, and the anomalous magnetic moment. Welton's vacuum-fluctuation estimate reproduces the size and shows why the effect lands almost entirely on s-states, and the same radiative corrections make hydrogen the most stringent test of QED.\n",{"path":16325,"title":16326,"module":16322,"summary":16327},"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fhyperfine-structure-21cm","Hyperfine Structure and the 21 cm Line","The proton carries a magnetic moment, and it interacts with the magnetic field the electron produces at the nucleus. For s-states that interaction is the Fermi contact term, proportional to the electron density at the origin and to the dot product of the nuclear and electronic spins. Coupling I and J into F = I + J splits each level by a Landé interval rule; in hydrogen's ground state it produces the F = 0\u002FF = 1 doublet whose 1420 MHz, 21 cm transition maps neutral hydrogen across the galaxy.\n",{"path":16329,"title":16330,"module":16322,"summary":16331},"\u002Fatomic-physics\u002Fqed-corrections-and-hyperfine-structure\u002Fnuclear-effects-isotope-shift","Nuclear Size, Moments, and Isotope Shifts","A real nucleus has a finite size, a mass that changes between isotopes, and, when its spin is at least one, an electric quadrupole moment. Each leaves a fingerprint in the atomic spectrum: the volume shift from s-electrons sampling the charge distribution, the mass and field isotope shifts that separate on a King plot, the quadrupole interaction that breaks the Landé interval rule, and the hyperfine anomaly from the magnetization distribution. Atomic spectroscopy reads nuclear properties out of these shifts.\n",{"path":16333,"title":16334,"module":16335,"summary":16336},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fperiodic-table-atomic-spectra","The Periodic Table and Atomic Spectra","Many-Electron Atoms","Identical electrons demand antisymmetric wave functions, which is the Pauli exclusion principle: no two electrons share all four quantum numbers. Filling shells in order of increasing energy — shifted by penetration and shielding — builds the periodic table and its recurring ionization pattern. Selection rules govern optical spectra, and an external field splits lines by the Zeeman effect.\n",{"path":16338,"title":16339,"module":16335,"summary":16340},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fcentral-field-self-consistent","The Central-Field Approximation and the Self-Consistent Field","The N-electron Hamiltonian does not separate because every pair of electrons repels. The central-field approximation replaces that pairwise repulsion with an averaged spherical potential each electron feels, restoring hydrogen-like orbitals labelled by n and ℓ. The Thomas-Fermi statistical model fixes the shape of the screened charge from Fermi-gas thermodynamics; the Hartree self-consistent field determines it exactly by iterating orbitals against the potential they generate until the two agree.\n",{"path":16342,"title":16343,"module":16335,"summary":16344},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fidentical-particles-hartree-fock","Exchange, Slater Determinants, and Hartree-Fock","A product wave function ignores that electrons are identical fermions. Enforcing antisymmetry writes the state as a Slater determinant, which vanishes whenever two electrons share a spin-orbital — the exclusion principle made algebraic. The energy of a determinant carries a new term with no classical analogue, the exchange integral, nonzero only for parallel spins; it lowers the energy of aligned electrons and carves a Fermi hole around each one. Adding the exchange operator to the mean field gives the Hartree-Fock equations, and what they still miss defines the correlation energy.\n",{"path":16346,"title":16347,"module":16335,"summary":16348},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhelium-two-electron-atom","Helium: the Prototype Two-Electron Atom","Helium is the smallest atom the Schrödinger equation cannot solve exactly, and the smallest that shows every many-electron effect. Ignoring the electron repulsion overbinds the ground state by 30 eV; first-order perturbation theory and a one-parameter variational calculation with an effective charge close most of the gap. The excited configurations split into para (singlet) and ortho (triplet) states separated by the exchange integral, with the triplet lower — and the absence of a 1s² triplet is the Pauli principle in its plainest form.\n",{"path":16350,"title":16351,"module":16335,"summary":16352},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fls-jj-coupling-term-symbols","LS and jj Coupling; Term Symbols","A configuration is not a single energy level. The residual electrostatic repulsion and the spin-orbit interaction split it, and which one dominates fixes the coupling scheme. In light atoms the electrostatic term wins: orbital and spin angular momenta couple separately into L and S, then into J, giving Russell- Saunders term symbols. In heavy atoms spin-orbit wins and each electron's j forms first. The Pauli principle prunes the allowed terms of equivalent electrons, the Landé interval rule spaces the fine-structure multiplet, and the scheme crosses over from LS to jj down a column.\n",{"path":16354,"title":16355,"module":16335,"summary":16356},"\u002Fatomic-physics\u002Fmany-electron-atoms\u002Fhund-rules-ground-terms","Hund's Rules and Ground-State Terms","A configuration allows several terms; Hund's three rules pick the ground one. Maximize the spin S first, then the orbital L, then set J to |L−S| for a less-than-half shell and L+S for a more-than-half shell. The first two rules come from exchange lowering the energy of apart-kept electrons; the third comes from the sign of the spin-orbit coupling, which flips as a shell passes half-filling and turns the multiplet from normal to inverted. Worked ground terms for carbon, nitrogen, oxygen, and iron show the rules in action.\n",{"path":16358,"title":16359,"module":16360,"summary":16361},"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fzeeman-effect","The Zeeman Effect","Atoms in External Fields","A magnetic field couples to the atom through its magnetic moment, splitting each level into equally spaced sublevels labelled by the projection of the total angular momentum. When spin is present the spacing is not the classical one: it carries the Landé g-factor, a projection of the spin and orbital moments onto the total angular momentum. We derive the weak-field Hamiltonian from minimal coupling, evaluate the shift with the projection theorem, and read off the polarization of the emitted components.\n",{"path":16363,"title":16364,"module":16360,"summary":16365},"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fpaschen-back-intermediate","The Paschen-Back and Intermediate-Field Regimes","When the magnetic interaction grows past the fine-structure coupling, spin and orbital angular momentum decouple and precess independently about the field. The anomalous Zeeman pattern reverts to a simple triplet, the Paschen-Back effect. Between the two limits neither coupling dominates and the level positions follow from diagonalizing the combined spin-orbit and Zeeman Hamiltonian. We build the two-by-two problem for a single valence electron, solve it in closed form, and show both limits emerge from one expression.\n",{"path":16367,"title":16368,"module":16360,"summary":16369},"\u002Fatomic-physics\u002Fatoms-in-external-fields\u002Fstark-effect-polarizability","The Stark Effect and Field Ionization","An electric field shifts atomic levels by coupling to the electron's position. Parity forbids a first-order shift for a non-degenerate state, so most atoms respond only at second order through their polarizability, a quadratic Stark shift. Hydrogen is the exception: its accidental degeneracy admits a permanent dipole and a linear shift, cleanest in parabolic coordinates. At large fields the Coulomb well develops a saddle, and Rydberg states field-ionize at a threshold that falls as the fourth power of the principal quantum number.\n",{"path":16371,"title":16372,"module":16373,"summary":16374},"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Ftime-dependent-perturbation-golden-rule","Time-Dependent Perturbation Theory and the Golden Rule","Radiative Transitions and Spectral Lines","An atom in a weak oscillating field makes transitions between its stationary states. First-order time-dependent perturbation theory gives the transition amplitude as a Fourier component of the perturbation at the Bohr frequency, and the resulting probability is a sinc-squared resonance that sharpens as the field acts longer. For a two-level system the same coupling produces Rabi oscillations; for a transition into a continuum the long-time limit collapses the sinc-squared into a delta function and yields Fermi's golden rule, a constant transition rate set by the coupling strength and the density of final states.\n",{"path":16376,"title":16377,"module":16373,"summary":16378},"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fdipole-approximation-einstein-coefficients","The Dipole Approximation and Einstein Coefficients","The coupling between an atom and light is the interaction of the electron with the electromagnetic field. Because an optical wavelength dwarfs the atom, the spatial variation of the field across the atom can be dropped, leaving the electric-dipole interaction and its matrix element. That matrix element defines the oscillator strength, which obeys the Thomas-Reiche-Kuhn sum rule. Einstein's three rate coefficients (absorption, stimulated emission, spontaneous emission) follow from detailed balance with thermal radiation, fixing the ratio of spontaneous to stimulated rates and its steep growth with frequency.\n",{"path":16380,"title":16381,"module":16373,"summary":16382},"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Fselection-rules-forbidden-transitions","Selection Rules and Forbidden Transitions","The dipole matrix element vanishes for most pairs of states, and the pattern of which survive is the set of selection rules. Parity forces the orbital angular momentum to change by one; the angular integral of three spherical harmonics restricts the magnetic quantum number to change by zero or one; the photon's spin restricts the total angular momentum. When the dipole element vanishes, higher multipoles (magnetic dipole and electric quadrupole) can still drive the transition at rates smaller by powers of the fine-structure constant, and states with no allowed decay become metastable.\n",{"path":16384,"title":16385,"module":16373,"summary":16386},"\u002Fatomic-physics\u002Fradiative-transitions-and-line-shapes\u002Flifetimes-and-line-shapes","Lifetimes, Line Widths, and Line Shapes","A spectral line is never infinitely sharp. The finite lifetime of the excited state gives every line a natural Lorentzian width set by the total decay rate, the Fourier transform of an exponentially damped emission. Thermal motion adds a Gaussian Doppler width that usually dominates in a gas; collisions add a further Lorentzian pressure width; the observed profile is the Voigt convolution of the Gaussian and Lorentzian parts. Strong driving fields broaden the line further through saturation. Each mechanism has a distinct dependence on temperature, density, and intensity that lets it be identified and, where possible, removed.\n",{"path":16388,"title":16389,"module":16390,"summary":16391},"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Flaser-principles","Population Inversion, Gain, and the Laser","Lasers and Spectroscopy","A laser is an optical amplifier placed inside a resonant cavity. Amplification requires that stimulated emission outrun absorption, which requires more atoms in the upper level than the lower one — a population inversion that the Einstein relations forbid in thermal equilibrium and that no two-level pump can produce. Three- and four-level schemes reach it by routing atoms through auxiliary states. The gain coefficient sets how strongly a weak beam grows, the cavity fixes the threshold and selects a comb of longitudinal modes, and gain saturation clamps the steady-state inversion at its threshold value.\n",{"path":16393,"title":16394,"module":16390,"summary":16395},"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fspectroscopy-techniques","Spectroscopic Techniques and Frequency Combs","A tunable laser turns spectroscopy from photographing a spectrum into interrogating a single transition, but at room temperature the Doppler width buries the natural linewidth under a thousandfold-broader Gaussian. Saturated absorption and two-photon spectroscopy defeat the first-order Doppler shift by selecting the zero-velocity class or cancelling the shift between counter-propagating photons, recovering natural-width features. Laser-induced fluorescence pushes sensitivity to single atoms, and the optical frequency comb converts an optical frequency into a countable radio-frequency beat, giving absolute frequency measurement across the visible spectrum.\n",{"path":16397,"title":16398,"module":16390,"summary":16399},"\u002Fatomic-physics\u002Flasers-and-spectroscopy\u002Fline-catalog-nist-asd","Reading Real Spectra with the NIST Database","Every quantity computed in this course — energy levels, transition frequencies, oscillator strengths, lifetimes — is tabulated for real atoms in the NIST Atomic Spectra Database. This lesson reads that data as physics: how levels are labelled by term symbols and energies in wavenumbers, how a transition list encodes wavelength, Einstein coefficient, and line strength, how a Grotrian diagram is reconstructed from the tables, and how a measured spectrum is matched to catalog lines. The residual between computed and tabulated positions is the running score of atomic theory.\n",{"path":16401,"title":16402,"module":16403,"summary":16404},"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Flaser-cooling-doppler","Laser Cooling and Optical Molasses","Modern Atomic Physics","A near-resonant laser beam pushes an atom because every absorbed photon delivers one unit of momentum and the subsequent spontaneous emission averages to zero. Two counter-propagating red-detuned beams turn that push into friction: the Doppler shift brings a moving atom closer to resonance with the beam it moves against, so the net force opposes the velocity. Six beams give optical molasses in three dimensions. The random recoil of spontaneous emission heats against the friction, and the balance sets the Doppler cooling limit. Adding a magnetic-field gradient makes the force position-dependent as well, giving the magneto-optical trap.\n",{"path":16406,"title":16407,"module":16403,"summary":16408},"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fsub-doppler-trapping","Sub-Doppler Cooling and Atom Traps","Optical molasses cools multilevel atoms below the Doppler limit. A polarization gradient plus optical pumping makes an atom repeatedly climb a light-shift hill and be pumped to the valley, losing kinetic energy each cycle — Sisyphus cooling. The floor is the recoil limit, one photon momentum of residual motion. Below it, cooling must avoid scattering photons: conservative magnetic and optical-dipole traps hold the atoms while forced evaporation removes the hot tail, driving the phase-space density up toward quantum degeneracy.\n",{"path":16410,"title":16411,"module":16403,"summary":16412},"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Fbose-einstein-condensation","Bose-Einstein Condensation of Atomic Gases","Below a critical temperature a gas of identical bosons places a macroscopic fraction of its atoms in the single lowest-energy state. The transition occurs when the thermal de Broglie wavelength grows to the interparticle spacing, so the phase- space density reaches order unity. The critical temperature follows from the Bose-Einstein distribution and the density of states, the condensate fraction grows as one minus (T\u002FTc) to the three-halves, and the condensate reveals itself in time-of-flight as a sharp bimodal peak in the momentum distribution. The 1995 rubidium and sodium experiments realized it in dilute trapped gases.\n",{"path":16414,"title":16415,"module":16403,"summary":16416},"\u002Fatomic-physics\u002Fmodern-atomic-physics\u002Foptical-clocks-precision","Optical Atomic Clocks and Precision Measurement","An atomic clock counts the oscillations of a field locked to an atomic transition. The cesium microwave standard defines the second through the 9.19 GHz ground-state hyperfine transition, interrogated by Ramsey's separated-oscillatory-field method whose fringe width is set by the free-precession time. Optical clocks replace the microwave transition with an optical one five orders of magnitude higher in frequency, raising the quality factor and the fractional stability in proportion. Lattice and single-ion clocks reach fractional uncertainties near ten-to-the-minus- eighteen by trapping the atoms at a magic wavelength that cancels the light shift, and at that level they measure the gravitational redshift over centimetres of height.\n",{"path":16418,"title":16419,"module":6,"summary":6},"\u002Fatomic-physics","Atomic Physics",{"path":16421,"title":16422,"module":6,"summary":6},"\u002Fdatabases","Databases",{"path":16424,"title":16425,"module":14017,"summary":16426},"\u002Fcategory-theory\u002Ffoundations\u002Fwhat-is-a-category","Categories, Objects, and Arrows","A category is objects, arrows between them, a rule for composing arrows, and an identity arrow on every object, subject to associativity and the unit laws. The axioms mention no elements: arrows need not be functions, and an object is known only through the arrows into and out of it. Isomorphism, commutative diagrams, duality, and the terminal object are the first consequences.\n",{"path":16428,"title":16429,"module":14017,"summary":16430},"\u002Fcategory-theory\u002Ffoundations\u002Fexamples-of-categories","A Zoo of Categories","The axioms admit two very different kinds of model: large categories of structured sets and their structure-preserving maps (Set, Mon, Grp, Top, Vect), and small categories that are themselves single algebraic objects — a monoid as a one-object category, a poset as a thin category. The awkward cases Rel and Pfn have sets as objects but relations and partial functions as arrows, and a typed programming language presents its types and programs as a category.\n",{"path":16432,"title":16433,"module":14017,"summary":16434},"\u002Fcategory-theory\u002Ffoundations\u002Fspecial-morphisms","Isomorphisms, Monos, and Epis","Injectivity and surjectivity mention elements, so a general category re-expresses them by cancellation: monomorphisms cancel on the left, epimorphisms on the right. Sections and retractions are the split versions with an explicit one-sided inverse. Mono plus epi does not force an isomorphism, and subobjects are equivalence classes of monos into a fixed object.\n",{"path":16436,"title":16437,"module":14017,"summary":16438},"\u002Fcategory-theory\u002Ffoundations\u002Ffunctors","Functors: Maps Between Categories","A functor sends objects to objects and arrows to arrows while preserving composition and identities. Covariant and contravariant functors, the standard stock (forgetful, free, hom, and powerset), and the classification by faithfulness, fullness, and essential surjectivity all follow. Functors compose, so categories and functors form a category themselves.\n",{"path":16440,"title":16441,"module":14017,"summary":16442},"\u002Fcategory-theory\u002Ffoundations\u002Fnatural-transformations","Natural Transformations and Functor Categories","A natural transformation is a map between two parallel functors: one component arrow per object, subject to a commuting square for every arrow of the source. Naturality is verified for the determinant, the double dual, and list operations; functors and natural transformations form the functor category [C, D]; and vertical and horizontal composition satisfy the Godement interchange law.\n",{"path":16444,"title":16445,"module":14017,"summary":16446},"\u002Fcategory-theory\u002Ffoundations\u002Fsize-and-set-theory","Size: Small, Large, Locally Small","The objects of Set do not form a set, and pretending otherwise reproduces the classical paradoxes. Classes make the small\u002Flarge distinction precise, with locally small and essentially small as the intermediate notions. Cantor's theorem shows Set and its algebraic relatives are large, and the function-based axiomatization of sets is the one category theory prefers to ZFC.\n",{"path":16448,"title":16449,"module":16450,"summary":16451},"\u002Fcategory-theory\u002Funiversal-properties\u002Funiversal-properties","Universal Properties, Initial and Terminal Objects","Universal Properties and Basic Constructions","A universal property characterizes an object by a for-all\u002Fexists-unique condition on the arrows into or out of it, and any two objects satisfying the same property are isomorphic by a unique isomorphism. Initial and terminal objects are the simplest cases; the free vector space, the discrete topology, and the ring of integers show the pattern at work.\n",{"path":16453,"title":16454,"module":16450,"summary":16455},"\u002Fcategory-theory\u002Funiversal-properties\u002Fproducts-and-coproducts","Products and Coproducts","The product of two objects is a wedge of projections through which every other wedge factors uniquely; the coproduct is the dual, built from injections. In Set these are the cartesian product and the disjoint union, in a poset the meet and join, and in abelian groups the two coincide. The mediating-arrow discipline established here is the template for all limits.\n",{"path":16457,"title":16458,"module":16450,"summary":16459},"\u002Fcategory-theory\u002Funiversal-properties\u002Fconstructions-on-categories","Opposite, Product, Slice, and Comma Categories","Categories are themselves mathematical structures, and the standard algebraic constructions apply: opposites, products, subcategories, slices, and the comma category that subsumes them. The opposite category yields the duality principle, halving the subject's proofs; slice and comma categories repackage every universal property as an initial or terminal object.\n",{"path":16461,"title":16462,"module":16463,"summary":16464},"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Frepresentable-functors","Hom-Functors and Representables","Representables and the Yoneda Lemma","Fixing an object A of a locally small category produces a set-valued functor, the hom-functor A(A,-), that records every map out of A. A functor is representable when it is naturally isomorphic to such a hom-functor. We define the covariant and contravariant hom-functors, collect the standard representables (identity, forgetful, powerset), and read maps as generalized elements of varying shape.\n",{"path":16466,"title":16467,"module":16463,"summary":16468},"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-lemma","The Yoneda Lemma","The Yoneda lemma computes the natural transformations out of a representable presheaf: they form a set in natural bijection with X(A). The proof fixes a single degree of freedom, the image of the identity arrow, and shows naturality forces everything else. We prove the bijection, verify naturality in both variables, and read off that a natural transformation out of a representable is just one element.\n",{"path":16470,"title":16471,"module":16463,"summary":16472},"\u002Fcategory-theory\u002Frepresentables-yoneda\u002Fyoneda-consequences","The Yoneda Embedding and Its Uses","Three corollaries turn the Yoneda lemma into working machinery. A representation of a presheaf is the same thing as a universal element; the Yoneda embedding of a category into its presheaf category is full and faithful; and two objects are isomorphic exactly when their representables are. Together they justify constructing arrows by constructing natural transformations between hom-functors, and they contain Cayley's theorem as the one-object case.\n",{"path":16474,"title":16475,"module":16476,"summary":16477},"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits","Cones and Limits","Limits and Colimits","A diagram is a functor from a small shape category; a cone over it is an object with compatible legs to every node; and a limit is the terminal cone, the one every other cone factors through uniquely. Products and terminal objects reappear as limits over particular shapes, and the whole construction is unique up to a single isomorphism.\n",{"path":16479,"title":16480,"module":16476,"summary":16481},"\u002Fcategory-theory\u002Flimits-colimits\u002Fproducts-equalizers-pullbacks","Equalizers and Pullbacks","The equalizer of a parallel pair is the universal arrow that makes the two composites agree; the pullback of a cospan is the universal commutative square. In Set they are solution sets and fibered products, every equalizer is monic, monics are stable under pullback, and products plus equalizers together generate all limits.\n",{"path":16483,"title":16484,"module":16476,"summary":16485},"\u002Fcategory-theory\u002Flimits-colimits\u002Fcolimits","Colimits: Coproducts, Coequalizers, Pushouts","Colimits are limits in the opposite category: cocones replace cones, and the universal cocone is initial rather than terminal. Coproducts glue objects side by side, coequalizers impose relations and produce quotients, pushouts glue along a shared part, and in Set every colimit is a quotient of a disjoint union. Directed colimits admit a clean elementwise description.\n",{"path":16487,"title":16488,"module":16476,"summary":16489},"\u002Fcategory-theory\u002Flimits-colimits\u002Fcomputing-limits","Computing Limits in Concrete Categories","In Set the limit of any diagram is the set of threads: choice functions through the nodes that commute with every edge. In Pos, Mon, and Top the recipe is the same limit downstairs plus the unique structure that makes the projections structure-preserving — pointwise order, componentwise operations, the topology generated by the projections. The pattern is what \"the forgetful functor creates limits\" means concretely.\n",{"path":16491,"title":16492,"module":16476,"summary":16493},"\u002Fcategory-theory\u002Flimits-colimits\u002Flimits-and-functors","Preservation, Reflection, and Creation of Limits","A functor preserves limits if it sends limit cones to limit cones, reflects them if it recognizes them, and creates them if limits downstairs lift uniquely upstairs. Representable functors preserve all limits, forgetful functors from algebra create them, and limits in functor categories are computed pointwise, one evaluation at a time.\n",{"path":16495,"title":16496,"module":16497,"summary":16498},"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions","Adjoint Functors via Hom-Set Bijections","Adjunctions","An adjunction is a natural bijection between two hom-sets: maps out of $F(A)$ in one category correspond to maps into $G(B)$ in the other. We give the definition, spell out the naturality axioms that make the correspondence compatible with composition, and work the flagship examples — free vector spaces, free groups, discrete and indiscrete topologies, and currying.\n",{"path":16500,"title":16501,"module":16497,"summary":16502},"\u002Fcategory-theory\u002Fadjunctions\u002Funits-and-counits","Units, Counits, and the Triangle Identities","The whole hom-set bijection of an adjunction is generated by two natural transformations: the unit, obtained by transposing identity maps on one side, and the counit, by transposing them on the other. Two triangle identities are all they must satisfy, and any pair satisfying them determines a unique adjunction. The same correspondence specializes to order-preserving maps between posets and to free constructions.\n",{"path":16504,"title":16505,"module":16497,"summary":16506},"\u002Fcategory-theory\u002Fadjunctions\u002Fadjunctions-via-universal-arrows","Adjunctions from Universal Arrows","The unit component at a single object is an initial object of a comma category, and this universal property alone rebuilds the whole adjunction. A functor has a left adjoint exactly when every object admits such a universal arrow, and the left adjoint is assembled from them one object at a time. We prove the equivalence of all three formulations of adjointness.\n",{"path":16508,"title":16509,"module":16497,"summary":16510},"\u002Fcategory-theory\u002Fadjunctions\u002Ffree-forgetful-adjunctions","Free Constructions and Free–Forgetful Adjunctions","Free monoids, free groups, and free vector spaces are left adjoints to forgetful functors, and the universal mapping property is all one needs to prove it. Some forgetful functors also have right adjoints (co-free constructions like the indiscrete topology), producing three-functor chains. Contravariant adjunctions, symmetric in their two functors, close the lesson with the pattern behind duality and representation theorems.\n",{"path":16512,"title":16513,"module":16514,"summary":16515},"\u002Fcategory-theory\u002Fadjoints-limits\u002Flimits-via-adjoints","Limits as Adjoints and as Representables","Adjoints, Representables, and Limits Together","A cone on a diagram is a natural transformation from a constant diagram, so a limit is a representation of the cone functor and, equivalently, a value of the right adjoint to the diagonal functor. We prove both rephrasings, derive uniqueness and functoriality of limits from them, and record the dual statement that a colimit is the left adjoint to the diagonal.\n",{"path":16517,"title":16518,"module":16514,"summary":16519},"\u002Fcategory-theory\u002Fadjoints-limits\u002Fpresheaf-limits-colimits","Limits and Colimits of Presheaves","Representables preserve limits, and limits in a functor category are computed one object at a time, so a presheaf category is complete and cocomplete with all its structure inherited pointwise from Set. The Yoneda embedding then preserves limits but not colimits, and the density theorem repairs the colimit side: every presheaf is a canonical colimit of representables.\n",{"path":16521,"title":16522,"module":16514,"summary":16523},"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoints-preserve-limits","Right Adjoints Preserve Limits (RAPL)","A functor with a left adjoint preserves every limit that exists, and dually a functor with a right adjoint preserves colimits. The proof is a four-line chain of natural isomorphisms through the adjunction and the continuity of representables. The theorem yields product-and-exponential arithmetic in Set, another proof that limits commute with limits, and a standard test for proving that a functor has no adjoint.\n",{"path":16525,"title":16526,"module":16514,"summary":16527},"\u002Fcategory-theory\u002Fadjoints-limits\u002Fadjoint-functor-theorem","The Adjoint Functor Theorem","RAPL makes limit preservation necessary for having a left adjoint; the adjoint functor theorems identify when it is sufficient. For ordered sets no extra hypothesis is needed. In general the candidate adjoint is a limit over a comma category that may be large, and the general adjoint functor theorem tames it with a weakly initial set. We prove GAFT in full and apply it to free groups and, through the special adjoint functor theorem, the Stone–Čech compactification.\n",{"path":16529,"title":16530,"module":16531,"summary":16532},"\u002Fcategory-theory\u002Fmonads-algebras\u002Fmonads","Monads from Adjunctions","Monads and Algebras","A monad on a category is an endofunctor equipped with a unit and a multiplication satisfying associativity and unit laws — the data of a monoid, written internally to the category of endofunctors. Every adjunction induces one, and the list, exception, and state constructions that model computational effects are all monads on Set.\n",{"path":16534,"title":16535,"module":16531,"summary":16536},"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-eilenberg-moore","Algebras for a Monad","An algebra for a monad is an object with a structure map that interacts correctly with the unit and multiplication. The algebras form the Eilenberg–Moore category, whose free–forgetful adjunction induces the monad back; a comparison functor relates any other inducing adjunction to it, and for the list monad the algebras are exactly monoids.\n",{"path":16538,"title":16539,"module":16531,"summary":16540},"\u002Fcategory-theory\u002Fmonads-algebras\u002Fkleisli-and-programming","The Kleisli Category and Monads in Programming","The Kleisli category of a monad has the same objects as the base but takes arrows A to TB, composed by mapping and flattening. These arrows are effectful programs, Kleisli composition is the bind of functional programming, and the Kleisli adjunction is the initial resolution of the monad, with Eilenberg–Moore at the terminal end.\n",{"path":16542,"title":16543,"module":16531,"summary":16544},"\u002Fcategory-theory\u002Fmonads-algebras\u002Falgebras-for-endofunctors","Algebras for an Endofunctor and Recursion","Dropping the monad laws leaves algebras for a bare endofunctor, whose initial objects are the least fixed points of the functor by Lambek's lemma. The natural numbers, lists, and trees are initial algebras; the unique map out of an initial algebra is the fold of functional programming; and the Smyth–Plotkin fixed-point technique builds Scott domains the same way.\n",{"path":16546,"title":16547,"module":16548,"summary":16549},"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Fcartesian-closed-categories","Cartesian Closed Categories","Cartesian Closed Categories and Typed Lambda Calculus","A cartesian closed category has a terminal object, binary products, and for every pair of objects an exponential object that internalizes the hom-set as an object of the category. The defining data is an evaluation arrow and a currying operation, packaged by the adjunction between product-with-A and exponential-by-A. Set, Boolean and Heyting algebras, functor categories, and Cat are all cartesian closed.\n",{"path":16551,"title":16552,"module":16548,"summary":16553},"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Flambda-calculus-correspondence","Typed Lambda Calculus and CCCs","The typed lambda calculus and the cartesian closed category are two presentations of the same theory. Types become objects, terms with one free variable become arrows, product types become products, and function types become exponentials, with abstraction matching currying and application matching evaluation. Building the category of a lambda theory and the internal language of a category are mutually inverse up to equivalence.\n",{"path":16555,"title":16556,"module":16548,"summary":16557},"\u002Fcategory-theory\u002Fcartesian-closed-lambda\u002Ffixed-points-and-recursion","Fixed Points in Cartesian Closed Categories","The untyped lambda calculus has a fixed-point combinator; the typed calculus cannot, and Lawvere's fixed-point theorem explains why: any point-surjection onto an exponential forces every endomap to have a fixed point, which is the abstract form of Cantor's diagonal argument. Recursion is recovered instead by restricting to omega-complete partially ordered objects, where every continuous endomap has a least fixed point built by iterating from bottom. This gives While loops a semantics.\n",{"path":16559,"title":16560,"module":6,"summary":6},"\u002Fcategory-theory","Category Theory",{"path":16562,"title":15204,"module":16563,"summary":16564},"\u002Fdeep-learning\u002Fmathematical-background\u002Flinear-algebra-for-deep-learning","Mathematical Background","Every quantity a network touches is a tensor, and every layer is a matrix acting on one. This lesson compiles the linear algebra deep learning actually uses: products and norms, the system $Ax=b$ and when it is solvable, the two decompositions (eigen and SVD) that diagonalize a transformation, and the pseudoinverse that solves what cannot be solved exactly. It then derives PCA as the worked example that ties it all together.\n",{"path":16566,"title":16567,"module":16563,"summary":16568},"\u002Fdeep-learning\u002Fmathematical-background\u002Fprobability-and-information-theory","Probability & Information Theory","This lesson assembles the probabilistic vocabulary a network is trained in (random variables, densities, the chain rule, expectation and covariance, the handful of distributions that recur everywhere) and then the information theory that turns a probabilistic model into a loss: self-information, entropy, and the KL divergence whose asymmetry is the cross-entropy objective itself.\n",{"path":16570,"title":16571,"module":16563,"summary":16572},"\u002Fdeep-learning\u002Fmathematical-background\u002Fnumerical-computation","Numerical Computation","Machine learning runs on finite-precision arithmetic, where every number is approximated and every operation rounds. This lesson sets the numerical ground rules: overflow and underflow and the standard stabilizations, the condition number that measures how much a problem amplifies error, and the gradient-based optimization (first and second order, constrained and unconstrained) that every training loop runs.\n",{"path":16574,"title":14563,"module":16563,"summary":16575},"\u002Fdeep-learning\u002Fmathematical-background\u002Fcalculus","This lesson assembles the differential calculus used in training networks: the gradient and directional derivative, the Jacobian and Hessian, and the chain rule in scalar, vector, and matrix form. From the chain rule it derives back-propagation as a single sweep over the computational graph, tabulates the matrix-calculus identities that recur in layer gradients, reads optimization off a second-order Taylor expansion, and ends with why reverse-mode automatic differentiation is the algorithm every framework runs.\n",{"path":16577,"title":16578,"module":14017,"summary":16579},"\u002Fdeep-learning\u002Ffoundations\u002Fwhat-is-deep-learning","What Is Deep Learning?","Deep learning is representation learning by composition: stack simple differentiable layers, define a loss, and let gradient descent discover the features a human would otherwise have to engineer by hand. We set up the whole vocabulary (model, loss, optimizer, data), the training loop that ties them together, and the three reasons the approach became practical.\n",{"path":16581,"title":16582,"module":14017,"summary":16583},"\u002Fdeep-learning\u002Ffoundations\u002Fmachine-learning-refresher","A Machine-Learning Refresher","The statistical framework the networks live in: data drawn from an unknown distribution, a loss to minimize, and the central question of generalization: will it work on data we have not seen? We set up empirical risk, capacity, the bias–variance tradeoff, and maximum likelihood.\n",{"path":16585,"title":16586,"module":14017,"summary":16587},"\u002Fdeep-learning\u002Ffoundations\u002Flinear-models-and-the-perceptron","Linear Models & the Perceptron","The simplest learners (linear regression, logistic regression, the perceptron) already contain the whole template: a weighted sum, a loss, a gradient step. They also fail on the XOR problem, which no linear model can solve — the limitation that motivates deep learning.\n",{"path":16589,"title":16590,"module":16591,"summary":16592},"\u002Fdeep-learning\u002Fneural-networks\u002Fthe-multilayer-perceptron","The Multilayer Perceptron","Neural Networks","Stacking linear layers with a nonlinearity between them removes the limitation that stopped the perceptron. We build the multilayer perceptron in explicit matrix form (the forward pass, its dimensions, a worked XOR network with concrete weights) and prove why the nonlinearity is essential: without it the deepest stack collapses to a single hyperplane.\n",{"path":16594,"title":16595,"module":16591,"summary":16596},"\u002Fdeep-learning\u002Fneural-networks\u002Factivation-functions","Activation Functions","The activation is the only nonlinear part of a layer, and the reason depth adds expressive power. We catalog the standard hidden units (sigmoid, tanh, ReLU and its descendants, plus GELU, softplus, swish and maxout), derive each unit's derivative in full, make the vanishing-gradient problem quantitative with the chain-rule product, work numeric examples, and explain why the saturating units gave way to ReLU and why ReLU's own dead-unit failure gave way to Leaky\u002FPReLU\u002FELU\u002FGELU.\n",{"path":16598,"title":16599,"module":16591,"summary":16600},"\u002Fdeep-learning\u002Fneural-networks\u002Funiversal-approximation","Universal Approximation","One hidden layer with a non-polynomial activation can approximate any continuous function on a compact set to arbitrary accuracy: the universal approximation theorem. We prove it constructively (two sigmoids make a bump; sums of bumps make any curve), then show the limitation: existence is not efficiency. Depth-separation results exhibit functions a deep net represents with $O(n)$ units that a shallow net needs $\\exp(n)$ units to match.\n",{"path":16602,"title":16603,"module":16591,"summary":16604},"\u002Fdeep-learning\u002Fneural-networks\u002Fbackpropagation","Backpropagation","Backpropagation is the chain rule run backward over a computational graph. We formalize the graph, derive the four backprop equations for an MLP, present the forward and backward passes as algorithms, and work a tiny two-layer net by hand with explicit numbers. The result: one scalar loss, reverse-mode autodiff, and a gradient for every parameter at twice the cost of a forward pass.\n",{"path":16606,"title":16607,"module":16591,"summary":16608},"\u002Fdeep-learning\u002Fneural-networks\u002Floss-functions-and-output-units","Loss Functions & Output Units","The last layer is where a network's hidden representation meets the task. Choosing an output unit and a loss is not two independent choices; maximum likelihood fixes the pair. We derive the standard couplings (linear\u002FMSE, sigmoid\u002FBCE, softmax\u002Fcross-entropy), show why softmax and cross-entropy were built to cancel into the residual $\\hat y - y$, and prove why squared error is the wrong loss for a saturating classifier.\n",{"path":16610,"title":16611,"module":16612,"summary":16613},"\u002Fdeep-learning\u002Foptimization\u002Fgradient-descent-and-sgd","Gradient Descent & SGD","Optimization","Training is descent on the empirical risk: step the parameters against the gradient. We derive the minibatch gradient as an unbiased estimator whose variance falls as $1\u002FB$, derive the learning-rate ceiling from the smoothness-stability bound $\\eta \u003C 2\u002FL$, and lay out the schedules (step, exponential, cosine, warmup) that anneal it over training.\n",{"path":16615,"title":16616,"module":16612,"summary":16617},"\u002Fdeep-learning\u002Foptimization\u002Fmomentum-and-adaptive-methods","Momentum & Adaptive Methods","Plain gradient descent zig-zags across ravines and moves slowly along flat valleys, because one global learning rate cannot suit a surface with wildly different curvature in different directions. Two fixes address the two problems: momentum accumulates a velocity that damps the oscillation and accelerates the drift, and adaptive methods give every parameter its own learning rate scaled by the history of its gradients. Adam fuses both, and is the default optimizer of modern deep learning.\n",{"path":16619,"title":16620,"module":16612,"summary":16621},"\u002Fdeep-learning\u002Foptimization\u002Finitialization","Weight Initialization","The initial weights determine whether training can succeed before the first gradient step. Initialize every weight equal and all hidden units compute the same function forever; initialize too small or too large and the signal vanishes or explodes as it crosses depth. A single variance condition, $n_{\\text{in}}\\mathrm{Var}(W)=1$, fixes both, and reading it off the forward and backward passes yields Xavier and He initialization directly.\n",{"path":16623,"title":16624,"module":16612,"summary":16625},"\u002Fdeep-learning\u002Foptimization\u002Fthe-optimization-landscape","The Optimization Landscape","The loss of a deep network is a non-convex surface in millions of dimensions, so local search carries no global guarantee, yet it works. We classify critical points by the eigenvalues of the Hessian, show that in high dimension nearly all of them are saddle points rather than bad local minima, and read off the practical terrain — plateaus, cliffs, ill-conditioning, and the sharp-versus-flat distinction that ties the geometry of a minimum to how well it generalizes.\n",{"path":16627,"title":16628,"module":16612,"summary":16629},"\u002Fdeep-learning\u002Foptimization\u002Fsecond-order-and-approximate-methods","Second-Order & Approximate Methods","Newton's method reads the curvature of the loss off its Hessian and jumps to the minimum of the local quadratic in a single step, rescaling away the ill-conditioning that slows first-order descent. We derive it, then explain the three obstacles that keep it out of deep learning: a $d \\times d$ Hessian for $d$ in the billions, an attraction to saddle points, and minibatch noise. The alternative is approximation (conjugate gradients, BFGS and L-BFGS, the natural gradient and Hessian-free methods), each buying some of Newton's curvature information without ever forming or inverting $H$.\n",{"path":16631,"title":16632,"module":16633,"summary":16634},"\u002Fdeep-learning\u002Fregularization\u002Fregularization-overview","Regularization Overview","Regularization","Regularization is any modification to a learning algorithm meant to lower test error at the possible expense of training error. We derive the bias–variance decomposition that explains why it helps, set up the two parameter-norm penalties, $L^2$ weight decay and $L^1$, derive their update rules and eigenbasis shrinkage, show geometrically why $L^1$ alone produces sparse weights (soft-thresholding), distinguish weight decay from loss-added $L^2$ under AdamW, and read both penalties through the two lenses that recur across the chapter: a norm-ball constraint via KKT, and a prior via MAP estimation.\n",{"path":16636,"title":16637,"module":16633,"summary":16638},"\u002Fdeep-learning\u002Fregularization\u002Fdropout-and-data-augmentation","Dropout & Data Augmentation","Two of the most effective regularizers add no penalty term at all; they perturb the computation instead. Dropout multiplies hidden units by a random Bernoulli mask, training an exponential ensemble of thinned subnetworks that share weights; inverted scaling collapses that ensemble into one cheap forward pass at test time. Data augmentation enlarges the training set with label-preserving transforms, injecting the invariances the task demands, and noise injection (input, weight, label smoothing, Mixup) generalizes the same idea into a continuous family.\n",{"path":16640,"title":16641,"module":16633,"summary":16642},"\u002Fdeep-learning\u002Fregularization\u002Fearly-stopping-and-parameter-sharing","Early Stopping & Parameter Sharing","Two cheap regularizers that cost no extra term in the loss. Early stopping treats training time itself as a hyperparameter (watch the validation curve, halt at its minimum, keep the best checkpoint), and for a quadratic objective it is provably equivalent to $L^2$ weight decay. Parameter sharing goes the other way: it constrains many weights to be _equal_, the prior behind every convolution and every recurrent step, and the reason a CNN has orders of magnitude fewer parameters than the dense net it replaces.\n",{"path":16644,"title":16645,"module":16633,"summary":16646},"\u002Fdeep-learning\u002Fregularization\u002Fnormalization","Normalization","Normalization layers standardize activations to zero mean and unit variance inside the network, then hand the model a learnable scale and shift to undo the constraint when it pays to. Batch normalization does this across the batch and must keep separate train-time and test-time statistics; layer, instance, and group norm change only the axes they average over. The result is faster, better-conditioned optimization and a free dose of regularizing batch noise.\n",{"path":16648,"title":16649,"module":16650,"summary":16651},"\u002Fdeep-learning\u002Farchitectures\u002Fconvolutional-networks","Convolutional Networks","Architectures","A convolutional network replaces the dense layer's all-to-all weight matrix with a small kernel slid across the input. Three structural commitments (sparse connectivity, parameter sharing, and translation equivariance) collapse the parameter count by orders of magnitude and bake the right prior for images directly into the architecture. We derive the convolution arithmetic, the output geometry, pooling, and the receptive field, then assemble the canonical stack.\n",{"path":16653,"title":16654,"module":16650,"summary":16655},"\u002Fdeep-learning\u002Farchitectures\u002Fcnn-architectures","CNN Architectures","Six landmark networks, each contributing exactly one idea: LeNet's conv-pool stack, AlexNet's ReLU-and-dropout scale, VGG's $3\\times3$ uniformity, Inception's multi-scale module, ResNet's residual skip, and DenseNet's dense connectivity. The common thread is the degradation problem (why plain deeper nets train worse, not just overfit) and the residual block that solved it by keeping a $+1$ path open for the gradient.\n",{"path":16657,"title":16658,"module":16650,"summary":16659},"\u002Fdeep-learning\u002Farchitectures\u002Frecurrent-networks","Recurrent Networks","A recurrent network folds a sequence into a fixed-size hidden state, reusing one set of weights at every time step, the architectural prior that the same rule applies wherever it lands in time. Unrolling the recurrence exposes a deep feed-forward graph; backpropagation through it sums gradient contributions across all steps and chains a product of Jacobians, and that product is why long-range gradients vanish or explode. That failure motivates gated architectures.\n",{"path":16661,"title":16662,"module":16650,"summary":16663},"\u002Fdeep-learning\u002Farchitectures\u002Flstm-and-gru","LSTM & GRU","A plain recurrent network propagates its hidden state through a repeated weight-matrix multiply, and the Jacobian product that results vanishes or explodes long before a useful gradient can reach the early steps. Gated RNNs fix this with an additive memory path: a cell state that is carried forward almost unchanged, past which the gradient flows along a near-identity highway. We derive that highway, give the full LSTM and GRU equations, and compare the two.\n",{"path":16665,"title":16666,"module":16650,"summary":16667},"\u002Fdeep-learning\u002Farchitectures\u002Fattention-and-transformers","Attention & Transformers","Attention replaces fixed wiring with content-based routing: every position reads from every other through a soft, learned dot-product lookup. We derive scaled dot-product attention and its $\\sqrt{d_k}$ correction, build it into multi-head self-attention, inject order with positional encodings, and stack the whole thing into the Transformer block that displaced recurrence and convolution alike.\n",{"path":16669,"title":16670,"module":16650,"summary":16671},"\u002Fdeep-learning\u002Farchitectures\u002Fthe-transformer-architecture","The Transformer Architecture","The Transformer is the architecture built around the attention mechanism. This first part assembles the full encoder–decoder of \"Attention Is All You Need\" — embeddings and positional encoding, stacked self-attention and feed-forward sublayers wrapped in residual connections and LayerNorm, masked decoding and cross-attention — works through causal masking and the three modern families (encoder-only, decoder-only, encoder–decoder), and accounts for where the parameters and the $O(n^2)$ compute actually go.\n",{"path":16673,"title":16674,"module":16650,"summary":16675},"\u002Fdeep-learning\u002Farchitectures\u002Ftransformers-in-practice","Transformers in Practice","The Transformer makes no assumption about what a token represents. This part follows the architecture out of language: image patches feed a plain encoder (the Vision Transformer), the decoder-only half scales into the GPT line of large language models, and one substrate covers translation, retrieval, and multimodal grounding. We work the ViT patch arithmetic and a GPT parameter count by hand, then close on the empirical scaling laws — power-law loss, the Chinchilla compute-optimal balance, and emergent behavior — that made scale the dominant lever.\n",{"path":16677,"title":16678,"module":16650,"summary":16679},"\u002Fdeep-learning\u002Farchitectures\u002Fgraph-neural-networks","Graph Neural Networks","A graph neural network learns on data with no grid and no canonical ordering: atoms in a molecule, users in a social network, road segments in a map. The unifying idea is message passing — each node repeatedly aggregates its neighbors' states and updates its own — built to respect the one symmetry graphs demand, permutation equivariance. We derive the message-passing framework, specialize it into GCN, GraphSAGE, GAT, and GIN, read off graph-level outputs, and bound what message passing can and cannot tell apart.\n",{"path":16681,"title":16682,"module":16650,"summary":16683},"\u002Fdeep-learning\u002Farchitectures\u002Fstate-space-models","State-Space Models and Mamba","A state-space model carries a continuous linear hidden state through a sequence, and that linearity buys two equivalent algorithms from one set of weights: a recurrence that runs in linear time with constant memory, and a global convolution that trains in parallel. Long-range memory comes from how the transition matrix is initialized (HiPPO) and parameterized (S4's diagonal-plus-low-rank form). Mamba breaks the convolution on purpose, making the parameters input-dependent so the model can select what to remember, recovered at speed by a hardware-aware parallel scan.\n",{"path":16685,"title":16686,"module":16687,"summary":16688},"\u002Fdeep-learning\u002Ftheory\u002Fgeneralization-theory","Generalization Theory","Theory & Frontiers","Classical learning theory bounds the gap between training and test error by a model's capacity (VC dimension, Rademacher complexity), and predicts that a model with more parameters than data should overfit catastrophically. Modern networks do the opposite: they interpolate, even fit pure noise, and still generalize. We derive the classical bounds, work the bias-variance decomposition, show why the bounds go vacuous, and survey what replaced them: double descent, the interpolation threshold, margin and norm-based bounds, and the implicit bias of the optimizer itself.\n",{"path":16690,"title":16691,"module":16687,"summary":16692},"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-robustness","Adversarial Robustness","A trained network can be fooled by a perturbation too small for a human to see: add a carefully aimed vector of magnitude $\\epsilon$ to a correctly classified image and the prediction flips. We derive the fast gradient sign method as the first-order-optimal step inside an $L_\\infty$ ball, explain the linearity hypothesis that makes high-dimensional models so easy to push around, build up to projected gradient descent, and frame adversarial training as a min-max robust-optimization problem with its own accuracy cost. Defenses beyond training continue in the next lesson.\n",{"path":16694,"title":16695,"module":16687,"summary":16696},"\u002Fdeep-learning\u002Ftheory\u002Fadversarial-defenses","Adversarial Defenses","Defending a network against an adversary is far harder than attacking one. This lesson covers the defense side: certified guarantees via randomized smoothing, the transferability that makes black-box attacks possible, and the recurring failure of gradient masking, where a defense hides the attacker's gradient instead of moving the decision boundary. It ends with the adaptive-attack discipline (BPDA, EOT, transfer) that every robustness claim must be tested against.\n",{"path":16698,"title":16699,"module":16687,"summary":16700},"\u002Fdeep-learning\u002Ftheory\u002Fbayesian-and-ensemble-methods","Bayesian & Ensemble Methods","A trained network returns a single point prediction and, with the softmax, a confidence, but that confidence is usually miscalibrated, collapsing to near- certainty even on inputs the model has never seen. This lesson covers uncertainty estimation for networks: the two kinds of uncertainty, the Bayesian posterior over weights and its tractable stand-ins (MC dropout, deep ensembles), and how to check whether a model's reported confidences match observed frequencies.\n",{"path":16702,"title":16703,"module":16687,"summary":16704},"\u002Fdeep-learning\u002Ftheory\u002Fdeep-equilibrium-models","Deep Equilibrium Models","A deep network need not be a fixed stack of layers; it can be a single weight-tied layer iterated to convergence, its output defined implicitly as the fixed point $z^\\star = f_\\theta(z^\\star, x)$. The forward pass becomes root-finding and the backward pass becomes implicit differentiation, so training costs O(1) memory regardless of effective depth. We derive both passes from the implicit function theorem and close the course on defining a layer by a fixed-point condition rather than an explicit stack.\n",{"path":16706,"title":16707,"module":16708,"summary":16709},"\u002Fdeep-learning\u002Fgenerative-models\u002Flinear-factor-models","Linear Factor Models","Generative Models","The simplest generative models share one template: a latent variable drawn from a fixed prior, run through a linear decoder, plus noise. Probabilistic PCA, factor analysis, independent component analysis, and sparse coding are all this template with a different prior on the latents and a different noise model. We derive each marginal, see why ICA needs non-Gaussianity to identify its sources, and show how sparse coding learns Gabor-like dictionary atoms.\n",{"path":16711,"title":16712,"module":16708,"summary":16713},"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoencoders","Autoencoders","An autoencoder is a network trained to copy its input to its output through a narrow channel; the useful product is the bottleneck representation $h$, not the reconstruction. We derive the undercomplete autoencoder and prove its linear case recovers PCA, then trade the bottleneck for explicit regularization (sparse, denoising, contractive) and show how a denoising autoencoder learns the low-dimensional manifold the data lives on.\n",{"path":16715,"title":16716,"module":16708,"summary":16717},"\u002Fdeep-learning\u002Fgenerative-models\u002Fvariational-autoencoders","Variational Autoencoders","An autoencoder compresses, but its latent space has gaps: sample a point between two encodings and the decoder produces noise. The variational autoencoder fixes this by training a probabilistic encoder against a prior, so the latent space becomes a smooth, samplable density. We derive the evidence lower bound it maximizes, the reparameterization trick that lets gradients flow through a random sample, and the closed-form Gaussian regularizer that pulls the posterior toward the prior.\n",{"path":16719,"title":16720,"module":16708,"summary":16721},"\u002Fdeep-learning\u002Fgenerative-models\u002Fgenerative-adversarial-networks","Generative Adversarial Networks","A generative adversarial network trains two networks against each other: a generator that turns noise into samples, and a discriminator that tries to tell real data from forgeries. The game has a clean theory: the optimal discriminator is a likelihood ratio, and at equilibrium the generator minimizes the Jensen–Shannon divergence to the data, with a global optimum exactly when its distribution matches the data. We derive that result, fix the saturating loss that breaks training, and catalogue the failure modes (mode collapse, instability, vanishing gradients) and the architectural fixes.\n",{"path":16723,"title":16724,"module":16708,"summary":16725},"\u002Fdeep-learning\u002Fgenerative-models\u002Fautoregressive-and-normalizing-flows","Autoregressive Models & Normalizing Flows","Two families that provide exact likelihoods, each at a cost. Autoregressive models factor the joint by the probability chain rule and learn each conditional with a masked network: exact $\\log p(x)$, but sampling proceeds one coordinate at a time. Normalizing flows push a simple base density through an invertible map and read $\\log p(x)$ off the change-of-variables formula, trading architectural freedom for a cheap Jacobian determinant via triangular coupling layers.\n",{"path":16727,"title":16728,"module":16708,"summary":16729},"\u002Fdeep-learning\u002Fgenerative-models\u002Fenergy-based-and-boltzmann-machines","Energy-Based & Boltzmann Machines","Energy-based models replace an explicit density with a scalar energy and a Boltzmann normalization, $p(x) = e^{-E(x)}\u002FZ$: simple to specify, but with an intractable partition function $Z$. The Boltzmann machine and its restricted variant make the energy bilinear so the hidden units factorize, and contrastive divergence sidesteps $Z$ by replacing the model expectation with a few Gibbs steps started at the data. We close on the undirected deep models (DBNs and DBMs) and how they differ from the directed VAE.\n",{"path":16731,"title":16732,"module":16708,"summary":16733},"\u002Fdeep-learning\u002Fgenerative-models\u002Fdiffusion-and-score-based-models","Diffusion and Score-Based Models","Corrupt a data point with Gaussian noise in small steps until only noise remains, then train a network to undo one step at a time. We derive the forward process and its closed-form marginal, reduce the variational bound to the single noise-prediction objective that makes diffusion trainable, and show the score-matching view that unifies it with Langevin sampling and the continuous SDE. The lesson closes with DDIM fast sampling, classifier-free guidance, and the latent diffusion that powers modern text-to-image systems.\n",{"path":16735,"title":16736,"module":16737,"summary":16738},"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fstructured-probabilistic-models","Structured Probabilistic Models","Probabilistic Methods","A joint distribution over $n$ variables is a table with exponentially many entries; nobody can store it, fit it, or sample from it directly. Structure fixes this: a graph whose missing edges encode conditional independencies that factor the joint into small local pieces. We build the two dialects, directed (Bayesian networks) and undirected (Markov random fields), read independence off the graph, and connect the machinery to the latent-variable and energy-based models that power deep generative learning.\n",{"path":16740,"title":16741,"module":16737,"summary":16742},"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fmonte-carlo-and-mcmc","Monte Carlo & MCMC","Most quantities of interest in a probabilistic model are integrals nobody can compute in closed form: expectations, marginals, partition functions. Monte Carlo replaces the integral with an average over samples; importance sampling reweights samples from a tractable proposal; and when even sampling the target is hard, Markov-chain Monte Carlo builds a chain whose stationary distribution _is_ the target. We derive Metropolis–Hastings and Gibbs, analyze mixing, and close on the partition-function gradient that powers energy-based learning.\n",{"path":16744,"title":16745,"module":16737,"summary":16746},"\u002Fdeep-learning\u002Fprobabilistic-methods\u002Fapproximate-inference","Approximate Inference","In a latent-variable model the quantity we need, the posterior $p(h\\mid v)$ over hidden causes, is almost never computable, because its normalizer is an intractable sum over configurations. Approximate inference reframes the problem as optimization: maximize the evidence lower bound, a tractable functional whose gap to the true log-evidence equals a KL divergence. From that single bound fall expectation–maximization, mean-field variational inference, MAP, and the learned encoders behind variational autoencoders.\n",{"path":16748,"title":16749,"module":16750,"summary":16751},"\u002Fdeep-learning\u002Fpractical\u002Fpractical-methodology","Practical Methodology","Practical Deep Learning","Knowing the algorithms is half the job; the other half is a disciplined loop. Fix a goal and a metric, stand up an end-to-end baseline, then read the train\u002Fvalidation gap to decide whether the next move is more data or a bigger model. We detail that loop: choosing metrics under class imbalance, default baselines by data type, extrapolating the data a target needs, and guarding the data pipeline against the leaks and label bugs that corrupt every gradient. Hyperparameter tuning, debugging, and deployment continue in the sequel.\n",{"path":16753,"title":16754,"module":16750,"summary":16755},"\u002Fdeep-learning\u002Fpractical\u002Fhyperparameters-and-debugging","Hyperparameters & Debugging","The tuning half of the methodology loop. The learning rate is the one hyperparameter that dominates, so we tune it first, on a log scale, coarse to fine, and prefer random search to grid when only a few dials matter. Then an ordered debugging playbook — overfit one batch, check the loss at initialization against ln C, watch the gradient norm, gradient-check against centered finite differences — and, after launch, monitoring for train-test skew and distribution drift with confidence-based abstention.\n",{"path":16757,"title":16758,"module":16750,"summary":16759},"\u002Fdeep-learning\u002Fpractical\u002Frepresentation-learning","Representation Learning","A good representation makes a hard task easy by changing coordinates: it disentangles the factors of variation, spends its bits as a distributed code, and respects the low-dimensional manifold the data lives on. We make those three properties precise, recover the manifold hypothesis, and close on the first method that turned them into training practice — greedy layer-wise unsupervised pretraining — before the sequel picks up how the field learned to reuse those features.\n",{"path":16761,"title":16762,"module":16750,"summary":16763},"\u002Fdeep-learning\u002Fpractical\u002Ftransfer-learning","Transfer Learning","A representation learned once can be reused everywhere. We cover the main mechanisms of reuse: feature extraction versus fine-tuning, the generic-to-specific gradient of features that sets the freeze boundary, the learning-rate discipline that keeps borrowed weights from being erased, domain adaptation when only the input distribution shifts, and the modern arc from supervised transfer to self-supervised foundation models.\n",{"path":16765,"title":16766,"module":16750,"summary":16767},"\u002Fdeep-learning\u002Fpractical\u002Fapplications","Applications","We survey large-scale training (the hardware, the two axes of parallelism, mixed precision, and the compression tricks that shrink a model after it is trained), then specialize the same gradient loop to vision, language, speech, and recommendation. Each domain is a different prior bolted onto one optimizer: convolutional invariance for pixels, distributed word vectors for tokens, sequence transduction for audio, low-rank factorization for the user–item matrix.\n",{"path":16769,"title":16770,"module":16750,"summary":16771},"\u002Fdeep-learning\u002Fpractical\u002Fmodel-compression-and-distillation","Model Compression and Distillation","A trained network and a deployable one are rarely the same object. This lesson is the toolkit for closing that gap: knowledge distillation transfers a large teacher's soft, information-rich logits into a small student; pruning deletes the weights that contribute least; quantization swaps 32-bit floats for 8- or 4-bit integers; and low-rank factorization replaces a fat matrix with two thin ones. We derive each method, show what it costs in accuracy, and lay out which combinations win on which hardware.\n",{"path":16773,"title":16774,"module":16750,"summary":16775},"\u002Fdeep-learning\u002Fpractical\u002Fmeta-learning-and-few-shot","Meta-Learning and Few-Shot Learning","A deep network trained on one example per class overfits. Meta-learning targets this few-shot regime by training across a distribution of tasks so that a new task is learnable from a handful of examples. We formalize the $N$-way $K$-shot episode, then derive the two dominant families: metric methods that learn an embedding where distance classifies (Prototypical Networks), and optimization methods that learn an initialization a few gradient steps can adapt (MAML). We close on the link to transfer learning and to the in-context few-shot behavior of large language models.\n",{"path":16777,"title":16778,"module":16779,"summary":16780},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Flarge-language-models","Large Language Models","Large Models & Agents","A large language model is a decoder-only Transformer trained on one objective, next-token prediction, then scaled until new behavior appears. This first part builds the object itself: the equivalence between next-token prediction and lossless compression, subword tokenization (BPE, WordPiece, Unigram, SentencePiece) worked on a real sentence, the four pretraining objectives and the attention masks that distinguish them, and the three model families (encoder-only, decoder-only, encoder--decoder) with their parameter budgets. Scaling, decoding, the KV cache, and alignment continue in part two.\n",{"path":16782,"title":16783,"module":16779,"summary":16784},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fscaling-inference-and-alignment","Scaling, Inference, and Alignment of Language Models","Once a language model is built, three questions remain: how does it improve as it grows, how is it decoded and served affordably, and how is a raw next-token predictor turned into an assistant. We derive the Kaplan power laws and the Chinchilla compute-optimal balance, trace emergent abilities and in-context learning, catalog the decoding strategies from greedy to nucleus sampling, work the KV cache that makes generation quadratic instead of cubic, cover parameter-efficient adaptation by low-rank updates (LoRA), and close on the alignment stack: instruction tuning, RLHF, and DPO.\n",{"path":16786,"title":16787,"module":16779,"summary":16788},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fseq2seq-pretraining-and-bart","Denoising Sequence-to-Sequence Pretraining: BART","BERT corrupts and reconstructs; GPT predicts the next token. Sequence-to-sequence pretraining unifies both by training a full encoder–decoder as a denoising autoencoder: corrupt the text with a noise function, then reconstruct the original through a bidirectional encoder and an autoregressive decoder. This first part derives the denoising objective, catalogs BART's five noise functions (with a worked Poisson-infilling budget), proves BART specializes to both BERT and GPT, and traces a dimension-annotated forward pass through its encoder--decoder. T5, PEGASUS, fine-tuning, and decoding continue in part two.\n",{"path":16790,"title":16791,"module":16779,"summary":16792},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ftext-to-text-transfer-and-conditional-generation","Text-to-Text Transfer and Conditional Generation","BART reconstructs a corrupted document; T5 pushes the same denoising idea into a single interface where every task is a string-to-string map. This second part covers T5's span corruption with sentinel tokens (with a worked token budget), PEGASUS's summarization-matched gap sentences and the MASS midpoint, supervised fine-tuning and beam-search decoding with a length penalty, the exposure-bias failure modes of autoregressive decoding, and a theorem showing why a bidirectional encoder--decoder strictly dominates a decoder-only model when the output is conditioned on a full input.\n",{"path":16794,"title":16795,"module":16779,"summary":16796},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fspeech-and-audio-models","Speech Recognition: Front-Ends and Alignment","Speech is a long, high-rate sequence whose label is short and unaligned, so the whole subject turns on bridging that mismatch. This first part builds the spectral front-ends that compress a waveform into frames (STFT, mel spectrogram, MFCC, with a worked frame-count), derives CTC's marginalization over alignments and its forward-backward recursion with a two-frame numeric example, and contrasts it with attention-based seq2seq (LAS) and the RNN transducer. Self-supervised and weakly-supervised models, and text-to-speech, continue in part two.\n",{"path":16798,"title":16799,"module":16779,"summary":16800},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fself-supervised-speech-and-synthesis","Self-Supervised Speech Models and Synthesis","The recognition front-ends and alignment losses of part one all need transcribed audio, which is scarce. This second part removes that dependence: wav2vec 2.0 learns speech representations from unlabeled audio by a masked contrastive objective, HuBERT swaps the contrast for masked prediction of clustered units, and Whisper trades curation for scale with weakly-supervised web audio and a multitask token interface. We close with text-to-speech (the same length mismatch run backwards) and a tour of speech foundation models, discrete audio codecs, and neural TTS.\n",{"path":16802,"title":16803,"module":16779,"summary":16804},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fai-agents","AI Agents: Tools and Reasoning","A language model that only emits text is a function from prompt to prompt; an agent closes the loop, letting that model act on an environment, read back the result, and decide again. This first part formalizes the agent as a policy over interaction histories, builds out tool calling and the executor trust boundary, the ReAct interleaving of reasoning and action (with concrete traces), and search over thoughts: chain-of-thought, self-consistency, least-to-most, and Tree of Thoughts. Memory, retrieval, reflection, and multi-agent orchestration continue in part two.\n",{"path":16806,"title":16807,"module":16779,"summary":16808},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fagent-memory-retrieval-and-orchestration","Agent Memory, Retrieval, and Orchestration","An agent's reasoning and tool use only matter if it can remember what it learned and coordinate work larger than one context window. This second part builds the systems around the loop: short-term scratchpad versus long-term vector store, retrieval-augmented generation with a worked softmax over passage scores, reflection (Reflexion, Self-Refine), and multi-agent orchestration. It closes on the failure modes that bound agents — invalid tool calls, horizon-error compounding, context overflow, non-terminating loops — and the benchmarks that score the full loop.\n",{"path":16810,"title":16811,"module":16779,"summary":16812},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmixture-of-experts","Mixture-of-Experts","A mixture-of-experts layer replaces one feed-forward network with many and a router that sends each token to only a few of them, so the parameter count and the per-token compute become separate dials. We derive the gated output, sparse top-$k$ routing softmax, the load-balancing loss that stops the router from collapsing onto a single expert, and expert\u002Ftoken capacity with dropping, then work the dimension-annotated tensor shapes and FLOP arithmetic. We trace the architectures from the sparsely-gated LSTM through GShard, Switch Transformer, and Mixtral, cover distributed expert parallelism, and close on the training dynamics, failure modes, and serving costs of a sparse model.\n",{"path":16814,"title":16815,"module":16779,"summary":16816},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Fmultimodal-models","Multimodal Contrastive Learning","A multimodal model places images, text, and audio in one representation space, so a picture and its caption land close together. This first part builds the contrastive route: the shared embedding space and its residual modality gap, the Vision Transformer image encoder (patch embedding, CLS token, position embeddings, with shapes), the symmetric InfoNCE loss that trains the CLIP dual encoder from a batch similarity matrix (with a worked numeric step), and zero-shot classification as a softmax over class-prompt embeddings. Fusion and vision-language models continue in part two.\n",{"path":16818,"title":16819,"module":16779,"summary":16820},"\u002Fdeep-learning\u002Flarge-models-and-agents\u002Ffusion-and-vision-language-models","Fusion and Vision-Language Models","A contrastive model compares modalities but never lets one read another. This second part builds the fusion route: early, late, and cross-attention fusion, then the three designs that connect a frozen vision encoder to a frozen language model — Flamingo's zero-initialized gated cross-attention, BLIP-2's Q-Former, and LLaVA's linear projector. We work the token-budget arithmetic that separates them, name the object-hallucination and fine-detail failure modes, cover the contrastive-then- instruction-tune recipe and its retrieval\u002Fcaptioning\u002FVQA benchmarks, and close on natively multimodal models.\n",{"path":16822,"title":16823,"module":16824,"summary":16825},"\u002Fdeep-learning\u002Freinforcement-learning\u002Ffoundations-of-reinforcement-learning","Foundations of Reinforcement Learning","Reinforcement Learning","Reinforcement learning is the third paradigm: an agent learns to act by interacting with an environment that returns rewards, not labels. We formalize the interaction as a Markov decision process, define the value functions that rank states and actions, and derive the Bellman expectation and optimality equations that every method downstream solves. Dynamic programming gives the exact answer when the model is known, and its convergence rests on a single fact: the Bellman operator is a contraction.\n",{"path":16827,"title":16828,"module":16824,"summary":16829},"\u002Fdeep-learning\u002Freinforcement-learning\u002Fmodel-free-prediction-and-control","Model-Free Prediction and Control","When the dynamics are unknown, an agent cannot plan against a model; it must learn directly from sampled experience. We build prediction and control from two estimators of the same return: Monte Carlo averages whole episodes, while temporal-difference learning bootstraps from its own next estimate. We trace the bias-variance contrast between them, derive SARSA and Q-learning as the on-policy and off-policy forms of control, unify everything through n-step returns and eligibility traces, and close on the deadly triad that makes off-policy bootstrapping with function approximation diverge.\n",{"path":16831,"title":16832,"module":16824,"summary":16833},"\u002Fdeep-learning\u002Freinforcement-learning\u002Fdeep-q-networks","Deep Q-Networks","A Deep Q-Network replaces the tabular action-value function with a neural approximator $Q(s,a;\\theta)$ and trains it by regression toward a bootstrapped target. Naive online Q-learning with a network diverges, so DQN adds two stabilizers: an experience-replay buffer that decorrelates samples, and a periodically-frozen target network that holds the regression target still. We derive the loss, give the full algorithm and the Atari pipeline, and then layer on Double DQN, the dueling split, prioritized replay, and the Rainbow combination.\n",{"path":16835,"title":16836,"module":16824,"summary":16837},"\u002Fdeep-learning\u002Freinforcement-learning\u002Fpolicy-gradients-and-actor-critic","Policy Gradients and Actor-Critic Methods","Value-based reinforcement learning learns what each state is worth and acts greedily; policy-gradient methods skip the detour and optimize a parameterized policy directly by ascending the gradient of expected return. The policy gradient theorem makes this tractable through the log-derivative trick, turning an intractable gradient of an expectation into an expectation of a gradient. REINFORCE realizes the idea but suffers high variance; baselines, the advantage function, and actor-critic learning reduce it, and trust-region methods (TRPO, PPO) keep each update from destroying the policy it just learned.\n",{"path":16839,"title":16840,"module":16824,"summary":16841},"\u002Fdeep-learning\u002Freinforcement-learning\u002Frl-from-human-feedback","Reinforcement Learning from Human Feedback","Many objectives we want from a model, that it be helpful and harmless, are hard to write down but easy to judge by comparison. RLHF turns that asymmetry into a training signal: fit a reward model to pairwise human preferences under the Bradley-Terry likelihood, then fine-tune the policy to maximize that reward under a KL penalty toward a reference. We derive the reward loss, the KL-regularized RL objective and its closed-form optimum, then show how DPO inverts that optimum to collapse the whole pipeline into one supervised log-sigmoid loss, and survey IPO, KTO, RLAIF, and GRPO.\n",{"path":16843,"title":16844,"module":6,"summary":6},"\u002Fdeep-learning","Deep Learning",{"path":16846,"title":16847,"module":14754,"summary":16848},"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fequilibrium-state-variables-zeroth-law","Equilibrium, State Variables, and the Zeroth Law","Thermodynamics describes a many-body system by a handful of macroscopic variables and the equilibrium relations among them. This lesson fixes the vocabulary: systems and the walls that separate them, state variables versus path-dependent process quantities, quasi-static and reversible idealizations, and the zeroth law, whose transitivity of thermal equilibrium is what lets temperature exist as a number. The ideal-gas thermometer turns that number into a scale, and an equation of state ties the variables into a surface.\n",{"path":16850,"title":16851,"module":14754,"summary":16852},"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Ffirst-law-heat-and-work","The First Law: Internal Energy, Heat, and Work","The first law is energy conservation for a system that exchanges energy as both heat and work. Internal energy is a state function with an exact differential; heat and work are path-dependent process quantities. This lesson states $\\d U=\\delta Q+\\delta W$, computes compression work as an area on the $P$–$V$ plane, defines the heat capacities $C_V$ and $C_P$ and the enthalpy that makes $C_P$ natural, and works the isothermal and adiabatic processes of an ideal gas, including the adiabat $PV^\\gamma=\\text{const}$.\n",{"path":16854,"title":16855,"module":14754,"summary":16856},"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fsecond-law-entropy-and-the-carnot-bound","The Second Law, Carnot Cycles, and Entropy","The second law forbids the free conversion of heat into work. This lesson states the Kelvin and Clausius forms, proves them equivalent, and analyzes the Carnot cycle to get the efficiency bound $1-T_c\u002FT_h$. Carnot's theorem makes that bound universal and defines the thermodynamic temperature scale. The Clausius inequality $\\oint \\delta Q\u002FT\\le 0$ then constructs entropy as a state function, $\\d S=\\delta Q_{\\rm rev}\u002FT$, whose non-decrease in isolated systems is the arrow of time.\n",{"path":16858,"title":16859,"module":14754,"summary":16860},"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fthermodynamic-potentials-and-maxwell-relations","Thermodynamic Potentials and Maxwell Relations","The fundamental relation $\\d U=T\\,\\d S-P\\,\\d V+\\mu\\,\\d N$ packages the first and second laws into one exact differential. Legendre transforms swap each conjugate pair to produce the Helmholtz, enthalpy, Gibbs, and grand potentials, each minimized under its own natural variables. Equality of mixed second partials of these potentials gives the Maxwell relations, which convert unmeasurable entropy derivatives into measurable ones from the equation of state.\n",{"path":16862,"title":16863,"module":14754,"summary":16864},"\u002Fstatistical-mechanics\u002Fthermodynamics\u002Fstability-response-functions-and-the-third-law","Response Functions, Stability, and the Third Law","Response functions — heat capacities, compressibilities, thermal expansion — are the second derivatives of the potentials and the quantities an experiment actually measures. This lesson derives the general relation $C_P-C_V=TV\\alpha^2\u002F\\kappa_T$, shows that convexity of the potentials forces the stability conditions $C_V>0$ and $\\kappa_T>0$, and states the third law: entropy approaches a constant as $T\\to0$, so heat capacities and expansion coefficients vanish there and absolute zero is unattainable.\n",{"path":16866,"title":16867,"module":16868,"summary":16869},"\u002Fstatistical-mechanics\u002Ffoundations\u002Fclassical-statistics-and-equipartition","Classical Statistics and Equipartition","Microstates, Phase Space, and Statistical Entropy","A liter of gas holds on the order of a trillion trillion molecules, far too many to track by their equations of motion. Classical statistical mechanics replaces the trajectories with a single probability law, the Boltzmann distribution, and reads the measurable properties of matter off it: the Maxwell speed distribution, the average energy per degree of freedom, and the heat capacities of gases and solids — together with the low-temperature failures that forced the quantum revision.\n",{"path":16871,"title":16872,"module":16868,"summary":16873},"\u002Fstatistical-mechanics\u002Ffoundations\u002Fphase-space-and-liouvilles-theorem","Phase Space, Trajectories, and Liouville's Theorem","A classical system of N particles is one point in a 6N-dimensional phase space, and its evolution is a single trajectory driven by Hamilton's equations. This lesson builds that geometric picture, introduces the phase-space density of an ensemble, and proves Liouville's theorem: the density is carried by the flow as an incompressible fluid, so phase-space volume is conserved. The stationary densities of equilibrium follow as functions of the conserved quantities alone.\n",{"path":16875,"title":16876,"module":16868,"summary":16877},"\u002Fstatistical-mechanics\u002Ffoundations\u002Fensembles-and-the-equal-probability-postulate","Ensembles and the Postulate of Equal a Priori Probabilities","An ensemble is a probability distribution over the microstates of a system. This lesson states the single postulate on which equilibrium statistical mechanics rests — that an isolated system in equilibrium is equally likely to be in any of its accessible microstates — and works out its consequences: the accessible phase-space volume, the overwhelming dominance of the most probable macrostate as the particle number grows, and the ergodic hypothesis that lets a time average be replaced by an ensemble average.\n",{"path":16879,"title":16880,"module":16868,"summary":16881},"\u002Fstatistical-mechanics\u002Ffoundations\u002Fstatistical-entropy-boltzmann-and-gibbs","Statistical Entropy: Boltzmann and Gibbs","Entropy is the logarithm of the number of accessible microstates. This lesson builds the two statistical entropies — Boltzmann's S = k ln Omega for an isolated system and Gibbs's S = -k sum p ln p for any ensemble — proves they agree for a uniform distribution, and connects both to Shannon's measure of missing information. The second law emerges as the drift toward maximum multiplicity, and maximizing the Gibbs entropy under constraints previews the canonical distribution.\n",{"path":16883,"title":16884,"module":16885,"summary":16886},"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fmicrocanonical-ensemble-and-entropy","The Microcanonical Ensemble and Statistical Entropy","The Microcanonical Ensemble","An isolated system holds its energy, volume, and particle number fixed, and the fundamental postulate assigns equal probability to every microstate on its energy shell. This lesson builds the microcanonical distribution, defines the enclosed phase-space volume $\\Gamma(E)$, the surface density of states $\\omega(E)=\\d\\Gamma\u002F\\d E$, and the shell count $\\Omega(E)$, shows their logarithms agree to $O(\\ln N)$ for large $N$, and reads the Boltzmann entropy $S=k\\ln\\Omega$ off the count. The measure factors $h^{3N}$ and $N!$ enter here and make $S$ extensive.\n",{"path":16888,"title":16889,"module":16885,"summary":16890},"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fequilibrium-conditions-temperature-pressure-chemical-potential","Thermal, Mechanical, and Diffusive Equilibrium","Two isolated subsystems that can exchange energy, volume, or particles reach equilibrium at the partition that maximizes their combined entropy. Setting the derivative of the total entropy to zero identifies the statistical definitions $1\u002FT=(\\partial S\u002F\\partial E)$, $P\u002FT=(\\partial S\u002F\\partial V)$, and $-\\mu\u002FT=(\\partial S\u002F\\partial N)$, shows heat flows from hot to cold as an entropy increase, and recovers the fundamental relation $\\d S=(\\d E+P\\,\\d V-\\mu\\,\\d N)\u002FT$ from pure counting.\n",{"path":16892,"title":16893,"module":16885,"summary":16894},"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Fideal-gas-phase-space-and-the-sackur-tetrode-entropy","The Ideal Gas, Phase-Space Volume, and the Sackur–Tetrode Entropy","The monatomic ideal gas is the first system whose microcanonical count can be done in closed form. The momentum integral is the volume of a $3N$-dimensional ball of radius $\\sqrt{2mE}$, the configuration integral is $V^N$, and together they give the Sackur–Tetrode entropy $S=Nk[\\ln(V\u002FN\\lambda^3)+5\u002F2]$ with the thermal wavelength $\\lambda=h\u002F\\sqrt{2\\pi mkT}$. The formula matches the measured entropy of helium, fixes the classical regime $n\\ll n_Q$, and shows why the $N!$ is needed for extensivity.\n",{"path":16896,"title":16897,"module":16885,"summary":16898},"\u002Fstatistical-mechanics\u002Fmicrocanonical\u002Ftwo-state-systems-paramagnets-and-negative-temperature","Two-State Systems, Paramagnets, and Negative Temperature","The ideal two-state paramagnet has a multiplicity counted by the binomial coefficient, an entropy that is an inverted dome in the energy, and a temperature read from the slope $1\u002FT=\\partial S\u002F\\partial E$. Because the energy is bounded above, the slope changes sign past the entropy maximum: a population-inverted spin system has a negative absolute temperature, which is hotter than any positive temperature. Nuclear-spin experiments and lasers realize the inverted state.\n",{"path":16900,"title":16901,"module":16902,"summary":16903},"\u002Fstatistical-mechanics\u002Fcanonical\u002Fcanonical-ensemble-and-the-boltzmann-distribution","The Canonical Ensemble and the Boltzmann Distribution","The Canonical Ensemble","A system held at fixed temperature by contact with a heat reservoir is described by the canonical ensemble. Expanding the reservoir entropy to first order in the system energy gives the Boltzmann distribution $p_i\\propto e^{-\\beta E_i}$, and the same law follows from maximizing the Gibbs entropy at fixed mean energy. Both routes identify $\\beta=1\u002Fk_BT$ and fix the probability of every microstate from the temperature alone.\n",{"path":16905,"title":16906,"module":16902,"summary":16907},"\u002Fstatistical-mechanics\u002Fcanonical\u002Fpartition-function-and-the-helmholtz-free-energy","The Partition Function and the Helmholtz Free Energy","The normalizing sum of the Boltzmann distribution, the partition function $Z=\\sum_i e^{-\\beta E_i}$, is a generating function for the thermodynamics. The mean energy is $-\\partial\\ln Z\u002F\\partial\\beta$, and the Gibbs entropy of the canonical distribution collapses to the bridge relation $F=-k_BT\\ln Z$. From $F$ every thermodynamic quantity follows by differentiation, and $Z$ factorizes over independent degrees of freedom.\n",{"path":16909,"title":16910,"module":16902,"summary":16911},"\u002Fstatistical-mechanics\u002Fcanonical\u002Fenergy-fluctuations-and-ensemble-equivalence","Energy Fluctuations and the Equivalence of Ensembles","In the canonical ensemble the energy fluctuates, and the second derivative of $\\ln Z$ gives its variance. The fluctuation–response identity $\\langle\\Delta E^2\\rangle = k_BT^2C_V$ ties the spread of the energy to the heat capacity, and the relative fluctuation falls as $1\u002F\\sqrt{N}$. In the thermodynamic limit the canonical energy distribution is a sharp spike, and the canonical and microcanonical ensembles predict the same thermodynamics.\n",{"path":16913,"title":16914,"module":16902,"summary":16915},"\u002Fstatistical-mechanics\u002Fcanonical\u002Fthe-einstein-solid-and-harmonic-systems","Harmonic Systems: The Einstein Solid and Vibrational Heat Capacity","A quantum harmonic oscillator has a geometric partition function summed in closed form, giving a mean energy $\\hbar\\omega(\\tfrac12+\\langle n\\rangle)$ with the Bose occupation factor. Modeling a solid as $3N$ independent oscillators yields a heat capacity that rises from zero and saturates at the Dulong–Petit value $3Nk_B$. The Einstein temperature sets the crossover, and the model's exponential low-temperature falloff, too steep against the observed $T^3$, motivates the Debye theory.\n",{"path":16917,"title":16918,"module":16902,"summary":16919},"\u002Fstatistical-mechanics\u002Fcanonical\u002Fparamagnetism-and-the-schottky-anomaly","Paramagnetism, Two-Level Systems, and the Schottky Anomaly","A magnetic moment in a field is a two-level system whose partition function is a hyperbolic cosine. The magnetization of a spin-$\\tfrac12$ paramagnet is $N\\mu\\tanh(\\mu B\u002Fk_BT)$, generalizing to the Brillouin function for spin $J$; it gives Curie's law $\\chi\\propto 1\u002FT$ at high temperature and saturates at low temperature. A finite level gap produces the Schottky heat-capacity peak, and the temperature dependence of the entropy on the field is the basis of adiabatic demagnetization cooling.\n",{"path":16921,"title":16922,"module":16923,"summary":16924},"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fideal-gas-partition-function-and-the-gibbs-paradox","The Ideal Gas Partition Function and the Gibbs Paradox","The Classical Ideal Gas","The classical monatomic ideal gas built from the partition function. The single-particle sum is $z_1=V\u002F\\lambda^3$ with the thermal de Broglie wavelength $\\lambda$; the $N$-particle partition function is $z_1^N\u002FN!$, and the $N!$ is forced by indistinguishability. From $Z$ the ideal-gas law, $U=\\tfrac32 Nk_BT$, and the Sackur–Tetrode entropy follow. The $N!$ makes the entropy extensive and resolves the Gibbs paradox: mixing identical gases produces no entropy change.\n",{"path":16926,"title":16927,"module":16923,"summary":16928},"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fequipartition-and-the-virial-theorem","Equipartition and the Virial Theorem","The equipartition theorem derived from the canonical ensemble: every phase-space coordinate that enters the Hamiltonian quadratically carries a mean energy $\\tfrac12 k_BT$. The generalized form $\\langle x_i\\,\\partial H\u002F\\partial x_j\\rangle = k_BT\\,\\delta_{ij}$ contains equipartition and the classical virial theorem as special cases. Equipartition fixes the classical heat capacities, fails by quantum freeze-out when a level gap exceeds $k_BT$, and shifts for a relativistic gas whose energy is linear rather than quadratic in momentum.\n",{"path":16930,"title":16931,"module":16923,"summary":16932},"\u002Fstatistical-mechanics\u002Fclassical-gas\u002Fmolecular-gases-rotation-and-vibration","Molecular Gases: Rotational and Vibrational Degrees of Freedom","The internal partition function of a diatomic gas factorizes into translational, rotational, vibrational, and electronic parts. The rigid rotor gives a rotational temperature $\\theta_{\\rm rot}$; the harmonic bond gives a vibrational temperature $\\theta_{\\rm vib}$. Each mode contributes to the heat capacity only above its characteristic temperature, producing the diatomic $C_V$ staircase from $\\tfrac32 R$ to $\\tfrac52 R$ to $\\tfrac72 R$. Homonuclear molecules carry a symmetry number, and hydrogen splits into ortho and para species.\n",{"path":16934,"title":16935,"module":16936,"summary":16937},"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fgrand-canonical-ensemble-and-the-grand-partition-function","The Grand Canonical Ensemble","Grand Canonical Ensemble","When a system exchanges both energy and particles with a reservoir, the reservoir fixes its temperature and its chemical potential. Expanding the reservoir entropy to first order in the exchanged energy and particle number gives the Gibbs factor $e^{-\\beta(E-\\mu N)}$, and summing it over every microstate of every particle number gives the grand partition function $\\Xi$. The grand potential $\\Phi = -k_BT\\ln\\Xi = -PV$ generates the mean particle number, energy, entropy, and pressure by differentiation.\n",{"path":16939,"title":16940,"module":16936,"summary":16941},"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fchemical-potential-fugacity-and-number-fluctuations","Chemical Potential, Fugacity, and Number Fluctuations","The chemical potential is the energy to add one particle at fixed entropy and volume, equal to the slope of the free energy in the particle number. For the classical ideal gas $\\mu=k_BT\\ln(n\\lambda^3)$ is large and negative, and the fugacity $z=n\\lambda^3$ is small. The grand ensemble makes the particle number fluctuate; its variance $\\langle\\Delta N^2\\rangle=k_BT(\\partial N\u002F\\partial\\mu)$ equals $k_BT\\,N^2\\kappa_T\u002FV$, tying density fluctuations to the isothermal compressibility. Equality of $\\mu$ is the condition for diffusive equilibrium and phase coexistence.\n",{"path":16943,"title":16944,"module":16936,"summary":16945},"\u002Fstatistical-mechanics\u002Fgrand-canonical\u002Fensemble-summary-and-the-thermodynamic-web","The Three Ensembles and the Thermodynamic Web","The microcanonical, canonical, and grand canonical ensembles hold different variables fixed and generate different potentials — the entropy $S$, the Helmholtz free energy $F$, and the grand potential $\\Phi$ — linked by Legendre transforms that trade each fixed variable for its conjugate. Each successive ensemble lets one more quantity fluctuate. In the thermodynamic limit the three agree, the relative fluctuations vanishing as $1\u002F\\sqrt{N}$; the ideal gas gives the same equation of state in all three. The choice of ensemble is a matter of convenience, set by which sum is easiest.\n",{"path":16947,"title":16948,"module":16949,"summary":16950},"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fquantum-statistics-bose-einstein-and-fermi-dirac","Quantum Statistics — Bose-Einstein and Fermi-Dirac","Quantum Statistics","Quantum particles of the same kind are genuinely indistinguishable: no label survives an overlap of their wave functions. Counting states with that constraint replaces the Boltzmann distribution with two quantum laws — the Bose-Einstein distribution for integer-spin particles, which clump into shared states, and the Fermi-Dirac distribution for half-integer-spin particles, which exclude one another. Both reduce to Boltzmann in the dilute, hot limit, and a de Broglie criterion says exactly when.\n",{"path":16952,"title":16953,"module":16949,"summary":16954},"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fderiving-the-quantum-distributions","Deriving the Quantum Distributions from the Grand Ensemble","The Bose-Einstein and Fermi-Dirac distributions follow from one observation: in the occupation-number representation the single-particle modes are independent, so the grand partition function factorizes into one factor per mode. A boson mode sums a geometric series over all occupancies; a fermion mode sums two terms. Differentiating each factor gives the mean occupation $1\u002F(e^{\\beta(\\varepsilon-\\mu)}\\mp 1)$, the Maxwell-Boltzmann limit when occupancies are small, and the occupation fluctuations that distinguish bunching from anti-bunching.\n",{"path":16956,"title":16957,"module":16949,"summary":16958},"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fthe-classical-limit-and-quantum-concentration","The Classical Limit and Quantum Concentration","When every single-particle level is nearly empty, both quantum distributions collapse to the Maxwell-Boltzmann form, and the fugacity equals the ratio of the number density to the quantum concentration $n_Q = 1\u002F\\lambda^3$. The gas is classical when $n \\ll n_Q$, degenerate when $n \\gtrsim n_Q$. The chemical potential is large and negative in the classical regime and rises through zero as the gas degenerates. The leading quantum correction to the ideal-gas law is a second virial term that lowers the pressure for bosons and raises it for fermions — a statistical attraction and repulsion with no interaction behind it.\n",{"path":16960,"title":16961,"module":16949,"summary":16962},"\u002Fstatistical-mechanics\u002Fquantum-statistics\u002Fideal-quantum-gases-general-framework","Ideal Quantum Gases: The General Framework","Every ideal quantum gas is handled by one calculation. The sum over single-particle modes becomes an energy integral weighted by a density of states $g(\\varepsilon)\\propto\\varepsilon^{1\u002F2}$, and the number and pressure reduce to the Bose and Fermi functions $g_\\nu(z)$ and $f_\\nu(z)$ of the fugacity. An integration by parts fixes $PV=\\tfrac23 U$ for a nonrelativistic gas and $PV=\\tfrac13 U$ for an ultrarelativistic one, independent of statistics. Specializing the density of states and the chemical potential then produces the photon gas, phonons, the Bose gas, and the Fermi gas as four branches of the same framework.\n",{"path":16964,"title":16965,"module":16966,"summary":16967},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-and-the-fermion-gas","Bose-Einstein Condensation and the Fermion Gas","Bosonic Systems","Below a critical temperature a boson gas drops a macroscopic fraction of its particles into the single ground state — Bose-Einstein condensation, the mechanism behind superfluid helium and the dilute-atom condensates cooled to nanokelvin. The same statistics applied to a photon gas reproduces Planck's blackbody spectrum. Fermions do the opposite: forbidden from sharing states, they fill every level up to the Fermi energy, and that filled sea governs the electrons in metals and the pressure that holds up a white dwarf.\n",{"path":16969,"title":16970,"module":16966,"summary":16971},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthe-photon-gas-and-plancks-radiation-law","The Photon Gas and Planck's Radiation Law","Electromagnetic radiation in equilibrium with cavity walls is a gas of non-conserved bosons, and non-conservation forces the chemical potential to zero. Counting standing-wave modes with two polarizations and weighting each by the Bose occupation gives the Planck spectral energy density. Its low-frequency tail reproduces the classical Rayleigh-Jeans law and the ultraviolet catastrophe; the Bose factor cuts the divergence off at high frequency and the peak obeys Wien's displacement law.\n",{"path":16973,"title":16974,"module":16966,"summary":16975},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fblackbody-thermodynamics-and-radiation-pressure","Blackbody Thermodynamics and Radiation Pressure","Integrating the Planck spectrum over all frequencies gives the total energy density proportional to the fourth power of temperature — the Stefan-Boltzmann law — and the isotropy of a relativistic gas fixes the radiation pressure at one third of the energy density. From the free energy follow the entropy and heat capacity, both proportional to T cubed, and the adiabatic law for radiation. The results govern the pressure inside stars and the cooling of the cosmic microwave background as the universe expands.\n",{"path":16977,"title":16978,"module":16966,"summary":16979},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fphonons-and-the-debye-model","Phonons and the Debye Model","The vibrations of a crystal lattice are quantized into phonons — bosons of zero chemical potential, counted exactly like cavity photons but with three polarizations, a finite sound speed, and a total of 3N modes. The Debye model replaces the true dispersion by a linear one cut off at a frequency that enforces that count. It gives the correct low-temperature T-cubed heat capacity the Einstein model missed and recovers the Dulong-Petit value at high temperature.\n",{"path":16981,"title":16982,"module":16966,"summary":16983},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fbose-einstein-condensation-derived","Bose-Einstein Condensation Derived","For a gas of conserved bosons the excited states can hold only a finite number of particles at fixed temperature, set by the Bose function at unit fugacity. When the total exceeds that ceiling the surplus collapses into the single ground state, which the continuum density-of-states integral misses and which must be restored by hand. This fixes the critical temperature, the condensate fraction, and the fact that a uniform gas condenses only in three or more dimensions.\n",{"path":16985,"title":16986,"module":16966,"summary":16987},"\u002Fstatistical-mechanics\u002Fbose-systems\u002Fthermodynamics-of-the-bose-gas-and-superfluidity","Thermodynamics of the Bose Gas and Superfluidity","The energy and pressure of the ideal Bose gas follow from the Bose function at the order above the density, and below the critical temperature the pressure depends on temperature alone because the condensate carries none. The heat capacity rises to a cusp at the transition. Real superfluid helium departs from the ideal gas because interactions matter: the Landau criterion ties frictionless flow to the phonon-roton excitation spectrum, and the two-fluid model carries a second sound.\n",{"path":16989,"title":16990,"module":16991,"summary":16992},"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fthe-ideal-fermi-gas-at-zero-temperature","The Ideal Fermi Gas at Zero Temperature","Degenerate Fermi Gas","At absolute zero a gas of non-interacting fermions fills every single-particle state up to the Fermi energy and leaves the rest empty, a filled Fermi sphere in momentum space. This lesson computes the Fermi momentum, energy, and temperature from the density, the density of states, the total ground-state energy, and the degeneracy pressure that grows as $n^{5\u002F3}$. Numerical Fermi energies for metals set the scale: they are electron-volts, so room temperature is deep in the degenerate regime.\n",{"path":16994,"title":16995,"module":16991,"summary":16996},"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fsommerfeld-expansion-and-electrons-in-metals","The Sommerfeld Expansion and Electrons in Metals","Turning on a small temperature blurs the Fermi step over a shell of width $k_BT$ around $\\epsilon_F$. The Sommerfeld expansion turns integrals over the Fermi function into a power series in $(k_BT\u002F\\epsilon_F)^2$, giving the shift of the chemical potential and a heat capacity linear in $T$. This resolves the old puzzle of the missing electronic heat capacity, predicts the combined $C=\\gamma T+AT^3$ of a metal, and gives the temperature-independent Pauli paramagnetism of the electron gas.\n",{"path":16998,"title":16999,"module":16991,"summary":17000},"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fwhite-dwarfs-and-the-chandrasekhar-limit","White Dwarfs and the Chandrasekhar Limit","A white dwarf is held up against its own gravity by the degeneracy pressure of its electrons. Balancing that pressure against gravity gives a mass-radius relation $R\\propto M^{-1\u002F3}$: heavier white dwarfs are smaller and denser. As the density rises the electrons turn relativistic, the pressure softens from $n^{5\u002F3}$ to $n^{4\u002F3}$, and the star can no longer support itself above a critical mass. This lesson derives that Chandrasekhar mass, about $1.4\\,M_\\odot$, and what lies beyond it.\n",{"path":17002,"title":17003,"module":16991,"summary":17004},"\u002Fstatistical-mechanics\u002Ffermi-gas\u002Fneutron-stars-and-nuclear-matter","Neutron Stars and Dense Matter","When a collapsing core passes nuclear density, electron capture converts the matter to neutrons and their degeneracy pressure takes over. The same balance that fixes a white dwarf, rescaled by the neutron mass, gives a neutron star of a few solar masses in a ten-kilometre radius. General relativity is no longer a correction: the Tolman-Oppenheimer-Volkoff equation replaces the Newtonian balance and sets a maximum mass around two solar masses. This lesson rescales the Fermi-gas argument, states where it breaks, and places the compact objects in one stability sequence.\n",{"path":17006,"title":17007,"module":17008,"summary":17009},"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-cluster-expansion-and-virial-coefficients","The Cluster Expansion and Virial Coefficients","Interacting Gases","A real gas departs from $PV=Nk_BT$ because its molecules interact. The configuration integral factors through the Mayer function $f_{ij}=e^{-\\beta u_{ij}}-1$, and expanding it in powers of density produces the virial expansion $PV\u002FNk_BT = 1 + B_2(T)n + B_3(T)n^2 + \\cdots$. The second virial coefficient $B_2(T)=-\\tfrac12\\int f\\,\\d^3r$ is a single integral over the pair potential; it is positive for a hard core, negative for an attractive well, and vanishes at the Boyle temperature where the two balance.\n",{"path":17011,"title":17012,"module":17008,"summary":17013},"\u002Fstatistical-mechanics\u002Finteractions\u002Fthe-van-der-waals-gas-and-liquid-gas-coexistence","The van der Waals Gas and Liquid-Gas Coexistence","Resumming the second virial coefficient $B_2=b-a\u002Fk_BT$ into an equation of state gives the van der Waals model $(P+a\u002Fv^2)(v-b)=k_BT$, the simplest theory of a fluid that condenses. Below the critical temperature its isotherms develop a mechanically unstable loop; the Maxwell equal-area construction replaces the loop with a coexistence tie line. The critical point sits at $v_c=3b$, $k_BT_c=8a\u002F27b$, $P_c=a\u002F27b^2$, and the model predicts universal but incorrect critical exponents because it ignores fluctuations.\n",{"path":17015,"title":17016,"module":17008,"summary":17017},"\u002Fstatistical-mechanics\u002Finteractions\u002Fquantum-gases-with-interactions-and-exchange","Quantum Gases with Interactions and Statistical Exchange","A quantum gas has a nonzero second virial coefficient even with no forces between the particles: symmetrization alone produces an effective statistical interaction, attractive for bosons and repulsive for fermions, with range the thermal wavelength $\\lambda$. This lesson derives that exchange contribution $B_2=\\mp\\lambda^3\u002F2^{5\u002F2}g$, writes it as a statistical potential $v_s(r)=-k_BT\\ln(1\\pm e^{-2\\pi r^2\u002F\\lambda^2})$, and shows how real interactions add on top through the Beth-Uhlenbeck phase-shift formula, reducing at low temperature to a single scattering length.\n",{"path":17019,"title":17020,"module":17021,"summary":17022},"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fphases-coexistence-and-classification","Phases, Coexistence, and the Classification of Transitions","Phase Transitions","A phase transition is a point where the free energy of a substance loses analyticity, so a small change in temperature or pressure produces a qualitative change of state. This lesson maps the coexistence curves of a pure substance, derives the Clausius-Clapeyron relation between the slope of a coexistence line and its latent heat, and separates first-order transitions (discontinuous entropy and density) from continuous ones (a vanishing order parameter and divergent response). The Ehrenfest scheme, the order parameter, and the triple and critical points fix the vocabulary the rest of the module builds on.\n",{"path":17024,"title":17025,"module":17021,"summary":17026},"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-ising-model-and-exact-solutions","The Ising Model and Exact Results","The Ising model reduces cooperative ordering to spins on a lattice coupled to their neighbors, and the same Hamiltonian describes uniaxial magnets, the liquid-gas critical point through the lattice gas, and binary alloys. This lesson solves the one-dimensional chain exactly with the transfer matrix, shows by a domain-wall argument why one dimension has no ordered phase at any positive temperature, contrasts the survival of order in two dimensions, and quotes Onsager's exact two-dimensional results: the critical temperature, the logarithmically divergent heat capacity, and the magnetization exponent one eighth.\n",{"path":17028,"title":17029,"module":17021,"summary":17030},"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fmean-field-theory-and-the-weiss-model","Mean-Field Theory and Spontaneous Symmetry Breaking","Mean-field theory replaces the neighbors of each spin by their average, turning the interacting Ising model into a single spin in a self-consistent field. The resulting equation m = tanh(beta J z m + beta h) has only the zero solution above a critical temperature and gains a nonzero root below it, giving spontaneous magnetization and a mean-field critical temperature k T_c = J z. The Bragg-Williams free energy turns single-welled above T_c and double-welled below, the picture of spontaneous symmetry breaking. The approximation is exact in high dimension and fails below the upper critical dimension four, quantified by the Ginzburg criterion.\n",{"path":17032,"title":17033,"module":17021,"summary":17034},"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fcritical-exponents-and-landau-theory","Critical Exponents, Scaling, and Landau Theory","Near a continuous transition every singular quantity follows a power law in the reduced temperature, and the exponents alpha, beta, gamma, delta, nu, and eta encode the transition more sharply than T_c itself. Landau theory expands the free energy in the order parameter and delivers the mean-field exponents in a few lines. They disagree with experiment and with the exact two-dimensional Ising values, but the exponents are not independent: the scaling relations of Rushbrooke, Widom, Fisher, and Josephson tie them together, and the correlation length sets the length scale that organizes universality classes.\n",{"path":17036,"title":17037,"module":17021,"summary":17038},"\u002Fstatistical-mechanics\u002Fphase-transitions\u002Fthe-renormalization-group-idea","Scaling and the Renormalization-Group Idea","At a critical point fluctuations exist on every length scale, so the system looks the same after coarse-graining. The renormalization group makes this self-similarity a computation: group spins into blocks, integrate out the short scales, and track how the couplings change. The transformation has fixed points, and the flow near a critical fixed point separates relevant couplings that grow from irrelevant ones that shrink, which is why only dimension and symmetry survive to set the exponents. The one-dimensional Ising decimation carries the whole scheme through in closed form and reproduces the absence of a finite-temperature transition.\n",{"path":17040,"title":17041,"module":17042,"summary":17043},"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fthermodynamic-fluctuations-and-response","Thermodynamic Fluctuations and Response Functions","Fluctuations and Response","Thermodynamic variables are sharp only on average; a macroscopic system in equilibrium fluctuates about its mean values. Einstein inverted Boltzmann's $S=k_B\\ln\\Omega$ into a Gaussian probability for a fluctuation, $w\\propto e^{\\Delta S\u002Fk_B}$, and the second moments it predicts reproduce the response functions: $\\langle\\Delta E^2\\rangle=k_BT^2C_V$, $\\langle\\Delta V^2\\rangle=k_BTV\\kappa_T$, $\\langle\\Delta M^2\\rangle=k_BT\\chi_T$. The variances diverge where the responses diverge, at a critical point, producing critical opalescence and the breakdown of the thermodynamic description.\n",{"path":17045,"title":17046,"module":17042,"summary":17047},"\u002Fstatistical-mechanics\u002Ffluctuations\u002Fbrownian-motion-and-the-langevin-equation","Brownian Motion and the Langevin Equation","A pollen grain in water executes a random walk driven by molecular collisions. Einstein tied its diffusion constant to its mobility, $D=\\mu_{\\mathrm{mob}}k_BT$, turning a visible motion into a measurement of Avogadro's number. The Langevin equation splits the collisions into a systematic drag and a random force whose strength is fixed by the drag through $\\langle\\xi(t)\\xi(t')\\rangle=2\\gamma k_BT\\,\\delta(t-t')$ — the first fluctuation–dissipation relation. The mean-square displacement grows ballistically at short times and linearly, $\\langle r^2\\rangle=2dDt$, at long times, and the Stokes–Einstein relation $D=k_BT\u002F6\\pi\\eta a$ closes the loop to Perrin's experiments.\n",{"path":17049,"title":17050,"module":17042,"summary":17051},"\u002Fstatistical-mechanics\u002Ffluctuations\u002Flinear-response-and-the-fluctuation-dissipation-theorem","Linear Response and the Fluctuation-Dissipation Theorem","A system driven by a weak external field responds through a generalized susceptibility $\\chi(\\omega)$ whose imaginary part measures dissipation. The Wiener–Khinchin theorem makes the power spectrum of equilibrium fluctuations the Fourier transform of their correlation function, and the fluctuation–dissipation theorem ties the two together: $S_x(\\omega)=(2k_BT\u002F\\omega)\\,\\chi''(\\omega)$, so the spectrum of spontaneous fluctuations is fixed by the dissipative response. The Johnson–Nyquist noise of a resistor, $\\langle V^2\\rangle=4k_BTR\\,\\Delta f$, is the canonical example, and Onsager reciprocity closes the subject.\n",{"path":17053,"title":17054,"module":6,"summary":6},"\u002Fstatistical-mechanics","Statistical Mechanics",{"path":17056,"title":17057,"module":17058,"summary":17059},"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fbonding-mechanisms","Bonding Mechanisms","Molecules and Chemical Bonding","A molecule forms when the total energy of two atoms drops below the energy of the separated pair. This lesson works through the four mechanisms that produce that minimum: the ionic bond from charge transfer, the covalent bond from shared electron wave functions, the metallic bond, and the weak dipole-dipole and hydrogen bonds, computing bond lengths and dissociation energies for NaCl, H₂, and H₂⁺.\n",{"path":17061,"title":17062,"module":17058,"summary":17063},"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fmolecular-orbitals-and-h2-plus","The Molecular-Orbital Method and H₂⁺","The hydrogen molecule ion is the two-center problem that fixes the language of chemical bonding. This lesson builds the molecular orbital as a linear combination of atomic orbitals, minimizes the energy through the variational secular equation, and reduces the result to three two-center integrals: the overlap, the Coulomb term, and the exchange (resonance) integral. The bonding and antibonding levels, their potential-energy curves, and the charge piled between the nuclei follow from those integrals.\n",{"path":17065,"title":17066,"module":17058,"summary":17067},"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fhydrogen-molecule-and-exchange","The Hydrogen Molecule, Exchange, and Hybridization","Adding the second electron turns the one-electron ion into the two-electron hydrogen molecule, where electron-electron repulsion and the Pauli principle govern the bond. This lesson contrasts the Heitler-London valence-bond and molecular-orbital wave functions, derives the singlet-triplet splitting as an exchange energy, shows why naive molecular orbitals fail at dissociation, and builds the sp, sp², and sp³ hybrids that fix the directed geometry of covalent bonds.\n",{"path":17069,"title":17070,"module":17058,"summary":17071},"\u002Fcondensed-matter\u002Fmolecules-and-bonding\u002Fvan-der-waals-forces","Van der Waals Forces","The bond of last resort acts between all atoms, even closed-shell noble gases with no permanent moment. This lesson separates the three van der Waals contributions — Keesom orientation, Debye induction, and London dispersion — derives the London 1\u002Fr⁶ attraction from the coupled-oscillator and second-order perturbation pictures, and assembles the Lennard-Jones potential to compute the equilibrium spacing and cohesive energy of the noble-gas crystals, argon in particular.\n",{"path":17073,"title":17074,"module":17075,"summary":17076},"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Frotational-vibrational-spectra","Rotational and Vibrational Spectra of Molecules","Molecular Spectra","A diatomic molecule stores energy in three well-separated ledgers: electronic, vibrational, and rotational. Quantizing the rigid rotor gives levels spaced as ℓ(ℓ+1); quantizing the bond as a harmonic oscillator gives equally spaced vibrational levels. Their combination produces the P and R branches of an infrared absorption band, from which the bond length and force constant are read directly.\n",{"path":17078,"title":17079,"module":17075,"summary":17080},"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Fanharmonicity-and-rovibrational-structure","Anharmonicity and Rovibrational Structure","The rigid rotor and harmonic oscillator are first approximations. A real bond follows the Morse potential, whose levels converge toward dissociation; a real rotor stretches centrifugally; and vibration couples to rotation, so the rotational constant depends on the vibrational level. This lesson works out the anharmonic and centrifugal corrections, the Birge-Sponer route to the dissociation energy, the isotope shift, and the thermal band envelope.\n",{"path":17082,"title":17083,"module":17075,"summary":17084},"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Framan-and-electronic-bands","Raman Scattering and Electronic Bands","Not every vibration absorbs in the infrared. Raman scattering reaches modes that modulate the polarizability, giving Stokes and anti-Stokes lines whose intensity ratio measures temperature, and the mutual-exclusion rule pairs it with infrared absorption. Electronic transitions add the vibronic structure of band spectra, governed by the Franck-Condon principle, and the radiative fates of an excited state are sorted by the Jablonski diagram into fluorescence and phosphorescence.\n",{"path":17086,"title":17087,"module":17075,"summary":17088},"\u002Fcondensed-matter\u002Fmolecular-spectra\u002Flasers-and-masers","Lasers, Masers, and Stimulated Emission","Einstein's three radiative processes — absorption, spontaneous emission, and stimulated emission — and the coefficients that relate them. Stimulated emission produces coherent photons, and inverting the level populations turns it into net amplification. We build the ruby three-level laser and the helium-neon four-level laser, and show why the fourth level makes inversion easy.\n",{"path":17090,"title":17091,"module":17092,"summary":17093},"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fstructure-of-solids","The Structure of Solids","Crystal Structure","A crystal is a unit cell repeated in three dimensions. We classify the common cubic lattices, compute the Coulomb energy of an ionic crystal through the Madelung constant, and show how the divergent naive lattice sum is tamed by cubic shells. The cohesive energy that results predicts melting points and connects the diatomic bond of an earlier lesson to the bulk solid.\n",{"path":17095,"title":17096,"module":17092,"summary":17097},"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fbravais-lattices-and-crystal-systems","Bravais Lattices, Bases, and Crystal Structures","A crystal is a Bravais lattice decorated by a basis. This lesson separates the two, builds primitive and Wigner-Seitz cells, enumerates the seven crystal systems and fourteen Bravais lattices, and fixes the language of point and space groups. Miller indices label planes and directions, and the packing fractions of the close-packed, cubic, and diamond structures follow from the geometry.\n",{"path":17099,"title":17100,"module":17092,"summary":17101},"\u002Fcondensed-matter\u002Fcrystal-structure\u002Freciprocal-lattice-and-brillouin-zones","The Reciprocal Lattice and Brillouin Zones","Every periodic crystal has a dual lattice in wavevector space. This lesson defines the reciprocal lattice through the condition b_i dot a_j equals two pi delta, derives its properties, shows the reciprocal of fcc is bcc, links reciprocal vectors to families of lattice planes, and builds the first Brillouin zone as the Wigner-Seitz cell of the reciprocal lattice, including the higher zones.\n",{"path":17103,"title":17104,"module":17092,"summary":17105},"\u002Fcondensed-matter\u002Fcrystal-structure\u002Fdiffraction-and-structure-factors","X-ray and Neutron Diffraction","A crystal diffracts radiation whose wavelength matches its atomic spacing. This lesson derives the Bragg condition, the equivalent Laue condition 2k dot G equals G squared, and the Ewald-sphere construction, then computes the geometric structure factor that produces systematic absences for bcc and fcc, the atomic form factor, and the powder method. It closes on why neutrons and electrons complement X-rays.\n",{"path":17107,"title":17108,"module":17109,"summary":17110},"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonon-dispersion","The Harmonic Crystal and Phonon Dispersion","Lattice Dynamics","Atoms in a crystal vibrate about their equilibrium sites, and expanding the potential to second order turns the whole lattice into a set of coupled harmonic oscillators. This lesson sets up the harmonic approximation and the dynamical matrix, solves the monatomic linear chain for its dispersion omega(k) = 2 sqrt(K\u002FM) times the absolute sine of ka over two, explains why wavevectors outside the first Brillouin zone are redundant, and extends the chain to two atoms per cell to produce acoustic and optical branches with a frequency gap.\n",{"path":17112,"title":17113,"module":17109,"summary":17114},"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fphonons-quantization-and-dos","Phonons, Density of States, and Crystal Momentum","Quantizing the normal modes of a harmonic crystal turns each vibrational mode into a quantum oscillator whose excitations are phonons. This lesson counts phonons with Bose-Einstein statistics, defines crystal momentum and the normal versus Umklapp distinction in momentum conservation, builds the density of states with its van Hove singularities, and shows how inelastic neutron scattering measures a dispersion curve point by point.\n",{"path":17116,"title":17117,"module":17109,"summary":17118},"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fdebye-einstein-heat-capacity","Thermal Properties — Einstein and Debye Models","The lattice heat capacity follows the classical Dulong-Petit value at high temperature but collapses toward zero as T approaches zero, a purely quantum effect. This lesson derives that behavior from the Einstein model of a single frequency, then the Debye model of a linear phonon spectrum with a cutoff, obtaining the Debye T-cubed law at low temperature and the Debye interpolation across all temperatures, and closes with thermal expansion and the Gruneisen parameter.\n",{"path":17120,"title":17121,"module":17109,"summary":17122},"\u002Fcondensed-matter\u002Flattice-dynamics\u002Fanharmonicity-and-thermal-transport","Anharmonicity, Thermal Expansion, and Heat Conduction","A perfectly harmonic crystal neither expands when heated nor resists heat flow. Both effects come from the cubic and higher terms the harmonic approximation discards. This lesson derives thermal expansion from an asymmetric interatomic potential, treats phonon-phonon scattering as the decay channel these terms open, shows why Umklapp processes are what make lattice thermal conductivity finite, and traces the temperature dependence of the conductivity and the phonon mean free path.\n",{"path":17124,"title":17125,"module":17126,"summary":17127},"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ffree-electron-gas-and-conduction","Conduction and the Free-Electron Gas","Free-Electron Fermi Gas","Drude's classical free-electron model gets Ohm's law right but the resistivity, its temperature dependence, and the heat capacity wrong. Replacing the Maxwell-Boltzmann distribution with the Fermi-Dirac distribution and treating electron-lattice collisions as wave scattering repairs all three: the Fermi energy, Fermi speed, and a mean free path set by thermal lattice vibrations.\n",{"path":17129,"title":17130,"module":17126,"summary":17131},"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fsommerfeld-model-and-heat-capacity","The Sommerfeld Model: Ground State and Heat Capacity","Quantizing the free-electron gas in a box fills a Fermi sphere in k-space. The density of states grows as the square root of energy in three dimensions, and the Fermi energy, temperature, and wavevector follow for real metals. The Sommerfeld expansion shows only a thermal shell of width k_BT near E_F is excited, giving an electronic heat capacity linear in T that sits beneath the phonon T-cubed term.\n",{"path":17133,"title":17134,"module":17126,"summary":17135},"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Ftransport-and-the-hall-effect","Transport, Wiedemann–Franz, and the Hall Effect","The relaxation-time picture displaces the Fermi sphere under an applied field and gives the electrical conductivity ne-squared-tau over m. The same electrons carry heat, and their ratio yields the Wiedemann–Franz law with the universal Lorenz number. A magnetic field bends the carriers into cyclotron orbits and produces the Hall voltage, whose sign reveals the charge of the carriers.\n",{"path":17137,"title":17138,"module":17126,"summary":17139},"\u002Fcondensed-matter\u002Ffree-electron-fermi-gas\u002Fscreening-and-plasmons","Screening, Plasmons, and the Limits of Free Electrons","A mobile electron gas rearranges to screen any foreign charge, turning the bare Coulomb potential into a short-ranged Yukawa form over the Thomas–Fermi length. Displaced collectively, the gas rings at the plasma frequency, whose quantum is the plasmon and whose value sets the reflectivity edge of metals. A ledger of free-electron successes and failures then motivates band theory.\n",{"path":17141,"title":17142,"module":17143,"summary":17144},"\u002Fcondensed-matter\u002Fband-theory\u002Fblochs-theorem-and-energy-bands","Bloch's Theorem and Energy Bands","Band Theory","An electron in a periodic potential has stationary states that are plane waves modulated by a lattice-periodic envelope. This lesson proves Bloch's theorem two ways, defines crystal momentum and the band index, counts the allowed wavevectors from Born–von Kármán boundary conditions, and sets up the extended, reduced, and repeated-zone descriptions of a band.\n",{"path":17146,"title":17147,"module":17143,"summary":17148},"\u002Fcondensed-matter\u002Fband-theory\u002Fnearly-free-electron-model","The Nearly-Free-Electron Model","A weak periodic potential leaves the free-electron parabola almost intact except near Brillouin-zone boundaries, where two nearly degenerate plane waves mix. This lesson solves the resulting two-by-two secular problem, shows the gap of size twice the potential component opening at each boundary, identifies the two standing waves that pile charge on and between the ions, and works the exactly solvable Kronig–Penney model.\n",{"path":17150,"title":17151,"module":17143,"summary":17152},"\u002Fcondensed-matter\u002Fband-theory\u002Ftight-binding-method","The Tight-Binding Method","The opposite limit to nearly-free electrons builds bands from atomic orbitals. A Bloch sum of one orbital per site gives a dispersion set by the hopping integral between neighbours; the band widens from a sharp atomic level as the atoms approach. This lesson derives the s-band cosine dispersion, extends it to p-bands, and introduces Wannier functions as the localized dual of Bloch states.\n",{"path":17154,"title":17155,"module":17143,"summary":17156},"\u002Fcondensed-matter\u002Fband-theory\u002Ffermi-surfaces-and-semiclassical-dynamics","Fermi Surfaces, Effective Mass, and Metals vs Insulators","Filling the bands settles which crystals conduct. A filled band carries no current, so a crystal with filled bands and a gap is an insulator, while a partly filled band makes a metal. This lesson derives the no-current theorem for a filled band, defines the Fermi surface and Harrison's construction, introduces holes and the effective mass from band curvature, and states the semiclassical equations of motion that lead to Bloch oscillations.\n",{"path":17158,"title":17159,"module":17160,"summary":17161},"\u002Fcondensed-matter\u002Fsemiconductors\u002Fsemiconductor-bands-and-junctions","Band Theory and Semiconductors","Semiconductors","The periodic lattice splits atomic levels into allowed energy bands separated by forbidden gaps. Whether the highest occupied band is full or partly full, and how wide the gap above it is, sorts every solid into conductor, insulator, or semiconductor. Doping adds donor or acceptor levels inside the gap, and a p-n junction built from doped regions gives the diode, the solar cell, the LED, and the transistor.\n",{"path":17163,"title":17164,"module":17160,"summary":17165},"\u002Fcondensed-matter\u002Fsemiconductors\u002Fintrinsic-and-extrinsic-semiconductors","Carrier Statistics: Intrinsic and Extrinsic Semiconductors","The number of mobile electrons and holes in a semiconductor follows from the density of states near each band edge and the Fermi-Dirac tail that reaches into it. This lesson derives the effective densities of states, the intrinsic concentration and its exponential gap dependence, the law of mass action, the temperature march of the Fermi level, and the freeze-out, saturation, and intrinsic regimes of a doped crystal.\n",{"path":17167,"title":17168,"module":17160,"summary":17169},"\u002Fcondensed-matter\u002Fsemiconductors\u002Fcarrier-transport-and-recombination","Carrier Transport and Recombination","Carriers move by drift in a field and by diffusion down a concentration gradient, the two tied together by the Einstein relation. This lesson derives mobility and its scattering-limited temperature dependence, the drift and diffusion currents, the continuity equations, band-to-band and trap-assisted recombination, and the minority-carrier lifetime and diffusion length that set the length scale of every junction device.\n",{"path":17171,"title":17172,"module":17160,"summary":17173},"\u002Fcondensed-matter\u002Fsemiconductors\u002Fthe-pn-junction","The p-n Junction in Depth","Joining p-type and n-type silicon aligns their Fermi levels and leaves a depletion region of fixed charge with a built-in potential. This lesson derives the space-charge field and potential from Poisson's equation in the depletion approximation, the built-in voltage from Fermi-level alignment, the Shockley diode equation from minority-carrier diffusion, junction and diffusion capacitance, and the avalanche and Zener breakdown mechanisms.\n",{"path":17175,"title":17176,"module":17160,"summary":17177},"\u002Fcondensed-matter\u002Fsemiconductors\u002Ftransistors-and-optoelectronics","Transistors and Optoelectronic Devices","Two junctions in series make a bipolar transistor whose thin base gives current gain; a gate over an oxide makes a MOSFET whose inversion channel switches digital logic. Run in reverse, a junction converts photons to current. This lesson derives the transistor current gain and the MOSFET channel current, then treats the LED, the diode laser, and the illuminated solar-cell characteristic.\n",{"path":17179,"title":17180,"module":17181,"summary":17182},"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fdielectrics-and-polarization","Dielectrics, Polarization, and the Local Field","Dielectrics and Ferroelectrics","An insulator responds to an electric field by polarizing. This lesson builds the macroscopic polarization and the dielectric constant, sorts the microscopic response into electronic, ionic, and orientational polarizability, and corrects the field an atom actually feels to the Lorentz local field E + P\u002F3 epsilon-0. The Clausius-Mossotti relation links the measured permittivity to the atomic polarizability, and the frequency dependence of each mechanism explains why the static and optical dielectric constants differ.\n",{"path":17184,"title":17185,"module":17181,"summary":17186},"\u002Fcondensed-matter\u002Fdielectrics-and-ferroelectrics\u002Fferroelectrics-and-piezoelectrics","Ferroelectrics, Piezoelectrics, and Structural Transitions","Some crystals carry a polarization with no applied field and switch it under a reversing field, tracing a hysteresis loop. This lesson develops the ferroelectric transition through the perovskite BaTiO3 displacive instability and its soft transverse-optical mode, builds the Landau free-energy theory of first- and second-order polar transitions, derives the Curie-Weiss divergence of the dielectric constant, and closes with piezoelectricity and pyroelectricity and their devices.\n",{"path":17188,"title":17189,"module":17190,"summary":17191},"\u002Fcondensed-matter\u002Fmagnetism\u002Fdiamagnetism-and-paramagnetism","Diamagnetism and Paramagnetism","Magnetism in Solids","Every solid responds to a magnetic field. Filled shells give a small negative diamagnetic susceptibility from induced Larmor currents; localized moments give a positive Curie paramagnetism described by the Brillouin function, with the ground-state moment fixed by Hund's rules. The conduction electrons add a temperature-independent Pauli paramagnetism from the thermal shell near the Fermi surface, partly cancelled by Landau diamagnetism of their orbital motion.\n",{"path":17193,"title":17194,"module":17190,"summary":17195},"\u002Fcondensed-matter\u002Fmagnetism\u002Fexchange-and-ferromagnetism","Exchange and Ferromagnetism","Magnetic ordering at hundreds of kelvin cannot be dipolar; it is an exchange effect, the Coulomb repulsion sorted by the Pauli principle into a spin-dependent energy captured by the Heisenberg Hamiltonian. Weiss molecular-field theory replaces the exchange field by an average proportional to the magnetization, giving a self-consistent equation whose solution is spontaneous magnetization below a Curie temperature and a Curie–Weiss susceptibility above it. Itinerant ferromagnetism follows from the Stoner criterion on the band density of states.\n",{"path":17197,"title":17198,"module":17190,"summary":17199},"\u002Fcondensed-matter\u002Fmagnetism\u002Fantiferromagnetism-and-domains","Antiferromagnetism, Ferrimagnetism, and Domains","A negative exchange coupling orders neighboring spins antiparallel. Two-sublattice molecular-field theory gives a Néel temperature marked by a cusp in the susceptibility, and unequal sublattices leave a net moment — ferrimagnetism, the magnetism of the ferrites. A ferromagnet breaks into domains to reduce its magnetostatic energy, separated by Bloch walls whose width is set by the competition between exchange and magnetocrystalline anisotropy, and the irreversible motion of those walls produces the hysteresis loop.\n",{"path":17201,"title":17202,"module":17190,"summary":17203},"\u002Fcondensed-matter\u002Fmagnetism\u002Fspin-waves-and-magnons","Spin Waves and Magnons","The lowest excitations of a ferromagnet are not single flipped spins but collective precessions in which every moment tips slightly and its phase advances along the crystal. These spin waves have a quadratic dispersion at long wavelength, quantize into magnons obeying Bose statistics, and their thermal population removes magnetization as the Bloch T-to-the-three-halves law. Antiferromagnetic magnons disperse linearly, and inelastic neutron scattering measures both.\n",{"path":17205,"title":17206,"module":17207,"summary":17208},"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fsuperconductivity-phenomenology","Superconductivity: Phenomenology and BCS","Superconductivity","Below a critical temperature some materials lose all resistance and expel magnetic flux — the Meissner effect that defines the state. The isotope effect points to lattice vibrations, and BCS theory binds electrons into Cooper pairs through phonon exchange. The paired condensate opens an energy gap, quantizes magnetic flux, and drives the Josephson effects.\n",{"path":17210,"title":17211,"module":17207,"summary":17212},"\u002Fcondensed-matter\u002Fsuperconductivity\u002Flondon-theory-and-the-meissner-effect","London Theory and the Meissner Effect","A perfect conductor freezes the field it was cooled in; a superconductor expels it. The distinction needs a constitutive law beyond zero resistance — the two London equations — whose solution is exponential flux decay over the penetration depth. The same rigidity follows from a macroscopic condensate wave function, and the thermodynamics of the critical field fixes the condensation energy, the latent heat, and the specific-heat jump.\n",{"path":17214,"title":17215,"module":17207,"summary":17216},"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fginzburg-landau-theory","Ginzburg–Landau Theory, Vortices, and Type-II","A complex order parameter and a free-energy expansion turn the superconducting transition into a Landau theory. Two lengths emerge — the coherence length and the penetration depth — whose ratio kappa sorts superconductors into type I and type II. Type-II materials admit flux as an Abrikosov lattice of vortices, each threading exactly one quantum h\u002F2e, between a lower and an upper critical field.\n",{"path":17218,"title":17219,"module":17207,"summary":17220},"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fbcs-theory","Microscopic BCS Theory","A phonon-mediated attraction, however weak, binds two electrons above the Fermi sea — the Cooper problem shows the sea is unstable. The BCS variational ground state pairs all electrons near the Fermi surface and, through a self-consistent gap equation, opens an energy gap. Weak-coupling solution gives the exponential T_c and the universal ratios 2 Delta(0) = 3.53 k_B T_c and Delta C \u002F C_n = 1.43.\n",{"path":17222,"title":17223,"module":17207,"summary":17224},"\u002Fcondensed-matter\u002Fsuperconductivity\u002Fjosephson-and-high-tc","Josephson Effects and Unconventional Superconductors","Two superconductors joined by a thin barrier carry a supercurrent set by their phase difference — the dc Josephson effect — and oscillate at 2eV\u002Fh under a voltage. A two-junction loop turns flux quantization into a magnetometer of single-quantum sensitivity. The cuprates superconduct in CuO2 planes with a doping-dependent dome, d-wave pairing, and a pseudogap that lie outside the phonon picture.\n",{"path":17226,"title":17227,"module":17228,"summary":17229},"\u002Fcondensed-matter\u002Fnanostructures\u002Fquantum-wells-wires-and-dots","Quantum Wells, Wires, and Dots","Nanostructures","When a crystal is shrunk until one or more of its dimensions approaches the electron wavelength, the continuous bands of the bulk break into discrete subbands. Confining in one direction gives a quantum well with a step-like density of states, in two directions a quantum wire with inverse-square-root singularities, and in all three a quantum dot whose levels are sharp like an atom's. This lesson derives the density of states in each case and applies it to size-tunable dot emission and the Coulomb blockade of a single-electron transistor.\n",{"path":17231,"title":17232,"module":17228,"summary":17233},"\u002Fcondensed-matter\u002Fnanostructures\u002Finteger-quantum-hall-effect","The 2D Electron Gas and the Integer Quantum Hall Effect","A two-dimensional electron gas in a strong perpendicular magnetic field has its continuous density of states collapse into macroscopically degenerate Landau levels. As the field is swept, the Hall resistance locks onto exact plateaus at h over an integer times e squared, while the longitudinal resistance drops to zero. This lesson derives the Landau levels and their degeneracy, explains the plateaus through disorder-localized states and current-carrying edge channels, and states why the von Klitzing constant is now a resistance standard.\n",{"path":17235,"title":17236,"module":17228,"summary":17237},"\u002Fcondensed-matter\u002Fnanostructures\u002Ffractional-quantum-hall-and-topology","The Fractional Quantum Hall Effect and Topological Order","When the lowest Landau level is only partly filled, the non-interacting theory predicts no gap, yet a plateau appears at filling one-third. It is a many-body effect: Coulomb repulsion selects a correlated ground state, the Laughlin wavefunction, whose excitations carry a fraction of the electron charge. This lesson builds the Laughlin state, introduces composite fermions that map the fractional effect onto an integer one, and explains how the quantum Hall effect brought the Chern number and topology into condensed-matter physics.\n",{"path":17239,"title":17240,"module":17228,"summary":17241},"\u002Fcondensed-matter\u002Fnanostructures\u002Fgraphene-and-dirac-materials","Graphene and Dirac Materials","Graphene is one atomic layer of carbon on a honeycomb lattice. A tight-binding calculation on its two-atom basis gives valence and conduction bands that touch at the corners of the Brillouin zone, where the dispersion is linear and the electrons behave as massless two-dimensional Dirac particles with a fixed speed. This lesson derives the Dirac cones, the Berry phase of pi and the sublattice chirality, the anomalous half-integer quantum Hall effect that follows, and how opening a gap in a Dirac cone points toward topological insulators.\n",{"path":17243,"title":17244,"module":6,"summary":6},"\u002Fcondensed-matter","Condensed Matter Physics",{"path":17246,"title":17247,"module":14017,"summary":17248},"\u002Flogic\u002Ffoundations\u002Flogic-as-a-mathematical-model","Logic as a Mathematical Model of Deduction","Symbolic logic models deductive reasoning the way probability theory models chance: it keeps the form of a correct deduction and discards its content. A deduction is valid when its conclusion follows from the form of the premises alone, independent of what the non-logical words mean. Two models carry the subject — coarse sentential logic and fine first-order logic — and four questions organize it: logical consequence, methods of proof, the gap between provable and true, and the link between logic and computability. Tuples, relations, functions, equivalence classes, and cardinality supply the set-theoretic vocabulary every later chapter uses.\n",{"path":17250,"title":17251,"module":17252,"summary":17253},"\u002Flogic\u002Fsentential-logic\u002Fformal-languages-and-well-formed-formulas","Formal Languages and Well-Formed Formulas","Sentential Logic","The language of sentential logic has an alphabet of sentence symbols, five connectives, and two parentheses, with formation rules that pick out the well-formed formulas. The wffs are the least set of expressions closed under the five formula-building operations, and every such generated set carries an induction principle.\n",{"path":17255,"title":17256,"module":17252,"summary":17257},"\u002Flogic\u002Fsentential-logic\u002Ftruth-assignments-and-tautologies","Truth Assignments, Tautologies, and Consequence","A truth assignment fixes the sentence symbols true or false, and a recursion extends it uniquely to every formula. Satisfaction, tautologies, and tautological implication — one formula following semantically from others — rest on that extension, and the truth-table procedure decides implication for finite premise sets.\n",{"path":17259,"title":17260,"module":17252,"summary":17261},"\u002Flogic\u002Fsentential-logic\u002Funique-readability-and-parsing","Unique Readability and a Parsing Algorithm","Parentheses keep a formula from being read two ways. The parenthesis lemmas and a top-down parsing algorithm recover a formula's structure and yield unique readability: every wff has exactly one formation tree, which is what makes the truth recursion well defined.\n",{"path":17263,"title":17264,"module":17252,"summary":17265},"\u002Flogic\u002Fsentential-logic\u002Finduction-and-recursion","Induction and Recursion on Formulas","Two principles govern any set generated from initial elements by operations: prove a property of all its members by covering the initial elements and the closure steps, and define a function on it by recursion on structure. The recursion theorem needs the set to be freely generated, and unique readability supplies that condition for the well-formed formulas.\n",{"path":17267,"title":17268,"module":17252,"summary":17269},"\u002Flogic\u002Fsentential-logic\u002Fexpressive-completeness-and-normal-forms","Sentential Connectives and Normal Forms","Every formula computes a Boolean function of its atoms, and Post's theorem gives the converse: every Boolean function is realized by a wff in disjunctive normal form, so the five connectives are more than enough. Minimal complete sets follow, down to the single connectives NAND and NOR, together with a method for proving a set of connectives incomplete.\n",{"path":17271,"title":17272,"module":17252,"summary":17273},"\u002Flogic\u002Fsentential-logic\u002Fboolean-circuits","Switching Circuits","A memoryless two-valued circuit computes a Boolean function, so every formula names a gate network and every network a formula. Cost and delay are read off the formula by recursion, and tautological equivalence and normal forms design and simplify circuits realizing a given specification.\n",{"path":17275,"title":17276,"module":17252,"summary":17277},"\u002Flogic\u002Fsentential-logic\u002Fcompactness-and-effectiveness","Compactness and Effectiveness","The compactness theorem reduces satisfiability of an infinite set of formulas to its finite subsets, proved by extension to a maximal finitely satisfiable set and applied to color infinite graphs. Effectiveness fixes what \"decidable\" and \"effectively enumerable\" mean and settles the decidability of tautologyhood.\n",{"path":17279,"title":17280,"module":17281,"summary":17282},"\u002Flogic\u002Ffirst-order-languages\u002Ffirst-order-languages","First-Order Languages","First-Order Languages and Structures","Sentential logic cannot see inside a simple statement, so it misses valid arguments that turn on quantifiers and predicates. A first-order language adds a quantifier, variables, and a chosen vocabulary of predicate, function, and constant symbols. Terms and well-formed formulas are built by recursion over this alphabet, and a variable occurs free or bound according to the quantifiers that reach it.\n",{"path":17284,"title":17285,"module":17281,"summary":17286},"\u002Flogic\u002Ffirst-order-languages\u002Fstructures-truth-and-satisfaction","Structures, Truth, and Satisfaction","A structure interprets a language: a nonempty universe plus a meaning for every predicate, function, and constant symbol. Tarski's recursion defines when a structure satisfies a formula under a variable assignment, and hence when a sentence is true. From satisfaction we recover logical implication, validity, and logical equivalence for first-order logic.\n",{"path":17288,"title":17289,"module":17281,"summary":17290},"\u002Flogic\u002Ffirst-order-languages\u002Fdefinability-and-elementary-equivalence","Definability and Elementary Equivalence","Fix a structure and ask which relations a formula can pick out: the definable ones. A set of sentences picks out a class of structures, the elementary classes. Homomorphisms and isomorphisms compare structures, and the homomorphism theorem shows isomorphic structures satisfy the same sentences. Automorphisms bound what first-order logic can distinguish, giving a tool for proving relations undefinable.\n",{"path":17292,"title":17293,"module":17281,"summary":17294},"\u002Flogic\u002Ffirst-order-languages\u002Fterms-substitution-and-parsing","Parsing, Substitution, and Substitutability","Every recursion on first-order syntax rests on unique readability. A parenthesis-counting function proves that terms and formulas decompose in exactly one way, and a parsing algorithm recovers the decomposition. Substituting a term for a free variable can capture it under a quantifier; the substitutability condition rules that out, and the substitution lemma trades syntactic substitution for a change of assignment.\n",{"path":17296,"title":17297,"module":17298,"summary":17299},"\u002Flogic\u002Fdeductive-calculus\u002Fa-deductive-calculus","A Deductive Calculus for First-Order Logic","The Deductive Calculus and Its Metatheorems","A proof must be finite and mechanically checkable. A Hilbert-style calculus meets both demands: six schemas of logical axioms, a single rule of inference (modus ponens), and the syntactic consequence relation they generate. Substitution and substitutability are defined by recursion, and the bridge theorem reduces deducibility to tautological implication from the axioms.\n",{"path":17301,"title":17302,"module":17298,"summary":17303},"\u002Flogic\u002Fdeductive-calculus\u002Fdeduction-theorem-and-derived-rules","The Deduction Theorem and Derived Rules","Raw deductions from axioms are unusable by hand. The generalization theorem, the deduction theorem, contraposition, reductio ad absurdum, and rule T reduce the calculus to the moves of ordinary mathematics, each proved once to license a block of axiom-level steps. Generalization on constants and alphabetic variants handle the quantifier and substitution bookkeeping.\n",{"path":17305,"title":17306,"module":17298,"summary":17307},"\u002Flogic\u002Fdeductive-calculus\u002Fsoundness","The Soundness Theorem","Soundness is the easy half of the match between proof and truth. Whatever the calculus deduces is logically implied, by an induction on deduction length that rests on one lemma: every logical axiom is valid. The only hard case, quantifier instantiation, needs the substitution lemma. The contrapositive corollary states that every satisfiable set is consistent.\n",{"path":17309,"title":17310,"module":17298,"summary":17311},"\u002Flogic\u002Fdeductive-calculus\u002Fcompleteness-and-consistency","The Completeness Theorem","Gödel's completeness theorem is the deep converse of soundness: whatever is logically implied can be deduced. Equivalently, every consistent set has a model. The Henkin proof manufactures that model out of syntax alone: add witnessing constants, extend to a maximal consistent set, and read a term model off the formulas it contains. Compactness and the enumerability theorem drop out.\n",{"path":17313,"title":17314,"module":17315,"summary":17316},"\u002Flogic\u002Fmodels-and-theories\u002Fcompactness-and-lowenheim-skolem","Compactness and the Löwenheim–Skolem Theorems","Models, Compactness, and Theories","A set of first-order sentences has a model whenever each of its finite subsets does. This compactness theorem follows from completeness and yields the finiteness limitation, the downward and upward Löwenheim–Skolem theorems, models of every infinite cardinality, and nonstandard models of arithmetic.\n",{"path":17318,"title":17319,"module":17315,"summary":17320},"\u002Flogic\u002Fmodels-and-theories\u002Ftheories-elementary-classes-and-categoricity","Theories, Elementary Classes, and Categoricity","A theory is a set of sentences closed under logical consequence. Theories correspond to classes of models; a theory may be complete, axiomatizable, or finitely axiomatizable, and completeness together with axiomatizability yields decidability. The Łoś–Vaught test derives completeness from categoricity in a cardinal, applied to dense linear orders and to algebraically closed fields.\n",{"path":17322,"title":17323,"module":17315,"summary":17324},"\u002Flogic\u002Fmodels-and-theories\u002Finterpretations-between-theories","Interpretations Between Theories","An interpretation translates the vocabulary of one theory into formulas of another, relativizing quantifiers to a definable domain and mapping symbols to defining formulas. Defined function symbols meet a noncreativity criterion; the syntactic translation of formulas carries theoremhood forward, and a faithful interpretation transfers decidability and undecidability between theories.\n",{"path":17326,"title":17327,"module":17315,"summary":17328},"\u002Flogic\u002Fmodels-and-theories\u002Fnonstandard-analysis","Nonstandard Analysis","Compactness builds a model of the real ordered field containing infinite elements and nonzero infinitesimals. The transfer principle carries every first-order truth from the reals to this extension, the standard-part map collapses finite hyperreals back onto the reals, and continuity and the derivative are rederived by working with infinitely small quantities directly.\n",{"path":17330,"title":17331,"module":17332,"summary":17333},"\u002Flogic\u002Farithmetic-and-definability\u002Fdefinability-in-arithmetic","The Structure of Arithmetic and Definability","Number Theory and Definability","Number theory is the theory of one fixed structure, the natural numbers under successor, order, addition, multiplication, and exponentiation. Every number is named by a numeral, and a relation is definable when a single formula picks out exactly its tuples. The central gap separates the sentences true in that structure from those any reasonable set of axioms can prove.\n",{"path":17335,"title":17336,"module":17332,"summary":17337},"\u002Flogic\u002Farithmetic-and-definability\u002Fnatural-numbers-with-successor","Natural Numbers with Successor","The weakest reduct keeps only zero and successor. Its models are a standard chain together with disjoint copies of the integers, which makes the theory categorical in every uncountable power, hence complete and decidable. A quantifier-elimination procedure gives a practical decision method and shows a subset is definable if and only if it is finite or cofinite.\n",{"path":17339,"title":17340,"module":17332,"summary":17341},"\u002Flogic\u002Farithmetic-and-definability\u002Fpresburger-and-reducts","Reducts: Order, Addition, and Multiplication","Adding order to the successor reduct keeps decidability and makes the theory finitely axiomatizable; adding addition gives Presburger arithmetic, still decidable by quantifier elimination once congruence predicates are included, with definable sets exactly the eventually periodic ones. Multiplication is the break point: neither addition nor order can define it, and once it joins addition the theory stops being decidable.\n",{"path":17343,"title":17344,"module":17332,"summary":17345},"\u002Flogic\u002Farithmetic-and-definability\u002Fa-subtheory-and-representability","A Subtheory of Number Theory and Representability","A finite set of eleven axioms, the recursion equations for successor, order, addition, multiplication, and exponentiation, already proves every true quantifier-free and existential sentence. Representability asks a theory to prove the right instances of a formula rather than merely make them true, and a relation is defined to be recursive exactly when some consistent finite theory represents it. Church's thesis identifies that with decidability, and closure under composition, minimization, and primitive recursion builds the catalog the incompleteness proofs need.\n",{"path":17347,"title":17348,"module":17349,"summary":17350},"\u002Flogic\u002Fincompleteness\u002Farithmetization-of-syntax","Arithmetization of Syntax","Arithmetization and the Incompleteness Theorems","Gödel numbering assigns a natural number to every symbol, expression, formula, and deduction, turning statements about syntax into statements about numbers. The syntactic operations — substitution, \"is a wff\", \"is an axiom\", \"d codes a deduction of a\" — come out primitive recursive and hence representable in the subtheory, which lets a formula of arithmetic talk about formulas, including itself.\n",{"path":17352,"title":17353,"module":17349,"summary":17354},"\u002Flogic\u002Fincompleteness\u002Fincompleteness-and-undecidability","Incompleteness, Undecidability, and Church's Theorem","The fixed-point lemma manufactures a sentence that talks about its own Gödel number. Pointed at truth it gives Tarski's theorem — arithmetic truth is not arithmetically definable; pointed at provability it gives Gödel's first incompleteness theorem and the undecidability of the theory of the natural numbers, and, applied to validity, Church's theorem that first-order logic is undecidable. The set of theorems of a recursive theory is only recursively enumerable — the gap between provable and true.\n",{"path":17356,"title":17357,"module":17349,"summary":17358},"\u002Flogic\u002Fincompleteness\u002Fsecond-incompleteness-theorem","The Second Incompleteness Theorem","Consistency of a recursively axiomatized theory is itself an arithmetic sentence, built from a provability predicate. When the theory is strong enough to formalize its own reflection and modus ponens — the Hilbert–Bernays–Löb derivability conditions — it cannot prove that sentence unless it is inconsistent. Löb's theorem is the companion result, and set theory is the case that closes Hilbert's program.\n",{"path":17360,"title":17361,"module":17362,"summary":17363},"\u002Flogic\u002Fcomputability-and-representability\u002Frecursive-functions","Recursive Functions and Church's Thesis","Recursive Functions and Representability","The recursive functions are the formal counterpart of the effectively computable ones: built from three initial functions by composition, primitive recursion, and minimization, and equivalently the functions representable in a finitely axiomatized arithmetic. Church's thesis identifies the class with effective calculability; Kleene's normal form theorem and the unsolvable halting problem place the recursive sets strictly inside the recursively enumerable ones.\n",{"path":17365,"title":17366,"module":17362,"summary":17367},"\u002Flogic\u002Fcomputability-and-representability\u002Frepresenting-exponentiation","Representing Exponentiation and the β-Function","Coding finite sequences by prime-power exponents already assumes exponentiation, so representing exponentiation from addition and multiplication alone needs a different encoder. Gödel's β-function, built from a pairing function and the Chinese remainder theorem, reads back arbitrary finite sequences using only plus and times. This represents exponentiation in the addition-multiplication arithmetic and closes the last gap in the representability of every recursive syntactic operation.\n",{"path":17369,"title":17370,"module":17371,"summary":17372},"\u002Flogic\u002Fsecond-order-logic\u002Fsecond-order-languages","Second-Order Languages","Second-Order Logic and Beyond","Second-order logic quantifies over relations and functions, not just individuals. Second-order Peano arithmetic and the second-order theory of the reals become categorical, and finiteness is definable by a single sentence. Compactness, completeness, and the Löwenheim–Skolem theorems all fail for the standard semantics.\n",{"path":17374,"title":17375,"module":17371,"summary":17376},"\u002Flogic\u002Fsecond-order-logic\u002Fskolem-functions-and-many-sorted-logic","Skolem Functions and Many-Sorted Logic","Skolem functions replace existential quantifiers with named witnesses, putting any first-order formula into a prenex form with all existentials — now over functions — pulled to the front. The Skolemized formula is equisatisfiable with the original, which reduces satisfiability to universal sentences and, through Herbrand expansions, to sentential logic. Many-sorted logic then adds several universes at once and reduces cleanly to ordinary one-sorted logic.\n",{"path":17378,"title":17379,"module":17371,"summary":17380},"\u002Flogic\u002Fsecond-order-logic\u002Fgeneral-structures","General (Henkin) Structures","General semantics reinterprets second-order logic by letting the predicate and function quantifiers range over a designated collection of relations and functions rather than all of them. Recast as many-sorted first-order logic with comprehension axioms, general second-order logic recovers a sound and complete calculus together with compactness and Löwenheim–Skolem, giving up the categoricity of the standard semantics. The ω-models of analysis show the trade.\n",{"path":17382,"title":17383,"module":6,"summary":6},"\u002Flogic","Logic",{"path":17385,"title":17386,"module":14017,"summary":17387},"\u002Freinforcement-learning\u002Ffoundations\u002Fwhat-is-reinforcement-learning","What Is Reinforcement Learning?","Reinforcement learning is learning what to do — how to map situations to actions — so as to maximize a numerical reward signal, discovered by trial and error rather than told. We set up the agent–environment loop, separate it from supervised and unsupervised learning, name the four elements (policy, reward, value, and an optional model), and train a tic-tac-toe player with a temporal-difference value update.\n",{"path":17389,"title":17390,"module":14017,"summary":17391},"\u002Freinforcement-learning\u002Ffoundations\u002Fa-brief-history-of-rl","A Brief History of Reinforcement Learning","The origins of reinforcement learning. Three threads — trial-and-error learning from animal psychology, optimal control and dynamic programming, and temporal-difference learning — ran independently for decades and merged around 1989 into the modern field. Replacing the lookup table with a neural network then produced deep reinforcement learning: DQN, AlphaGo, AlphaZero, MuZero, and RLHF.\n",{"path":17393,"title":17394,"module":14017,"summary":17395},"\u002Freinforcement-learning\u002Ffoundations\u002Fmulti-armed-bandits","Multi-Armed Bandits","A bandit is reinforcement learning stripped to a single decision, repeated: no state, no consequences, only the tension between exploiting the arm that looks best and exploring the ones that might be better. We build up the whole toolkit — sample-average value estimates, the incremental update rule, ε-greedy, optimistic initialization, UCB, and gradient bandits — and use it to study exploration in isolation, the one problem that carries over to the full setting.\n",{"path":17397,"title":17398,"module":14017,"summary":17399},"\u002Freinforcement-learning\u002Ffoundations\u002Fbandit-exploration-algorithms","Bandit Exploration Algorithms","Better ways to explore than picking at random. Upper-confidence-bound selection explores by optimism about what it hasn't measured; gradient bandits learn action preferences by stochastic gradient ascent on reward. We then add context to get the contextual bandit, the bridge to full RL, and measure everything by regret — where UCB1 and Thompson sampling reach the logarithmic optimum that fixed-ε greedy cannot.\n",{"path":17401,"title":17402,"module":14017,"summary":17403},"\u002Freinforcement-learning\u002Ffoundations\u002Fmarkov-decision-processes","Markov Decision Processes","A Markov decision process is the formal interface between an agent and its environment: at each step the agent reads a state, chooses an action, and receives a reward and a next state. We fix that loop, the dynamics function that governs it, and the Markov property that makes the state sufficient; then turn goals into a scalar reward and rewards into a discounted return, with one notation that covers both episodic and continuing tasks.\n",{"path":17405,"title":17406,"module":14017,"summary":17407},"\u002Freinforcement-learning\u002Ffoundations\u002Fvalue-functions-and-optimality","Value Functions and Optimality","A value function scores how good a state (or state–action pair) is under a policy: the expected return from there onward. Its defining property is the Bellman equation, a self-consistency condition linking a state's value to its successors' values, which we derive from the return and the dynamics. Pushing the same idea to the best-achievable value gives the Bellman optimality equations, whose solution yields an optimal policy — and whose intractability is what the rest of the course is about.\n",{"path":17409,"title":14229,"module":17410,"summary":17411},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdynamic-programming","Tabular Solution Methods","Dynamic programming computes optimal policies when a perfect model of the MDP is given, by turning the Bellman equations into assignment statements. We build up iterative policy evaluation (the expected update), the policy improvement theorem, and the two classic algorithms that alternate them — policy iteration and value iteration — worked on the gridworld, a two-state MDP, Jack's car rental, and the gambler's problem.\n",{"path":17413,"title":17414,"module":17410,"summary":17415},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdp-async-and-gpi","Dynamic Programming: Asynchronous DP and Generalized Policy Iteration","Policy and value iteration both sweep the entire state set on every pass, which is impossible once the state space is huge. This lesson loosens the schedule: asynchronous DP updates states in any order, generalized policy iteration names the alternation of evaluation and improvement that underlies nearly every RL method, and a look at efficiency and the curse of dimensionality places DP among the alternatives. We close past Sutton & Barto with prioritized sweeping, neuro-dynamic programming, value-iteration networks, and MuZero.\n",{"path":17417,"title":17418,"module":17410,"summary":17419},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-methods","Monte Carlo Methods","Monte Carlo methods learn value functions and optimal policies from complete sampled episodes, with no model of the environment: they simply average the returns that actually followed each state. We build prediction (first-visit and every-visit averaging), see why estimating action values forces the exploration question, and answer it two ways on-policy — exploring starts and epsilon-soft control. Throughout, Monte Carlo samples one whole trajectory to termination and never bootstraps.\n",{"path":17421,"title":17422,"module":17410,"summary":17423},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-off-policy","Monte Carlo Methods: Off-Policy Learning","On-policy Monte Carlo can only reach the best exploring policy, not the true optimum. Off-policy methods remove that ceiling by learning about a greedy target policy from data generated by a soft behavior policy, corrected with importance sampling. We derive the importance-sampling ratio, weigh ordinary against weighted estimators on real numbers, give the incremental off-policy algorithm, sharpen it with discounting-aware sampling, and close by placing Monte Carlo on the model\u002Fbootstrap map beside DP and temporal-difference learning.\n",{"path":17425,"title":17426,"module":17410,"summary":17427},"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftemporal-difference-learning","Temporal-Difference Learning","Temporal-difference learning is the one idea most central to reinforcement learning: learn a value directly from experience, like Monte Carlo, but update each guess toward the next guess before the episode ends, like dynamic programming. We derive the TD(0) prediction rule and its reward-prediction error, contrast its one-step backup with MC and DP, work the driving-home and random-walk examples, and show the batch-updating optimality that makes TD approximate the certainty-equivalence estimate.\n",{"path":17429,"title":17430,"module":17410,"summary":17431},"\u002Freinforcement-learning\u002Ftabular-methods\u002Ftd-control-sarsa-and-q-learning","TD Control: Sarsa, Q-learning, and Double Learning","With TD prediction in hand, control follows the generalized-policy-iteration pattern with TD as the evaluation step. We build Sarsa (on-policy), Q-learning (off-policy, targeting the optimal policy), and Expected Sarsa that spans the two, then confront the maximization bias every max-based method inherits and fix it with Double Q-learning. We close past Sutton & Barto, following each one-step tabular update into its deep-RL descendant — DQN, Double DQN, and Rainbow.\n",{"path":17433,"title":17434,"module":17410,"summary":17435},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-bootstrapping","n-Step Bootstrapping","Monte Carlo waits for the full return; one-step TD bootstraps after a single reward. Between them lies a whole spectrum, indexed by one integer n: look ahead n real rewards, then bootstrap from the value n steps out. The n-step return unifies the previous two lessons, and — on the random walk — an intermediate n beats both extremes. We build the n-step return, the n-step TD update, the backup-diagram spectrum, and n-step Sarsa for control.\n",{"path":17437,"title":17438,"module":17410,"summary":17439},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fn-step-off-policy-methods","n-Step Bootstrapping: Off-Policy Methods","Taking the n-step family off-policy raises the same importance-sampling questions Monte Carlo did, now over a window of exactly n actions. We reweight n-step returns by the policy ratio, watch the ratio product inflate variance on real numbers, then build the tree-backup algorithm that learns off-policy with no ratios at all — and finally n-step Q(sigma), one algorithm whose per-step switch recovers Sarsa, tree backup, and Expected Sarsa as special cases.\n",{"path":17441,"title":17442,"module":17410,"summary":17443},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-and-learning","Planning and Learning","Planning and learning are the same operation run on two kinds of experience. A model turns states and actions into simulated transitions; planning backs up values over that simulated experience exactly as learning backs them up over real experience. We build the Dyna architecture that interleaves acting, model-learning, direct RL, and planning in one loop, trace a single Dyna-Q step by hand, and patch the architecture for when the model goes stale.\n",{"path":17445,"title":17446,"module":17410,"summary":17447},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fplanning-focusing-and-decision-time","Planning: Focusing Updates and Decision-Time Search","Dyna plans by replaying remembered transitions, but sampling them uniformly wastes most of the effort. This lesson sharpens planning: prioritized sweeping works backward from states whose value just changed, expected versus sample updates weigh thoroughness against cost, and trajectory sampling and real-time DP focus updates on the states the policy actually visits. We trace Dyna forward to model-based deep RL, then turn to decision-time planning — heuristic search, rollouts, and Monte Carlo Tree Search.\n",{"path":17449,"title":17450,"module":17410,"summary":17451},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fdecision-time-planning","Decision-Time Planning","Planning need not build a global policy. Decision-time planning runs a fresh lookahead every time a state arrives and returns just one action, then throws the work away. We start from real-time dynamic programming — asynchronous value iteration on the states the agent actually visits — then move through heuristic search and rollout algorithms, each a one-step policy improvement applied on the fly to the current state.\n",{"path":17453,"title":17454,"module":17410,"summary":17455},"\u002Freinforcement-learning\u002Ftabular-methods\u002Fmonte-carlo-tree-search","Monte Carlo Tree Search","Monte Carlo Tree Search is a rollout algorithm with memory: it accumulates value estimates across simulations and steers later ones toward promising branches. We work through the four steps — selection, expansion, simulation, backup — the UCT selection rule computed on real numbers, the asymmetric growing tree, and the full pseudocode. We close past Sutton & Barto with the lineage from UCT to AlphaGo, AlphaZero, and MuZero, where a learned network stands in for the leaf value and the rollout.\n",{"path":17457,"title":17458,"module":17459,"summary":17460},"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-prediction","On-Policy Prediction with Approximation","Approximate Solution Methods","Every tabular method so far stored one number per state, which fails once the state space is large or continuous. We replace the table with a parameterized value function $\\hat v(s,\\mathbf{w})$, define the mean squared value error it should minimize under the on-policy distribution, and derive stochastic- and semi-gradient learning rules — the semi-gradient TD(0) update that bootstraps and so is not a true gradient. Linear methods make the analysis clean and give the TD fixed point; feature construction (polynomials, Fourier basis, coarse and tile coding, RBFs) supplies the vectors $\\mathbf{x}(s)$, and neural networks are the nonlinear bridge to deep RL.\n",{"path":17462,"title":17463,"module":17459,"summary":17464},"\u002Freinforcement-learning\u002Fapproximation\u002Ffeature-construction-and-nonlinear","Feature Construction and Nonlinear Approximation","Linear methods are only as good as the feature vectors $\\mathbf{x}(s)$ fed to them, and this lesson builds those vectors. Polynomials and the Fourier basis turn a state's coordinates into smooth global features; coarse coding, tile coding, and radial basis functions cover a continuous space with overlapping local receptive fields whose size sets the reach of generalization. Then we stop designing features by hand: a neural network learns the representation itself by gradient descent, trading the convergence guarantees of the linear case for expressiveness — the bridge to deep reinforcement learning.\n",{"path":17466,"title":17467,"module":17459,"summary":17468},"\u002Freinforcement-learning\u002Fapproximation\u002Fon-policy-control","On-Policy Control with Approximation","Prediction learned a value function from features; control learns to act. We carry semi-gradient methods over to action values $\\hat q(s,a,\\mathbf{w})$, giving episodic semi-gradient Sarsa and its n-step form, and solve Mountain Car by descending a cost-to-go surface. In the continuing case, function approximation makes discounting unable to affect which policy is best, so we replace it with the average-reward setting — the differential return, differential value functions, and differential semi-gradient Sarsa.\n",{"path":17470,"title":17471,"module":17459,"summary":17472},"\u002Freinforcement-learning\u002Fapproximation\u002Faverage-reward-control","Average-Reward Control for Continuing Tasks","With function approximation, discounting has no effect on a continuing task: averaged over the on-policy distribution, the discounted objective equals the average reward times a policy-independent constant, so $\\gamma$ cannot change which policy is best. This lesson replaces discounting with the average-reward setting — the long-run reward rate $r(\\pi)$, the differential return that measures each state's transient advantage over that rate, differential value functions and TD error, and differential semi-gradient Sarsa, the control method for continuing tasks that never invokes a discount factor.\n",{"path":17474,"title":17475,"module":17459,"summary":17476},"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-and-the-deadly-triad","Off-Policy Methods and the Deadly Triad","Off-policy learning with function approximation is where the convergence guarantees of reinforcement learning fail. We extend the tabular off-policy updates to semi-gradient form with per-step importance sampling, show Baird's counterexample driving the weights to infinity, and identify the cause: the deadly triad of function approximation, bootstrapping, and off-policy training — any two are safe, all three can diverge. The divergence is not caused by sampling noise: a fully synchronous dynamic-programming update blows up just the same, which is what makes the triad a structural hazard rather than a fluke.\n",{"path":17478,"title":17479,"module":17459,"summary":17480},"\u002Freinforcement-learning\u002Fapproximation\u002Fbellman-error-and-gradient-td","Value-Function Geometry and Gradient-TD Methods","Why does the deadly triad diverge, and how do you stop it? This lesson develops the geometry that explains the failure: value functions as vectors, the projection operator onto the representable subspace, and the split between the Bellman error, the value error, and the projected Bellman error: the three objectives have different minimizers. The projected Bellman error is the learnable one, and Gradient-TD methods (GTD2, TDC) do true stochastic gradient descent on it, staying stable even off-policy at $O(d)$ cost. Emphatic TD reweights states instead, and a survey of variance-reduction techniques closes the gap between stability and usable learning.\n",{"path":17482,"title":17483,"module":17459,"summary":17484},"\u002Freinforcement-learning\u002Fapproximation\u002Feligibility-traces","Eligibility Traces","n-step methods unify TD and Monte Carlo by storing the last n feature vectors; eligibility traces do the same job with a single short-term memory vector. The λ-return averages every n-step return under a geometric weighting; the forward view looks ahead to that average, and the backward view produces nearly the same updates online through a decaying trace vector. We build the λ-return, TD(λ) with its trace, the two ways λ recovers TD(0) and Monte Carlo, a note on the exact equivalence of true online TD(λ), and Sarsa(λ) for control.\n",{"path":17486,"title":17487,"module":17459,"summary":17488},"\u002Freinforcement-learning\u002Fapproximation\u002Ftrue-online-and-sarsa-lambda","True Online TD(λ) and Sarsa(λ)","Plain TD(λ) makes the forward and backward views nearly agree; this lesson closes the gap. True online TD(λ) uses a dutch trace and a small correction term to produce exactly the same weight sequence as the online λ-return algorithm, at the same memory and only a constant factor more compute — the sharpest statement of the forward\u002Fbackward duality. The whole apparatus then lifts to control unchanged: Sarsa(λ) threads a single delayed reward back along an entire trajectory in one sweep, and the λ-weighting reappears in modern deep RL as generalized advantage estimation.\n",{"path":17490,"title":17491,"module":17459,"summary":17492},"\u002Freinforcement-learning\u002Fapproximation\u002Fpolicy-gradient-methods","Policy Gradient Methods","Every method so far learned values and read a policy off them. Policy gradient methods drop the intermediary: parameterize the policy directly and climb the performance gradient. We build the softmax-in-preferences parameterization, prove the policy gradient theorem that makes the gradient computable without the unknown state distribution, and derive REINFORCE and its variance-cutting state-value baseline — the launch point for the bootstrapping actor-critic that follows.\n",{"path":17494,"title":17495,"module":17459,"summary":17496},"\u002Freinforcement-learning\u002Fapproximation\u002Factor-critic-and-continuous-actions","Actor-Critic Methods and Continuous Actions","REINFORCE with a baseline learns a value function but never bootstraps; this lesson adds the bootstrapping critic that completes the actor-critic architecture. The critic scores each transition into a single TD error that steers both the actor's policy step and its own value step, trading a little bias for much lower variance and fully online, continuing-task learning. The policy gradient theorem carries over unchanged to the average-reward setting, a Gaussian policy handles real-valued actions with self-tuning exploration, and the natural policy gradient leads straight to TRPO, PPO, and the deep actor-critic methods that train today's agents.\n",{"path":17498,"title":17499,"module":17459,"summary":17500},"\u002Freinforcement-learning\u002Fapproximation\u002Fleast-squares-and-memory-based-methods","Least-Squares TD","Semi-gradient TD spends one cheap step per example and needs many examples; this lesson makes the opposite tradeoff. Least-Squares TD (LSTD) accumulates the matrices $\\mathbf{A}$ and $\\mathbf{b}$ and solves the TD fixed point $\\mathbf{w} = \\mathbf{A}^{-1}\\mathbf{b}$ directly, using the Sherman-Morrison identity to maintain the inverse in $O(d^2)$ — the most data-efficient linear TD method, at a quadratic cost. We work a solve by hand, weigh the quadratic cost against semi-gradient TD's cheap steps, and note that LSTD never forgets — a problem in control, where least-squares policy iteration is the natural extension.\n",{"path":17502,"title":17503,"module":17459,"summary":17504},"\u002Freinforcement-learning\u002Fapproximation\u002Fmemory-and-kernel-methods","Memory-Based and Kernel Methods","Least-squares TD spent more compute to extract more from each example; this lesson drops the parametric form entirely. Memory-based methods store training examples untouched and answer a query locally at retrieval time — nearest neighbor, weighted average, locally weighted regression — so accuracy grows with the data and effort concentrates where the agent actually goes. Kernel-based methods weight stored examples by a similarity kernel $k(s,s')$, and every linear method turns out to be a kernel method. Interest and emphasis, finally, make the on-policy weighting itself a design choice, aiming scarce approximation capacity at the states that matter.\n",{"path":17506,"title":17507,"module":17459,"summary":17508},"\u002Freinforcement-learning\u002Fapproximation\u002Foff-policy-eligibility-traces","Off-Policy Eligibility Traces","Eligibility traces meet off-policy learning and function approximation — the corner where stability gets hard. We first let the bootstrapping and discounting parameters vary with state, so a single generalized return covers episodic and continuing tasks and folds termination into the discount. Then we fold the per-decision importance ratio into the trace with a control-variate correction, and build Watkins's Q(λ) and its importance-sampling-free successor Tree-Backup(λ) — all correct in expectation, but still semi-gradient, so the deadly triad and its fixes wait for the next lesson.\n",{"path":17510,"title":17511,"module":17459,"summary":17512},"\u002Freinforcement-learning\u002Fapproximation\u002Fstable-off-policy-traces","Stable Off-Policy Methods with Traces","Off-policy traces get the expected target right, but with $\\lambda \u003C 1$ they bootstrap, so off-policy plus bootstrapping plus function approximation is the deadly triad and the weights can diverge. This lesson carries the two one-step fixes to traces: GTD(λ) and GQ(λ) add a second weight vector and a gradient correction for true gradient descent on the projected Bellman error, while Emphatic TD(λ) reweights updates through a followon trace and interest to recover the on-policy stability. It closes with the implementation reality that traces are cheap because they are sparse, and with Retrace and V-trace — the clipped-ratio descendants that make off-policy traces work at deep-RL scale.\n",{"path":17514,"title":16832,"module":17515,"summary":17516},"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdeep-q-networks","Deep Reinforcement Learning","Deep Q-networks replace the linear value function with a neural network $Q(s,a;\\mathbf{w})$ and confront the fact that a nonlinear approximator, off-policy bootstrapping, and correlated online data — the deadly triad — make naive Q-learning diverge. DQN counters this empirically with two stabilizers: an experience replay buffer that decorrelates and reuses samples, and a periodically-frozen target network that fixes the bootstrap target. We derive the DQN loss and gradient, walk through the Atari convolutional architecture and its results, and then add the three refinements that define modern value-based deep RL — Double DQN, dueling networks, and prioritized experience replay.\n",{"path":17518,"title":17519,"module":17515,"summary":17520},"\u002Freinforcement-learning\u002Fdeep-rl\u002Fdqn-improvements","DQN Improvements: Double, Dueling, and Prioritized Replay","Three refinements that turn plain DQN into the standard modern value-based agent, each touching a different part of the system. Double DQN fixes the maximization bias in the target by splitting action selection from evaluation; dueling networks restructure the network around a state value and per-action advantages; prioritized replay changes which transitions are learned from. We close with Rainbow, which combines them, and the distributional view that predicts the whole return distribution rather than its mean.\n",{"path":17522,"title":17523,"module":17515,"summary":17524},"\u002Freinforcement-learning\u002Fdeep-rl\u002Factor-critic-and-ppo","Actor–Critic and GAE","Make the actor and the critic deep networks and the policy-gradient architecture becomes modern deep RL. We build the neural actor-critic, the advantage estimate that replaces the raw return, and Generalized Advantage Estimation as a λ-blend of n-step advantages, then the parallel-worker methods A3C and A2C that decorrelate on-policy data. The step-size constraints — trust regions, PPO, and the continuous-control family — follow in the next lesson.\n",{"path":17526,"title":17527,"module":17515,"summary":17528},"\u002Freinforcement-learning\u002Fdeep-rl\u002Fppo-and-continuous-control","PPO and Continuous Control","Keeping the policy-gradient step from destroying the policy, and the algorithms that result. Trust-region optimization bounds each update by a KL constraint; PPO keeps that goal but replaces the second-order machinery with a first-order clip on the probability ratio, which is why it is the modern default and the optimizer inside RLHF. We then tour the off-policy continuous-control family — DDPG, TD3, and SAC — and where actor-critic went at scale, from OpenAI Five to language-model alignment.\n",{"path":17530,"title":17531,"module":17515,"summary":17532},"\u002Freinforcement-learning\u002Fdeep-rl\u002Fcase-studies","Case Studies: Learning to Play","The game-playing systems that turned reinforcement learning from a theory into a track record: Samuel's checkers player, TD-Gammon, Watson's Daily-Double wagering, a reinforcement-learning memory controller, DQN, and AlphaGo through AlphaGo Zero. Read as a set they draw one line — a value function, learned by self-play or interaction, refined by search, carried by a deep network — that runs from a 1959 checkers program to superhuman Go.\n",{"path":17534,"title":17535,"module":17515,"summary":17536},"\u002Freinforcement-learning\u002Fdeep-rl\u002Frl-beyond-games","Reinforcement Learning Beyond Games","The same value-and-reward machinery, pointed at problems with no opponent. Web personalization as a contextual bandit and then a full MDP for life-time value; thermal soaring, where a glider learns to climb on turbulent air and reward design does most of the work; and the industrial-scale systems that carried the same design past Sutton & Barto — AlphaStar, OpenAI Five, GT Sophy, and RLHF, where the reward itself is learned from human preference.\n",{"path":17538,"title":17539,"module":17515,"summary":17540},"\u002Freinforcement-learning\u002Fdeep-rl\u002Ffrontiers","Frontiers: Beyond the Standard MDP","The standard MDP fixes three things — state, reward, and single-step actions — and this lesson loosens two of them. We generalize the value function into a general value function that predicts any signal, and use those predictions as auxiliary tasks that shape representations; we extend actions in time with the options framework; and we treat state as a construction the agent builds from a stream of observations. Reward design and the open problems follow in the next lesson.\n",{"path":17542,"title":17543,"module":17515,"summary":17544},"\u002Freinforcement-learning\u002Fdeep-rl\u002Freward-design-and-open-problems","Reward Design and Open Problems","How to design a reward signal that encodes the intended goal — sparse reward, shaping, and reward hacking — and the problems the whole tabular, approximate, and deep arc leaves unsolved. We close with how the frontiers were pushed after Sutton & Barto: auxiliary tasks, learned options, intrinsic-motivation bonuses, learned world models, and offline RL, then the two concerns of reward hacking and safety that any real-world agent must address.\n",{"path":17546,"title":17547,"module":17548,"summary":17549},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow","Sharpening DQN: Improvements and the Distributional Idea","Modern Deep Reinforcement Learning","In the years after the 2015 DQN paper, a stream of focused improvements each fixed one weakness of the baseline without disturbing its frame. This lesson recaps five that keep the scalar $Q$-value — Double DQN, multi-step returns, dueling networks, prioritized replay, and NoisyNets, each changing a different slot of the same Q-learning loop — then develops the sixth, distributional RL, which changes the objective itself: learn the whole return distribution $Z(s,a)$. We build the distributional Bellman equation and the C51 categorical algorithm, projection step and all, worked end to end on real numbers. A companion lesson takes up QR-DQN, Rainbow, and the modern distributional line.\n",{"path":17551,"title":17552,"module":17548,"summary":17553},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fdistributional-and-rainbow-part-2","Distributional RL and Rainbow","A companion to the DQN improvements lesson. C51 fixed the return atoms and learned their probabilities; QR-DQN does the reverse — fix the probabilities, learn the values — which removes the projection and trains with a quantile loss. We cover why the distribution helps even when you act on the mean, then assemble Rainbow: all six improvements in one Q-learning loop, with the component ablation that shows each one's real weight. The distributional line then runs on through IQN, FQF, and Agent57, the first agent to beat the human baseline on all 57 Atari games.\n",{"path":17555,"title":17556,"module":17548,"summary":17557},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control","Continuous Control: DDPG and TD3","When actions are real-valued, the $\\arg\\max_a Q(s,a)$ in Q-learning becomes an optimization problem on every step. This lesson builds the off-policy actor-critic family that sidesteps it: the deterministic policy gradient and DDPG, which replaces the max with a learned actor, and the three fixes of TD3 that counter the value overestimation DDPG inherits. A companion lesson takes up SAC's maximum-entropy objective and the methods built on this template.\n",{"path":17559,"title":17560,"module":17548,"summary":17561},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fcontinuous-control-part-2","Continuous Control: SAC and Beyond","A companion to the DDPG and TD3 lesson. Where those actors are deterministic and explore with bolted-on noise, soft actor-critic (SAC) changes the objective itself: maximize return plus the entropy of the policy, so exploration becomes intrinsic and the agent stays robust. We develop the maximum-entropy objective, the reparameterized squashed-Gaussian actor, and automatic temperature tuning, then survey the methods built on this off-policy template — distributional critics (D4PG), critic ensembles (REDQ), and control from pixels (DrQ, RAD).\n",{"path":17563,"title":17564,"module":17548,"summary":17565},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl","Model-Based Deep RL: Sample Efficiency and PETS","A model turns experience into imagined planning. This lesson makes the sample-efficiency case for learning a dynamics model, works through why a learned model's errors compound over the planning horizon, and builds the most direct model-based method: PETS plans online with a probabilistic ensemble under model-predictive control, distrusting the model exactly where its members disagree. A companion lesson takes up latent world models (Dreamer) and MuZero.\n",{"path":17567,"title":17568,"module":17548,"summary":17569},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmodel-based-rl-part-2","Model-Based Deep RL: World Models, Dreamer, and MuZero","A companion to the PETS lesson. PETS plans in the environment's native state space; these methods change what the model represents. World Models and Dreamer learn a compact latent state and do almost all their learning by imagining inside it, with value gradients flowing through the differentiable dynamics. MuZero predicts neither states nor pixels — only the reward, value, and policy that MCTS reads — and plans with search against that learned model, AlphaZero without the rules. We close with MBPO, TD-MPC, and EfficientZero.\n",{"path":17571,"title":17572,"module":17548,"summary":17573},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration","Exploration in Deep RL: Novelty as Reward","When the state space is enormous and reward is rare, ε-greedy amounts to a random walk that almost never reaches the first reward. This lesson scales the bandit's exploration ideas up to deep RL through the dominant approach — manufacture a reward for novelty and let the agent chase it: optimism and pseudo-counts from density models, and intrinsic motivation and curiosity (the Intrinsic Curiosity Module and Random Network Distillation). A companion lesson takes up posterior sampling, Go-Explore, and the modern methods.\n",{"path":17575,"title":17576,"module":17548,"summary":17577},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fexploration-part-2","Exploration in Deep RL: Posterior Sampling and Go-Explore","A companion to the novelty-as-reward lesson. Pseudo-counts and curiosity reward the unfamiliar after the agent stumbles into it; this lesson covers two ideas that go further. Bootstrapped DQN keeps an ensemble that approximates a posterior over value functions and explores by committing to one sampled hypothesis per episode — the deep, directed exploration ε-greedy cannot manage. Go-Explore remembers and returns to the frontier, defeating detachment and derailment to solve Montezuma's Revenge. We close with episodic memory (Never Give Up), Agent57, and model-based exploration.\n",{"path":17579,"title":17580,"module":17548,"summary":17581},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl","Offline RL: The Problem and Value-Based Fixes","Offline reinforcement learning learns a policy from a fixed logged dataset with no further environment interaction — off-policy learning pushed to the extreme, and it breaks for the extreme version of the same reason. Bootstrapping queries the value function at out-of-distribution actions the data never covers, those errors are optimistic, and with no online feedback to correct them they compound through the Bellman backup. This lesson sets up the failure and off-policy evaluation, then builds the first two families of pessimistic fixes: policy constraint (BCQ) and conservative value estimation (CQL). A companion lesson takes up implicit methods, model-based offline RL, and Decision Transformer.\n",{"path":17583,"title":17584,"module":17548,"summary":17585},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Foffline-rl-part-2","Offline RL: Implicit Methods, Sequence Models, and Beyond","A companion to the offline-RL problem lesson. Policy constraint and conservative value estimation both still query a learned value function; implicit methods (IQL) avoid querying it off the data at all, using an in-sample expectile backup. We then build pessimism into a learned model (MOPO, COMBO) and drop bootstrapping entirely with Decision Transformer's return-conditioned sequence modeling, closing with offline-to-online fine-tuning, diffusion planners, and the offline view of RLHF. The one rule throughout: without online correction, be pessimistic about what you cannot verify.\n",{"path":17587,"title":17588,"module":17548,"summary":17589},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl","Imitation Learning: Cloning, DAgger, and Inverse RL","When a reward is hard to specify but an expert is easy to watch, learn from demonstrations instead. Behavioral cloning treats control as supervised learning of the expert's state-to-action map, and fails through compounding error: small mistakes carry the agent off the expert's distribution, where it was never trained. DAgger fixes the mismatch by querying the expert on the learner's own states. Inverse RL instead recovers the reward the expert seems to optimize — an ill-posed problem that maximum-entropy IRL disambiguates. A companion lesson casts imitation as adversarial occupancy matching (GAIL, AIRL).\n",{"path":17591,"title":17592,"module":17548,"summary":17593},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fimitation-and-inverse-rl-part-2","Imitation as Adversarial Matching: GAIL and AIRL","A companion to the imitation-learning lesson. If the point of recovering a reward is only to re-run RL and match the expert, you can skip the reward and match the behavior directly. GAIL casts imitation as a GAN — a discriminator separating expert from learner state-action pairs supplies the reward a policy-gradient method optimizes — matching occupancy measures without ever naming a reward. AIRL reads a transferable reward back out of the discriminator. We compare all four methods and close with reward models in RLHF, scaled cloning, and diffusion policies.\n",{"path":17595,"title":17596,"module":17548,"summary":17597},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl","Multi-Agent RL: Markov Games and Centralized Training","With more than one learning agent in an environment, each agent's world becomes non-stationary because the others are changing too. This lesson builds the Markov-game generalization of the MDP, diagnoses non-stationarity as the central obstacle, shows why the naive baselines fail, and develops the dominant fix — centralized training with decentralized execution (MADDPG, VDN, QMIX). A companion lesson takes up self-play, the landmark game-playing systems, and the equilibrium concepts that define what \"solved\" means.\n",{"path":17599,"title":17600,"module":17548,"summary":17601},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmulti-agent-rl-part-2","Multi-Agent RL: Self-Play and Solution Concepts","A companion to the Markov-games lesson. In the purely competitive setting, an agent can generate its own training curriculum by playing against copies of itself — self-play, the method behind AlphaGo, OpenAI Five, and AlphaStar. We develop why self-play produces an ever-improving opponent, the systems it built, and then the equilibrium solution concepts (Nash, correlated, coarse-correlated) that define what \"solved\" means once there is an opponent, closing with PSRO, MAPPO, and the language-model-agent frontier.\n",{"path":17603,"title":17604,"module":17548,"summary":17605},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl","Hierarchical RL: Options and the Option-Critic","Flat RL cannot explore a long horizon: reaching reward through hundreds of primitive actions is exponentially unlikely, and every credit-assignment update crawls one step at a time. Hierarchy breaks one hard long-horizon problem into many short ones. This lesson develops temporal abstraction — the options framework and its semi-Markov view, and learning options end to end with the option-critic. A companion lesson takes up goal-conditioned manager\u002Fworker hierarchies (FeUdal Networks and HIRO), hindsight relabeling, and unsupervised skill discovery.\n",{"path":17607,"title":17608,"module":17548,"summary":17609},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fhierarchical-rl-part-2","Hierarchical RL: Goal-Conditioned Hierarchies and Skills","A companion to the options lesson. Options package a behavior; goal-conditioned hierarchies instead give the top level an explicit language of goals — a manager proposes a target state or a latent direction, and a worker is rewarded for reaching it (FeUdal Networks, HIRO). We develop that architecture, the hindsight relabeling that lets it learn from sparse reward, and unsupervised skill discovery (DIAYN) that learns a repertoire of behaviors with no reward at all. The shared idea throughout: shorten the horizon by inserting a level that decides less often.\n",{"path":17611,"title":17612,"module":17548,"summary":17613},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Frlhf-and-language-models","RLHF and Language Models","A language model trained to predict the next token is fluent but not helpful, honest, or harmless — the objective it was optimized for is not the objective we want. RLHF closes that gap by turning the one thing humans do reliably, comparing two outputs, into a reward. We build the three-stage pipeline: supervised fine-tuning, a Bradley-Terry reward model fit to preference pairs, then PPO against that reward with a KL penalty keeping it near the reference policy. We then cover reward hacking and why the KL penalty matters, Direct Preference Optimization, which folds the reward model into a single classification loss, and the RLAIF and verifiable-reward variants. This pipeline is what makes the largest models usable as assistants.\n",{"path":17615,"title":17616,"module":17548,"summary":17617},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps","Partial Observability: POMDPs and the Belief State","Drop the assumption that the agent sees the state. It sees an observation, a partial and noisy function of a hidden state, and one observation is no longer a Markov signal. This lesson builds the POMDP tuple, shows that the belief state — the posterior over hidden states — is a sufficient statistic that turns a POMDP back into an MDP over beliefs, and works the Bayes-filter belief update step by step. A companion lesson explains why exact planning is intractable and develops the deep-RL answer of recurrent, history-based policies.\n",{"path":17619,"title":17620,"module":17548,"summary":17621},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fpartial-observability-pomdps-part-2","Partial Observability: Planning and Recurrent Policies","A companion to the belief-state lesson. In principle a POMDP reduces to an MDP over beliefs; in practice two obstacles block that. Exact planning over the belief simplex is intractable — the value function is piecewise-linear-and-convex with a number of pieces that can explode — and computing the belief needs a model the agent rarely has. This lesson develops the intractability, the point-based approximations that address it, and the deep-RL answer: make the policy a function of history with a recurrent network (DRQN, R2D2), with frame-stacking, attention, and world-model latents as learned beliefs.\n",{"path":17623,"title":17624,"module":17548,"summary":17625},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl","Safe and Constrained RL: The CMDP and Policy Methods","Maximizing a scalar reward is not the same as behaving well: a capable optimizer will find and exploit any gap between the reward and what its designer actually meant, a failure called specification gaming or reward hacking. The remedy is to add explicit cost constraints — the constrained MDP — maximizing return subject to an expected-cost budget. This lesson builds the core toolkit: the CMDP itself, Lagrangian primal-dual methods that learn a multiplier on the constraint (RCPO), and constrained policy optimization (CPO) with its trust-region cost bound. A companion lesson covers risk-sensitivity, safe exploration, and the alignment framing.\n",{"path":17627,"title":17628,"module":17548,"summary":17629},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fsafe-and-constrained-rl-part-2","Safe RL: Risk, Safe Exploration, and Alignment","A companion to the constrained-MDP lesson. Constraining the mean cost is not enough: a policy safe on average can be catastrophic in the tail, and a policy safe at convergence can violate its limits wildly while learning. This lesson optimizes the tail with risk-sensitive objectives (CVaR), then makes exploration itself safe with shields, Lyapunov methods, and safety layers that project unsafe actions onto the feasible set — closing with benchmarks, safe RLHF, robustness, and the alignment framing that ties safety back to the problem of incompletely specified reward.\n",{"path":17631,"title":17632,"module":17548,"summary":17633},"\u002Freinforcement-learning\u002Fmodern-deep-rl\u002Fmeta-rl-and-generalization","Meta-RL and Generalization","An agent that masters one task often fails on the next; it has overfit to a single environment. This lesson treats fast adaptation as a meta-problem over a distribution of tasks: meta-train so that a few episodes at meta-test time suffice. We cover the two families — optimization-based (MAML learns an initialization) and context-based (RL-squared and PEARL infer a latent task) — the exploration cost of adaptation, and the parallel problem of generalization: why deep RL memorizes environments and what fixes it (domain randomization, procedural generation, augmentation, regularization). It closes on foundation models and sequence-model agents as the generalist endpoint.\n",{"path":17635,"title":17636,"module":17637,"summary":17638},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fpsychology-of-reinforcement","The Psychology of Reinforcement","Reinforcement Learning in Minds and Brains","Reinforcement learning is both an engineering method and a theory of how animals learn. The prediction\u002Fcontrol split of the algorithms mirrors the psychologist's split between classical and instrumental conditioning. We trace the correspondence: the Rescorla–Wagner model as a prediction-error rule that explains blocking, its real-time TD extension, Thorndike's Law of Effect behind trial-and-error control, and the habitual\u002Fgoal-directed distinction that maps onto model-free versus model-based learning.\n",{"path":17640,"title":17641,"module":17637,"summary":17642},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Finstrumental-conditioning-and-control","The Psychology of Reinforcement: Instrumental Control","Classical conditioning was prediction; instrumental conditioning is control. Thorndike's Law of Effect is trial-and-error control — selection plus association, search plus memory — and Skinner's shaping and schedules are reward engineering. The habitual\u002Fgoal-directed distinction maps onto model-free versus model-based control, dissociated by outcome devaluation and arbitrated by uncertainty. Delayed reinforcement is the credit-assignment problem, and the stimulus traces and secondary reinforcers of animal-learning theory are eligibility traces and value functions.\n",{"path":17644,"title":17645,"module":17637,"summary":17646},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-and-td-error","Dopamine and the TD Error","The TD error was invented as an algorithm; a decade later it turned out to closely describe the firing of the brain's dopamine neurons. We follow Schultz's experiments — dopamine fires at an unpredicted reward, shifts to the earliest predictive cue, and dips below baseline when a predicted reward is withheld — and match each result to the TD error term by term. We then read the basal ganglia as a neural actor–critic with dopamine as its shared training signal, and close on addiction as a hijacking of that signal.\n",{"path":17648,"title":17649,"module":17637,"summary":17650},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fdopamine-in-the-brain","Dopamine in the Brain: The Neural Actor–Critic","If phasic dopamine is a TD error, where does it go and what does it change? We follow the axons into the basal ganglia, read the corticostriatal synapse as the place where state, action, and error meet, and map the ventral and dorsal striatum onto the critic and the actor of an actor–critic. Addiction becomes a broken cancellation in the same learning signal, and distributional dopamine extends the scalar RPE into a population code.\n",{"path":17652,"title":17653,"module":17637,"summary":17654},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fanimal-learning-and-cognition","Animal Learning and Cognition","Three classic associative phenomena turn out to be reinforcement-learning mechanisms seen in behavior. Blocking says learning is driven by prediction error, not co-occurrence, and reduces to least-squares regression fitting a collinear feature. Higher-order conditioning and conditioned reinforcement make a value estimate a secondary reinforcer — bootstrapping in an animal. Delayed reinforcement is the credit-assignment problem, and the stimulus traces and goal gradients of Pavlov and Hull are eligibility traces and TD-learned value functions.\n",{"path":17656,"title":17657,"module":17637,"summary":17658},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fcognitive-maps-and-planning","Cognitive Maps and Model-Based Learning","Tolman's rats learned the layout of a maze with no reward, then used it the moment food appeared — latent learning, a cognitive map, and the behavioral face of model-based reinforcement learning. The map is learned by system identification (stimulus–stimulus associations), which fills in whether or not reward is present, and queried by planning, which re-solves a route from a single changed reward. The successor representation sits between cache and model, and hippocampal predictive maps and scaled-up world models carry the same idea into brain and machine.\n",{"path":17660,"title":17661,"module":17637,"summary":17662},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fneuroscience-of-reinforcement","The Neuroscience of Reinforcement","The dopamine story is one contact point between reinforcement learning and the brain; this lesson fills in the surrounding neuroscience so the mapping stands on its own. We build a working primer of neurons, synapses, and neuromodulation; separate four signals that casual usage conflates — reward, reinforcement, value, and prediction error; and read the actor and critic as corticostriatal synapses updated by two- and three-factor rules, grounded in spike-timing-dependent and reward-modulated plasticity.\n",{"path":17664,"title":17665,"module":17637,"summary":17666},"\u002Freinforcement-learning\u002Fminds-and-brains\u002Fseveral-learning-systems","The Brain's Several Learning Systems","The actor's three-factor rule has an ancestor in Klopf's hedonistic neuron — a single cell as a reinforcement-seeking agent — and a bacterium's run-and-twiddle shows the Law of Effect with no synapses at all. Teams of such neurons implement policy gradient collectively, the broadcast reward replacing backpropagation. And the brain is not only model-free: outcome devaluation, prefrontal value coding, and hippocampal forward sweeps localize a model-based system. The recurring conclusion is that the brain is several interacting learning systems, not one algorithm.\n",{"path":17668,"title":16824,"module":6,"summary":6},"\u002Freinforcement-learning",{"path":17670,"title":17671,"module":14017,"summary":17672},"\u002Fartificial-intelligence\u002Ffoundations\u002Fwhat-is-ai","What Is Artificial Intelligence?","Eight definitions of AI fall into a two-by-two grid: think versus act, and measure success against human performance versus an ideal standard of rationality. We work through all four schools — the Turing test, cognitive modelling, the laws of thought, and the rational agent — and adopt the last as the frame for the whole course: AI is the study and design of rational agents.\n",{"path":17674,"title":17675,"module":14017,"summary":17676},"\u002Fartificial-intelligence\u002Ffoundations\u002Ffoundations-of-ai","The Foundations of AI","Where the rational-agent idea came from and what surrounds it. AI inherited its core tools from eight older disciplines — philosophy, mathematics, economics, neuroscience, psychology, computer engineering, control theory, and linguistics. Its history runs in cycles of boom and winter, from the 1956 Dartmouth workshop through expert systems to the statistical turn. And the deep-learning era — AlexNet, the Transformer, GPT-3, AlphaGo — is a new way of computing the agent function at scale, not a new definition of AI.\n",{"path":17678,"title":17679,"module":14017,"summary":17680},"\u002Fartificial-intelligence\u002Ffoundations\u002Fintelligent-agents","Intelligent Agents","An agent perceives an environment through sensors and acts on it through actuators; its behavior is an agent function mapping percept sequences to actions. A rational agent chooses, for each percept sequence, the action that maximizes its expected performance measure given its knowledge. We build the first half of the vocabulary the whole course rests on — the agent function, rationality, PEAS task specifications, and the six axes along which task environments vary.\n",{"path":17682,"title":17683,"module":14017,"summary":17684},"\u002Fartificial-intelligence\u002Ffoundations\u002Fagent-architectures","Agent Architectures","How to build a program that computes a good agent function without storing an astronomically large lookup table. Four skeleton architectures in order of increasing power — simple reflex, model-based, goal-based, and utility-based — plus the learning agent that improves any of them, the scale of world representations (atomic, factored, structured) they rest on, and how a modern language-model agent fits the same frame.\n",{"path":17686,"title":17687,"module":17688,"summary":17689},"\u002Fartificial-intelligence\u002Fsearch\u002Funinformed-search","Uninformed Search","Search","A goal-based agent that cannot see which action is best turns the problem into a state space — an initial state, a set of actions, a transition model, a goal test, and a path cost — and searches for a sequence of actions reaching the goal. We build the state-space formulation on the 8-puzzle and route-finding, give the one TREE-SEARCH \u002F GRAPH-SEARCH skeleton every algorithm specializes, and measure strategies by completeness, optimality, and complexity. This lesson develops the first two frontier disciplines — breadth-first and uniform-cost search; the rest follow in the next lesson.\n",{"path":17691,"title":17692,"module":17688,"summary":17693},"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-strategies-compared","Search Strategies Compared","Breadth-first and uniform-cost search pay for optimality in memory. This lesson develops the strategies that trade memory for depth: depth-first search, which keeps only the current path; depth-limited and iterative-deepening search, which fix DFS's failure on infinite paths; and bidirectional search, which meets in the middle for a square-root saving. It closes by lining up all six uninformed strategies against completeness, optimality, and complexity, and tracing where the algorithms came from and where they went.\n",{"path":17695,"title":17696,"module":17688,"summary":17697},"\u002Fartificial-intelligence\u002Fsearch\u002Finformed-search","Informed Search and A*","An informed search uses a heuristic $h(n)$, an estimate of the cost from a node to the goal, to decide what to expand next. Greedy best-first search follows the heuristic blindly and gives up optimality; A* corrects it by ranking nodes on $f(n) = g(n) + h(n)$, and is optimal when the heuristic is admissible (tree search) or consistent (graph search). This lesson defines the heuristic, builds best-first search, and proves why A* is optimal, with the contour picture that explains its pruning. Where good heuristics come from is the next lesson.\n",{"path":17699,"title":17700,"module":17688,"summary":17701},"\u002Fartificial-intelligence\u002Fsearch\u002Fheuristic-functions","Heuristic Functions and Memory-Bounded Search","A* is only as good as its heuristic, so this lesson answers where good heuristics come from: relaxed problems, whose exact solution cost is an admissible heuristic, and pattern databases, which precompute subproblem costs. It measures heuristic quality with dominance and the effective branching factor, then tackles A*'s memory problem with IDA*, RBFS, and SMA*. It closes with modern heuristic search — weighted A*, learned and disjoint pattern-database heuristics, and bidirectional A*.\n",{"path":17703,"title":17704,"module":17688,"summary":17705},"\u002Fartificial-intelligence\u002Fsearch\u002Flocal-search","Local Search and Optimization","When the path to a goal is irrelevant and only the final state matters, we can discard the search tree entirely and keep just the current state, moving to a better neighbor at each step. This lesson builds the state-space landscape metaphor, works through hill climbing and the three obstacles that defeat it (local maxima, ridges, plateaus), then develops the first escapes: random restarts and simulated annealing with its temperature schedule. The population-based methods and continuous-space calculus follow in the next lesson.\n",{"path":17707,"title":17708,"module":17688,"summary":17709},"\u002Fartificial-intelligence\u002Fsearch\u002Fpopulation-and-continuous-search","Population and Continuous Search","Single-state local search escapes a trap by restarting or tolerating downhill moves. This lesson develops the alternatives that keep several states at once — local beam search, which shares successors across parallel threads, and genetic algorithms, which recombine two parents through crossover and mutation — then crosses into continuous spaces, where calculus replaces the finite neighbor set: gradient ascent, line search, and Newton's method. It closes with the industrial descendants of these methods and the loop they all share.\n",{"path":17711,"title":17712,"module":17688,"summary":17713},"\u002Fartificial-intelligence\u002Fsearch\u002Fadversarial-search","Adversarial Search and Games","When another agent plans against you, search becomes a game. We formalize two-player, zero-sum, perfect-information games as search problems, define the minimax value that optimal play backs up through the game tree, and give the MINIMAX algorithm that computes it. Alpha–beta pruning then cuts the cost of that search roughly in half in the exponent without changing the answer, and a heuristic evaluation function plus a cutoff test turns the exact algorithm into a real-time player that copes with the horizon effect.\n",{"path":17715,"title":17716,"module":17688,"summary":17717},"\u002Fartificial-intelligence\u002Fsearch\u002Fgames-of-chance-and-imperfect-information","Games of Chance and Imperfect Information","Minimax and alpha–beta assume a deterministic game both players can see in full. Drop either assumption and search must change. This lesson adds chance nodes and the expectiminimax value for games with dice, then belief-state reasoning for partially observable games — Kriegspiel and card games — where averaging over clairvoyance both helps and misleads. It closes with the line from Deep Blue's alpha–beta to AlphaGo's learned evaluation and Monte Carlo tree search, and the provable-pruning and self-play research around each end of that story.\n",{"path":17719,"title":17720,"module":17688,"summary":17721},"\u002Fartificial-intelligence\u002Fsearch\u002Fconstraint-satisfaction","Constraint Satisfaction Problems","A constraint satisfaction problem replaces the black-box state with a factored one: variables, domains, and constraints. That structure supports inference before any search runs. This lesson defines the CSP on map coloring, Sudoku, and scheduling, then develops constraint propagation: node and arc consistency, the AC-3 algorithm that makes a whole network arc-consistent, and the way one deleted value cascades across the graph to prune impossible options ahead of search.\n",{"path":17723,"title":17724,"module":17688,"summary":17725},"\u002Fartificial-intelligence\u002Fsearch\u002Fcsp-search-and-structure","CSP Search and Structure","Propagation prunes a CSP but rarely finishes it, so we search. This lesson builds backtracking search over partial assignments and the general-purpose heuristics that make it fast — MRV, degree, least-constraining-value, forward checking, MAC, and intelligent backtracking. It then shows how the shape of the constraint graph controls difficulty: tree-structured problems fall in linear time, cutset conditioning handles the rest, and min-conflicts local search solves a million queens in a constant number of steps.\n",{"path":17727,"title":17728,"module":17688,"summary":17729},"\u002Fartificial-intelligence\u002Fsearch\u002Fsearch-under-uncertainty","Search Under Uncertainty","Classical search assumes the agent knows the state it is in and exactly what each action does. Drop the second assumption and a plan can no longer be a fixed sequence of actions. This lesson develops the first response: AND-OR search over nondeterministic actions, which returns a branching contingency plan rather than a straight line. We build it on the erratic vacuum world, show how OR nodes (the agent's choices) alternate with AND nodes (nature's outcomes), trace the recursion that finds a plan, and handle the case where the only solution is a cyclic \"try, try again.\"\n",{"path":17731,"title":17732,"module":17688,"summary":17733},"\u002Fartificial-intelligence\u002Fsearch\u002Fbelief-state-and-online-search","Belief-State and Online Search","When the agent cannot see the full state, a plan can no longer test where it actually is — it must reason over the set of states it might be in. This lesson develops belief-state search, from sensorless (conformant) planning that coerces an unknown world into a goal, through the predict-observe-update cycle of contingent planning with percepts, to online search in unknown environments, where the agent must act in order to learn. It closes with LRTA*, which refines its own heuristic as it explores, one step from reinforcement learning.\n",{"path":17735,"title":17736,"module":17737,"summary":17738},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-logic","Logical Agents and Propositional Logic","Logic and Planning","A knowledge-based agent keeps a store of sentences and acts by asking it what to do. To make \"asking\" mean something we need entailment — the relation $KB \\models \\alpha$ that holds when every model of the knowledge base is a model of the query. Propositional logic gives a syntax and a truth-table semantics for which entailment is decidable. This first part builds the foundations: the agent loop, the Wumpus World, models and entailment, the connectives and truth tables, theorem proving by refutation, and the resolution rule with its CNF conversion — a single complete inference procedure for all of propositional logic.\n",{"path":17740,"title":17741,"module":17737,"summary":17742},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fpropositional-inference","Propositional Inference and Logical Agents","Model checking and resolution decide entailment, but both can blow up. This part turns propositional logic into a practical engine and a working agent. Horn clauses give linear-time forward and backward chaining — the basis of logic programming. DPLL and WalkSAT make satisfiability testing fast in the common case. Then we make the agent situated: time-indexed fluents, the frame problem and its solution by successor-state axioms, a hybrid agent that deduces a safe map and plans a route through it, and SATPlan, which finds a plan by asking a SAT solver for a satisfying model.\n",{"path":17744,"title":17745,"module":17737,"summary":17746},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic","First-Order Logic","Propositional logic can only say that facts hold; it cannot talk about the objects a fact is about, or state a rule once and have it cover every object. First-order logic fixes this by committing to a world of objects, relations, and functions. This first part builds the language from the ground up: the ontology it commits to, the model that gives a sentence a truth value, the syntax of terms and sentences, the two quantifiers with their standard mistakes, and equality.\n",{"path":17748,"title":17749,"module":17737,"summary":17750},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-logic-in-use","First-Order Logic in Use","With the language of first-order logic in hand, this part is about using it well. Database semantics trades expressive power for the convenience of a single intended model; higher-order logic shows what first-order logic gives up for decidability. Then we put the language to work: the Tell\u002FAsk interface, the kinship domain axiomatized from scratch, and the seven-step knowledge-engineering process applied to a digital circuit.\n",{"path":17752,"title":17753,"module":17737,"summary":17754},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Finference-and-resolution","Inference in First-Order Logic","Propositional inference lifts to first-order logic once we can make terms match. Unification is that machinery: the algorithm that finds the substitution making two expressions identical, and the basis of generalized modus ponens. This first part builds the lifted inference rules and the two chaining algorithms they drive — forward chaining, the data-driven procedure behind production systems and Datalog, and backward chaining, the goal-driven procedure behind Prolog.\n",{"path":17756,"title":17757,"module":17737,"summary":17758},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Ffirst-order-resolution","First-Order Resolution","Chaining is complete only for Horn knowledge bases. General first-order sentences — with disjunctive conclusions and negations — need a single sound and complete rule: resolution. This part converts arbitrary sentences to CNF by skolemizing away the existentials, lifts the resolution rule with unification, and proves entailment by refuting the negated goal. The result is the proof procedure Gödel's completeness theorem guarantees will find any entailment, together with the search strategies that make it usable.\n",{"path":17760,"title":17761,"module":17737,"summary":17762},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fclassical-planning","Classical Planning","Classical planning represents a problem in a factored language, PDDL: states are sets of ground fluents, and actions are lifted schemas with a precondition and an effect. That structure turns planning into search — forward through states or backward through goals — and lets a program read heuristics straight off the schemas by relaxing the problem. This first part develops the representation, the two search directions, and the domain-independent heuristics that come from ignoring preconditions or delete lists.\n",{"path":17764,"title":17765,"module":17737,"summary":17766},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-graphs-and-graphplan","Planning Heuristics and GraphPlan","Every relaxation heuristic can be inaccurate, and none can tell how far apart subgoals sit. The planning graph is a polynomial-size structure that does better: leveled off the problem, it yields admissible distance estimates and a record of which actions and fluents cannot coexist. This part builds the graph, reads heuristics from it, extracts plans with GraphPlan, and closes with the other classical approaches — SATPlan and partial-order planning — and the representational trade that makes all of it work.\n",{"path":17768,"title":17769,"module":17737,"summary":17770},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-in-the-real-world","Planning and Acting in the Real World","Classical planning's clean theory rests on four assumptions: time is ignored, actions are atomic, the world is deterministic and fully observable, and the agent is alone. This first part drops the first two. We add durations and resource constraints — turning a plan into a schedule, solved by the critical-path method and, once resources contend, by NP-hard job-shop scheduling — and let a planner reason at multiple levels of abstraction through high-level actions and their angelic reachable sets.\n",{"path":17772,"title":17773,"module":17737,"summary":17774},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fplanning-under-uncertainty","Planning Under Uncertainty","Classical planning assumed the world was deterministic, fully observable, and the agent alone. This part drops the last two assumptions. When the agent cannot see or predict the world, planning moves into belief-state space: sensorless plans that coerce the world into the goal without sensing, contingent plans that branch on what is sensed, and online agents that monitor and replan when execution diverges. Then we add other agents — joint plans, the coordination problem, and the conventions that let a team act without constant negotiation.\n",{"path":17776,"title":17777,"module":17737,"summary":17778},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Fknowledge-representation","Knowledge Representation","First-order logic gives you the language; this lesson is about what to say in it. This first part builds the content: a general upper ontology from the top down, categories as first-class objects with taxonomies and inheritance, physical composition and the count-noun\u002Fmass-noun split, events and time reified through the event calculus, and belief modeled with modal logic — the machinery for representing the world an agent reasons about.\n",{"path":17780,"title":17781,"module":17737,"summary":17782},"\u002Fartificial-intelligence\u002Flogic-and-planning\u002Freasoning-systems-and-defaults","Reasoning Systems and Default Logic","Having represented the world, this part is about reasoning with it at scale. Semantic networks give a graphical notation with fast inheritance; description logics keep subsumption and classification tractable by design. Then we confront the fact that most useful rules hold only by default: circumscription and default logic give a logical account of nonmonotonic reasoning, and truth maintenance systems retract conclusions cleanly when the beliefs beneath them change.\n",{"path":17784,"title":17785,"module":17786,"summary":17787},"\u002Fartificial-intelligence\u002Funcertainty\u002Fprobability-and-bayes","Quantifying Uncertainty","Uncertainty","Logic breaks down in any domain where the rules have exceptions you cannot enumerate — the qualification problem. Probability replaces truth values with degrees of belief that obey Kolmogorov's axioms, and the full joint distribution becomes a knowledge base from which any query is answered by summing entries: marginalization, conditioning, and normalization. Independence factors that joint into smaller pieces — the first step toward a calculus of rational belief that an agent can actually compute with.\n",{"path":17789,"title":17790,"module":17786,"summary":17791},"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayes-rule-and-naive-bayes","Bayes' Rule and Naive Bayes","Bayes' rule inverts a causal model into a diagnostic one, turning \"how a cause produces its symptoms\" into \"which cause explains what I observed.\" Ignoring the prior is the base-rate fallacy behind overconfident test results. Conditional independence then lets several pieces of evidence combine by multiplying likelihood ratios instead of building an exponential joint, giving the naive Bayes model and pointing directly at Bayesian networks.\n",{"path":17793,"title":17794,"module":17786,"summary":17795},"\u002Fartificial-intelligence\u002Funcertainty\u002Fbayesian-networks","Bayesian Networks","A Bayesian network is a directed acyclic graph of random variables in which each node carries a conditional probability table for itself given its parents. That structure factors the full joint distribution into a product of local terms, turning an exponential table into a linear one, and it makes the conditional independences of the domain explicit. We build the canonical burglary–alarm network, read compactness and d-separation off the graph, run exact inference by variable elimination, and, where that is intractable, estimate answers by sampling.\n",{"path":17797,"title":17798,"module":17786,"summary":17799},"\u002Fartificial-intelligence\u002Funcertainty\u002Finference-in-bayesian-networks","Bayesian Networks: Inference and Relational Models","When exact inference is intractable, sampling estimates the posterior instead: prior and rejection sampling, likelihood weighting, and Gibbs\u002FMCMC, whose error shrinks as one over the square root of the sample count. The same graphical idea then lifts from a fixed set of variables to whole populations — relational and open-universe probability models write dependencies once and unroll them over objects — and we close by placing probability against the rule-based, Dempster–Shafer, and fuzzy alternatives it displaced.\n",{"path":17801,"title":17802,"module":17786,"summary":17803},"\u002Fartificial-intelligence\u002Funcertainty\u002Freasoning-over-time","Probabilistic Reasoning over Time","A world that changes needs a state variable at every point in time. The Markov assumption cuts the dependence on history down to the previous slice, leaving a transition model and a sensor model that define a temporal Bayesian network. Four recursive tasks fall out — filtering, prediction, smoothing, and the most likely explanation — each a message passed along the sequence. We ground them in hidden Markov models and their matrix form, sketch the Kalman filter for continuous state, and reach dynamic Bayesian networks with particle filtering as the general approximate method.\n",{"path":17805,"title":17806,"module":17786,"summary":17807},"\u002Fartificial-intelligence\u002Funcertainty\u002Ftracking-and-data-association","Reasoning over Time: Tracking and Data Association","Dynamic Bayesian networks generalize HMMs and Kalman filters to arbitrarily many state variables per slice, and when exact inference blows up, particle filtering approximates the belief state with a population of weighted samples that propagate, reweight, and resample. Tracking several objects at once adds the data-association problem — which observation came from which object — whose combinatorics defeat any exact filter, so particle filters and MCMC keep many hypotheses alive. We close with SLAM and learned state-space models.\n",{"path":17809,"title":17810,"module":17786,"summary":17811},"\u002Fartificial-intelligence\u002Funcertainty\u002Fmaking-decisions","Making Decisions: Utility Theory","A rational agent chooses the action that maximizes expected utility — the probability of each outcome weighted by how much the agent wants it. We derive the utility function from six axioms on preferences, so maximizing expected utility is forced by consistency rather than assumed; look at risk aversion in the utility-of-money curve; package one-shot choices into decision networks; and quantify what an observation is worth with the value of information.\n",{"path":17813,"title":17402,"module":17786,"summary":17814},"\u002Fartificial-intelligence\u002Funcertainty\u002Fmarkov-decision-processes","When an agent must act repeatedly in a stochastic world, a fixed plan is useless — it needs a policy, an action for every state. The Markov decision process makes this precise with a transition model, a reward, and a discount factor; the Bellman equation characterizes the optimal state utilities, and value iteration and policy iteration solve it. Partial observability lifts the problem to belief states, and bandits, Monte-Carlo tree search, and scalable POMDP solvers extend it — this is the model-known half of reinforcement learning.\n",{"path":17816,"title":17817,"module":17786,"summary":17818},"\u002Fartificial-intelligence\u002Funcertainty\u002Fdecision-networks-and-game-theory","Decision Analysis: Multi-Attribute Utility and Decision Networks","Decision analysis takes the single-agent utility framework and makes it practical: utility over several attributes, dominance and additive value functions, influence diagrams that fold Bayesian networks together with decision and utility nodes, and the value of information that tells an agent which questions are worth asking. Structure in an agent's preferences — dominance, preferential and utility independence — collapses an exponential utility table into a few one-dimensional functions, the same move that made Bayesian networks compact.\n",{"path":17820,"title":17821,"module":17786,"summary":17822},"\u002Fartificial-intelligence\u002Funcertainty\u002Fgame-theory-and-mechanism-design","Game Theory and Mechanism Design","When outcomes depend on other rational agents, single-agent utility maximization no longer suffices. Game theory studies decisions among agents — normal-form games, dominant strategies, Nash and maximin equilibria, and repeated games — and mechanism design runs the logic backwards, engineering rules (auctions, VCG) so that self-interested play produces a good collective outcome. Algorithmic game theory then asks whether equilibria can be computed, what selfishness costs society, and how the mechanisms deployed at internet scale actually behave.\n",{"path":17824,"title":17825,"module":17826,"summary":17827},"\u002Fartificial-intelligence\u002Flearning\u002Flearning-from-examples","Learning from Examples","Learning","An agent that improves with experience does not need its designer to anticipate every situation. Inductive learning takes that ambition and narrows it to one tractable problem: from labelled input-output pairs, recover a function that predicts the output for inputs never seen. This first part builds the foundation around a single organizing question — generalization — through decision trees and information gain, and the training\u002Fvalidation\u002Ftest discipline for evaluating and choosing hypotheses. A second part takes up the theory of learning and the main model families.\n",{"path":17829,"title":17830,"module":17826,"summary":17831},"\u002Fartificial-intelligence\u002Flearning\u002Ftheory-and-model-families","The Theory of Learning and Model Families","Cross-validation measures generalization but does not explain it. This part supplies the theory — PAC learning, sample complexity, and the VC dimension — that says when a hypothesis consistent with enough data is probably approximately correct, and why an unrestricted hypothesis space can never generalize. It then surveys the model families a practitioner reaches for: linear regression and gradient descent, the perceptron and logistic regression, support vector machines and the kernel trick, and ensembles by bagging and boosting — closing with what deep learning changed about the classical picture.\n",{"path":17833,"title":17834,"module":17826,"summary":17835},"\u002Fartificial-intelligence\u002Flearning\u002Fprobabilistic-learning","Learning Probabilistic Models","A [Bayesian network](\u002Fartificial-intelligence\u002Funcertainty\u002Fbayesian-networks) is useless until its numbers are filled in, and those numbers come from data. This first part casts learning itself as probabilistic inference: hypotheses carry a prior, data update it to a posterior, and predictions average over what remains. From that frame fall the standard estimators — maximum likelihood by counting, MAP with a conjugate prior, full Bayesian updating — for the case where every variable is observed. A second part takes up the harder case of hidden variables and the EM algorithm.\n",{"path":17837,"title":17838,"module":17826,"summary":17839},"\u002Fartificial-intelligence\u002Flearning\u002Fexpectation-maximization","Learning with Hidden Variables: The EM Algorithm","Complete data can be learned by counting; real data usually hide some variables — the disease behind the symptoms, the cluster behind the points. This part develops the expectation-maximization algorithm, which learns those models by alternating an expected completion of the missing data with a re-estimation of the parameters. It works the idea through mixtures of Gaussians, Bayesian networks, and hidden Markov models, proves the monotone-likelihood guarantee from the evidence lower bound, and traces the line from EM to variational inference and the variational autoencoder.\n",{"path":17841,"title":16824,"module":17826,"summary":17842},"\u002Fartificial-intelligence\u002Flearning\u002Freinforcement-learning","Reinforcement learning is an MDP with the model unknown: the agent knows neither how its actions move the world nor which states are rewarded, and must recover good behaviour from experienced transitions and rewards alone. This first part builds the classical tabular theory — passive learning (fix a policy, learn its value, by direct estimation, adaptive dynamic programming, and temporal differences) and active learning (choose actions, trade exploration against exploitation, and learn control with Q-learning and SARSA). A second part lifts it off the lookup table with function approximation and policy search.\n",{"path":17844,"title":17845,"module":17826,"summary":17846},"\u002Fartificial-intelligence\u002Flearning\u002Fgeneralization-and-policy-search","Reinforcement Learning: Generalization and Policy Search","Tabular reinforcement learning stores one number per state, which is hopeless for backgammon or chess. This part lifts RL off the lookup table with function approximation, so that updating one state generalizes to related ones, then turns to policy search — representing and optimizing the policy directly, up to the REINFORCE policy gradient and correlated sampling. It closes with the bridge to deep reinforcement learning (deep Q-networks, actor-critic, PPO), the classic applications, and the hand-off to the dedicated RL subject.\n",{"path":17848,"title":17849,"module":17826,"summary":17850},"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-in-learning","Knowledge in Learning","Pure induction learns a function from labelled examples while knowing almost nothing to begin with. This first part brings prior knowledge into the loop by recasting learning as logical inference — hypotheses, examples, and classifications as sentences. It develops current-best-hypothesis search, the version space and its general\u002Fspecific boundary maintained by candidate elimination, and states the three entailment constraints that fix how background knowledge enters. A second part builds the three knowledge-based methods those constraints define.\n",{"path":17852,"title":17853,"module":17826,"summary":17854},"\u002Fartificial-intelligence\u002Flearning\u002Fknowledge-based-learning-methods","Knowledge-Based Learning: EBL, Relevance, and ILP","Once learning is cast as logical inference, three methods follow from the three ways prior knowledge can enter. Explanation-based learning generalizes a single example by explaining it with the domain theory, gaining speed but nothing new. Relevance-based learning uses determinations to shrink the hypothesis space and converge from fewer examples. Inductive logic programming learns genuinely new first-order rules — top-down with FOIL, bottom-up by inverting resolution, even inventing new predicates — and connects to modern statistical relational and neuro-symbolic learning.\n",{"path":17856,"title":17857,"module":17858,"summary":17859},"\u002Fartificial-intelligence\u002Ffrontiers\u002Fvision-and-perception","Vision and Perception","Frontiers","Perception connects an agent to the physical world. We follow one modality — vision — from the physics of image formation (the pinhole camera, perspective projection, lenses, shading, color) through the early operations that turn a pixel array into edges, texture, and motion, and into recognition by appearance. The recurring problem is inversion: a camera collapses a 3-D world onto a 2-D grid, and an agent that wants to act must build the scene back up. Rebuilding the scene is the subject of the companion lesson.\n",{"path":17861,"title":17862,"module":17858,"summary":17863},"\u002Fartificial-intelligence\u002Ffrontiers\u002Freconstructing-the-3d-world","Vision: Reconstructing the 3D World","A camera collapses a three-dimensional world onto a flat grid; this lesson inverts that collapse. We build the camera projection matrix (intrinsics and extrinsics), triangulate a point from two views, then work through the toolbox of depth cues — motion parallax, binocular stereopsis, multiple views, texture, shading, and contour — that turn an ambiguous image back into a scene. We add structural recognition (pictorial-structure \"cardboard people\"), the task-driven use of vision in cars and robots, and the shift from hand-built pipelines to learned deep-vision networks.\n",{"path":17865,"title":17866,"module":17858,"summary":17867},"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobotics","Robotics","A robot is an agent with a body: sensors that read the physical world and effectors that push back on it. This lesson grounds the abstract AI machinery in that body. We build up the hardware (range finders, proprioception, degrees of freedom), then cast perception as probabilistic filtering — the kinematic motion and sensor models, Monte Carlo localization, the extended Kalman filter, and simultaneous localization and mapping (SLAM). The companion lesson takes the estimated pose forward into planning and control.\n",{"path":17869,"title":17870,"module":17858,"summary":17871},"\u002Fartificial-intelligence\u002Ffrontiers\u002Frobot-planning-and-control","Robotics: Planning and Control","A robot that knows where it is still has to decide how to move, and then make a slipping, sensing-imperfect body actually go there. This lesson takes the pose estimate forward: planning motion in configuration space with cell decomposition and sampling-based roadmaps (PRMs and RRTs), planning under uncertainty with most-likely-state and online replanning, closing the loop with P\u002FPD\u002FPID control and potential fields, and finally the software architectures — subsumption, three-layer, and pipeline — that assemble it all, plus the learning-based turn in modern robotics.\n",{"path":17873,"title":17874,"module":17858,"summary":17875},"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnatural-language-in-ai","Natural Language for AI Agents","Language is how agents acquire the knowledge already written down and how they communicate with the humans they serve. This lesson gives the classical AI account of language as a source of information: n-gram language models and the information-seeking tasks built on them — text classification, information retrieval (BM25, the inverted index, PageRank), and information extraction with finite-state templates and hidden Markov models. Throughout, we point to the dedicated NLP subject for the modern deep-learning treatment; the companion lesson takes up grammar, translation, and speech.\n",{"path":17877,"title":17878,"module":17858,"summary":17879},"\u002Fartificial-intelligence\u002Ffrontiers\u002Fnlp-grammar-translation-and-speech","Language for AI Agents: Grammar, Translation, and Speech","N-gram models see only a local window; they cannot say why \"black dog\" is well-formed English and \"dog black\" is not, because that is a fact about structure. This lesson takes up structure: phrase-structure and probabilistic context-free grammars, syntactic analysis by chart parsing and CYK, augmented grammars and compositional semantics, then the two major statistical successes — machine translation and speech recognition — cast as noisy-channel problems. It closes with the bridge from n-grams to transformers and where the classical account sits relative to modern NLP.\n",{"path":17881,"title":17882,"module":17858,"summary":17883},"\u002Fartificial-intelligence\u002Ffrontiers\u002Fphilosophy-and-future","Philosophy, Ethics, and the Future of AI","Two questions have shadowed the field since its founding: can machines act intelligently (weak AI), and can they really think (strong AI)? We work through Turing's objections and their rebuttals — the arguments from disability, mathematics, and informality — then the strong-AI debate: the mind-body problem, functionalism and the brain prosthesis, Searle's Chinese Room and the systems reply, and consciousness and qualia. The companion lesson turns from what AI can do to what it should, and closes the course.\n",{"path":17885,"title":17886,"module":17858,"summary":17887},"\u002Fartificial-intelligence\u002Ffrontiers\u002Fai-ethics-and-future","The Ethics and Future of AI","Having asked whether machines can act intelligently and really think, we turn to whether we should build them at all. This lesson works through the six ethical risks — lost jobs, autonomous weapons, surveillance and privacy, biased decisions, the safety of superintelligence, and the erosion of accountability — then the value-alignment problem in the LLM era, and where the classical agent components could go next. It closes the course by tying search, logic, probability, and learning into a single picture of intelligence as rational agency.\n",{"path":17889,"title":17890,"module":6,"summary":6},"\u002Fartificial-intelligence","Artificial Intelligence",{"path":17892,"title":17893,"module":17894,"summary":17895},"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-constituents-nuclide-chart","Nuclear Composition and Ground-State Properties","Nuclear Properties","The nucleus is a bound assembly of Z protons and N neutrons packed to a radius R = R0 A^(1\u002F3) at a nearly constant density of about 10^17 kg\u002Fm^3. We fix the vocabulary of nuclides, derive nuclear size from mirror-nuclide and electron-scattering data, read the binding-energy-per-nucleon curve, and model it with the liquid-drop semiempirical mass formula.\n",{"path":17897,"title":17898,"module":17894,"summary":17899},"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-size-charge-distributions","Nuclear Size, Shape, and Charge Distributions","Elastic electron scattering resolves the nucleus by its de Broglie wavelength. The measured cross section is the Mott point-charge cross section modulated by a form factor, and that form factor is the Fourier transform of the charge density. Diffraction minima fix the radius, the small-angle slope fixes the mean-square radius, and the fitted Woods-Saxon profile gives a central density and a skin thickness. Mirror-nucleus Coulomb energies, muonic-atom X-rays, and optical isotope shifts give independent radii that all track R = R0 A^(1\u002F3).\n",{"path":17901,"title":17902,"module":17894,"summary":17903},"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-masses-binding-energy","Nuclear Masses, Mass Excess, and Separation Energies","The atomic mass unit fixes the scale, and the mass excess collects the small binding-driven deviation from the integer mass number. Penning-trap cyclotron frequencies now measure masses to parts in a billion, and every decay and reaction Q-value is a difference of these masses. One- and two-nucleon separation energies read the binding difference between neighbouring nuclides directly, showing the even-odd pairing stagger and the sharp drops at magic numbers, and their vanishing marks the neutron and proton drip lines that bound the chart of the nuclides.\n",{"path":17905,"title":17906,"module":17894,"summary":17907},"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fsemi-empirical-mass-formula","The Semi-Empirical Mass Formula and the Valley of Stability","Five physical terms reproduce nuclear binding across the chart: a volume term from saturation, a surface term from the deficit of edge neighbours, a Coulomb term from the electrostatic self-energy of a charged sphere, an asymmetry term from the Pauli cost of unequal proton and neutron filling, and a pairing term. The formula is quadratic in Z at fixed A, so isobars lie on a mass parabola whose minimum sets the most stable charge and whose slope dictates the direction of beta decay. The same competition between surface and Coulomb energy defines the fissility parameter and the onset of fission.\n",{"path":17909,"title":17910,"module":17894,"summary":17911},"\u002Fnuclear-physics\u002Fnuclear-properties\u002Fnuclear-moments-multipoles","Nuclear Spin, Magnetic Dipole, and Electric Quadrupole Moments","The ground state of a nucleus carries a definite spin and parity, a magnetic dipole moment of order the nuclear magneton, and, when its spin exceeds one-half, an electric quadrupole moment that measures its shape. The single-particle Schmidt lines predict the magnetic moment of an odd-A nucleus from the last unpaired nucleon, and the measured moments fall between them. The quadrupole moment distinguishes prolate from oblate deformation, and hyperfine structure is the experimental handle that fixes the spin and the moments from an atomic spectrum.\n",{"path":17913,"title":17914,"module":17915,"summary":17916},"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnuclear-force-shell-overview","The Nuclear Force and the Shell Model","The Nuclear Force","The strong force between nucleons is short-range, charge-independent, saturated, and repulsive at its core, about a hundred times stronger than Coulomb. Yukawa explained it as an exchange of massive mesons, tying the force's range to the meson mass through the uncertainty principle. Layered on top, an independent-particle shell model with strong spin-orbit coupling reproduces the magic numbers 2, 8, 20, 28, 50, 82, 126.\n",{"path":17918,"title":17919,"module":17915,"summary":17920},"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fthe-deuteron","The Deuteron and the Tensor Force","The deuteron is the only bound two-nucleon state: one shallow level at 2.22 MeV, no excited states. A square-well fit fixes a depth near 35 MeV over a 2 fm range, yet the wavefunction leaks so far past the edge that most of the probability lies outside the force. Its spin-1 ground state, magnetic moment close to the sum of the free-nucleon moments, and small but nonzero electric quadrupole moment together force a D-state admixture and a non-central tensor force.\n",{"path":17922,"title":17923,"module":17915,"summary":17924},"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fnucleon-nucleon-scattering","Nucleon-Nucleon Scattering and the Interaction's Structure","Scattering probes the nuclear force above threshold. Partial-wave analysis reduces low-energy data to a single s-wave phase shift, and the effective-range expansion packages that into a scattering length and an effective range. The triplet channel binds (the deuteron) while the singlet is only virtual, which together explain the anomalously large free neutron-proton cross section. Comparing pp, nn, and np results establishes charge symmetry and charge independence, and polarization experiments expose the spin-orbit and tensor pieces.\n",{"path":17926,"title":17927,"module":17915,"summary":17928},"\u002Fnuclear-physics\u002Fnuclear-force-deuteron\u002Fmeson-theory-isospin","Meson Exchange, the Yukawa Potential, and Isospin","Yukawa's massive-field propagator turns the range of the nuclear force into a meson mass: the exchanged quantum's Compton wavelength is the range. One-pion exchange fixes the long-range tail, complete with the tensor structure the deuteron demanded, while heavier mesons build the intermediate attraction and the repulsive core. Charge independence becomes an isospin symmetry, the force is diagonalized by the total isospin through a tau-dot-tau interaction, and the whole picture sits inside QCD as a residual color force between color-neutral nucleons.\n",{"path":17930,"title":17931,"module":17932,"summary":17933},"\u002Fnuclear-physics\u002Fnuclear-models\u002Ffermi-gas-model","The Fermi Gas Model","Nuclear Models","Treating the nucleus as two degenerate Fermi gases of protons and neutrons confined in a common well fixes the Fermi momentum near 250 MeV\u002Fc and the Fermi energy near 33 MeV from the nuclear density alone. The average kinetic energy per nucleon is about 20 MeV, the well depth is the Fermi energy plus the separation energy, and unequal proton and neutron Fermi levels reproduce the asymmetry term of the mass formula.\n",{"path":17935,"title":17936,"module":17932,"summary":17937},"\u002Fnuclear-physics\u002Fnuclear-models\u002Fliquid-drop-collective-coordinates","The Liquid-Drop Model and Collective Deformation","Deforming a charged liquid drop into a spheroid raises its surface energy and lowers its Coulomb energy; the two effects compete through the deformation parameter to set a stability minimum and a fission barrier. The ratio of Coulomb to twice the surface energy is the fissility Z-squared over A, which crosses one near 49 and marks the point where the sphere is unstable. The same surface tension that restores small deformations quantizes into collective vibrations, carrying the static mass formula into dynamic collective motion.\n",{"path":17939,"title":17940,"module":17932,"summary":17941},"\u002Fnuclear-physics\u002Fnuclear-models\u002Fshell-model-single-particle","The Shell Model: Single-Particle States and Spin-Orbit Coupling","A harmonic-oscillator well reproduces the first three magic numbers but fails above twenty; adding a strong inverted spin-orbit term that drives the stretched j equals l plus one-half level down closes the gaps at 28, 50, 82, and 126. The filled shells couple to zero, so the last unpaired nucleon fixes the ground-state spin and parity, and its single-particle magnetic moment falls on the Schmidt lines. Configuration mixing sets the limits of the extreme single-particle model.\n",{"path":17943,"title":17944,"module":17932,"summary":17945},"\u002Fnuclear-physics\u002Fnuclear-models\u002Fcollective-model-rotations-vibrations","The Collective Model: Rotations, Vibrations, and Deformed Nuclei","Deformed nuclei rotate with energies proportional to I times I plus one, giving the ground-state band its characteristic level ratios, while near-spherical nuclei vibrate in quantized surface phonons that build one- and two-phonon multiplets. The Nilsson model tracks single-particle levels as the well deforms, moments of inertia fall between the rigid and irrotational limits, backbending marks the sudden alignment of a broken pair, and giant resonances are the bulk dipole and quadrupole modes of the whole nucleus.\n",{"path":17947,"title":17948,"module":17949,"summary":17950},"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-law-modes","Radioactivity and Decay Modes","Radioactive Decay","Unstable nuclei decay at a rate proportional to how many remain, giving the exponential law N(t) = N0 e^(-lambda t) with half-life t = 0.693\u002Flambda. We work through the three common modes: alpha decay as Coulomb-barrier tunneling with the Geiger-Nuttall rule, beta decay whose continuous spectrum demands the neutrino, and gamma de-excitation, and follow a decay chain across the chart of nuclides.\n",{"path":17952,"title":17953,"module":17949,"summary":17954},"\u002Fnuclear-physics\u002Fradioactive-decay\u002Fdecay-kinetics-equilibrium","Serial Decay, the Bateman Equations, and Radioactive Equilibrium","A radioactive parent that decays into a radioactive daughter obeys a coupled pair of rate equations whose solution is the Bateman formula. Depending on the half-life ordering the chain settles into secular equilibrium (equal activities), transient equilibrium (a fixed activity ratio), or no equilibrium. Constant production under irradiation drives the activity toward a saturation value equal to the production rate, competing decay modes split the total decay constant into partial constants, and the natural decay series in secular equilibrium underpin radiometric dating.\n",{"path":17956,"title":17957,"module":17958,"summary":17959},"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-decay-gamow-theory","Alpha Decay and the Gamow Theory of Tunneling","Alpha Decay","The alpha Q-value turns positive above mass number 150 because the emitted helium-4 is exceptionally tightly bound. Emission proceeds by quantum tunneling through the Coulomb barrier: a WKB integral from the nuclear surface to the outer turning point gives the Gamow factor, and multiplying its penetrability by the assault frequency yields half-lives spanning more than twenty orders of magnitude. The leading term reproduces the Geiger-Nuttall relation, log t½ proportional to the daughter charge over the square root of Q.\n",{"path":17961,"title":17962,"module":17958,"summary":17963},"\u002Fnuclear-physics\u002Falpha-decay\u002Falpha-fine-structure-hindrance","Fine Structure, Angular Momentum, and Hindrance Factors","A single parent emits several alpha groups of slightly different energy, each feeding a distinct level of the daughter, so the alpha spectrum maps the daughter's low-lying states. Emission with orbital angular momentum L raises the barrier by a centrifugal term and is allowed only when angular-momentum and parity selection rules permit. Comparing the measured partial half-life to the Gamow estimate defines a hindrance factor near unity for even-even ground-state transitions and large for odd-A decays that must rearrange the unpaired nucleon.\n",{"path":17965,"title":17966,"module":17967,"summary":17968},"\u002Fnuclear-physics\u002Fbeta-decay\u002Fbeta-decay-energetics-neutrino","Beta Decay Energetics and the Neutrino","Beta Decay and the Weak Interaction","Beta decay converts a neutron into a proton or the reverse, adjusting Z at fixed A along an isobaric mass parabola. We write the three processes (beta-minus, beta-plus, electron capture), reduce every Q-value to a difference of neutral atomic masses, and read the continuous electron spectrum as the fingerprint of a third, nearly massless particle. Pauli's neutrino, its detection by Reines and Cowan, and the endpoint bound on its mass close the lesson.\n",{"path":17970,"title":17971,"module":17967,"summary":17972},"\u002Fnuclear-physics\u002Fbeta-decay\u002Ffermi-theory-beta-decay","Fermi's Theory: Kurie Plots and ft Values","Fermi treated beta decay as a point-contact weak transition and read its rate from the golden rule. The electron spectrum then follows from phase space and the Coulomb Fermi function; the Kurie plot straightens it to a line whose intercept is the endpoint. Integrating the spectrum gives the comparative half-life ft, whose logarithm sorts transitions into superallowed, allowed, and forbidden classes governed by the Fermi and Gamow-Teller selection rules.\n",{"path":17974,"title":17975,"module":17967,"summary":17976},"\u002Fnuclear-physics\u002Fbeta-decay\u002Fweak-interaction-parity-violation","The Weak Interaction and Parity Violation","Beta decay violates mirror symmetry. The Wu experiment on polarized cobalt-60 showed electrons emitted preferentially against the nuclear spin, a pseudoscalar correlation forbidden if parity were conserved. The result fixes the weak charged current as left-handed V minus A, forces neutrinos to be left-handed and antineutrinos right-handed (measured by Goldhaber), and places beta decay within the electroweak theory as W-boson exchange turning a down quark into an up quark.\n",{"path":17978,"title":17979,"module":17967,"summary":17980},"\u002Fnuclear-physics\u002Fbeta-decay\u002Fdouble-beta-decay-neutrino-mass","Double Beta Decay and Neutrino Mass","For even-A isobars the pairing term splits the mass parabola into two curves, and a handful of even-even nuclides sit below their odd-odd neighbor yet above the next even-even one: single beta decay is forbidden but second-order double beta decay is allowed. The two-neutrino mode is a standard-model process with the longest measured lifetimes in nature; the neutrinoless mode would require the neutrino to be its own antiparticle and its rate measures the effective Majorana mass, the sharpest probe of the absolute neutrino mass scale.\n",{"path":17982,"title":17983,"module":17984,"summary":17985},"\u002Fnuclear-physics\u002Fgamma-decay\u002Fgamma-multipole-radiation","Multipole Radiation and Selection Rules","Gamma Decay","Gamma decay carries a nucleus from an excited state to a lower one by emitting a photon of definite angular momentum and parity. We correct the photon energy for nuclear recoil, expand the radiation field into electric and magnetic multipoles, and read off how the transition rate collapses with each increase in multipole order. The Weisskopf single-particle estimates set the scale, and angular-momentum and parity conservation fix which multipole dominates.\n",{"path":17987,"title":17988,"module":17984,"summary":17989},"\u002Fnuclear-physics\u002Fgamma-decay\u002Finternal-conversion-isomers","Internal Conversion and Isomers","A nucleus can shed excitation energy without emitting a photon by handing it directly to an atomic electron. We define the internal-conversion coefficient, trace its growth with atomic number, multipole order, and decreasing energy, and treat the electron-only E0 transitions and internal pair formation. When the lowest allowed multipole is high and the energy low, the gamma rate falls so far that the excited state survives as a metastable isomer.\n",{"path":17991,"title":17992,"module":17984,"summary":17993},"\u002Fnuclear-physics\u002Fgamma-decay\u002Fangular-correlations-mossbauer","Angular Correlations and the Mössbauer Effect","Two gammas emitted in cascade are not independent in direction: detecting the first selects magnetic substates of the intermediate level and makes the second anisotropic, so the correlation function fixes the intermediate spin. The same nuclear resonance that recoil normally destroys is recovered when the emitter is locked in a lattice, giving the Mössbauer effect and its part-in-a-trillion resolution of isomer shifts and hyperfine fields.\n",{"path":17995,"title":17996,"module":17997,"summary":17998},"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Freaction-kinematics-cross-sections","Nuclear Reactions, Fission, and Fusion","Nuclear Reactions","A nuclear reaction X(x, y)Y is governed by its Q value and its cross section, the effective target area for a given process. Splitting the curve of binding energy near iron in either direction releases energy: fission of heavy nuclei by neutron capture and a chain reaction, and fusion of light nuclei that powers the Sun and needs Lawson's density-confinement criterion to be practical.\n",{"path":18000,"title":18001,"module":17997,"summary":18002},"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fcompound-nucleus-resonances","The Compound Nucleus and Resonance Reactions","Low-energy reactions proceed through a long-lived intermediate state whose decay forgets how it formed. Bohr's independence hypothesis factorizes the cross section into a formation step and a branching ratio, an isolated level gives the single-level Breit-Wigner line shape with total width Γ tied to the lifetime by Γτ = ħ, and at high excitation overlapping levels merge into a statistical continuum described by evaporation spectra and the Hauser-Feshbach average.\n",{"path":18004,"title":18005,"module":17997,"summary":18006},"\u002Fnuclear-physics\u002Fnuclear-reactions\u002Fdirect-reactions-optical-model","Direct Reactions and the Optical Model","A complex optical potential replaces the many-body target by a single particle moving in an average field whose imaginary part removes flux into non-elastic channels, reproducing the diffraction pattern of elastic scattering. Direct reactions bypass the compound nucleus, transferring a nucleon in one step: stripping and pickup deposit or remove a single nucleon, the angle of the first peak in the distorted-wave angular distribution fixes the transferred orbital angular momentum, and its magnitude gives the spectroscopic factor.\n",{"path":18008,"title":18009,"module":18010,"summary":18011},"\u002Fnuclear-physics\u002Ffission\u002Ffission-barrier-dynamics","The Fission Barrier and Fragment Energetics","Nuclear Fission","Fission is the large-amplitude collective deformation of a heavy nucleus into two fragments. The liquid-drop model sets a barrier from the competition between rising surface energy and falling Coulomb energy under quadrupole deformation, with the fissility parameter Z²\u002FA measuring how close a nucleus is to instability. Bohr-Wheeler theory separates spontaneous from neutron-induced fission, the fragment mass yield is double-humped and asymmetric, about 200 MeV is released per event, and shell corrections add a second minimum that produces fission isomers.\n",{"path":18013,"title":18014,"module":18010,"summary":18015},"\u002Fnuclear-physics\u002Ffission\u002Fchain-reactions-reactor-physics","Chain Reactions and Reactor Physics","A self-sustaining chain reaction is a fixed point of neutron bookkeeping: the multiplication factor k counts the neutrons in one generation per neutron in the last, and criticality is k = 1. The four-factor formula tracks a neutron through fast fission, resonance escape, thermal utilization, and reproduction; moderation slows fission neutrons to the thermal energies where the fission cross section is largest; and the small delayed-neutron fraction sets the timescale that makes a reactor controllable. Breeding converts fertile U-238 and Th-232 into new fissile fuel.\n",{"path":18017,"title":18018,"module":18019,"summary":18020},"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Ffusion-reactions-confinement","Fusion Reactions and Confinement","Fusion and Nucleosynthesis","Light nuclei release energy when they fuse because binding per nucleon rises steeply toward the iron peak, but the Coulomb barrier suppresses the rate at reactor temperatures. The thermonuclear rate is a convolution of the Maxwell distribution with the tunneling probability, sharply peaked at the Gamow energy. The deuterium-tritium reaction has the lowest barrier and largest cross section; sustained energy gain requires the Lawson triple product of density, temperature, and confinement time, reached by magnetic or inertial confinement.\n",{"path":18022,"title":18023,"module":18019,"summary":18024},"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fstellar-nucleosynthesis","Stellar Nucleosynthesis","Main-sequence stars burn hydrogen to helium through the proton-proton chain and the CNO cycle, both releasing 26.7 MeV per helium nucleus. Helium burning bridges the mass-5 and mass-8 gaps by the triple-alpha process through the Beryllium-8 and Hoyle resonances, and successive carbon-to-silicon burning stages climb to the iron peak, where fusion stops. The elements beyond iron are built by slow and rapid neutron capture, and the solar neutrino flux confirms the reactions directly.\n",{"path":18026,"title":18027,"module":18019,"summary":18028},"\u002Fnuclear-physics\u002Ffusion-nucleosynthesis\u002Fbig-bang-nucleosynthesis","Big-Bang Nucleosynthesis","In the first three minutes the expanding universe forged the light elements. The weak interaction froze the neutron-to-proton ratio near one in six when the reaction rate fell below the expansion rate, and free-neutron decay lowered it to about one in seven before the deuterium bottleneck broke. Almost every surviving neutron ended in helium-4, fixing the primordial helium mass fraction near 0.25, with trace deuterium, helium-3, and lithium-7. The deuterium abundance measures the cosmic baryon density.\n",{"path":18030,"title":18031,"module":18032,"summary":18033},"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fcharged-particle-stopping-power","Stopping Power and the Range of Charged Particles","Radiation and Applications","A heavy charged particle loses energy in a dense sequence of small Coulomb collisions with atomic electrons, at a rate the Bethe-Bloch formula fixes from the particle's charge and speed and the medium's electron density and mean excitation energy. The rate scales as the inverse square of the speed, so most energy is deposited at the end of the track in the Bragg peak, and integrating the reciprocal rate gives a sharp range. Electrons differ: they also radiate, and above a critical energy bremsstrahlung dominates. Fast particles above the phase velocity of light in the medium emit Cherenkov radiation.\n",{"path":18035,"title":18036,"module":18032,"summary":18037},"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fphoton-neutron-interactions","Interactions of Photons and Neutrons","Photons are removed from a beam in single events, so their intensity falls exponentially with a linear attenuation coefficient built from three processes: the photoelectric effect at low energy, Compton scattering at intermediate energy, and pair production above twice the electron rest energy, each with its own atomic-number and energy dependence. Neutrons carry no charge and interact only with nuclei, moderating by elastic scattering and being captured with a cross section that rises as one over speed away from resonances.\n",{"path":18039,"title":18040,"module":18032,"summary":18041},"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fradiation-detectors","Radiation Detectors and Nuclear Spectroscopy","Every detector converts the energy a radiation deposits into a measurable electrical signal. Gas counters read the ionization directly, in three operating regions set by the applied voltage; scintillators convert the energy to light read out by a photomultiplier; semiconductor detectors collect electron-hole pairs and give the best energy resolution because so many carriers are made per event. The resolution is governed by the number of independent charge carriers, and the pulse-height spectrum of a gamma line shows a full-energy photopeak, a Compton continuum with its edge, and escape peaks.\n",{"path":18043,"title":18044,"module":18032,"summary":18045},"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fdosimetry-radiation-biology","Dosimetry, Radiation Biology, and Protection","Absorbed dose is the energy deposited per unit mass, measured in gray. Equal absorbed doses do unequal biological damage because densely ionizing radiation deposits its energy along short tracks: weighting the dose by a radiation factor gives the equivalent dose, and weighting by tissue sensitivity gives the effective dose, both in sieverts. Deterministic effects have a threshold and a severity that grows with dose; stochastic effects are assumed to follow a linear-no-threshold probability. Natural background dominates the dose to the population, and protection rests on time, distance, and shielding.\n",{"path":18047,"title":18048,"module":18032,"summary":18049},"\u002Fnuclear-physics\u002Fradiation-matter-applications\u002Fnuclear-applications-dating-medicine","Applications — Dating, Analysis, and Nuclear Medicine","Charged particles lose energy continuously and stop at a well-defined range with a Bragg peak, while gamma rays are attenuated exponentially. These interactions define radiation detectors and dosimetry (gray and sievert) and drive the applications: neutron activation analysis, magnetic resonance imaging, PET, and radiometric dating with carbon-14 and long-lived rock clocks.\n",{"path":18051,"title":18052,"module":6,"summary":6},"\u002Fnuclear-physics","Nuclear Physics",{"path":18054,"title":18055,"module":14017,"summary":18056},"\u002Fnatural-language-processing\u002Ffoundations\u002Fwhat-is-nlp","What Is Natural Language Processing?","Natural language processing is the computational treatment of human language: reading it, representing it, and generating it. We set up why the problem is hard — ambiguity at every level, from sound to intent — trace the field from ELIZA's pattern-matching through statistical methods to today's neural models, lay out the linguistic levels and task families the course covers, and fix the vocabulary of tokens, types, and corpora the rest of the notes rely on.\n",{"path":18058,"title":18059,"module":14017,"summary":18060},"\u002Fnatural-language-processing\u002Ffoundations\u002Fregex-and-text-normalization","Regular Expressions and Text Normalization","Before any model touches text, the text has to be found and cleaned. Regular expressions give an algebra for describing string patterns; tokenization, case folding, and stemming turn raw characters into the units a model counts; and byte-pair encoding builds a subword vocabulary that spells out any word. Measuring how far apart two strings are — minimum edit distance — is the next lesson.\n",{"path":18062,"title":18063,"module":14017,"summary":18064},"\u002Fnatural-language-processing\u002Ffoundations\u002Fminimum-edit-distance","Minimum Edit Distance","Much of language processing needs to measure how similar two strings are — a speller ranking corrections, a diff tool, a coreference resolver. Minimum edit distance counts the insertions, deletions, and substitutions that turn one string into another, computed by a dynamic-programming table. We fill the table for intention to execution, backtrace to recover the alignment, and see how the same machinery generalizes to weighted edits, Viterbi, and biological sequence alignment.\n",{"path":18066,"title":18067,"module":14017,"summary":18068},"\u002Fnatural-language-processing\u002Ffoundations\u002Fn-gram-language-models","N-Gram Language Models","A language model assigns a probability to a sequence of words and, equivalently, predicts the next word from its history. The n-gram model makes this tractable by truncating the history to the last few words, estimates the resulting conditional probabilities by counting, and is scored by perplexity. We build the model from the chain rule, work a bigram example on a small corpus, and read perplexity as a branching factor. The next lesson covers the zero counts that break this model and the smoothing that repairs them.\n",{"path":18070,"title":18071,"module":14017,"summary":18072},"\u002Fnatural-language-processing\u002Ffoundations\u002Fsmoothing-and-backoff","Smoothing and Backoff","Every finite corpus is missing good word sequences it simply never saw, so a raw n-gram model assigns them probability zero and breaks. Smoothing repairs the zeros: add-one and add-k shave mass off seen events, backoff and interpolation fall back on shorter contexts, and Kneser-Ney — worked here by hand — replaces raw frequency with how many contexts a word completes. We close on web-scale stupid backoff and the neural models that dissolve the zero problem rather than patch it.\n",{"path":18074,"title":18075,"module":18076,"summary":18077},"\u002Fnatural-language-processing\u002Fclassification\u002Fnaive-bayes-and-sentiment","Naive Bayes and Sentiment Classification","Text Classification","Text classification assigns a category to a document — positive or negative, spam or not, one topic among many. Naive Bayes is a generative solution: apply Bayes' rule, assume the words are conditionally independent given the class, and the winning class is the one maximizing the product of a prior and per-word likelihoods. We train it by counting with add-one smoothing, work a full sentiment example by hand, sharpen it for sentiment (binary counts, negation, lexicons), and place it among the transformer classifiers that came after.\n",{"path":18079,"title":18080,"module":18076,"summary":18081},"\u002Fnatural-language-processing\u002Fclassification\u002Fevaluating-classifiers","Evaluating Classifiers","A trained classifier is only useful once we can measure how good it is. We build the confusion matrix, see why accuracy misleads on unbalanced data, and define precision, recall, and the F-measure that balances them. Multi-class tasks need macro- versus micro-averaging; reliable estimates need cross-validation. We close on statistical significance — the paired bootstrap test for whether one system's lead over another is significant.\n",{"path":18083,"title":18084,"module":18076,"summary":18085},"\u002Fnatural-language-processing\u002Fclassification\u002Flogistic-regression","Logistic Regression","Logistic regression is the discriminative counterpart to naive Bayes: instead of modelling how a document is generated, it learns weights that directly separate the classes. We build it from the sigmoid, derive the cross-entropy loss from maximum likelihood, learn the weights by stochastic gradient descent, regularize to curb overfitting, and generalize to many classes with the softmax. The two-class model is already a one-neuron network, so this is the bridge to neural language models.\n",{"path":18087,"title":18088,"module":18076,"summary":18089},"\u002Fnatural-language-processing\u002Fclassification\u002Fsentiment-and-affect-lexicons","Sentiment and Affect Lexicons","A sentiment lexicon is a list of words annotated with the affective meaning they carry — positive or negative, or scores along valence, arousal, and dominance. We fix what \"emotion\" means (basic-emotion versus dimensional models), survey the standard lexicons, and then build lexicons three ways: by human labeling with best-worst scaling, by semi-supervised induction from seed words over an embedding space, and by supervised learning from starred reviews. We close on connotation frames, which record the sentiment a verb implies about each of its arguments.\n",{"path":18091,"title":18092,"module":18093,"summary":18094},"\u002Fnatural-language-processing\u002Fsemantics\u002Fvector-semantics-and-embeddings","Vector Semantics and Embeddings","Semantics","Vector semantics represents a word's meaning as a point in space, derived from the company the word keeps. This first part builds the count-based side: the distributional hypothesis, co-occurrence matrices in their term-document and word-word forms, cosine as the similarity measure, and the two weightings — tf-idf and PPMI — that fix what raw counts get wrong. The result is a sparse, interpretable vector for every word, and the setup for the dense embeddings of the next lesson.\n",{"path":18096,"title":18097,"module":18093,"summary":18098},"\u002Fnatural-language-processing\u002Fsemantics\u002Fstatic-word-embeddings","Static Word Embeddings: word2vec and After","Count-based vectors are long and sparse; embeddings are the short, dense alternative. This lesson builds them with word2vec's skip-gram and negative sampling — a classifier whose learned weights are the vectors — derives its gradient, and works one update by hand. It then reads relations off the analogy parallelogram, surveys the papers that framed the static-embedding era (word2vec, GloVe, the SGNS-as-PPMI equivalence, fastText, ELMo), and closes on the biases embeddings inherit and the single-vector-per-word ceiling that contextual models break.\n",{"path":18100,"title":18101,"module":18093,"summary":18102},"\u002Fnatural-language-processing\u002Fsemantics\u002Fneural-language-models","Neural Networks and Neural Language Models","A neural network is a stack of units, each a weighted sum passed through a non-linearity — a single unit on its own is logistic regression. We build the network up from that unit: the activation functions that give it power, the XOR problem that forces a hidden layer, the feedforward forward pass in matrix form, and the Bengio-style feedforward neural language model that concatenates word embeddings and predicts the next word with a softmax. Training is cross-entropy minimized by gradient descent, with backpropagation supplying the gradient. Embeddings let the model share statistical strength across similar words, avoiding the sparsity that limits n-gram models.\n",{"path":18104,"title":18105,"module":14476,"summary":18106},"\u002Fnatural-language-processing\u002Fsequences\u002Fsequence-labeling","Sequence Labeling: POS and NER","Sequence labeling assigns one tag to every token in a sentence. This first part sets up the task through its two canonical cases — part-of-speech tagging over the Penn Treebank tagset, and named-entity recognition reframed as token labeling with the BIO scheme — then builds the hidden Markov model, the classic probabilistic tagger. The HMM tags by Bayesian inference: transition and emission probabilities under two Markov assumptions, reducing tagging to an argmax over tag sequences. That argmax is exponential to enumerate, which sets up the Viterbi decoder, the CRF, and neural taggers of the next lesson.\n",{"path":18108,"title":18109,"module":14476,"summary":18110},"\u002Fnatural-language-processing\u002Fsequences\u002Fcrfs-and-neural-taggers","Viterbi Decoding, CRFs, and Neural Taggers","The HMM reduced tagging to an argmax over exponentially many tag sequences. This lesson builds the decoder that makes it tractable — the Viterbi dynamic program, worked through a full numeric trace on real WSJ probabilities — then keeps that same decoder while replacing the HMM's rigid tables. The linear-chain conditional random field is a discriminative log-linear model whose global feature functions can inspect any part of the input, which is why CRFs win for NER. Finally it traces the shift to neural taggers (biLSTM-CRF, character-aware NER, ELMo), where hand-built features become learned representations while the Viterbi decoder carries over unchanged.\n",{"path":18112,"title":18113,"module":14476,"summary":18114},"\u002Fnatural-language-processing\u002Fsequences\u002Frnns-and-lstms","RNNs and LSTMs","A feedforward neural language model sees a fixed window of words and can look no further back. The recurrent neural network removes that limit: it carries a hidden state across time, so each word is read in the context of everything before it. We build the RNN from its one recurrent equation, use it as a language model, train it by backpropagation through time, and diagnose the vanishing-gradient problem that makes plain RNNs forget. The LSTM fixes the forgetting with a cell state and three gates, and the encoder-decoder stacks two RNNs into a sequence-to-sequence model — and its single-vector bottleneck is the problem attention was invented to remove.\n",{"path":18116,"title":18117,"module":14958,"summary":18118},"\u002Fnatural-language-processing\u002Ftransformers\u002Ftransformers-and-attention","Transformers and Self-Attention","Recurrence forced language models to read one word at a time and to squeeze every dependency through a chain of hidden states. Self-attention removes the recurrence: at every layer each position compares itself to every other and reads a weighted mixture of them, in a single parallel step. This first part builds the attention operation from the ground up — the soft lookup, queries and keys and values, the scaled dot-product, the numeric trace, the matrix form, and the causal mask — and sets up the full transformer architecture that follows.\n",{"path":18120,"title":16670,"module":14958,"summary":18121},"\u002Fnatural-language-processing\u002Ftransformers\u002Fthe-transformer-architecture","This part takes the scaled dot-product attention of the previous lesson and assembles the full transformer architecture around it: multi-head attention so several relations can be read at once, the transformer block of residual connections and layer norm that makes deep stacks trainable, positional embeddings that restore word order, the decoder-only language model, and the encoder, decoder, and encoder-decoder shapes — closing with the 2017 paper and the pre-norm, FlashAttention, and RoPE refinements that scaled it up.\n",{"path":18123,"title":16778,"module":14958,"summary":18124},"\u002Fnatural-language-processing\u002Ftransformers\u002Flarge-language-models","A large language model is a decoder-only transformer trained on one objective — predict the next token. This first part assembles the inference side: the language-modeling head that turns a hidden state into a distribution over the vocabulary, autoregressive generation, and the decoding strategies — greedy, beam, and sampling with temperature, top-k, and nucleus — that read text back out of that distribution. Training the distribution at web scale comes next.\n",{"path":18126,"title":18127,"module":14958,"summary":18128},"\u002Fnatural-language-processing\u002Ftransformers\u002Fllm-pretraining-and-scaling","Large Language Models: Pretraining and Scaling","A language model's next-token distribution is only as good as the parameters behind it. This part is where those parameters come from: self-supervised pretraining on web-scale text with teacher forcing and cross-entropy, the scaling laws that make test loss a predictable power law in parameters, data, and compute, the KV cache that keeps long-context inference affordable, and how a finished model is evaluated by perplexity and benchmarks — closing with the Kaplan, Chinchilla, GPT-3, and emergence papers behind the scaling story.\n",{"path":18130,"title":18131,"module":14958,"summary":18132},"\u002Fnatural-language-processing\u002Ftransformers\u002Ffine-tuning-and-prompting","Fine-Tuning and Prompting","A pretrained transformer is a general-purpose knowledge source; a task is what you do with it. There are two ways to adapt one, and this first part covers the one that updates the weights: fine-tuning. A bidirectional encoder like BERT is pretrained by masked language modeling, then a small task head is bolted on and the whole thing is trained on labelled data for classification, sequence labeling, or span-based question answering — with parameter-efficient variants (adapters, LoRA) that touch only a sliver of the weights. Prompting, the family that leaves the weights frozen, comes next.\n",{"path":18134,"title":18135,"module":14958,"summary":18136},"\u002Fnatural-language-processing\u002Ftransformers\u002Fprompting-and-alignment","Prompting and Alignment","Fine-tuning adapts a model by changing its weights. The second family of adaptation changes nothing: a large frozen model performs a task from an instruction and a few examples placed in its context. This part covers prompting and in-context learning, chain-of-thought that elicits reasoning, and the two training stages — instruction tuning and RLHF — that turn a fluent base predictor into an aligned assistant, closing with the BERT, LoRA, chain-of-thought, InstructGPT, and retrieval-augmentation papers behind the modern adaptation pipeline.\n",{"path":18138,"title":18139,"module":18140,"summary":18141},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-parsing","Constituency Parsing","Linguistic Structure","A constituency parse groups a sentence into nested phrases described by a context-free grammar. We build the CFG formalism, read the phrase structure of English off a treebank, confront the structural ambiguity that makes parsing hard, convert to Chomsky normal form, and then solve it with CKY — the dynamic-programming chart that fills a triangular table bottom-up. Probabilistic and neural span parsers, evaluation, and shallow parsing follow in the companion lesson.\n",{"path":18143,"title":18144,"module":18140,"summary":18145},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcky-scoring-and-evaluation","CKY Scoring, Evaluation, and Shallow Parsing","The CKY chart returns every parse but does not say which is correct. Disambiguation needs a score on trees. This lesson attaches probabilities to a grammar (the PCFG and lexicalization), replaces the grammar with a neural span scorer over a pretrained encoder, states the self-attentive results that made it the state of the art, evaluates parsers against a treebank with PARSEVAL, and closes with chunking and shallow parsing for tasks that need only the flat phrases.\n",{"path":18147,"title":18148,"module":18140,"summary":18149},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdependency-parsing","Dependency Parsing","A dependency parse throws away phrases and keeps only directed, labeled arcs from heads to their dependents, so the subject and object of a verb hang off the verb directly. We fix the formalism (rooted trees, typed Universal-Dependency relations, projectivity), then build the first parser family: transition-based arc-standard and arc-eager parsing, a greedy stack-and-buffer machine trained from an oracle. Graph-based and neural dependency parsing follow in the companion lesson.\n",{"path":18151,"title":18152,"module":18140,"summary":18153},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fgraph-based-and-neural-dependency-parsing","Graph-Based and Neural Dependency Parsing","Greedy transition parsing commits locally; the graph-based family scores whole trees instead. This lesson scores every candidate head-dependent edge and extracts the maximum spanning tree with Chu-Liu\u002FEdmonds, develops the biaffine neural scorer that made graph-based parsing the accuracy leader, evaluates parsers with the unlabeled and labeled attachment scores (UAS and LAS), and closes on where the two parser families sit and what they feed downstream.\n",{"path":18155,"title":18156,"module":18140,"summary":18157},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fword-senses-and-wsd","Word Senses and Disambiguation","A word is not an atom of meaning: \"bass\" names a fish, a voice, and an instrument, and one static embedding blurs them into a single point. This lesson pulls those senses apart. We define polysemy and the relations that organize senses — synonymy, antonymy, hyponymy, meronymy — build them into WordNet's synset graph, measure similarity along that graph, and then solve the core of word sense disambiguation: the most-frequent-sense baseline, the Lesk gloss-overlap algorithm, feature-based classifiers, and the nearest-neighbor method over BERT embeddings. WSD variants, embeddings, and evaluation follow in the companion lesson.\n",{"path":18159,"title":18160,"module":18140,"summary":18161},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fwsd-in-practice-and-induction","WSD in Practice and Word Sense Induction","Beyond core word sense disambiguation lie the variants and loose ends: the sense-inventory-free Word-in-Context task, retrofitting static embeddings to a thesaurus, discovering senses without a fixed inventory (word sense induction), the gloss-aware and bi-encoder neural systems that hold the state of the art, and how WSD and its cousins are evaluated. Together they connect one-vector-per-word embeddings to sense-aware contextual representations.\n",{"path":18163,"title":18164,"module":18140,"summary":18165},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-roles-and-information-extraction","Semantic Roles and Information Extraction","Semantic roles answer \"who did what to whom\" for a single event, abstracting away the syntax that expresses it. We show why syntax alone is not enough, generalize over diathesis alternations with thematic roles, number a predicate's arguments with PropBank and group predicates into frames with FrameNet, tag each argument automatically with semantic role labeling, and factor predicates into primitives. Information extraction scales the idea to a corpus in the companion lesson.\n",{"path":18167,"title":18168,"module":18140,"summary":18169},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Frelations-events-and-templates","Relations, Events, and Templates","Semantic roles answer \"who did what\" for one predicate; information extraction scales the idea to a whole corpus. This lesson turns unstructured text into structured data: relation extraction pulls entity-relation-entity triples out of sentences by patterns, supervision, and distant supervision; event and temporal extraction place those facts on a timeline; and template filling and knowledge-base population assemble them into a database a downstream system can query.\n",{"path":18171,"title":18172,"module":18140,"summary":18173},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoreference-and-discourse","Coreference and Discourse","A text is more than a bag of sentences: entities recur under different names. Coreference resolution links every mention to the discourse entity it evokes — the linguistic background of pronouns, definite NPs, and names; mention detection; the mention-pair, mention-ranking, and entity-based architectures; a neural end-to-end span model that scores candidate antecedents; features, evaluation by the CoNLL F1, gender bias, and the neural coreference lineage. Discourse coherence follows in the companion lesson.\n",{"path":18175,"title":18176,"module":18140,"summary":18177},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcoherence-and-discourse-structure","Coherence and Discourse Structure","Coherence is what makes a run of sentences a discourse rather than an arbitrary collection. This lesson develops coherence relations and Rhetorical Structure Theory trees, discourse-structure parsing, Centering and the entity grid for entity-based coherence, and representation-learning models of local coherence, measured in part over the coreference chains recovered in the companion lesson.\n",{"path":18179,"title":18180,"module":18140,"summary":18181},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Flogical-semantics","Logical Representations of Meaning","A meaning representation turns a sentence into a formal structure a machine can check against a world and reason over. We set the desiderata a good representation must meet, ground truth in a model, build up first-order logic for sentences with its connectives, quantifiers, and inference, and reify events with the neo-Davidsonian event variable to escape fixed predicate arity. The compositional lambda calculus, quantifier scope, and description logics follow in the companion lesson.\n",{"path":18183,"title":18184,"module":18140,"summary":18185},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fcompositional-semantics-and-description-logics","Compositional Semantics and Description Logics","How do you compute a logical form from a sentence automatically? This lesson builds the compositional machinery: the lambda calculus that assembles a formula from a parse tree one beta-reduction at a time, the quantifier-scope ambiguity a single syntax tree leaves open, and the decidable description logics — TBox, ABox, subsumption, role restrictions — behind the Web Ontology Language, closing with how the map from string to logical form can be learned.\n",{"path":18187,"title":18188,"module":18140,"summary":18189},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fsemantic-parsing","Semantic Parsing","Turning a sentence into a structured, executable meaning, the grammar-based way. We take the logical forms defined earlier and build them compositionally: a rule-based parser that walks a syntax tree applying lambda terms, then Combinatory Categorial Grammar (CCG), which fuses syntax and semantics so one lexicalized derivation produces both — including supertagging and A* parsing. Learned and neural semantic parsers follow in the companion lesson.\n",{"path":18191,"title":18192,"module":18140,"summary":18193},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fneural-semantic-parsing","Learned and Neural Semantic Parsing","Hand-writing a lexicon of lambda terms does not scale, so this lesson learns the parser instead. We cover the two supervision regimes (from logical forms and from denotations), Abstract Meaning Representation as a rooted concept graph, neural sequence-to-sequence parsing with constrained decoding and copy mechanisms, executable text-to-SQL and knowledge-based question answering, the practical systems that made learned parsers accurate, and how the task is evaluated.\n",{"path":18195,"title":18196,"module":18140,"summary":18197},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Finformation-extraction","Information Extraction","Information extraction turns free text into a database, and the first step is relation extraction: pulling entity-relation-entity triples out of sentences. We cover all five families — hand-built patterns, supervised classifiers, semi-supervised bootstrapping, distant supervision, and unsupervised Open IE — with worked bootstrapping and distant-supervision traces, then the neural and LLM systems that extended them. Times, events, and templates follow in the companion lesson.\n",{"path":18199,"title":18200,"module":18140,"summary":18201},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftimes-events-and-templates","Extracting Times, Events, and Templates","Once relation extraction has produced typed triples, the information-extraction pipeline still has to place facts in time and assemble them into records. This lesson detects and normalizes temporal expressions to ISO 8601 values, detects events and orders them on a timeline with the 13 Allen relations, and fills slot-and-filler templates — flat and hierarchical — for stereotyped situations, closing the loop from text to a queryable database.\n",{"path":18203,"title":18204,"module":18140,"summary":18205},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fdiscourse-coherence","Discourse Coherence","A text is more than a set of sentences. What binds a run of sentences into a discourse is coherence, and one of its sources is structured relations between clauses. This lesson develops relational coherence — RST and the PDTB models of coherence relations — and discourse-structure parsing: EDU segmentation and shift-reduce RST parsing, then PDTB relation classification. Entity-based and global coherence follow in the companion lesson.\n",{"path":18207,"title":18208,"module":18140,"summary":18209},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fentity-based-and-global-coherence","Entity-Based and Global Coherence","A text coheres not only through relations between clauses but by staying about the same entities and the same topic, and by obeying the macro-structure of its genre. This lesson develops Centering Theory and the entity grid for entity-based coherence, representation-learning models of local coherence, and global coherence — topic segmentation, narrative and argumentation structure, and scientific discourse — then the neural models that learn each.\n",{"path":18211,"title":18212,"module":18140,"summary":18213},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Fconstituency-grammars","Constituency Grammars","A constituency grammar is the declarative theory of sentence structure that a parser operates on. We build the context-free grammar formalism from its four parts, show how derivations become parse trees, and work through the phrase structure of English — noun phrases, verb phrases and their subcategorization frames, agreement, coordination, and long-distance dependencies. The treebank, normal-form, and lexicalized views follow in the companion lesson.\n",{"path":18215,"title":18216,"module":18140,"summary":18217},"\u002Fnatural-language-processing\u002Flinguistic-structure\u002Ftreebanks-and-lexicalized-grammars","Treebanks and Lexicalized Grammars","Where does a grammar come from, and how is it prepared for a parser? We read a context-free grammar off the Penn Treebank, normalize it to Chomsky Normal Form for the CKY chart, then invert the phrase-structure emphasis with lexicalized grammars — Combinatory Categorial Grammar and its slash categories — and close with the grammar's fate in the neural era: span scoring, self-attention, and grammar induction.\n",{"path":18219,"title":18220,"module":16766,"summary":18221},"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation","Machine Translation","Machine translation is the task that built the modern toolkit: the encoder-decoder was invented for it, attention was invented to fix its fixed-context bottleneck, and both were later folded into the general transformer. We work through why translation is hard (word order, morphology, lexical and structural divergences), the sequence-to-sequence model and its attention mechanism, transformer-based NMT with cross-attention, subword tokenization with a shared vocabulary, beam-search decoding, and evaluation by BLEU and its successors chrF, BERTScore, and COMET — closing on multilingual and low-resource translation and backtranslation.\n",{"path":18223,"title":18224,"module":16766,"summary":18225},"\u002Fnatural-language-processing\u002Fapplications\u002Fmachine-translation-decoding-and-evaluation","Machine Translation: Decoding, Evaluation, and Scale","Having built the transformer translation model, we now decode from it and measure the output. Beam search turns the decoder's per-step distributions into a single output string; length normalization keeps it from favoring short translations. We then score translations automatically — BLEU with its n-gram precision, clipping, and brevity penalty, worked through by hand, then its successors chrF, BERTScore, and COMET — and close on the parts of MT that scale beyond one language pair: multilingual and low-resource translation, backtranslation, gender bias, and the lineage from the Transformer to massively multilingual models like NLLB-200.\n",{"path":18227,"title":18228,"module":16766,"summary":18229},"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering","Question Answering","A question-answering system takes a natural-language question and returns an answer, not a ranked list of documents. Almost every modern system is built on one pattern: retrieve then read. We start with the information-retrieval machinery that finds candidate text — tf-idf and BM25 term weighting, a worked ranking example, the inverted index, and dense embedding retrieval — then build the retriever-reader pipeline that extracts an answer span with BERT and trace a full retrieve-and-read example end to end.\n",{"path":18231,"title":18232,"module":16766,"summary":18233},"\u002Fnatural-language-processing\u002Fapplications\u002Fquestion-answering-knowledge-and-llms","Question Answering: Knowledge Bases and Language Models","The retrieve-and-read pipeline extracts an answer span from prose, but not all knowledge lives in prose. This part covers the rest of the QA stack: entity linking (Wikification) that grounds a question's entities to a knowledge base, knowledge-based QA by semantic parsing a question into an executable query, and the modern default — closed-book QA and retrieval-augmented generation with a large language model — closing on the DPR\u002FRAG\u002Ffusion-in-decoder lineage and how factoid answers are scored by exact match and F1.\n",{"path":18235,"title":18236,"module":16766,"summary":18237},"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-and-chatbots","Dialogue and Chatbots","Conversation is the most natural interface to a machine and one of the hardest to build. We set up what makes human dialogue work — turns, speech acts, grounding, and the local structure of adjacency pairs — then trace the two traditions that answer it: chatbots built to chat (ELIZA's pattern-matching, corpus retrieval, and seq2seq generation with its blandness problem) and task-oriented systems built to get something done (the GUS frame-and-slot architecture and the modern NLU \u002F state-tracker \u002F policy \u002F NLG pipeline that accumulates a frame across turns).\n",{"path":18239,"title":18240,"module":16766,"summary":18241},"\u002Fnatural-language-processing\u002Fapplications\u002Fdialogue-systems-and-assistants","Dialogue Systems: LLM Assistants, Evaluation, and Design","Two dialogue traditions — chatbots built to chat and task-oriented frame systems built to get something done — met in the aligned LLM assistant. Instruction tuning plus RLHF fold chit-chat and task dialogue into one model; the LaMDA \u002F InstructGPT \u002F ChatGPT lineage fills in how. The lesson then turns to evaluation (human ratings and acute-eval for chatbots, task success and slot error rate for task systems), user-centered design with Wizard-of-Oz prototyping, and the ethical stakes of building agents people talk to.\n",{"path":18243,"title":18244,"module":16766,"summary":18245},"\u002Fnatural-language-processing\u002Fapplications\u002Ftext-summarization","Text Summarization","Summarization compresses a document to its essential meaning, by either selecting sentences to keep (extractive) or writing new ones (abstractive). This part fixes the task and its flavors — single vs. multi-document, generic vs. query-focused, extractive vs. abstractive — then works through extractive summarization in full: scoring by position and centrality, the TextRank\u002FLexRank graph algorithm run as PageRank over a sentence-similarity graph with a worked iteration, and supervised sentence selection.\n",{"path":18247,"title":18248,"module":16766,"summary":18249},"\u002Fnatural-language-processing\u002Fapplications\u002Fabstractive-summarization-and-evaluation","Abstractive Summarization and Evaluation","Extractive methods can only reuse the source's own sentences; to compress within a sentence or paraphrase, a summarizer has to generate. This part covers abstractive summarization: the sequence-to-sequence approach, the pointer-generator's copy switch and coverage mechanism, pretrained summarizers (BART, PEGASUS) and zero-shot LLM prompting, the long-document and factuality problems, and ROUGE evaluation with a worked example and its limits — closing on the abstractive lineage from See 2017 through faithfulness metrics.\n",{"path":18251,"title":18252,"module":18253,"summary":18254},"\u002Fnatural-language-processing\u002Fspeech\u002Fphonetics","Phonetics","Speech","Before a recognizer can read speech it has to know what speech is. This first part covers the linguistic substrate: phones and their transcription in the IPA and ARPAbet; articulatory phonetics — how the vocal tract shapes airflow into consonants and vowels; and prosody — stress, tune, and the F0 contour. The acoustic side — the waveform, its spectrum, formants, and the spectrogram — is the second part.\n",{"path":18256,"title":18257,"module":18253,"summary":18258},"\u002Fnatural-language-processing\u002Fspeech\u002Facoustic-phonetics","Acoustic Phonetics","Articulation is the cause; the acoustic signal is the effect, and the effect is all a microphone ever gets. This part follows the sound out of the mouth: waves, sampling and the Nyquist limit, F0 and the pitch track, the mel scale, the spectrum and Fourier analysis, the source-filter model that explains why each vowel carries its own formants, and the spectrogram the log-mel front end of every ASR system sits directly on top of — closing with neural TTS, wav2vec, HuBERT, and Whisper, where phonetics went in neural speech.\n",{"path":18260,"title":18261,"module":18253,"summary":18262},"\u002Fnatural-language-processing\u002Fspeech\u002Fautomatic-speech-recognition","Automatic Speech Recognition","Speech recognition maps an acoustic waveform to a string of words, and once the waveform is turned into a sequence of log-mel spectrogram frames the problem is the same sequence-to-sequence transduction the rest of the course already solved. This first part builds the feature front end (framing, the DFT, the mel filterbank, the log), then the modern architectures: the attention-based encoder-decoder, the CTC alignment trick that collapses repeated and blank frames, and RNN-T for streaming. Training-data advances, evaluation, TTS, and the other speech tasks come next.\n",{"path":18264,"title":18265,"module":18253,"summary":18266},"\u002Fnatural-language-processing\u002Fspeech\u002Fasr-evaluation-and-applications","ASR Evaluation and Speech Applications","A recognizer turns a waveform into text; this part scores that text and puts the same machinery to other uses. It opens with the self-supervised and weakly- supervised systems (wav2vec 2.0, HuBERT, Whisper) that made ASR error rates fall. Word error rate reuses the edit distance from the first module, run over words. Text-to-speech runs the whole pipeline in reverse — text to mel spectrogram to waveform. And a family of smaller tasks — wake-word detection, speaker recognition and diarization, language identification — reuse the same log-mel front end without the decoder.\n",{"path":18268,"title":18269,"module":6,"summary":6},"\u002Fnatural-language-processing","Natural Language Processing",{"path":18271,"title":18272,"module":14017,"summary":18273},"\u002Fparticle-physics\u002Ffoundations\u002Fhistorical-overview-particle-zoo","From the Electron to the Particle Zoo","A timeline of the subject, from J. J. Thomson's electron in 1897 to the Higgs boson in 2012. The electron, photon, nucleus, proton, and neutron gave a tidy picture that Yukawa's meson prediction and the muon–pion confusion complicated; strange particles in cosmic rays and the accelerator-era flood of hadrons then produced a \"particle zoo\" that only the quark model organized.\n",{"path":18275,"title":18276,"module":14017,"summary":18277},"\u002Fparticle-physics\u002Ffoundations\u002Fparticle-physics-basic-concepts","Basic Concepts and Particle Classification","Every particle has an antiparticle of equal mass and opposite charge, a consequence of the Dirac equation confirmed by the positron. Feynman diagrams track interactions in spacetime; the material particles sort into leptons and the composite hadrons built from quarks, with baryons carrying three quarks and mesons a quark-antiquark pair.\n",{"path":18279,"title":18280,"module":14017,"summary":18281},"\u002Fparticle-physics\u002Ffoundations\u002Ffundamental-interactions-force-carriers","Fundamental Interactions and Force Carriers","Four interactions account for every force in nature: strong, electromagnetic, weak, and gravitational, in decreasing strength. Each is carried by a boson — the gluon, photon, W and Z, and the graviton — with a range fixed by the carrier's mass through the Yukawa relation, and a coupling constant that itself varies with distance.\n",{"path":18283,"title":18284,"module":18285,"summary":18286},"\u002Fparticle-physics\u002Funits-kinematics\u002Fnatural-units-and-scales","Natural Units and Scales","Units and Kinematics","Setting $\\hbar = c = 1$ collapses mass, momentum, and energy into a single unit, the GeV, and turns lengths and times into inverse energies through the conversion $\\hbar c = 197.3$ MeV·fm. This lesson fixes the natural-unit conventions used for the rest of the course, converts cross sections between barns and GeV$^{-2}$, and shows how to restore factors of $\\hbar$ and $c$ by dimensional analysis.\n",{"path":18288,"title":18289,"module":18285,"summary":18290},"\u002Fparticle-physics\u002Funits-kinematics\u002Ffour-vectors-invariant-mass","Four-Vectors and Invariant Mass","The energy and momentum of a particle form a four-vector whose square is the frame-independent quantity $p^2 = m^2$. This lesson develops the metric and four-vector products, the invariant mass of a multiparticle system, the center-of-momentum and laboratory frames, and the description of collinear boosts by rapidity, whose additivity replaces the awkward velocity-addition law.\n",{"path":18292,"title":18293,"module":18285,"summary":18294},"\u002Fparticle-physics\u002Funits-kinematics\u002Fdecay-scattering-kinematics-mandelstam","Decay, Scattering, and Mandelstam Variables","Two-body decay in the rest frame fixes the daughter momenta from the three masses alone; production thresholds follow from the minimum invariant mass. This lesson works both, then introduces the Mandelstam invariants $s$, $t$, $u$ for $2\\to2$ scattering, proves the identity $s+t+u=\\sum m_i^2$, and maps the physical regions and the crossing that relates channels.\n",{"path":18296,"title":18297,"module":18285,"summary":18298},"\u002Fparticle-physics\u002Funits-kinematics\u002Fcross-sections-golden-rule","Cross Sections and the Golden Rule","The cross section measures how often a scattering happens and the decay width how fast a particle disintegrates. This lesson defines both, relates event rate to luminosity through $R=\\mathcal L\\,\\sigma$ and lifetime to width through $\\tau=\\hbar\u002F\\Gamma$, and states Fermi's golden rule with Lorentz-invariant phase space, giving the master formulas that turn an amplitude $\\mathcal M$ into a measurable rate for $1\\to2$ decay and $2\\to2$ scattering.\n",{"path":18300,"title":18301,"module":18302,"summary":18303},"\u002Fparticle-physics\u002Fsymmetries\u002Fconservation-laws-symmetries","Conservation Laws and Symmetries","Symmetries and Conservation Laws","Which decays occur is decided by conservation laws, each tied by Noether's theorem to a symmetry of physical law. Energy, charge, baryon number, and lepton number are conserved universally; strangeness, isospin, and parity hold in the strong and electromagnetic interactions but break in the weak one, whose parity and CP violation distinguish matter from antimatter.\n",{"path":18305,"title":18306,"module":18302,"summary":18307},"\u002Fparticle-physics\u002Fsymmetries\u002Fdiscrete-symmetries-cpt","Discrete Symmetries — C, P, T, and CPT","Parity reflects space, charge conjugation swaps particle for antiparticle, and time reversal runs the clock backward. Each assigns multiplicative quantum numbers that act as selection rules — intrinsic parities, the photon's C = −1, the C-parity argument fixing the pion's two-photon decay. Their product CPT is a theorem of any local relativistic field theory, forcing particle and antiparticle to share mass and lifetime.\n",{"path":18309,"title":18310,"module":18302,"summary":18311},"\u002Fparticle-physics\u002Fsymmetries\u002Fparity-violation-weak","Parity Violation and the Weak Force","The tau–theta puzzle forced a choice: two particles with identical mass but opposite parity, or one particle whose decay violates parity. Lee and Yang proposed the latter, Wu's polarized cobalt-60 confirmed it, and the violation proved maximal. The charged weak force couples only to left-handed chirality — the Goldhaber experiment showed the neutrino is left-handed — which is why the mirror image of a weak decay is something nature never produces.\n",{"path":18313,"title":18314,"module":18302,"summary":18315},"\u002Fparticle-physics\u002Fsymmetries\u002Fsu2-su3-flavor-symmetry","Isospin, SU(2), and Flavor SU(3)","The near-equal masses of the proton and neutron, and of the three pions, signal a continuous internal symmetry of the strong force: isospin, an SU(2) whose ladder operators move between the members of a multiplet. Adding strangeness enlarges it to an approximate SU(3) flavor symmetry, and the Gell-Mann–Nishijima relation Q = I3 + Y\u002F2 places every hadron on a weight diagram in the isospin–hypercharge plane — the language in which the quark model is written.\n",{"path":18317,"title":18318,"module":18319,"summary":18320},"\u002Fparticle-physics\u002Fquark-model\u002Feightfold-way-su3","The Eightfold Way and SU(3) Flavor","The Quark Model","Gell-Mann and Ne'eman's classification of the hadrons into geometric multiplets, read as representations of an approximate flavor SU(3). The fundamental triplet (u, d, s) and its antitriplet combine into the meson nonet from 3⊗3̄ = 8⊕1 and the baryon octet and decuplet from 3⊗3⊗3, and the empty corner of the decuplet forecast the Ω⁻.\n",{"path":18322,"title":18323,"module":18319,"summary":18324},"\u002Fparticle-physics\u002Fquark-model\u002Fmeson-spectroscopy","Meson Multiplets and Quantum Numbers","Mesons as quark–antiquark bound states. The spin singlet and triplet, orbital excitations, and the assignment of J^PC from the quark spins and orbital angular momentum, giving the pseudoscalar and vector nonets. The η–η' and ω–φ mixing problems, and the charmonium and bottomonium spectra read as heavy-quark positronium.\n",{"path":18326,"title":18327,"module":18319,"summary":18328},"\u002Fparticle-physics\u002Fquark-model\u002Fbaryon-spectroscopy","Baryon Multiplets, Spin, and the Color Puzzle","Baryons as three-quark states, with a wavefunction factored into space, spin, flavor, and color. The spin-3\u002F2 Δ⁺⁺ = uuu forces a totally symmetric state that the Pauli principle forbids, and the resolution is an antisymmetric color factor — the first evidence for color. The octet and decuplet spin content, and baryon magnetic moments as a quantitative test of the model.\n",{"path":18330,"title":18331,"module":18319,"summary":18332},"\u002Fparticle-physics\u002Fquark-model\u002Fcolor-confinement-exotics","Color, Confinement, and Exotic Hadrons","Color as the gauged SU(3) charge, and the requirement that every physical hadron be a color singlet — which selects q-qbar mesons and qqq baryons as the simplest states. The R-ratio of e⁺e⁻ annihilation measures three colors directly. Beyond the simplest singlets lie glueballs, tetraquarks, and pentaquarks, and the recent XYZ states, read as either compact multiquarks or loose hadronic molecules.\n",{"path":18334,"title":18335,"module":18336,"summary":18337},"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fklein-gordon-equation","The Klein-Gordon Equation","Relativistic Wave Equations","Quantizing the relativistic energy relation $E^2 = p^2 + m^2$ produces the Klein-Gordon equation for a scalar field. Its plane-wave solutions come in positive- and negative-energy branches, and the conserved density it supplies is not positive-definite — the two difficulties that first drove physicists to seek a first-order equation. The static Klein-Gordon equation with a point source gives the Yukawa potential, and the free equation gives the scalar propagator that later modules attach to exchanged lines.\n",{"path":18339,"title":18340,"module":18336,"summary":18341},"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fdirac-equation-spinors","The Dirac Equation and Spinors","Dirac demanded a wave equation first order in time to fix the Klein-Gordon density problem. Factorizing $E^2 = p^2 + m^2$ into a linear form forces the coefficients to be anticommuting matrices — the gamma matrices of the Clifford algebra — so the wavefunction becomes a four-component spinor. The plane-wave solutions split into two particle and two antiparticle states, spin appears automatically with the correct $g = 2$ magnetic moment, and the chirality projectors that the weak interaction later needs fall straight out of the fifth gamma matrix.\n",{"path":18343,"title":18344,"module":18336,"summary":18345},"\u002Fparticle-physics\u002Frelativistic-wave-equations\u002Fantiparticles-hole-theory","Antiparticles and Hole Theory","The negative-energy solutions of the Dirac equation refuse to go away, so they must mean something. Dirac read them as a filled sea of occupied negative-energy states whose holes are positive-energy antiparticles, predicting the positron before its discovery. The picture works for fermions but not bosons, and the Feynman-Stückelberg interpretation replaces it: an antiparticle is a negative-energy solution propagating backward in time, equivalent to a positive-energy antiparticle going forward. Crossing symmetry ties incoming particles to outgoing antiparticles in a single amplitude.\n",{"path":18347,"title":18348,"module":18349,"summary":18350},"\u002Fparticle-physics\u002Fqed\u002Ffeynman-rules-qed","Feynman Rules for QED","Quantum Electrodynamics","Quantum electrodynamics computes a process by summing diagrams, each a term in a power series in the coupling. Every diagram translates into an amplitude by a fixed dictionary: spinors and polarization vectors for external lines, propagators for internal lines, and the vertex factor $ie\\gamma^\\mu$ for each photon-fermion junction. Squaring the amplitude and feeding it to Fermi's golden rule produces a cross section or decay rate, with each extra vertex costing one power of $\\alpha$.\n",{"path":18352,"title":18353,"module":18349,"summary":18354},"\u002Fparticle-physics\u002Fqed\u002Fqed-tree-processes","Tree-Level QED Processes","The Feynman rules become numbers on the reference reactions of QED. Muon pair production $e^+e^-\\to\\mu^+\\mu^-$ sets the scale with its $1+\\cos^2\\theta$ distribution and $4\\pi\\alpha^2\u002F3s$ total cross section, and its ratio to hadron production counts colors. Compton scattering gives the Klein-Nishina formula and the Thomson limit; Bhabha scattering shows $s$- and $t$-channel interference. Casimir's trick turns every spin-averaged square into a trace of gamma matrices.\n",{"path":18356,"title":18357,"module":18349,"summary":18358},"\u002Fparticle-physics\u002Fqed\u002Frenormalization-running-coupling","Renormalization and the Running Coupling","Beyond tree level, QED loops diverge. The three primitive one-loop diagrams — vacuum polarization, electron self-energy, and vertex correction — carry ultraviolet divergences that regularization exposes as logarithms of a cutoff. Renormalization absorbs them into the measured mass, charge, and field normalization, leaving finite predictions. The surviving physical content is that the coupling runs: vacuum polarization screens charge, so $\\alpha$ grows from $1\u002F137$ at low energy to about $1\u002F128$ at the $Z$ mass.\n",{"path":18360,"title":18361,"module":18349,"summary":18362},"\u002Fparticle-physics\u002Fqed\u002Felectron-g-2","The Anomalous Magnetic Moment","The Dirac equation predicts $g=2$; loops shift it. Schwinger's one-loop vertex correction gives the anomaly $a=(g-2)\u002F2=\\alpha\u002F2\\pi$, and the QED series continues to five loops. The electron $a_e$ agrees with theory to better than a part in a billion, the most precise confrontation of theory and experiment in physics. The muon $a_\\mu$, heavier and so more sensitive to virtual heavy states, is dominated by hadronic uncertainty and sits at the center of a long-running comparison with the Standard Model prediction.\n",{"path":18364,"title":18365,"module":18366,"summary":18367},"\u002Fparticle-physics\u002Fweak-interaction\u002Fva-structure-weak","The V–A Charged Weak Current","The Weak Interaction","Fermi modelled beta decay as a four-fermion contact interaction, but a coupling with dimensions of inverse mass squared makes cross sections grow without bound and the theory fails near 300 GeV. The cure is a heavy mediator: the $W$ boson, whose propagator collapses to Fermi's contact term at low energy and fixes $G_F\u002F\\sqrt2 = g^2\u002F8M_W^2$. Parity violation dictates the current's form — vector minus axial-vector, coupling only to left-chiral fields — and universality of the coupling ties muon decay, beta decay, and pion decay to one constant. Pion decay's helicity suppression of the electron channel is the sharpest test.\n",{"path":18369,"title":18370,"module":18366,"summary":18371},"\u002Fparticle-physics\u002Fweak-interaction\u002Fw-z-bosons-decays","The W and Z Bosons","The contact theory hides a massive mediator. The charged $W^\\pm$ carries the current that changes flavour; the neutral $Z^0$ carries a current that does not. Both were found at CERN's proton–antiproton collider in 1983 at the masses the electroweak theory demanded. Their decay widths partition into leptonic and hadronic channels, and the $Z$ carries a decisive extra: an invisible width from decays to neutrinos that counts the number of light generations at exactly three. Beta decay and muon decay are re-read at the parton level as $W$ exchange.\n",{"path":18373,"title":18374,"module":18366,"summary":18375},"\u002Fparticle-physics\u002Fweak-interaction\u002Fckm-matrix","Quark Mixing and the CKM Matrix","The quark eigenstates the weak force acts on are not the mass eigenstates. Cabibbo captured this with one rotation angle; the GIM mechanism added a fourth quark to cancel dangerous flavour-changing neutral currents and predicted charm before its discovery. Three generations promote the rotation to the unitary Cabibbo–Kobayashi–Maskawa matrix — three angles and one irreducible complex phase, the sole source of Standard-Model CP violation. The Wolfenstein parametrization exposes its steep hierarchy, and unitarity closes into a triangle whose area measures the phase.\n",{"path":18377,"title":18378,"module":18366,"summary":18379},"\u002Fparticle-physics\u002Fweak-interaction\u002Fcp-violation-kaons-b-mesons","CP Violation in Kaons and B Mesons","The neutral kaon is its own laboratory for CP. Weak box diagrams mix $K^0$ and its antiparticle into short- and long-lived states that should be pure CP eigenstates decaying to two and three pions. In 1964 Cronin and Fitch caught the long-lived kaon decaying to two pions — CP is violated, at the two-per-mille level of $\\epsilon$. Direct violation ($\\epsilon'$) followed, and the $B$ factories turned the CKM phase into a large, clean time-dependent asymmetry measuring $\\sin 2\\beta$. The effect is real but far too small to explain why the universe is made of matter.\n",{"path":18381,"title":18382,"module":18383,"summary":18384},"\u002Fparticle-physics\u002Fqcd\u002Fcolor-su3-gluons","Color SU(3), Gluons, and the QCD Lagrangian","Quantum Chromodynamics","Color is the exact gauged SU(3) charge of the strong force. Gauging it forces eight massless gluons in the adjoint representation and, because the gauge group is non-abelian, three- and four-gluon self-couplings absent from QED. This lesson builds the QCD Lagrangian from the covariant derivative and the non-abelian field strength, states the Feynman rules with their color factors, and computes the Casimir invariants that set the strength of quark-gluon and gluon-gluon coupling.\n",{"path":18386,"title":18387,"module":18383,"summary":18388},"\u002Fparticle-physics\u002Fqcd\u002Fasymptotic-freedom-confinement","Asymptotic Freedom and Confinement","The QCD beta function is negative: gluon self-interaction antiscreens color, so the coupling weakens at short distance (asymptotic freedom) and strengthens at long distance (confinement). This lesson computes the one-loop beta coefficient, solves for the running of alpha_s and the emergent scale Lambda_QCD, and reads the strong-coupling regime as the linear quark-antiquark potential of a color flux tube that breaks by pair creation.\n",{"path":18390,"title":18391,"module":18383,"summary":18392},"\u002Fparticle-physics\u002Fqcd\u002Fdeep-inelastic-scattering-partons","Deep Inelastic Scattering and the Parton Model","Scattering electrons hard off a proton resolves pointlike constituents. This lesson sets up the deep-inelastic kinematics, defines the structure functions F1 and F2, and reads Bjorken scaling as the signature of free spin-half partons. The Callan-Gross relation fixes the parton spin, the structure function becomes a charge-weighted sum of parton distributions, and the slow logarithmic scaling violations expose the gluon through DGLAP evolution.\n",{"path":18394,"title":18395,"module":18383,"summary":18396},"\u002Fparticle-physics\u002Fqcd\u002Fjets-hadronization","Jets, Hadronization, and Testing QCD","Quarks and gluons produced in a collision fragment into collimated sprays of hadrons — jets — whose directions track the underlying partons. This lesson reads two-jet events as the quark and antiquark of electron-positron annihilation, three-jet events as direct evidence of the radiated gluon, and the hadronization step as the flux tube breaking into color singlets. Jet algorithms and event-shape variables turn the pattern into precision measurements of alpha_s.\n",{"path":18398,"title":18399,"module":18400,"summary":18401},"\u002Fparticle-physics\u002Felectroweak-higgs\u002Felectroweak-su2-u1","The Electroweak Theory","Electroweak Unification and the Higgs","The electromagnetic and weak interactions are two faces of a single gauge theory built on $SU(2)_L \\times U(1)_Y$. Left-handed fermions sit in weak-isospin doublets and right-handed fermions in singlets, each carrying a hypercharge fixed by the Gell-Mann–Nishijima relation $Q = T_3 + Y\u002F2$. The four gauge fields $W^{1,2,3}$ and $B$ mix: the charged combinations $W^\\pm$ mediate the charged current, while $W^3$ and $B$ rotate through the Weinberg angle into the massless photon and the massive $Z$. The single angle $\\theta_W$ ties the couplings, the boson masses, and the neutral-current strengths together.\n",{"path":18403,"title":18404,"module":18400,"summary":18405},"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fspontaneous-symmetry-breaking","Spontaneous Symmetry Breaking","A symmetry of the Lagrangian need not be a symmetry of the ground state. When the lowest-energy configuration sits away from the symmetric point, the symmetry is spontaneously broken and the vacuum is one of a degenerate family. Breaking a continuous global symmetry produces one massless scalar — a Goldstone boson — for every broken generator, the flat direction along the vacuum manifold. The Mexican-hat potential and the ferromagnet below its Curie point are the working pictures.\n",{"path":18407,"title":18408,"module":18400,"summary":18409},"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-mechanism","The Higgs Mechanism","Gauging a spontaneously broken symmetry converts the would-be Goldstone bosons into the longitudinal polarizations of the gauge fields, which thereby acquire mass. Applied to $SU(2)_L \\times U(1)_Y$ with a single Higgs doublet, three of the four scalar degrees of freedom are eaten by the $W^\\pm$ and $Z$; the fourth survives as the physical Higgs boson, and the photon stays massless. Fermion masses come from Yukawa couplings to the same field, each mass proportional to its coupling times the vacuum expectation value $v \\approx 246$ GeV.\n",{"path":18411,"title":18412,"module":18400,"summary":18413},"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fhiggs-boson-discovery","The Higgs Boson","The Higgs boson is produced at the LHC chiefly through gluon fusion, with vector-boson fusion and associated production as cleaner but rarer channels. It decays most often to $b\\bar b$ and $WW^\\ast$, but the discovery rested on two rare clean modes, $H \\to \\gamma\\gamma$ and $H \\to ZZ^\\ast \\to 4\\ell$, whose narrow invariant-mass peaks emerged over smooth backgrounds. ATLAS and CMS announced a boson near 125 GeV in 2012; its measured spin-parity $0^+$ and its couplings, which scale with particle mass, identify it as the Standard Model Higgs.\n",{"path":18415,"title":18416,"module":18400,"summary":18417},"\u002Fparticle-physics\u002Felectroweak-higgs\u002Fstandard-model","The Standard Model","The Standard Model combines the quark model, quantum chromodynamics, and the electroweak theory. SU(3) symmetry sorts the hadrons and predicted the omega; color explains why only colorless quark combinations exist; QCD gives asymptotic freedom and confinement; and spontaneous symmetry breaking through the Higgs field gives the weak bosons their mass.\n",{"path":18419,"title":18420,"module":18421,"summary":18422},"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-oscillations","Neutrino Oscillations","Neutrino Physics","Neutrinos are produced and detected in flavour states, but they propagate as mass states, and the two bases are misaligned. A flavour therefore evolves coherently into a superposition of other flavours with a probability set by the mass-squared splitting and the ratio L\u002FE. This lesson derives the two-flavour oscillation formula, applies it to the solar and atmospheric neutrino deficits, shows how the SNO neutral-current measurement resolved the solar problem, and works out the MSW resonance that amplifies mixing inside the Sun.\n",{"path":18424,"title":18425,"module":18421,"summary":18426},"\u002Fparticle-physics\u002Fneutrinos\u002Fneutrino-mass-pmns","Neutrino Mass and the PMNS Matrix","Three-flavour mixing promotes the single oscillation angle to the unitary Pontecorvo–Maki–Nakagawa–Sakata matrix, parametrised by three angles and a Dirac CP phase. This lesson decomposes the PMNS matrix into three rotations, records the measured angles and mass-squared splittings, lays out the normal and inverted mass orderings, contrasts the large leptonic mixing with the near-diagonal CKM matrix, and collects the absolute-mass bounds from beta decay and cosmology.\n",{"path":18428,"title":18429,"module":18421,"summary":18430},"\u002Fparticle-physics\u002Fneutrinos\u002Fdirac-majorana-experiments","Dirac, Majorana, and Neutrino Experiments","A neutral fermion can carry a mass term forbidden to every charged particle, so the neutrino may be its own antiparticle. This lesson contrasts the Dirac and Majorana mass terms and their state content, derives the seesaw mechanism that ties a tiny light mass to a heavy right-handed partner, presents neutrinoless double-beta decay as the decisive lepton-number test, surveys the reactor, accelerator, solar, and atmospheric sources on a baseline–energy map, and explains why neutrino mass is physics beyond the original Standard Model.\n",{"path":18432,"title":18433,"module":18434,"summary":18435},"\u002Fparticle-physics\u002Fexperiment\u002Faccelerators-luminosity","Accelerators, Colliders, and Luminosity","Accelerators and Detectors","Fixed-target machines waste energy in the center-of-mass motion of the whole system, so the reachable $\\sqrt s$ grows only as the square root of the beam energy, while colliders put the full beam energy into the collision. Circular electron machines are limited by synchrotron radiation scaling as $E^4\u002Fm^4R$; proton machines are limited by bending fields. Luminosity, set by beam current and focusing, converts a cross section into an event rate through $R=\\mathcal L\\,\\sigma$, and integrated luminosity sets the total event count.\n",{"path":18437,"title":18438,"module":18434,"summary":18439},"\u002Fparticle-physics\u002Fexperiment\u002Fdetectors-subsystems","Particle Detectors and Subsystems","A detector reads a collision by the energy particles deposit as they cross matter. Charged particles ionize at the Bethe-Bloch rate, radiate in the field of nuclei above a critical energy, and emit Cherenkov light above a velocity threshold; electrons and photons build electromagnetic showers over a radiation length, and hadrons build wider showers over a nuclear interaction length. The onion of tracker, electromagnetic and hadronic calorimeters, and outer muon chambers turns these processes into momentum, energy, and identity, with neutrinos inferred from missing transverse momentum.\n",{"path":18441,"title":18442,"module":18434,"summary":18443},"\u002Fparticle-physics\u002Fexperiment\u002Fhow-discoveries-are-made","From Collisions to Discoveries","A discovery is a peak that survives statistics. Events are reconstructed into invariant masses, a signal accumulates as a bump over a smooth background, and its significance is judged by a p-value; the field's threshold is five sigma. The expected yield is a product — luminosity times cross section times branching ratio times acceptance and efficiency — that must be balanced by a trigger and data-reduction chain against an overwhelming rate. Worked reconstructions of $Z\\to\\ell\\ell$, the $J\u002F\\psi$, and the Higgs show the same peak-over-background logic at three scales.\n",{"path":18445,"title":18446,"module":18446,"summary":18447},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fbeyond-standard-model","Beyond the Standard Model","The Standard Model leaves the four interactions ununified and the neutrinos massless, both now known to be wrong. Grand unification predicts the couplings merge near ten-to-the-sixteen GeV and the proton decays; supersymmetry pairs each particle with a superpartner; and the confirmed oscillation of neutrinos proves they carry mass, the first crack in the model.\n",{"path":18449,"title":18450,"module":18446,"summary":18451},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fgrand-unified-theories","Grand Unified Theories and Proton Decay","The Standard Model gauge group is a product of three factors with three independent couplings. A grand unified theory embeds them in a single simple group — SU(5) is the minimal choice — so that one coupling runs into all three and the fractional quark charges follow from a tracelessness condition. The same embedding places quarks and leptons in shared multiplets, mediates baryon-number violation through superheavy gauge bosons, and predicts the proton decays with a lifetime that Super-Kamiokande has pushed past ten-to-the-thirty-four years.\n",{"path":18453,"title":18454,"module":18446,"summary":18455},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fsupersymmetry","Supersymmetry","Supersymmetry relates fermions and bosons, pairing every Standard Model particle with a superpartner whose spin differs by one half. The pairing makes the scalar and fermion loop corrections to the Higgs mass cancel, removing the quadratic sensitivity to high scales; it sharpens the meeting of the three gauge couplings; and, when R-parity is conserved, it leaves the lightest superpartner stable and neutral, a natural dark-matter candidate. The LHC has excluded gluinos and light squarks below roughly two TeV.\n",{"path":18457,"title":18458,"module":18446,"summary":18459},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fhierarchy-problem-naturalness","The Hierarchy Problem and Naturalness","The electroweak scale sits sixteen orders of magnitude below the Planck scale, and nothing in the Standard Model protects that gap. The Higgs mass squared picks up quadratic corrections proportional to the highest scale in the theory, so keeping it at the observed value requires the bare mass and its counterterm to cancel to some thirty significant figures. Naturalness treats that cancellation as a symptom of missing physics. Supersymmetry, compositeness, and extra dimensions each remove the quadratic sensitivity, but the LHC has found none of them at the predicted scale.\n",{"path":18461,"title":18462,"module":18446,"summary":18463},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fdark-matter-candidates","Dark Matter and Particle Candidates","Flat galactic rotation curves, gravitational lensing, the cosmic microwave background, and structure formation all require about five times more matter than the visible baryons, none of it interacting electromagnetically. A stable weakly interacting particle of roughly weak-scale mass freezes out of the early universe with close to the observed abundance — the WIMP miracle — and is the leading candidate, with axions and sterile neutrinos as alternatives. Direct, indirect, and collider searches have so far only tightened the limits.\n",{"path":18465,"title":18466,"module":18446,"summary":18467},"\u002Fparticle-physics\u002Fbeyond-standard-model\u002Fmatter-antimatter-open-questions","Matter-Antimatter Asymmetry and Open Questions","The universe is made of matter, with about one extra baryon for every billion photons and no antimatter regions. Sakharov identified the three conditions any dynamical explanation must meet: baryon-number violation, C and CP violation, and a departure from thermal equilibrium. The Standard Model contains all three in principle, but its CP violation falls short by some ten orders of magnitude, so baryogenesis requires new physics — leptogenesis being the leading route. A closing survey collects the open questions and the experiments aimed at them.\n",{"path":18469,"title":18470,"module":6,"summary":6},"\u002Fparticle-physics","Particle Physics",{"path":18472,"title":18473,"module":18474,"summary":18475},"\u002Fastrophysics-cosmology\u002Forientation\u002Fthe-sun-and-stars","The Sun and the Life of Stars","Orientation","The Sun is the one star close enough to study in detail: its luminosity fixes a surface temperature of 5780 K, and the proton-proton fusion cycle in its 1.5-million-kelvin core supplies its power. Measuring other stars needs the magnitude scale, parallax, and the distance ladder; plotting luminosity against temperature builds the Hertzsprung-Russell diagram, on which a star's mass sets its lifetime and its evolutionary track off the main sequence.\n",{"path":18477,"title":18478,"module":18474,"summary":18479},"\u002Fastrophysics-cosmology\u002Forientation\u002Fstellar-death-final-states","Cataclysmic Events and the Final States of Stars","A star's death is set by its mass. In close binaries, matter poured across the Roche lobe onto a white dwarf produces novae and, at the Chandrasekhar limit of 1.4 solar masses, a Type Ia supernova; a massive star fusing to an iron core collapses into a Type II supernova. The remnant is a white dwarf held by electron degeneracy, a neutron star held by neutron degeneracy, or, above the neutron-star limit, a black hole inside its Schwarzschild radius.\n",{"path":18481,"title":18482,"module":18474,"summary":18483},"\u002Fastrophysics-cosmology\u002Forientation\u002Fgalaxies-and-cosmology","Galaxies, Cosmology, and the Evolving Universe","Galaxies come in elliptical, spiral, and irregular forms, and their redshifts obey Hubble's law, evidence that space itself is expanding. The critical density and the density parameter decide whether the universe is open, flat, or closed; baryons, dark matter, and dark energy each contribute. The cosmic microwave background and primordial helium anchor the Big Bang, whose thermal history runs from inflation through nucleosynthesis to the atoms of today.\n",{"path":18485,"title":18486,"module":18487,"summary":18488},"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fmagnitudes-fluxes-and-the-distance-modulus","Magnitudes, Fluxes, and the Distance Modulus","Observational Foundations","The brightness of a star reaches us as a radiant flux that falls off as the inverse square of distance. The magnitude scale encodes flux logarithmically through the Pogson ratio; the apparent and absolute magnitudes differ by the distance modulus, which converts a measured brightness into a distance. The bolometric correction folds a filtered magnitude into a total luminosity, and the difference of two magnitudes in different bands, the color index, measures surface temperature.\n",{"path":18490,"title":18491,"module":18487,"summary":18492},"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fstellar-spectra-and-spectral-classification","Stellar Spectra and Spectral Classification","A stellar spectrum is a continuum crossed by absorption lines whose strengths are set by the temperature of the atmosphere. The Boltzmann factor governs how atoms populate excited states, and the Saha equation governs how they ionize; their product explains why each line, such as the hydrogen Balmer series, peaks in strength at a characteristic temperature. This behavior orders stars into the OBAFGKM sequence, and the luminosity classes of the MK system add a second dimension for surface gravity.\n",{"path":18494,"title":18495,"module":18487,"summary":18496},"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Ftelescopes-and-detectors-across-the-spectrum","Telescopes and Detectors Across the Spectrum","A telescope collects light in proportion to its collecting area and resolves detail down to the diffraction limit set by its aperture and the observing wavelength. The atmosphere blurs and blocks large parts of the spectrum, which drives the choice between ground and space and between refractors, reflectors, and radio dishes. CCDs record the light with high quantum efficiency, and interferometry synthesizes an aperture as large as the separation of two telescopes.\n",{"path":18498,"title":18499,"module":18487,"summary":18500},"\u002Fastrophysics-cosmology\u002Fobservational-foundations\u002Fthe-cosmic-distance-ladder","The Cosmic Distance Ladder","No single method measures distances from the nearest stars to the far reaches of the universe. Instead a ladder of overlapping techniques, each calibrated by the one below it, extends the scale rung by rung: trigonometric parallax, main-sequence fitting, pulsating variables, the tip of the red-giant branch, the Tully-Fisher relation, and Type Ia supernovae. Each rung inherits the uncertainty of every rung beneath it, so the whole chain sets the accuracy of the Hubble constant.\n",{"path":18502,"title":18503,"module":18504,"summary":18505},"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fblackbody-radiation-and-specific-intensity","Blackbody Radiation and Specific Intensity","Radiation and Matter","Specific intensity is the fundamental measure of a radiation field: energy per unit area, time, frequency, and solid angle. It is conserved along a ray in empty space, and its angular moments give the mean intensity, flux, and radiation pressure. In thermal equilibrium the intensity equals the Planck function, whose limits and integrals reproduce the Rayleigh-Jeans law, the Wien law, Stefan-Boltzmann, and Wien's displacement law.\n",{"path":18507,"title":18508,"module":18504,"summary":18509},"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fradiative-transfer-and-the-transfer-equation","Radiative Transfer and the Transfer Equation","Along a ray, matter adds intensity through emission and removes it through absorption. Measuring path length in optical depth turns this into the transfer equation, whose formal solution superposes an attenuated background on the source function integrated along the line of sight. In local thermodynamic equilibrium the source function is the Planck function, and the Eddington-Barbier relation shows that the emergent intensity samples the source function at optical depth of order unity, explaining absorption lines and solar limb darkening.\n",{"path":18511,"title":18512,"module":18504,"summary":18513},"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fspectral-line-formation-and-broadening","Spectral-Line Formation and Broadening","A spectral line is a bound-bound transition whose strength is set by an oscillator strength and whose shape is set by three broadening mechanisms: the Lorentzian natural and collisional wings, the Gaussian thermal Doppler core, and their Voigt convolution. Equivalent width measures the total absorption, and the curve of growth relates it to the number of absorbers through a linear, saturated, and damping regime, turning line strengths into abundances.\n",{"path":18515,"title":18516,"module":18504,"summary":18517},"\u002Fastrophysics-cosmology\u002Fradiation-and-matter\u002Fopacity-and-the-rosseland-mean","Opacity Sources and the Rosseland Mean","Stellar opacity comes from four processes: bound-bound line absorption, bound-free photoionization, free-free absorption, and electron scattering. The bound-free and free-free terms follow a Kramers law, electron scattering sets a frequency-flat floor, and the negative hydrogen ion dominates cool photospheres. The Rosseland mean averages these harmonically, weighting transparent frequencies because they carry the flux, and its value fixes the radiative temperature gradient and decides where a star becomes convective.\n",{"path":18519,"title":18520,"module":18521,"summary":18522},"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fhydrostatic-equilibrium-and-the-virial-theorem","Hydrostatic Equilibrium and the Virial Theorem","Stellar Structure","A star holds itself up by balancing the inward pull of gravity against an outward pressure gradient. This balance, hydrostatic equilibrium, fixes a lower bound on the central pressure and, combined with the gravitational potential energy, yields the virial theorem. The virial relation gives a star a negative heat capacity, so that losing energy makes it hotter, and sets the Kelvin-Helmholtz timescale over which contraction alone can power the Sun.\n",{"path":18524,"title":18525,"module":18521,"summary":18526},"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equations-of-stellar-structure","The Equations of Stellar Structure","A static star is described by four coupled first-order differential equations in the interior mass or radius: mass conservation, hydrostatic equilibrium, energy generation, and energy transport. Closed with an equation of state, opacity, and reaction rates, and subject to central and surface boundary conditions, they determine the structure uniquely from mass and composition, the Vogt-Russell theorem. Energy moves by radiation until the temperature gradient exceeds the Schwarzschild limit, where convection takes over.\n",{"path":18528,"title":18529,"module":18521,"summary":18530},"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-equation-of-state-and-polytropes","The Equation of State and Polytropes","Stellar pressure comes from gas, radiation, and, at high density, degenerate electrons. When pressure depends on density as a power law, hydrostatic equilibrium reduces to the Lane-Emden equation, whose solutions describe polytropes of index n. The relativistic degenerate case, n equal to three, gives a mass independent of radius, the Chandrasekhar mass. Eddington's standard model treats a radiation-supported star as an n equal to three polytrope and yields the quartic relating radiation fraction to mass.\n",{"path":18532,"title":18533,"module":18521,"summary":18534},"\u002Fastrophysics-cosmology\u002Fstellar-structure\u002Fthe-standard-solar-model","The Standard Solar Model","The standard solar model integrates the structure equations for one solar mass and calibrates the composition and convection parameter to reproduce the Sun's observed luminosity, radius, and age. Helioseismology tests the model's sound speed through the Sun's acoustic p-mode oscillations, and the model predicts a neutrino flux by production channel. The measured deficit, the solar-neutrino problem, is resolved by matter-enhanced flavor oscillation, confirmed when SNO measured the total flux across all flavors.\n",{"path":18536,"title":18537,"module":18538,"summary":18539},"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fthermonuclear-reaction-rates-and-the-gamow-peak","Thermonuclear Reaction Rates and the Gamow Peak","Nuclear Astrophysics","Stellar fusion proceeds only by quantum tunneling through the Coulomb barrier, because thermal energies are a thousand times smaller than the barrier height. The reaction rate is an integral over the Maxwell–Boltzmann distribution and the tunneling probability, whose product is sharply peaked at the Gamow energy. The astrophysical S-factor isolates the nuclear physics from the barrier penetration, and the steep temperature dependence follows from the width and position of the Gamow peak.\n",{"path":18541,"title":18542,"module":18538,"summary":18543},"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhydrogen-burning-pp-chains-and-cno","Hydrogen Burning: pp Chains and the CNO Cycle","Four protons fuse into one helium-4 nucleus, releasing 26.7 MeV, through two competing networks. The pp chain begins with a weak-interaction bottleneck and branches three ways; the CNO cycle uses carbon, nitrogen, and oxygen as catalysts and is limited by nitrogen-14 proton capture. Their steep and gentle temperature dependences cross near 1.8e7 K, which divides pp-powered lower-main-sequence stars from CNO-powered upper-main-sequence stars.\n",{"path":18545,"title":18546,"module":18538,"summary":18547},"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fhelium-burning-and-the-triple-alpha-process","Helium Burning and the Triple-Alpha Process","Helium fuses to carbon in two steps through the unbound beryllium-8 nucleus and a resonant excited state of carbon-12, the Hoyle state, whose existence was predicted from the observed carbon abundance. The rate scales as roughly the fortieth power of temperature, and in a degenerate low-mass core this drives the runaway helium flash. A competing alpha capture on carbon-12 sets the carbon-to-oxygen ratio and the composition of the resulting white dwarf.\n",{"path":18549,"title":18550,"module":18538,"summary":18551},"\u002Fastrophysics-cosmology\u002Fnuclear-astrophysics\u002Fadvanced-burning-and-neutron-capture-nucleosynthesis","Advanced Burning, the Iron Peak, and the s\u002Fr Processes","Massive stars burn carbon, neon, oxygen, and silicon in ever-shorter stages, building an onion-shell interior and reaching nuclear statistical equilibrium at the iron peak, where the binding-energy-per-nucleon curve turns over and fusion can release no more energy. Elements beyond iron form by neutron capture: the slow s-process in AGB stars tracks the valley of stability, while the rapid r-process in supernovae and neutron-star mergers builds the heaviest nuclei far from it.\n",{"path":18553,"title":18554,"module":18555,"summary":18556},"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fphases-of-the-interstellar-medium","The Phases of the Interstellar Medium","The Interstellar Medium","The gas between the stars separates into distinct thermal phases, from cold molecular clouds at 10 K to a diffuse million-degree corona, held near a common pressure by a balance of photoelectric heating and radiative cooling. Neutral hydrogen is traced by the 21-cm hyperfine line, dust reddens and extinguishes starlight along a characteristic wavelength law, and the ultraviolet output of hot stars carves ionized Strömgren spheres out of the surrounding gas.\n",{"path":18558,"title":18559,"module":18555,"summary":18560},"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fmolecular-clouds-and-gravitational-collapse","Molecular Clouds and Gravitational Collapse","Stars form in cold, dense molecular clouds when self-gravity overcomes thermal and magnetic support. The virial theorem fixes the Jeans mass and length at which a clump becomes unstable, the free-fall time sets how fast it collapses, and a fragmentation cascade — cut off at a minimum mass by the onset of opacity — turns one cloud into a whole cluster, imprinting the stellar initial mass function.\n",{"path":18562,"title":18563,"module":18555,"summary":18564},"\u002Fastrophysics-cosmology\u002Fism-and-star-formation\u002Fprotostars-and-the-pre-main-sequence","Protostars and Pre-Main-Sequence Evolution","A collapsing core becomes optically thick and forms a protostar that grows by accretion through a disk while driving bipolar outflows. The newborn star appears on the birthline and contracts down the fully convective Hayashi track, then crosses the radiative Henyey track to the zero-age main sequence, powered by gravitational contraction until hydrogen ignites. Below about 0.08 solar masses degeneracy halts contraction before ignition, dividing stars from brown dwarfs.\n",{"path":18566,"title":18567,"module":18568,"summary":18569},"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-main-sequence-and-its-structure","The Main Sequence and Its Structure","Stellar Evolution","A star settles onto the zero-age main sequence when core hydrogen ignition halts contraction. Homology scaling of the structure equations reproduces the mass–luminosity relation, and the burning mode splits the sequence into an upper branch with a convective core and a lower branch with a convective envelope. The main-sequence lifetime falls steeply with mass, and the turnoff of a coeval cluster serves as a clock.\n",{"path":18571,"title":18572,"module":18568,"summary":18573},"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fpost-main-sequence-low-mass-evolution","Post-Main-Sequence Evolution of Low-Mass Stars","When a low-mass star exhausts core hydrogen, burning moves to a shell, the core contracts, and the envelope swells into a red giant. A degenerate helium core ignites in a flash, settles onto the horizontal branch, and after a second contraction the star climbs the asymptotic giant branch with two burning shells. Thermal pulses and dredge-up enrich the surface, and mass loss ejects a planetary nebula, leaving a carbon–oxygen white dwarf.\n",{"path":18575,"title":18576,"module":18568,"summary":18577},"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fthe-evolution-of-massive-stars","The Evolution of Massive Stars","Stars above about eight solar masses burn through hydrogen, helium, carbon, neon, oxygen, and silicon in stages that grow shorter as neutrino losses accelerate contraction. The interior becomes an onion of concentric burning shells around an inert iron core. Radiation pressure near the Eddington limit drives fierce winds that can strip the hydrogen envelope entirely, and silicon burning builds an iron core toward the threshold of collapse.\n",{"path":18579,"title":18580,"module":18568,"summary":18581},"\u002Fastrophysics-cosmology\u002Fstellar-evolution\u002Fstellar-pulsation-and-the-instability-strip","Stellar Pulsation and the Instability Strip","Radial pulsation is a standing sound wave whose period scales inversely with the square root of the mean density. The kappa mechanism, an opacity valve seated in the helium partial-ionization zone, turns a star into a heat engine that pumps the oscillation. Stars in the instability strip pulsate as Cepheids, RR Lyrae, and Mira variables, and the Cepheid period–luminosity relation calibrates the distance ladder.\n",{"path":18583,"title":16999,"module":18584,"summary":18585},"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fwhite-dwarfs-and-the-chandrasekhar-limit","Stellar Death and Compact Remnants","A white dwarf is held up by the degeneracy pressure of its electrons, a quantum-mechanical stiffness that survives to zero temperature. Filling the Fermi sea sets a pressure that scales as density to the five-thirds power when the electrons are slow and only four-thirds when they are relativistic. The softer relativistic law produces the inverted mass-radius relation and a maximum mass, the Chandrasekhar limit near 1.4 solar masses, above which no cold equilibrium exists. Cooling and crystallization then turn the white-dwarf population into a clock for the Galactic disk.\n",{"path":18587,"title":18588,"module":18584,"summary":18589},"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fcore-collapse-supernovae","Core-Collapse Supernovae","When a massive star builds an iron core past the Chandrasekhar mass, degeneracy fails and the core collapses in less than a second. Photodisintegration and electron capture remove pressure support and neutronize the matter; the collapse halts abruptly at nuclear density, launching a shock that stalls and is revived by neutrino heating. The event is a Type II or stripped-envelope Ib\u002FIc supernova, and the neutrinos from SN 1987A confirmed the picture directly.\n",{"path":18591,"title":18592,"module":18584,"summary":18593},"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fthermonuclear-supernovae-type-ia","Thermonuclear Supernovae","A carbon-oxygen white dwarf driven toward the Chandrasekhar mass ignites its degenerate fuel and unbinds itself in a thermonuclear runaway, the Type Ia supernova. The light curve is powered by the radioactive decay of nickel-56 to cobalt-56 to iron-56, and the Phillips relation between peak brightness and decline rate makes these events standardizable candles. Their near-uniform luminosity turns them into the distance indicators that revealed cosmic acceleration.\n",{"path":18595,"title":18596,"module":18584,"summary":18597},"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fneutron-stars-and-pulsars","Neutron Stars and Pulsars","A neutron star is held up by neutron degeneracy and the repulsive nuclear force, with a maximum mass, the Tolman-Oppenheimer-Volkoff limit, set by an uncertain dense-matter equation of state. Its rotating magnetic dipole sweeps a beam past Earth as a pulsar, and magnetic braking traces a track across the period-period- derivative diagram. Millisecond pulsars, magnetars, glitches, and the orbital decay of the Hulse-Taylor binary follow from the same structure.\n",{"path":18599,"title":18600,"module":18584,"summary":18601},"\u002Fastrophysics-cosmology\u002Fstellar-death-and-compact-remnants\u002Fblack-holes-schwarzschild-and-kerr","Black Holes, Schwarzschild and Kerr","Above the neutron-star mass limit gravity wins completely and the remnant is a black hole. The Schwarzschild solution gives the event horizon, gravitational redshift, and time dilation; the innermost stable circular orbit sets the efficiency of accretion. Rotating Kerr black holes drag spacetime and carry an ergosphere. Stellar-mass black holes are found in X-ray binaries, and the Event Horizon Telescope has imaged the shadow of a supermassive one.\n",{"path":18603,"title":18604,"module":18605,"summary":18606},"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fbinary-systems-and-mass-transfer","Binary Systems and Mass Transfer","Binaries and Gravitational Waves","Most stars are born in pairs, and a binary is the only setting where a stellar mass can be measured directly. Visual, spectroscopic, and eclipsing binaries each expose a different combination of the orbital elements, and together they calibrate the mass-luminosity relation. When one star swells to fill its Roche lobe, gas streams through the inner Lagrange point onto its companion. Conservative transfer widens or shrinks the orbit depending on the mass ratio, and the sign of that response explains the Algol paradox.\n",{"path":18608,"title":18609,"module":18605,"summary":18610},"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Faccreting-compact-objects","Accreting Compact Objects","Gas falling onto a compact object converts gravitational binding energy into radiation with an efficiency set by the depth of the potential well, up to tens of percent of the rest mass for a neutron star or black hole. Angular momentum forces the flow into a disk, and viscous dissipation gives a temperature profile that falls as radius to the minus three-quarters, producing a multicolor blackbody spectrum. Radiation pressure caps the steady luminosity at the Eddington limit. Unstable nuclear burning of the accreted fuel powers classical novae on white dwarfs and Type I X-ray bursts on neutron stars.\n",{"path":18612,"title":18613,"module":18605,"summary":18614},"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fgravitational-waves-from-inspiraling-binaries","Gravitational Waves from Inspiraling Binaries","A time-varying mass quadrupole radiates gravitational waves, ripples in spacetime that stretch and squeeze a ring of free masses along two polarizations. The radiated power drains a binary's orbital energy, shrinking the orbit and sweeping the wave frequency upward in a chirp whose rate fixes the chirp mass. Laser interferometers with kilometre arms measure the resulting strain of order ten to the minus twenty-one. The first detection, GW150914, matched a template for two merging black holes near thirty solar masses each.\n",{"path":18616,"title":18617,"module":18605,"summary":18618},"\u002Fastrophysics-cosmology\u002Fbinaries-and-gravitational-waves\u002Fmultimessenger-astronomy-and-gamma-ray-bursts","Multimessenger Astronomy and Gamma-Ray Bursts","Gamma-ray bursts split into two populations: long bursts from the collapse of massive stars and short bursts from merging compact objects. The compactness problem forces the emitting plasma to move at ultra-relativistic speed, beaming the radiation into a narrow jet. The neutron-star merger GW170817 tied a gravitational chirp to a short gamma-ray burst, a radioactive kilonova, and a broadband afterglow, confirming that mergers forge r-process elements. A merger with a measured redshift is a standard siren that reads the Hubble constant from gravitational data alone.\n",{"path":18620,"title":18621,"module":18622,"summary":18623},"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fthe-milky-way","The Milky Way Galaxy","Galaxies and Dark Matter","The Galaxy resolves into a thin disk of gas and young stars, a central bar and bulge, and a diffuse old halo studded with globular clusters. Star counts and the reddening of distant light map these components, while the differential rotation of the disk — encoded in the Oort constants and the flat rotation curve — measures the enclosed mass and reveals more than the stars can account for. Spiral arms are density waves, not material structures, and the innermost stellar orbits around Sgr A* weigh a four-million-solar-mass black hole.\n",{"path":18625,"title":18626,"module":18622,"summary":18627},"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-morphology-and-classification","Galaxy Morphology and Classification","Galaxies sort along the Hubble tuning fork from smooth ellipticals through lenticulars to grand-design and barred spirals, with irregulars off the end. The light of a spheroid follows the de Vaucouleurs quarter-power law while a disk fades exponentially, and the general Sérsic profile interpolates between them. Virial scaling relations — Tully–Fisher for disks, Faber–Jackson and the fundamental plane for spheroids — tie luminosity to internal motions, and the Schechter function fixes the abundance of galaxies as a function of luminosity.\n",{"path":18629,"title":18630,"module":18622,"summary":18631},"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-rotation-curves-and-dark-matter","Galaxy Rotation Curves and Dark Matter","The rotation curves of disk galaxies stay flat far beyond the light, demanding an extended halo whose density falls as the inverse square of radius. Decomposing the curve into disk, bulge, and halo, and fitting isothermal or NFW profiles, quantifies the missing mass. Gravitational lensing weighs the same mass without dynamics, the mass-to-light ratio climbs from stars to clusters, and the Bullet Cluster separates the collisionless dark matter from the colliding gas — evidence that MOND strains to match.\n",{"path":18633,"title":18634,"module":18622,"summary":18635},"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Factive-galactic-nuclei-and-supermassive-black-holes","Active Galactic Nuclei","A small fraction of galaxies pour out enormous luminosity from a region smaller than the solar system. Accretion onto a supermassive black hole, limited by the Eddington balance of radiation pressure and gravity, powers the Seyferts, quasars, radio galaxies, and blazars — one engine seen from different angles through an obscuring torus. Relativistic jets produce apparent superluminal motion, reverberation mapping and stellar dynamics weigh the central mass, and the M–sigma relation ties that mass to the host bulge.\n",{"path":18637,"title":18638,"module":18622,"summary":18639},"\u002Fastrophysics-cosmology\u002Fgalaxies\u002Fgalaxy-clusters-and-large-scale-structure","Galaxy Clusters and Large-Scale Structure","Galaxies gather into groups and rich clusters bound by a common dark halo and filled with hot X-ray gas. Three independent probes — the virial theorem, the hydrostatic X-ray temperature, and gravitational lensing — agree on a mass that dwarfs the stars. On the largest scales galaxies trace a cosmic web of filaments, walls, and voids, quantified by the two-point correlation function, whose baryon acoustic oscillation bump provides a standard ruler for cosmology.\n",{"path":18641,"title":18642,"module":18643,"summary":18644},"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-expanding-universe-and-hubbles-law","The Expanding Universe and Hubble's Law","Cosmic Expansion and Dynamics","The universe is homogeneous and isotropic on large scales, so its expansion is captured by a single function of time, the scale factor. Comoving coordinates stay fixed while proper distances grow in proportion to the scale factor, producing Hubble's law and a cosmological redshift that measures stretched space rather than a Doppler shift. A Newtonian energy argument reproduces the dynamics, and the same finite, expanding cosmos resolves Olbers' paradox.\n",{"path":18646,"title":18647,"module":18643,"summary":18648},"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-frw-metric-and-cosmological-redshift","The FRW Metric and Cosmological Redshift","The geometry of a homogeneous, isotropic universe is fixed by symmetry to the Robertson-Walker metric, with the entire freedom reduced to a scale factor and a single curvature constant selecting an open, flat, or closed space. From the metric the null geodesic of light gives comoving distance, the exact cosmological redshift, and the distinction between the proper distance we cannot measure and the redshift we can.\n",{"path":18650,"title":15717,"module":18643,"summary":18651},"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fthe-friedmann-equations-and-cosmic-dynamics","The scale factor obeys the Friedmann equation, the acceleration equation, and the fluid equation, only two of which are independent. An equation of state fixes how each component behaves under expansion, so radiation dilutes as the inverse fourth power of the scale factor, matter as the inverse cube, and vacuum energy not at all. The critical density defines the density parameters, and the deceleration parameter encodes whether gravity or dark energy is winning.\n",{"path":18653,"title":18654,"module":18643,"summary":18655},"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fcosmological-models-and-distances","Cosmological Models and Distances","Integrating the Friedmann equation for particular mixtures gives the benchmark models, from the matter-only Einstein-de Sitter universe to the concordance Lambda-CDM, each with its own scale-factor history and age. Because the redshift is the only direct observable, several distance measures diverge at high redshift, and the angular-diameter distance even turns over so that the most distant objects look larger. The horizon and lookback time set what is causally and observationally reachable.\n",{"path":18657,"title":18658,"module":18643,"summary":18659},"\u002Fastrophysics-cosmology\u002Fcosmology-expansion-and-dynamics\u002Fdark-energy-and-the-accelerating-universe","Dark Energy and the Accelerating Universe","In 1998 two teams found that distant Type Ia supernovae are fainter than a decelerating universe predicts, revealing that the expansion is accelerating and that a component with negative pressure dominates the energy budget. The simplest candidate is the cosmological constant, or vacuum energy, with an equation of state near minus one. It works observationally but leaves two deep puzzles: why the vacuum energy is a hundred and twenty orders of magnitude smaller than expected, and why it is comparable to the matter density just now.\n",{"path":18661,"title":18662,"module":18663,"summary":18664},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fthe-thermal-history-of-the-universe","The Thermal History of the Universe","The Hot Big Bang","Running the expansion backward compresses and heats the universe, so its past is a sequence of thermal epochs set by temperature. Temperature scales as the inverse scale factor; species stay in equilibrium while their interaction rate exceeds the expansion rate and freeze out when it drops below. The effective degrees of freedom count the relativistic species and step down through mass thresholds, and neutrino decoupling just before electron-positron annihilation leaves a relic neutrino background slightly cooler than the photons.\n",{"path":18666,"title":18667,"module":18663,"summary":18668},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fbig-bang-nucleosynthesis","Big Bang Nucleosynthesis","In the first three minutes the weak interactions freeze out the neutron-to-proton ratio, and once deuterium survives photodissociation a fast reaction network converts nearly all free neutrons into helium-4. The primordial abundances of deuterium, helium-3, helium-4, and lithium-7 depend on a single free parameter, the baryon-to-photon ratio, so measuring them fixes the baryon density. The predictions match observation across nine decades of abundance, with a persistent discrepancy in lithium-7.\n",{"path":18670,"title":18671,"module":18663,"summary":18672},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Frecombination-and-the-cosmic-microwave-background","Recombination and the Cosmic Microwave Background","As the universe cooled through a few thousand kelvin the free electrons bound to protons, and the Saha equation tracks the falling ionization fraction. Once the plasma neutralized, photons stopped scattering and streamed freely from a spherical surface of last scattering at redshift about 1100. Those photons are the cosmic microwave background, an almost perfect blackbody at 2.725 kelvin with a dipole from our motion through it.\n",{"path":18674,"title":18675,"module":18663,"summary":18676},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcmb-anisotropies-and-cosmological-parameters","CMB Anisotropies and Cosmological Parameters","The cosmic microwave background carries temperature fluctuations at the ten-parts-per-million level, imprinted by sound waves in the photon-baryon plasma before recombination. Decomposed into spherical harmonics, the fluctuations form an angular power spectrum whose acoustic peaks encode the geometry and contents of the universe: the first peak fixes spatial flatness, the odd-even peak ratio the baryon density, and the third peak the dark-matter density. Polarization adds an independent channel, and the Planck measurements pin the concordance parameters.\n",{"path":18678,"title":18679,"module":18663,"summary":18680},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fcosmic-inflation","Cosmic Inflation","The hot Big Bang leaves three initial-condition puzzles unexplained: why causally disconnected patches share a temperature, why the geometry is so nearly flat, and why no magnetic monopoles are seen. A brief epoch of accelerated expansion driven by a slowly rolling scalar field solves all three by stretching a small causal patch across the observable universe. The same accelerated expansion freezes quantum fluctuations into a near-scale-invariant spectrum of density perturbations, seeding all later structure.\n",{"path":18682,"title":18683,"module":18663,"summary":18684},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fstructure-formation-and-the-growth-of-perturbations","Structure Formation and the Growth of Perturbations","The near-uniform early universe grew its galaxies and clusters by gravitational instability acting on the tiny inflationary perturbations. In an expanding background the growth is slowed to a power law rather than the exponential of a static medium; perturbations stall during radiation domination and grow with the scale factor once matter dominates. The transfer function turns the primordial spectrum into the processed matter power spectrum, and cold dark matter builds structure from the bottom up.\n",{"path":18686,"title":18687,"module":18663,"summary":18688},"\u002Fastrophysics-cosmology\u002Fthe-hot-big-bang\u002Fdark-matter-dark-energy-and-open-questions","Dark Matter, Dark Energy, and Open Questions","Five independent lines of evidence converge on a universe whose energy budget is dominated by dark energy and dark matter, with ordinary baryons a small remainder. The candidate particles for dark matter range from WIMPs to axions to sterile neutrinos, each with its own detection strategy. The concordance model fits the data with six parameters but leaves the nature of dark energy, the Hubble tension, small-scale structure, and the matter-antimatter asymmetry unexplained.\n",{"path":18690,"title":18691,"module":6,"summary":6},"\u002Fastrophysics-cosmology","Astrophysics & Cosmology",{"path":18693,"title":18694,"module":6,"summary":6},"\u002Fcolophon","Colophon",{"path":1733,"title":18696,"module":6,"summary":6},"Study Notes",[18698,18715,18730,18743,18777,18799,18834,18848,18874,18886,18904,18916],{"module":14017,"moduleNumber":952,"slug":18699,"lessons":18700},"foundations",[18701,18704,18706,18708,18710,18713],{"title":14016,"path":14015,"lessonNumber":952,"topics":18702,"summary":14018},[14017,18703],"Correctness & Induction",{"title":14021,"path":14020,"lessonNumber":969,"topics":18705,"summary":14022},[14017,18703],{"title":14025,"path":14024,"lessonNumber":976,"topics":18707,"summary":14026},[14025],{"title":14029,"path":14028,"lessonNumber":989,"topics":18709,"summary":14030},[14025],{"title":14033,"path":14032,"lessonNumber":1002,"topics":18711,"summary":14034},[18712],"Recurrences",{"title":14037,"path":14036,"lessonNumber":1007,"topics":18714,"summary":14038},[14037],{"module":14042,"moduleNumber":969,"slug":18716,"lessons":18717},"divide-and-conquer",[18718,18721,18724,18727],{"title":14041,"path":14040,"lessonNumber":952,"topics":18719,"summary":14043},[14042,18720],"Comparison Sorting",{"title":14046,"path":14045,"lessonNumber":969,"topics":18722,"summary":14047},[18720,18723],"Probabilistic Analysis",{"title":14049,"path":3750,"lessonNumber":976,"topics":18725,"summary":14050},[18726,14042],"Order Statistics",{"title":14053,"path":14052,"lessonNumber":989,"topics":18728,"summary":14054},[14042,18729],"Arithmetic",{"module":14058,"moduleNumber":976,"slug":18731,"lessons":18732},"sorting",[18733,18736,18738,18741],{"title":14057,"path":14056,"lessonNumber":952,"topics":18734,"summary":14059},[18735,18720],"Heaps",{"title":14062,"path":14061,"lessonNumber":969,"topics":18737,"summary":14063},[18720],{"title":14066,"path":14065,"lessonNumber":976,"topics":18739,"summary":14067},[18740],"Linear-Time Sorting",{"title":14070,"path":14069,"lessonNumber":989,"topics":18742,"summary":14071},[14070,18720],{"module":13082,"moduleNumber":989,"slug":18744,"lessons":18745},"data-structures",[18746,18749,18752,18754,18757,18759,18762,18765,18767,18770,18772,18775],{"title":14074,"path":14073,"lessonNumber":952,"topics":18747,"summary":14075},[18748],"Linear Structures",{"title":14078,"path":14077,"lessonNumber":969,"topics":18750,"summary":14079},[18751],"Hashing",{"title":14082,"path":14081,"lessonNumber":976,"topics":18753,"summary":14083},[14082],{"title":14086,"path":14085,"lessonNumber":989,"topics":18755,"summary":14087},[18756],"Balanced Trees",{"title":14089,"path":17,"lessonNumber":1002,"topics":18758,"summary":14090},[18756],{"title":14093,"path":14092,"lessonNumber":1007,"topics":18760,"summary":14094},[18761,14037],"Disjoint Sets",{"title":14097,"path":14096,"lessonNumber":1020,"topics":18763,"summary":14098},[18764],"Range Queries",{"title":5,"path":13083,"lessonNumber":1027,"topics":18766,"summary":13115},[5],{"title":14102,"path":14101,"lessonNumber":1036,"topics":18768,"summary":14103},[18769],"Probabilistic Structures",{"title":14105,"path":12333,"lessonNumber":1041,"topics":18771,"summary":14106},[18756],{"title":14109,"path":14108,"lessonNumber":1050,"topics":18773,"summary":14110},[18774,18751],"Streaming Algorithms",{"title":14113,"path":14112,"lessonNumber":1058,"topics":18776,"summary":14114},[18774,18751],{"module":14118,"moduleNumber":1002,"slug":18778,"lessons":18779},"sequences",[18780,18783,18785,18787,18790,18793,18795,18797],{"title":14117,"path":14116,"lessonNumber":952,"topics":18781,"summary":14119},[18782],"Array Techniques",{"title":14122,"path":14121,"lessonNumber":969,"topics":18784,"summary":14123},[18782],{"title":14126,"path":14125,"lessonNumber":976,"topics":18786,"summary":14127},[18782],{"title":14130,"path":14129,"lessonNumber":989,"topics":18788,"summary":14131},[18789],"Searching",{"title":14134,"path":14133,"lessonNumber":1002,"topics":18791,"summary":14135},[18792],"Strings",{"title":14138,"path":14137,"lessonNumber":1007,"topics":18794,"summary":14139},[18792],{"title":14142,"path":14141,"lessonNumber":1020,"topics":18796,"summary":14143},[18792],{"title":14146,"path":14145,"lessonNumber":1027,"topics":18798,"summary":14147},[18792],{"module":14151,"moduleNumber":1007,"slug":18800,"lessons":18801},"graphs",[18802,18806,18808,18810,18812,18815,18817,18819,18821,18824,18826,18828,18830,18832],{"title":14150,"path":14149,"lessonNumber":952,"topics":18803,"summary":14152},[18804,18805],"Graph Representations","Graph Traversal",{"title":14155,"path":14154,"lessonNumber":969,"topics":18807,"summary":14156},[18805,14155],{"title":14159,"path":14158,"lessonNumber":976,"topics":18809,"summary":14160},[18805],{"title":14163,"path":14162,"lessonNumber":989,"topics":18811,"summary":14164},[14163],{"title":14167,"path":14166,"lessonNumber":1002,"topics":18813,"summary":14168},[14163,18814],"Union-Find",{"title":14171,"path":14170,"lessonNumber":1007,"topics":18816,"summary":14172},[14171],{"title":14175,"path":14174,"lessonNumber":1020,"topics":18818,"summary":14176},[14171,14229],{"title":14179,"path":14178,"lessonNumber":1027,"topics":18820,"summary":14180},[14179],{"title":14183,"path":14182,"lessonNumber":1036,"topics":18822,"summary":14184},[14179,18823,14203],"Min Cut",{"title":14187,"path":14186,"lessonNumber":1041,"topics":18825,"summary":14188},[14151],{"title":14191,"path":14190,"lessonNumber":1050,"topics":18827,"summary":14192},[14151],{"title":14195,"path":14194,"lessonNumber":1058,"topics":18829,"summary":14196},[14151],{"title":14199,"path":14198,"lessonNumber":1063,"topics":18831,"summary":14200},[14151],{"title":14203,"path":14202,"lessonNumber":1073,"topics":18833,"summary":14204},[14151],{"module":14208,"moduleNumber":1020,"slug":18835,"lessons":18836},"greedy",[18837,18839,18842,18844,18846],{"title":14207,"path":14206,"lessonNumber":952,"topics":18838,"summary":14209},[14208],{"title":14212,"path":14211,"lessonNumber":969,"topics":18840,"summary":14213},[18841],"Greedy",{"title":14216,"path":14215,"lessonNumber":976,"topics":18843,"summary":14217},[14208],{"title":14220,"path":14219,"lessonNumber":989,"topics":18845,"summary":14221},[18841],{"title":14224,"path":14223,"lessonNumber":1002,"topics":18847,"summary":14225},[18841],{"module":14229,"moduleNumber":1027,"slug":18849,"lessons":18850},"dynamic-programming",[18851,18853,18856,18858,18860,18862,18864,18866,18868,18870,18872],{"title":14228,"path":14227,"lessonNumber":952,"topics":18852,"summary":14230},[14229,18712],{"title":14233,"path":14232,"lessonNumber":969,"topics":18854,"summary":14234},[14229,18855],"String Structures",{"title":14237,"path":14236,"lessonNumber":976,"topics":18857,"summary":14238},[14229],{"title":14241,"path":14240,"lessonNumber":989,"topics":18859,"summary":14242},[14229],{"title":14245,"path":14244,"lessonNumber":1002,"topics":18861,"summary":14246},[14229],{"title":14249,"path":14248,"lessonNumber":1007,"topics":18863,"summary":14250},[14229],{"title":14253,"path":14252,"lessonNumber":1020,"topics":18865,"summary":14254},[14229],{"title":14257,"path":14256,"lessonNumber":1027,"topics":18867,"summary":14258},[14229],{"title":14261,"path":14260,"lessonNumber":1036,"topics":18869,"summary":14262},[14229],{"title":14265,"path":14264,"lessonNumber":1041,"topics":18871,"summary":14266},[14229],{"title":14269,"path":14268,"lessonNumber":1050,"topics":18873,"summary":14270},[14229],{"module":14274,"moduleNumber":1036,"slug":18875,"lessons":18876},"backtracking",[18877,18880,18882,18884],{"title":14273,"path":14272,"lessonNumber":952,"topics":18878,"summary":14275},[18879],"Backtracking",{"title":14278,"path":14277,"lessonNumber":969,"topics":18881,"summary":14279},[18879],{"title":14282,"path":14281,"lessonNumber":976,"topics":18883,"summary":14283},[18879],{"title":14286,"path":14285,"lessonNumber":989,"topics":18885,"summary":14287},[18879],{"module":14291,"moduleNumber":1041,"slug":18887,"lessons":18888},"mathematical-algorithms",[18889,18892,18894,18896,18898,18900,18902],{"title":14290,"path":14289,"lessonNumber":952,"topics":18890,"summary":14292},[18891],"Number Theory",{"title":14295,"path":14294,"lessonNumber":969,"topics":18893,"summary":14296},[18891],{"title":14299,"path":14298,"lessonNumber":976,"topics":18895,"summary":14300},[18891],{"title":14303,"path":14302,"lessonNumber":989,"topics":18897,"summary":14304},[18891],{"title":14307,"path":14306,"lessonNumber":1002,"topics":18899,"summary":14308},[18891],{"title":14311,"path":14310,"lessonNumber":1007,"topics":18901,"summary":14312},[18891],{"title":14315,"path":14314,"lessonNumber":1020,"topics":18903,"summary":14316},[18891],{"module":14320,"moduleNumber":1050,"slug":18905,"lessons":18906},"computational-geometry",[18907,18910,18912,18914],{"title":14319,"path":14318,"lessonNumber":952,"topics":18908,"summary":14321},[18909],"Geometry",{"title":14324,"path":14323,"lessonNumber":969,"topics":18911,"summary":14325},[18909],{"title":14328,"path":14327,"lessonNumber":976,"topics":18913,"summary":14329},[18909],{"title":14332,"path":14331,"lessonNumber":989,"topics":18915,"summary":14333},[18909],{"module":14337,"moduleNumber":1058,"slug":18917,"lessons":18918},"intractability",[18919,18921,18923,18927],{"title":14336,"path":14335,"lessonNumber":952,"topics":18920,"summary":14338},[14341],{"title":14341,"path":14340,"lessonNumber":969,"topics":18922,"summary":14342},[14341],{"title":14345,"path":14344,"lessonNumber":976,"topics":18924,"summary":14346},[18925,18926],"Approximation","Heuristics",{"title":14349,"path":14348,"lessonNumber":989,"topics":18928,"summary":14350},[18925,14341],"\u003Csvg style=\"width:100%;max-width:207.640px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 155.730 163.873\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-65.203 85.203V-57.061H77.06V85.203ZM77.06-57.061\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M5.928 85.203V-57.061M-65.203 14.071H77.06\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M-29.637 85.203V14.071M-65.203 49.637H5.928M-47.42 85.203V49.637M-65.203 67.42h35.566\"\u002F>\u003Cpath fill=\"var(--tk-accent)\" stroke=\"none\" d=\"M-53.044999999999995 75.244a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0M-35.973 73.822a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0M-14.634 33.988a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0M39.427 51.06a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0M45.117000000000004-25.763a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0M-20.324-31.453a2.2 2.2 0 1 0-4.4 0 2.2 2.2 0 0 0 4.4 0m-2.2 0\"\u002F>\u003Cg stroke=\"none\" font-family=\"cmr8\" font-size=\"8\">\u003Cg transform=\"translate(4.956 -148.775)\">\u003Cpath d=\"M-62.957 85.203L-64.937 85.203L-64.937 84.906Q-64.668 84.906-64.500 84.861Q-64.332 84.816-64.332 84.644L-64.332 82.508Q-64.332 82.293-64.394 82.197Q-64.457 82.101-64.574 82.080Q-64.691 82.058-64.937 82.058L-64.937 81.762L-63.769 81.676L-63.769 82.461Q-63.691 82.250-63.539 82.064Q-63.387 81.879-63.187 81.777Q-62.988 81.676-62.762 81.676Q-62.516 81.676-62.324 81.820Q-62.133 81.965-62.133 82.195Q-62.133 82.351-62.238 82.461Q-62.344 82.570-62.500 82.570Q-62.656 82.570-62.766 82.461Q-62.875 82.351-62.875 82.195Q-62.875 82.035-62.769 81.930Q-63.094 81.930-63.308 82.158Q-63.523 82.387-63.619 82.726Q-63.715 83.066-63.715 83.371L-63.715 84.644Q-63.715 84.812-63.488 84.859Q-63.262 84.906-62.957 84.906L-62.957 85.203M-61.652 83.508Q-61.652 83.004-61.396 82.572Q-61.141 82.141-60.705 81.889Q-60.269 81.637-59.769 81.637Q-59.383 81.637-59.041 81.781Q-58.699 81.926-58.437 82.187Q-58.176 82.449-58.033 82.785Q-57.891 83.121-57.891 83.508Q-57.891 84-58.154 84.410Q-58.418 84.820-58.848 85.051Q-59.277 85.281-59.769 85.281Q-60.262 85.281-60.695 85.049Q-61.129 84.816-61.391 84.408Q-61.652 84-61.652 83.508M-59.769 85.004Q-59.312 85.004-59.060 84.781Q-58.808 84.558-58.721 84.207Q-58.633 83.855-58.633 83.410Q-58.633 82.980-58.726 82.642Q-58.820 82.305-59.074 82.098Q-59.328 81.891-59.769 81.891Q-60.418 81.891-60.662 82.307Q-60.906 82.723-60.906 83.410Q-60.906 83.855-60.818 84.207Q-60.730 84.558-60.478 84.781Q-60.226 85.004-59.769 85.004\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(4.956 -148.775)\">\u003Cpath d=\"M-57.167 83.508Q-57.167 83.004-56.911 82.572Q-56.655 82.141-56.219 81.889Q-55.784 81.637-55.284 81.637Q-54.897 81.637-54.555 81.781Q-54.214 81.926-53.952 82.187Q-53.690 82.449-53.548 82.785Q-53.405 83.121-53.405 83.508Q-53.405 84-53.669 84.410Q-53.932 84.820-54.362 85.051Q-54.792 85.281-55.284 85.281Q-55.776 85.281-56.210 85.049Q-56.643 84.816-56.905 84.408Q-57.167 84-57.167 83.508M-55.284 85.004Q-54.827 85.004-54.575 84.781Q-54.323 84.558-54.235 84.207Q-54.147 83.855-54.147 83.410Q-54.147 82.980-54.241 82.642Q-54.335 82.305-54.589 82.098Q-54.843 81.891-55.284 81.891Q-55.932 81.891-56.176 82.307Q-56.421 82.723-56.421 83.410Q-56.421 83.855-56.333 84.207Q-56.245 84.558-55.993 84.781Q-55.741 85.004-55.284 85.004M-52.296 84.242L-52.296 82.051L-52.999 82.051L-52.999 81.797Q-52.643 81.797-52.401 81.564Q-52.159 81.332-52.048 80.984Q-51.936 80.637-51.936 80.281L-51.655 80.281L-51.655 81.754L-50.479 81.754L-50.479 82.051L-51.655 82.051L-51.655 84.226Q-51.655 84.547-51.536 84.775Q-51.417 85.004-51.135 85.004Q-50.956 85.004-50.839 84.881Q-50.721 84.758-50.669 84.578Q-50.616 84.398-50.616 84.226L-50.616 83.754L-50.335 83.754L-50.335 84.242Q-50.335 84.496-50.440 84.736Q-50.546 84.976-50.743 85.129Q-50.940 85.281-51.198 85.281Q-51.514 85.281-51.766 85.158Q-52.018 85.035-52.157 84.801Q-52.296 84.566-52.296 84.242\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(4.956 -148.775)\">\u003Cpath d=\"M-44.770 85.203L-46.750 85.203L-46.750 84.906Q-46.481 84.906-46.313 84.861Q-46.145 84.816-46.145 84.644L-46.145 82.508Q-46.145 82.293-46.207 82.197Q-46.270 82.101-46.387 82.080Q-46.504 82.058-46.750 82.058L-46.750 81.762L-45.582 81.676L-45.582 82.461Q-45.504 82.250-45.352 82.064Q-45.200 81.879-45 81.777Q-44.801 81.676-44.575 81.676Q-44.328 81.676-44.137 81.820Q-43.946 81.965-43.946 82.195Q-43.946 82.351-44.051 82.461Q-44.157 82.570-44.313 82.570Q-44.469 82.570-44.578 82.461Q-44.688 82.351-44.688 82.195Q-44.688 82.035-44.582 81.930Q-44.907 81.930-45.121 82.158Q-45.336 82.387-45.432 82.726Q-45.528 83.066-45.528 83.371L-45.528 84.644Q-45.528 84.812-45.301 84.859Q-45.075 84.906-44.770 84.906L-44.770 85.203M-43.465 83.449Q-43.465 82.969-43.233 82.553Q-43 82.137-42.590 81.887Q-42.180 81.637-41.703 81.637Q-40.973 81.637-40.575 82.078Q-40.176 82.519-40.176 83.250Q-40.176 83.355-40.270 83.379L-42.719 83.379L-42.719 83.449Q-42.719 83.859-42.598 84.215Q-42.477 84.570-42.205 84.787Q-41.934 85.004-41.504 85.004Q-41.141 85.004-40.844 84.775Q-40.547 84.547-40.446 84.195Q-40.438 84.148-40.352 84.133L-40.270 84.133Q-40.176 84.160-40.176 84.242Q-40.176 84.250-40.184 84.281Q-40.246 84.508-40.385 84.691Q-40.524 84.875-40.715 85.008Q-40.907 85.141-41.125 85.211Q-41.344 85.281-41.582 85.281Q-41.953 85.281-42.291 85.144Q-42.629 85.008-42.897 84.756Q-43.164 84.504-43.315 84.164Q-43.465 83.824-43.465 83.449M-42.711 83.141L-40.750 83.141Q-40.750 82.836-40.852 82.545Q-40.953 82.254-41.170 82.072Q-41.387 81.891-41.703 81.891Q-42.004 81.891-42.235 82.078Q-42.465 82.266-42.588 82.557Q-42.711 82.848-42.711 83.141M-39.688 85.812Q-39.688 85.531-39.477 85.320Q-39.266 85.109-38.981 85.019Q-39.137 84.894-39.215 84.705Q-39.293 84.516-39.293 84.316Q-39.293 83.961-39.063 83.668Q-39.430 83.328-39.430 82.859Q-39.430 82.508-39.227 82.238Q-39.024 81.969-38.703 81.822Q-38.383 81.676-38.039 81.676Q-37.520 81.676-37.149 81.957Q-36.786 81.586-36.239 81.586Q-36.059 81.586-35.932 81.713Q-35.805 81.840-35.805 82.019Q-35.805 82.125-35.883 82.203Q-35.961 82.281-36.071 82.281Q-36.180 82.281-36.256 82.205Q-36.332 82.129-36.332 82.019Q-36.332 81.918-36.293 81.867Q-36.286 81.859-36.282 81.853Q-36.278 81.848-36.278 81.844Q-36.653 81.844-36.973 82.098Q-36.653 82.437-36.653 82.859Q-36.653 83.129-36.770 83.346Q-36.887 83.562-37.092 83.721Q-37.297 83.879-37.539 83.961Q-37.782 84.043-38.039 84.043Q-38.258 84.043-38.471 83.984Q-38.684 83.926-38.879 83.805Q-38.973 83.945-38.973 84.125Q-38.973 84.332-38.836 84.484Q-38.700 84.637-38.493 84.637L-37.797 84.637Q-37.309 84.637-36.897 84.721Q-36.485 84.805-36.205 85.062Q-35.926 85.320-35.926 85.812Q-35.926 86.176-36.246 86.408Q-36.567 86.641-37.008 86.742Q-37.450 86.844-37.805 86.844Q-38.161 86.844-38.604 86.742Q-39.047 86.641-39.368 86.408Q-39.688 86.176-39.688 85.812M-39.184 85.812Q-39.184 86.008-39.039 86.156Q-38.895 86.305-38.682 86.394Q-38.469 86.484-38.229 86.531Q-37.989 86.578-37.805 86.578Q-37.563 86.578-37.233 86.500Q-36.903 86.422-36.666 86.248Q-36.430 86.074-36.430 85.812Q-36.430 85.406-36.840 85.297Q-37.250 85.187-37.813 85.187L-38.493 85.187Q-38.762 85.187-38.973 85.365Q-39.184 85.543-39.184 85.812M-38.039 83.777Q-37.317 83.777-37.317 82.859Q-37.317 81.937-38.039 81.937Q-38.766 81.937-38.766 82.859Q-38.766 83.777-38.039 83.777M-33.582 85.203L-35.360 85.203L-35.360 84.906Q-35.086 84.906-34.918 84.859Q-34.750 84.812-34.750 84.644L-34.750 82.508Q-34.750 82.293-34.807 82.197Q-34.864 82.101-34.977 82.080Q-35.090 82.058-35.336 82.058L-35.336 81.762L-34.137 81.676L-34.137 84.644Q-34.137 84.812-33.991 84.859Q-33.844 84.906-33.582 84.906L-33.582 85.203M-35.024 80.281Q-35.024 80.090-34.889 79.959Q-34.754 79.828-34.559 79.828Q-34.438 79.828-34.334 79.891Q-34.231 79.953-34.168 80.057Q-34.106 80.160-34.106 80.281Q-34.106 80.476-34.237 80.611Q-34.368 80.746-34.559 80.746Q-34.758 80.746-34.891 80.613Q-35.024 80.480-35.024 80.281M-33.082 83.508Q-33.082 83.004-32.827 82.572Q-32.571 82.141-32.135 81.889Q-31.700 81.637-31.200 81.637Q-30.813 81.637-30.471 81.781Q-30.129 81.926-29.868 82.187Q-29.606 82.449-29.463 82.785Q-29.321 83.121-29.321 83.508Q-29.321 84-29.584 84.410Q-29.848 84.820-30.278 85.051Q-30.707 85.281-31.200 85.281Q-31.692 85.281-32.125 85.049Q-32.559 84.816-32.821 84.408Q-33.082 84-33.082 83.508M-31.200 85.004Q-30.743 85.004-30.491 84.781Q-30.239 84.558-30.151 84.207Q-30.063 83.855-30.063 83.410Q-30.063 82.980-30.157 82.642Q-30.250 82.305-30.504 82.098Q-30.758 81.891-31.200 81.891Q-31.848 81.891-32.092 82.307Q-32.336 82.723-32.336 83.410Q-32.336 83.855-32.248 84.207Q-32.161 84.558-31.909 84.781Q-31.657 85.004-31.200 85.004M-26.907 85.203L-28.762 85.203L-28.762 84.906Q-28.489 84.906-28.321 84.859Q-28.153 84.812-28.153 84.644L-28.153 82.508Q-28.153 82.293-28.215 82.197Q-28.278 82.101-28.397 82.080Q-28.516 82.058-28.762 82.058L-28.762 81.762L-27.571 81.676L-27.571 82.410Q-27.457 82.195-27.264 82.027Q-27.071 81.859-26.832 81.767Q-26.594 81.676-26.340 81.676Q-25.172 81.676-25.172 82.754L-25.172 84.644Q-25.172 84.812-25.002 84.859Q-24.832 84.906-24.563 84.906L-24.563 85.203L-26.418 85.203L-26.418 84.906Q-26.145 84.906-25.977 84.859Q-25.809 84.812-25.809 84.644L-25.809 82.769Q-25.809 82.387-25.930 82.158Q-26.051 81.930-26.403 81.930Q-26.715 81.930-26.969 82.092Q-27.223 82.254-27.370 82.523Q-27.516 82.793-27.516 83.090L-27.516 84.644Q-27.516 84.812-27.346 84.859Q-27.176 84.906-26.907 84.906\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">A point quadtree over six points. The root square splits into four quadrants; any quadrant that still holds more than one point splits again. The dense lower-left clump forces extra levels of subdivision while the sparse upper area stays a single cell.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:404.913px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 303.685 97.199\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-65.203 18.53v-73.978H8.774V18.53ZM8.774-55.449\" style=\"stroke-width:.8\"\u002F>\u003Cg stroke=\"none\" font-family=\"cmr8\" font-size=\"8\">\u003Cg transform=\"translate(23.058 -80.355)\">\u003Cpath d=\"M-64.965 16.834Q-64.965 16.330-64.709 15.898Q-64.453 15.466-64.017 15.215Q-63.582 14.963-63.082 14.963Q-62.695 14.963-62.353 15.107Q-62.012 15.252-61.750 15.513Q-61.488 15.775-61.346 16.111Q-61.203 16.447-61.203 16.834Q-61.203 17.326-61.467 17.736Q-61.730 18.146-62.160 18.377Q-62.590 18.607-63.082 18.607Q-63.574 18.607-64.008 18.375Q-64.441 18.142-64.703 17.734Q-64.965 17.326-64.965 16.834M-63.082 18.330Q-62.625 18.330-62.373 18.107Q-62.121 17.884-62.033 17.533Q-61.945 17.181-61.945 16.736Q-61.945 16.306-62.039 15.968Q-62.133 15.631-62.387 15.424Q-62.641 15.216-63.082 15.216Q-63.730 15.216-63.974 15.633Q-64.219 16.049-64.219 16.736Q-64.219 17.181-64.131 17.533Q-64.043 17.884-63.791 18.107Q-63.539 18.330-63.082 18.330M-58.789 18.529L-60.644 18.529L-60.644 18.232Q-60.371 18.232-60.203 18.185Q-60.035 18.138-60.035 17.970L-60.035 15.834Q-60.035 15.619-60.098 15.523Q-60.160 15.427-60.279 15.406Q-60.398 15.384-60.644 15.384L-60.644 15.088L-59.453 15.002L-59.453 15.736Q-59.340 15.521-59.146 15.353Q-58.953 15.185-58.715 15.093Q-58.476 15.002-58.223 15.002Q-57.055 15.002-57.055 16.080L-57.055 17.970Q-57.055 18.138-56.885 18.185Q-56.715 18.232-56.445 18.232L-56.445 18.529L-58.301 18.529L-58.301 18.232Q-58.027 18.232-57.859 18.185Q-57.691 18.138-57.691 17.970L-57.691 16.095Q-57.691 15.713-57.812 15.484Q-57.933 15.256-58.285 15.256Q-58.598 15.256-58.851 15.418Q-59.105 15.580-59.252 15.849Q-59.398 16.119-59.398 16.416L-59.398 17.970Q-59.398 18.138-59.228 18.185Q-59.058 18.232-58.789 18.232L-58.789 18.529M-56 16.775Q-56 16.295-55.767 15.879Q-55.535 15.463-55.125 15.213Q-54.715 14.963-54.238 14.963Q-53.508 14.963-53.109 15.404Q-52.711 15.845-52.711 16.576Q-52.711 16.681-52.805 16.705L-55.254 16.705L-55.254 16.775Q-55.254 17.185-55.133 17.541Q-55.012 17.896-54.740 18.113Q-54.469 18.330-54.039 18.330Q-53.676 18.330-53.379 18.101Q-53.082 17.873-52.980 17.521Q-52.973 17.474-52.887 17.459L-52.805 17.459Q-52.711 17.486-52.711 17.568Q-52.711 17.576-52.719 17.607Q-52.781 17.834-52.920 18.017Q-53.058 18.201-53.250 18.334Q-53.441 18.466-53.660 18.537Q-53.879 18.607-54.117 18.607Q-54.488 18.607-54.826 18.470Q-55.164 18.334-55.432 18.082Q-55.699 17.830-55.849 17.490Q-56 17.150-56 16.775M-55.246 16.466L-53.285 16.466Q-53.285 16.162-53.387 15.871Q-53.488 15.580-53.705 15.398Q-53.922 15.216-54.238 15.216Q-54.539 15.216-54.769 15.404Q-55 15.591-55.123 15.883Q-55.246 16.174-55.246 16.466\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(23.058 -80.355)\">\u003Cpath d=\"M-49.339 16.802Q-49.339 16.306-49.089 15.881Q-48.839 15.455-48.419 15.209Q-47.999 14.963-47.499 14.963Q-46.960 14.963-46.569 15.088Q-46.179 15.213-46.179 15.627Q-46.179 15.732-46.229 15.824Q-46.280 15.916-46.372 15.966Q-46.464 16.017-46.573 16.017Q-46.679 16.017-46.770 15.966Q-46.862 15.916-46.913 15.824Q-46.964 15.732-46.964 15.627Q-46.964 15.404-46.796 15.299Q-47.018 15.240-47.491 15.240Q-47.788 15.240-48.003 15.379Q-48.218 15.517-48.349 15.748Q-48.479 15.978-48.538 16.248Q-48.597 16.517-48.597 16.802Q-48.597 17.197-48.464 17.547Q-48.331 17.896-48.059 18.113Q-47.788 18.330-47.390 18.330Q-47.015 18.330-46.739 18.113Q-46.464 17.896-46.362 17.537Q-46.347 17.474-46.284 17.474L-46.179 17.474Q-46.143 17.474-46.118 17.502Q-46.093 17.529-46.093 17.568L-46.093 17.591Q-46.225 18.072-46.610 18.340Q-46.995 18.607-47.499 18.607Q-47.862 18.607-48.196 18.470Q-48.530 18.334-48.790 18.084Q-49.050 17.834-49.194 17.498Q-49.339 17.162-49.339 16.802M-45.604 16.775Q-45.604 16.295-45.372 15.879Q-45.140 15.463-44.729 15.213Q-44.319 14.963-43.843 14.963Q-43.112 14.963-42.714 15.404Q-42.315 15.845-42.315 16.576Q-42.315 16.681-42.409 16.705L-44.858 16.705L-44.858 16.775Q-44.858 17.185-44.737 17.541Q-44.616 17.896-44.345 18.113Q-44.073 18.330-43.643 18.330Q-43.280 18.330-42.983 18.101Q-42.686 17.873-42.585 17.521Q-42.577 17.474-42.491 17.459L-42.409 17.459Q-42.315 17.486-42.315 17.568Q-42.315 17.576-42.323 17.607Q-42.386 17.834-42.524 18.017Q-42.663 18.201-42.854 18.334Q-43.046 18.466-43.265 18.537Q-43.483 18.607-43.722 18.607Q-44.093 18.607-44.431 18.470Q-44.768 18.334-45.036 18.082Q-45.304 17.830-45.454 17.490Q-45.604 17.150-45.604 16.775M-44.850 16.466L-42.890 16.466Q-42.890 16.162-42.991 15.871Q-43.093 15.580-43.309 15.398Q-43.526 15.216-43.843 15.216Q-44.143 15.216-44.374 15.404Q-44.604 15.591-44.727 15.883Q-44.850 16.174-44.850 16.466M-39.913 18.529L-41.745 18.529L-41.745 18.232Q-41.472 18.232-41.304 18.185Q-41.136 18.138-41.136 17.970L-41.136 13.810Q-41.136 13.595-41.198 13.500Q-41.261 13.404-41.380 13.383Q-41.499 13.361-41.745 13.361L-41.745 13.064L-40.522 12.978L-40.522 17.970Q-40.522 18.138-40.354 18.185Q-40.186 18.232-39.913 18.232L-39.913 18.529M-37.554 18.529L-39.386 18.529L-39.386 18.232Q-39.112 18.232-38.944 18.185Q-38.776 18.138-38.776 17.970L-38.776 13.810Q-38.776 13.595-38.839 13.500Q-38.901 13.404-39.020 13.383Q-39.140 13.361-39.386 13.361L-39.386 13.064L-38.163 12.978L-38.163 17.970Q-38.163 18.138-37.995 18.185Q-37.827 18.232-37.554 18.232\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M42.917 18.53v-73.978h73.977V18.53Zm73.977-73.978\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M79.906 18.53v-73.978M42.917-18.46h73.977\" style=\"stroke-width:.8\"\u002F>\u003Cg fill=\"var(--tk-accent)\">\u003Cpath stroke=\"none\" d=\"M60.83 2.88a2.263 2.263 0 1 0-4.527 0 2.263 2.263 0 0 0 4.526 0m-2.264 0\"\u002F>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\">\u003Cpath stroke=\"none\" d=\"M97.818-36.953a2.263 2.263 0 1 0-4.526 0 2.263 2.263 0 0 0 4.526 0m-2.263 0\"\u002F>\u003C\u002Fg>\u003Cg stroke=\"none\" font-family=\"cmr8\" font-size=\"8\">\u003Cg transform=\"translate(129.266 -81.91)\">\u003Cpath d=\"M-64.965 16.834Q-64.965 16.330-64.709 15.898Q-64.453 15.466-64.017 15.215Q-63.582 14.963-63.082 14.963Q-62.695 14.963-62.353 15.107Q-62.012 15.252-61.750 15.513Q-61.488 15.775-61.346 16.111Q-61.203 16.447-61.203 16.834Q-61.203 17.326-61.467 17.736Q-61.730 18.146-62.160 18.377Q-62.590 18.607-63.082 18.607Q-63.574 18.607-64.008 18.375Q-64.441 18.142-64.703 17.734Q-64.965 17.326-64.965 16.834M-63.082 18.330Q-62.625 18.330-62.373 18.107Q-62.121 17.884-62.033 17.533Q-61.945 17.181-61.945 16.736Q-61.945 16.306-62.039 15.968Q-62.133 15.631-62.387 15.424Q-62.641 15.216-63.082 15.216Q-63.730 15.216-63.974 15.633Q-64.219 16.049-64.219 16.736Q-64.219 17.181-64.131 17.533Q-64.043 17.884-63.791 18.107Q-63.539 18.330-63.082 18.330M-58.789 18.529L-60.644 18.529L-60.644 18.232Q-60.371 18.232-60.203 18.185Q-60.035 18.138-60.035 17.970L-60.035 15.834Q-60.035 15.619-60.098 15.523Q-60.160 15.427-60.279 15.406Q-60.398 15.384-60.644 15.384L-60.644 15.088L-59.453 15.002L-59.453 15.736Q-59.340 15.521-59.146 15.353Q-58.953 15.185-58.715 15.093Q-58.476 15.002-58.223 15.002Q-57.055 15.002-57.055 16.080L-57.055 17.970Q-57.055 18.138-56.885 18.185Q-56.715 18.232-56.445 18.232L-56.445 18.529L-58.301 18.529L-58.301 18.232Q-58.027 18.232-57.859 18.185Q-57.691 18.138-57.691 17.970L-57.691 16.095Q-57.691 15.713-57.812 15.484Q-57.933 15.256-58.285 15.256Q-58.598 15.256-58.851 15.418Q-59.105 15.580-59.252 15.849Q-59.398 16.119-59.398 16.416L-59.398 17.970Q-59.398 18.138-59.228 18.185Q-59.058 18.232-58.789 18.232L-58.789 18.529M-56 16.775Q-56 16.295-55.767 15.879Q-55.535 15.463-55.125 15.213Q-54.715 14.963-54.238 14.963Q-53.508 14.963-53.109 15.404Q-52.711 15.845-52.711 16.576Q-52.711 16.681-52.805 16.705L-55.254 16.705L-55.254 16.775Q-55.254 17.185-55.133 17.541Q-55.012 17.896-54.740 18.113Q-54.469 18.330-54.039 18.330Q-53.676 18.330-53.379 18.101Q-53.082 17.873-52.980 17.521Q-52.973 17.474-52.887 17.459L-52.805 17.459Q-52.711 17.486-52.711 17.568Q-52.711 17.576-52.719 17.607Q-52.781 17.834-52.920 18.017Q-53.058 18.201-53.250 18.334Q-53.441 18.466-53.660 18.537Q-53.879 18.607-54.117 18.607Q-54.488 18.607-54.826 18.470Q-55.164 18.334-55.432 18.082Q-55.699 17.830-55.849 17.490Q-56 17.150-56 16.775M-55.246 16.466L-53.285 16.466Q-53.285 16.162-53.387 15.871Q-53.488 15.580-53.705 15.398Q-53.922 15.216-54.238 15.216Q-54.539 15.216-54.769 15.404Q-55 15.591-55.123 15.883Q-55.246 16.174-55.246 16.466\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(129.266 -81.91)\">\u003Cpath d=\"M-49.339 18.521L-49.339 17.299Q-49.339 17.271-49.307 17.240Q-49.276 17.209-49.253 17.209L-49.147 17.209Q-49.077 17.209-49.061 17.271Q-48.999 17.591-48.860 17.832Q-48.722 18.072-48.489 18.213Q-48.257 18.353-47.948 18.353Q-47.710 18.353-47.501 18.293Q-47.292 18.232-47.155 18.084Q-47.018 17.935-47.018 17.689Q-47.018 17.435-47.229 17.269Q-47.440 17.103-47.710 17.049L-48.331 16.935Q-48.737 16.857-49.038 16.601Q-49.339 16.345-49.339 15.970Q-49.339 15.603-49.138 15.381Q-48.936 15.158-48.612 15.060Q-48.288 14.963-47.948 14.963Q-47.483 14.963-47.186 15.170L-46.964 14.986Q-46.940 14.963-46.909 14.963L-46.858 14.963Q-46.827 14.963-46.800 14.990Q-46.772 15.017-46.772 15.049L-46.772 16.033Q-46.772 16.064-46.798 16.093Q-46.823 16.123-46.858 16.123L-46.964 16.123Q-46.999 16.123-47.026 16.095Q-47.054 16.068-47.054 16.033Q-47.054 15.634-47.306 15.414Q-47.557 15.193-47.956 15.193Q-48.311 15.193-48.595 15.316Q-48.878 15.439-48.878 15.744Q-48.878 15.963-48.677 16.095Q-48.475 16.228-48.229 16.271L-47.604 16.384Q-47.175 16.474-46.866 16.771Q-46.557 17.068-46.557 17.482Q-46.557 18.052-46.956 18.330Q-47.354 18.607-47.948 18.607Q-48.499 18.607-48.850 18.271L-49.147 18.584Q-49.171 18.607-49.206 18.607L-49.253 18.607Q-49.276 18.607-49.307 18.576Q-49.339 18.545-49.339 18.521M-44.147 20.080L-46.003 20.080L-46.003 19.787Q-45.733 19.787-45.565 19.742Q-45.397 19.697-45.397 19.521L-45.397 15.697Q-45.397 15.490-45.554 15.437Q-45.710 15.384-46.003 15.384L-46.003 15.088L-44.780 15.002L-44.780 15.466Q-44.550 15.244-44.235 15.123Q-43.921 15.002-43.581 15.002Q-43.108 15.002-42.704 15.248Q-42.300 15.494-42.067 15.910Q-41.835 16.326-41.835 16.802Q-41.835 17.177-41.983 17.506Q-42.132 17.834-42.401 18.086Q-42.671 18.338-43.015 18.472Q-43.358 18.607-43.718 18.607Q-44.007 18.607-44.278 18.486Q-44.550 18.365-44.757 18.154L-44.757 19.521Q-44.757 19.697-44.589 19.742Q-44.421 19.787-44.147 19.787L-44.147 20.080M-44.757 15.865L-44.757 17.705Q-44.604 17.994-44.343 18.174Q-44.081 18.353-43.772 18.353Q-43.487 18.353-43.265 18.215Q-43.042 18.076-42.890 17.845Q-42.737 17.615-42.659 17.343Q-42.581 17.072-42.581 16.802Q-42.581 16.470-42.706 16.113Q-42.831 15.756-43.079 15.519Q-43.327 15.283-43.675 15.283Q-43.999 15.283-44.294 15.439Q-44.589 15.595-44.757 15.865M-39.397 18.529L-41.229 18.529L-41.229 18.232Q-40.956 18.232-40.788 18.185Q-40.620 18.138-40.620 17.970L-40.620 13.810Q-40.620 13.595-40.682 13.500Q-40.745 13.404-40.864 13.383Q-40.983 13.361-41.229 13.361L-41.229 13.064L-40.007 12.978L-40.007 17.970Q-40.007 18.138-39.839 18.185Q-39.671 18.232-39.397 18.232L-39.397 18.529M-37.093 18.529L-38.870 18.529L-38.870 18.232Q-38.597 18.232-38.429 18.185Q-38.261 18.138-38.261 17.970L-38.261 15.834Q-38.261 15.619-38.317 15.523Q-38.374 15.427-38.487 15.406Q-38.600 15.384-38.847 15.384L-38.847 15.088L-37.647 15.002L-37.647 17.970Q-37.647 18.138-37.501 18.185Q-37.354 18.232-37.093 18.232L-37.093 18.529M-38.534 13.607Q-38.534 13.416-38.399 13.285Q-38.265 13.154-38.069 13.154Q-37.948 13.154-37.845 13.216Q-37.741 13.279-37.679 13.383Q-37.616 13.486-37.616 13.607Q-37.616 13.802-37.747 13.937Q-37.878 14.072-38.069 14.072Q-38.268 14.072-38.401 13.939Q-38.534 13.806-38.534 13.607M-35.968 17.568L-35.968 15.377L-36.671 15.377L-36.671 15.123Q-36.315 15.123-36.073 14.890Q-35.831 14.658-35.720 14.310Q-35.608 13.963-35.608 13.607L-35.327 13.607L-35.327 15.080L-34.151 15.080L-34.151 15.377L-35.327 15.377L-35.327 17.552Q-35.327 17.873-35.208 18.101Q-35.089 18.330-34.807 18.330Q-34.628 18.330-34.511 18.207Q-34.393 18.084-34.341 17.904Q-34.288 17.724-34.288 17.552L-34.288 17.080L-34.007 17.080L-34.007 17.568Q-34.007 17.822-34.112 18.062Q-34.218 18.302-34.415 18.455Q-34.612 18.607-34.870 18.607Q-35.186 18.607-35.438 18.484Q-35.690 18.361-35.829 18.127Q-35.968 17.892-35.968 17.568\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M151.038 18.53v-73.978h73.977V18.53Zm73.977-73.978\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M188.026 18.53v-73.978M151.038-18.46h73.977\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M169.532 18.53v-36.99M151.038.035h36.988\"\u002F>\u003Cg fill=\"var(--tk-accent)\">\u003Cpath stroke=\"none\" d=\"M163.26 7.148a2.263 2.263 0 1 0-4.527 0 2.263 2.263 0 0 0 4.526 0m-2.264 0\"\u002F>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\">\u003Cpath stroke=\"none\" d=\"M180.33-8.5a2.263 2.263 0 1 0-4.525 0 2.263 2.263 0 0 0 4.526 0m-2.262 0\"\u002F>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\">\u003Cpath stroke=\"none\" d=\"M205.938-36.953a2.263 2.263 0 1 0-4.526 0 2.263 2.263 0 0 0 4.526 0m-2.263 0\"\u002F>\u003C\u002Fg>\u003Cg stroke=\"none\" font-family=\"cmr8\" font-size=\"8\">\u003Cg transform=\"translate(231.598 -81.91)\">\u003Cpath d=\"M-63.148 18.607Q-63.629 18.607-64.037 18.363Q-64.445 18.119-64.683 17.705Q-64.922 17.291-64.922 16.802Q-64.922 16.310-64.664 15.894Q-64.406 15.478-63.974 15.240Q-63.543 15.002-63.051 15.002Q-62.430 15.002-61.980 15.439L-61.980 13.810Q-61.980 13.595-62.043 13.500Q-62.105 13.404-62.223 13.383Q-62.340 13.361-62.586 13.361L-62.586 13.064L-61.363 12.978L-61.363 17.787Q-61.363 17.998-61.301 18.093Q-61.238 18.189-61.121 18.211Q-61.004 18.232-60.754 18.232L-60.754 18.529L-62.004 18.607L-62.004 18.123Q-62.469 18.607-63.148 18.607M-63.082 18.353Q-62.742 18.353-62.449 18.162Q-62.156 17.970-62.004 17.674L-62.004 15.841Q-62.152 15.568-62.414 15.412Q-62.676 15.256-62.988 15.256Q-63.613 15.256-63.896 15.703Q-64.180 16.150-64.180 16.810Q-64.180 17.455-63.928 17.904Q-63.676 18.353-63.082 18.353M-60.246 16.775Q-60.246 16.295-60.014 15.879Q-59.781 15.463-59.371 15.213Q-58.961 14.963-58.484 14.963Q-57.754 14.963-57.355 15.404Q-56.957 15.845-56.957 16.576Q-56.957 16.681-57.051 16.705L-59.500 16.705L-59.500 16.775Q-59.500 17.185-59.379 17.541Q-59.258 17.896-58.986 18.113Q-58.715 18.330-58.285 18.330Q-57.922 18.330-57.625 18.101Q-57.328 17.873-57.226 17.521Q-57.219 17.474-57.133 17.459L-57.051 17.459Q-56.957 17.486-56.957 17.568Q-56.957 17.576-56.965 17.607Q-57.027 17.834-57.166 18.017Q-57.305 18.201-57.496 18.334Q-57.687 18.466-57.906 18.537Q-58.125 18.607-58.363 18.607Q-58.734 18.607-59.072 18.470Q-59.410 18.334-59.678 18.082Q-59.945 17.830-60.096 17.490Q-60.246 17.150-60.246 16.775M-59.492 16.466L-57.531 16.466Q-57.531 16.162-57.633 15.871Q-57.734 15.580-57.951 15.398Q-58.168 15.216-58.484 15.216Q-58.785 15.216-59.016 15.404Q-59.246 15.591-59.369 15.883Q-59.492 16.174-59.492 16.466M-56.469 16.775Q-56.469 16.295-56.236 15.879Q-56.004 15.463-55.594 15.213Q-55.183 14.963-54.707 14.963Q-53.976 14.963-53.578 15.404Q-53.180 15.845-53.180 16.576Q-53.180 16.681-53.273 16.705L-55.723 16.705L-55.723 16.775Q-55.723 17.185-55.601 17.541Q-55.480 17.896-55.209 18.113Q-54.937 18.330-54.508 18.330Q-54.144 18.330-53.848 18.101Q-53.551 17.873-53.449 17.521Q-53.441 17.474-53.355 17.459L-53.273 17.459Q-53.180 17.486-53.180 17.568Q-53.180 17.576-53.187 17.607Q-53.250 17.834-53.389 18.017Q-53.527 18.201-53.719 18.334Q-53.910 18.466-54.129 18.537Q-54.348 18.607-54.586 18.607Q-54.957 18.607-55.295 18.470Q-55.633 18.334-55.900 18.082Q-56.168 17.830-56.318 17.490Q-56.469 17.150-56.469 16.775M-55.715 16.466L-53.754 16.466Q-53.754 16.162-53.855 15.871Q-53.957 15.580-54.174 15.398Q-54.391 15.216-54.707 15.216Q-55.008 15.216-55.238 15.404Q-55.469 15.591-55.592 15.883Q-55.715 16.174-55.715 16.466M-50.808 20.080L-52.664 20.080L-52.664 19.787Q-52.394 19.787-52.226 19.742Q-52.058 19.697-52.058 19.521L-52.058 15.697Q-52.058 15.490-52.215 15.437Q-52.371 15.384-52.664 15.384L-52.664 15.088L-51.441 15.002L-51.441 15.466Q-51.211 15.244-50.896 15.123Q-50.582 15.002-50.242 15.002Q-49.769 15.002-49.365 15.248Q-48.961 15.494-48.728 15.910Q-48.496 16.326-48.496 16.802Q-48.496 17.177-48.644 17.506Q-48.793 17.834-49.062 18.086Q-49.332 18.338-49.676 18.472Q-50.019 18.607-50.379 18.607Q-50.668 18.607-50.939 18.486Q-51.211 18.365-51.418 18.154L-51.418 19.521Q-51.418 19.697-51.250 19.742Q-51.082 19.787-50.808 19.787L-50.808 20.080M-51.418 15.865L-51.418 17.705Q-51.266 17.994-51.004 18.174Q-50.742 18.353-50.433 18.353Q-50.148 18.353-49.926 18.215Q-49.703 18.076-49.551 17.845Q-49.398 17.615-49.320 17.343Q-49.242 17.072-49.242 16.802Q-49.242 16.470-49.367 16.113Q-49.492 15.756-49.740 15.519Q-49.988 15.283-50.336 15.283Q-50.660 15.283-50.955 15.439Q-51.250 15.595-51.418 15.865\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(231.598 -81.91)\">\u003Cpath d=\"M-47.729 16.775Q-47.729 16.295-47.496 15.879Q-47.264 15.463-46.854 15.213Q-46.444 14.963-45.967 14.963Q-45.237 14.963-44.838 15.404Q-44.440 15.845-44.440 16.576Q-44.440 16.681-44.533 16.705L-46.983 16.705L-46.983 16.775Q-46.983 17.185-46.862 17.541Q-46.740 17.896-46.469 18.113Q-46.197 18.330-45.768 18.330Q-45.404 18.330-45.108 18.101Q-44.811 17.873-44.709 17.521Q-44.701 17.474-44.615 17.459L-44.533 17.459Q-44.440 17.486-44.440 17.568Q-44.440 17.576-44.447 17.607Q-44.510 17.834-44.649 18.017Q-44.787 18.201-44.979 18.334Q-45.170 18.466-45.389 18.537Q-45.608 18.607-45.846 18.607Q-46.217 18.607-46.555 18.470Q-46.893 18.334-47.160 18.082Q-47.428 17.830-47.578 17.490Q-47.729 17.150-47.729 16.775M-46.975 16.466L-45.014 16.466Q-45.014 16.162-45.115 15.871Q-45.217 15.580-45.434 15.398Q-45.651 15.216-45.967 15.216Q-46.268 15.216-46.498 15.404Q-46.729 15.591-46.852 15.883Q-46.975 16.174-46.975 16.466M-41.944 18.529L-43.924 18.529L-43.924 18.232Q-43.654 18.232-43.487 18.187Q-43.319 18.142-43.319 17.970L-43.319 15.834Q-43.319 15.619-43.381 15.523Q-43.444 15.427-43.561 15.406Q-43.678 15.384-43.924 15.384L-43.924 15.088L-42.756 15.002L-42.756 15.787Q-42.678 15.576-42.526 15.390Q-42.373 15.205-42.174 15.103Q-41.975 15.002-41.748 15.002Q-41.502 15.002-41.311 15.146Q-41.119 15.291-41.119 15.521Q-41.119 15.677-41.225 15.787Q-41.330 15.896-41.487 15.896Q-41.643 15.896-41.752 15.787Q-41.862 15.677-41.862 15.521Q-41.862 15.361-41.756 15.256Q-42.080 15.256-42.295 15.484Q-42.510 15.713-42.606 16.052Q-42.701 16.392-42.701 16.697L-42.701 17.970Q-42.701 18.138-42.475 18.185Q-42.248 18.232-41.944 18.232\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(231.598 -81.91)\">\u003Cpath d=\"M-37.762 18.521L-37.762 17.299Q-37.762 17.271-37.730 17.240Q-37.699 17.209-37.676 17.209L-37.570 17.209Q-37.500 17.209-37.484 17.271Q-37.422 17.591-37.283 17.832Q-37.145 18.072-36.912 18.213Q-36.680 18.353-36.371 18.353Q-36.133 18.353-35.924 18.293Q-35.715 18.232-35.578 18.084Q-35.441 17.935-35.441 17.689Q-35.441 17.435-35.652 17.269Q-35.863 17.103-36.133 17.049L-36.754 16.935Q-37.160 16.857-37.461 16.601Q-37.762 16.345-37.762 15.970Q-37.762 15.603-37.561 15.381Q-37.359 15.158-37.035 15.060Q-36.711 14.963-36.371 14.963Q-35.906 14.963-35.609 15.170L-35.387 14.986Q-35.363 14.963-35.332 14.963L-35.281 14.963Q-35.250 14.963-35.223 14.990Q-35.195 15.017-35.195 15.049L-35.195 16.033Q-35.195 16.064-35.221 16.093Q-35.246 16.123-35.281 16.123L-35.387 16.123Q-35.422 16.123-35.449 16.095Q-35.477 16.068-35.477 16.033Q-35.477 15.634-35.729 15.414Q-35.980 15.193-36.379 15.193Q-36.734 15.193-37.018 15.316Q-37.301 15.439-37.301 15.744Q-37.301 15.963-37.100 16.095Q-36.898 16.228-36.652 16.271L-36.027 16.384Q-35.598 16.474-35.289 16.771Q-34.980 17.068-34.980 17.482Q-34.980 18.052-35.379 18.330Q-35.777 18.607-36.371 18.607Q-36.922 18.607-37.273 18.271L-37.570 18.584Q-37.594 18.607-37.629 18.607L-37.676 18.607Q-37.699 18.607-37.730 18.576Q-37.762 18.545-37.762 18.521M-32.570 20.080L-34.426 20.080L-34.426 19.787Q-34.156 19.787-33.988 19.742Q-33.820 19.697-33.820 19.521L-33.820 15.697Q-33.820 15.490-33.977 15.437Q-34.133 15.384-34.426 15.384L-34.426 15.088L-33.203 15.002L-33.203 15.466Q-32.973 15.244-32.658 15.123Q-32.344 15.002-32.004 15.002Q-31.531 15.002-31.127 15.248Q-30.723 15.494-30.490 15.910Q-30.258 16.326-30.258 16.802Q-30.258 17.177-30.406 17.506Q-30.555 17.834-30.824 18.086Q-31.094 18.338-31.438 18.472Q-31.781 18.607-32.141 18.607Q-32.430 18.607-32.701 18.486Q-32.973 18.365-33.180 18.154L-33.180 19.521Q-33.180 19.697-33.012 19.742Q-32.844 19.787-32.570 19.787L-32.570 20.080M-33.180 15.865L-33.180 17.705Q-33.027 17.994-32.766 18.174Q-32.504 18.353-32.195 18.353Q-31.910 18.353-31.688 18.215Q-31.465 18.076-31.313 17.845Q-31.160 17.615-31.082 17.343Q-31.004 17.072-31.004 16.802Q-31.004 16.470-31.129 16.113Q-31.254 15.756-31.502 15.519Q-31.750 15.283-32.098 15.283Q-32.422 15.283-32.717 15.439Q-33.012 15.595-33.180 15.865M-27.820 18.529L-29.652 18.529L-29.652 18.232Q-29.379 18.232-29.211 18.185Q-29.043 18.138-29.043 17.970L-29.043 13.810Q-29.043 13.595-29.105 13.500Q-29.168 13.404-29.287 13.383Q-29.406 13.361-29.652 13.361L-29.652 13.064L-28.430 12.978L-28.430 17.970Q-28.430 18.138-28.262 18.185Q-28.094 18.232-27.820 18.232L-27.820 18.529M-25.516 18.529L-27.293 18.529L-27.293 18.232Q-27.020 18.232-26.852 18.185Q-26.684 18.138-26.684 17.970L-26.684 15.834Q-26.684 15.619-26.740 15.523Q-26.797 15.427-26.910 15.406Q-27.023 15.384-27.270 15.384L-27.270 15.088L-26.070 15.002L-26.070 17.970Q-26.070 18.138-25.924 18.185Q-25.777 18.232-25.516 18.232L-25.516 18.529M-26.957 13.607Q-26.957 13.416-26.822 13.285Q-26.688 13.154-26.492 13.154Q-26.371 13.154-26.268 13.216Q-26.164 13.279-26.102 13.383Q-26.039 13.486-26.039 13.607Q-26.039 13.802-26.170 13.937Q-26.301 14.072-26.492 14.072Q-26.691 14.072-26.824 13.939Q-26.957 13.806-26.957 13.607M-24.391 17.568L-24.391 15.377L-25.094 15.377L-25.094 15.123Q-24.738 15.123-24.496 14.890Q-24.254 14.658-24.143 14.310Q-24.031 13.963-24.031 13.607L-23.750 13.607L-23.750 15.080L-22.574 15.080L-22.574 15.377L-23.750 15.377L-23.750 17.552Q-23.750 17.873-23.631 18.101Q-23.512 18.330-23.230 18.330Q-23.051 18.330-22.934 18.207Q-22.816 18.084-22.764 17.904Q-22.711 17.724-22.711 17.552L-22.711 17.080L-22.430 17.080L-22.430 17.568Q-22.430 17.822-22.535 18.062Q-22.641 18.302-22.838 18.455Q-23.035 18.607-23.293 18.607Q-23.609 18.607-23.861 18.484Q-24.113 18.361-24.252 18.127Q-24.391 17.892-24.391 17.568\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">Subdividing quadrant by quadrant as points are inserted. Stage one is the empty root region. Stage two inserts two points into the lower-left, forcing one cut into four quadrants. Stage three adds a third point that collides in the lower-left sub-square, forcing a second cut there. Each cut appears only where a cell would otherwise hold more than one point.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:207.640px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 155.730 166.020\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-65.203 70.394V-71.87H77.06V70.394ZM5.928 70.394V-71.87M-65.203-.738H77.06\" style=\"stroke-width:.8\"\u002F>\u003Cpath stroke=\"none\" d=\"M5.928-.738V-71.87H77.06V-.738ZM77.06-71.87\"\u002F>\u003Cpath fill=\"var(--tk-soft-good)\" stroke=\"none\" d=\"M-65.203 70.394V-.738H5.928v71.132ZM5.928-.738\"\u002F>\u003Cpath fill=\"var(--tk-soft-accent)\" stroke=\"none\" d=\"M-65.203-.738V-71.87H5.928V-.738ZM5.928 70.394V-.738H77.06v71.132ZM77.06-.738\"\u002F>\u003Cpath fill=\"none\" d=\"M-65.203 70.394V-71.87H77.06V70.394ZM5.928 70.394V-71.87M-65.203-.738H77.06\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M-48.132 53.322v-79.667h79.668v79.667Zm79.668-79.667\" style=\"stroke-dasharray:3.0,3.0;stroke-width:1.2\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-family=\"cmr7\" font-size=\"7\">\u003Cg transform=\"translate(44.25 12.662)\">\u003Cpath d=\"M-63.265 70.462Q-63.696 70.462-64.072 70.250Q-64.448 70.039-64.668 69.678Q-64.889 69.317-64.889 68.883Q-64.889 68.439-64.651 68.078Q-64.413 67.718-64.027 67.513Q-63.641 67.308-63.200 67.308Q-62.882 67.308-62.599 67.463Q-62.315 67.619-62.130 67.895L-61.884 67.308L-61.648 67.308L-61.648 71.262Q-61.648 71.399-61.498 71.435Q-61.348 71.471-61.122 71.471L-61.122 71.751L-62.752 71.751L-62.752 71.471Q-62.527 71.471-62.378 71.436Q-62.229 71.402-62.229 71.262L-62.229 70.001Q-62.428 70.220-62.699 70.341Q-62.971 70.462-63.265 70.462M-63.214 70.240Q-62.882 70.240-62.610 70.035Q-62.339 69.830-62.199 69.505L-62.199 68.371Q-62.257 68.148-62.388 67.966Q-62.520 67.783-62.710 67.672Q-62.899 67.561-63.125 67.561Q-63.453 67.561-63.704 67.757Q-63.955 67.954-64.089 68.261Q-64.222 68.569-64.222 68.890Q-64.222 69.191-64.106 69.507Q-63.990 69.823-63.761 70.032Q-63.532 70.240-63.214 70.240M-60.114 69.560L-60.114 68.056Q-60.114 67.786-60.221 67.725Q-60.329 67.663-60.640 67.663L-60.640 67.383L-59.533 67.308L-59.533 69.540L-59.533 69.560Q-59.533 69.840-59.481 69.984Q-59.430 70.127-59.288 70.184Q-59.146 70.240-58.859 70.240Q-58.606 70.240-58.401 70.100Q-58.196 69.960-58.080 69.734Q-57.964 69.509-57.964 69.259L-57.964 68.056Q-57.964 67.786-58.071 67.725Q-58.179 67.663-58.490 67.663L-58.490 67.383L-57.383 67.308L-57.383 69.721Q-57.383 69.912-57.330 69.994Q-57.277 70.076-57.176 70.095Q-57.075 70.114-56.860 70.114L-56.860 70.394L-57.936 70.462L-57.936 69.898Q-58.046 70.080-58.191 70.203Q-58.336 70.326-58.523 70.394Q-58.709 70.462-58.911 70.462Q-60.114 70.462-60.114 69.560M-56.313 68.859Q-56.313 68.538-56.188 68.249Q-56.063 67.960-55.838 67.737Q-55.612 67.513-55.317 67.393Q-55.021 67.273-54.703 67.273Q-54.375 67.273-54.113 67.373Q-53.852 67.472-53.676 67.654Q-53.500 67.837-53.406 68.095Q-53.312 68.353-53.312 68.685Q-53.312 68.777-53.394 68.798L-55.650 68.798L-55.650 68.859Q-55.650 69.447-55.366 69.830Q-55.082 70.213-54.515 70.213Q-54.194 70.213-53.925 70.020Q-53.657 69.827-53.568 69.512Q-53.561 69.471-53.486 69.457L-53.394 69.457Q-53.312 69.481-53.312 69.553Q-53.312 69.560-53.319 69.587Q-53.432 69.984-53.802 70.223Q-54.173 70.462-54.597 70.462Q-55.035 70.462-55.434 70.254Q-55.834 70.045-56.074 69.678Q-56.313 69.311-56.313 68.859M-55.643 68.589L-53.828 68.589Q-53.828 68.312-53.925 68.060Q-54.023 67.807-54.221 67.651Q-54.419 67.496-54.703 67.496Q-54.980 67.496-55.193 67.654Q-55.407 67.813-55.525 68.068Q-55.643 68.323-55.643 68.589M-50.974 70.394L-52.710 70.394L-52.710 70.114Q-52.481 70.114-52.333 70.080Q-52.184 70.045-52.184 69.905L-52.184 68.056Q-52.184 67.786-52.292 67.725Q-52.399 67.663-52.710 67.663L-52.710 67.383L-51.682 67.308L-51.682 68.015Q-51.552 67.707-51.309 67.508Q-51.066 67.308-50.748 67.308Q-50.530 67.308-50.359 67.432Q-50.188 67.557-50.188 67.769Q-50.188 67.906-50.287 68.005Q-50.386 68.104-50.519 68.104Q-50.656 68.104-50.755 68.005Q-50.854 67.906-50.854 67.769Q-50.854 67.629-50.755 67.530Q-51.046 67.530-51.246 67.726Q-51.446 67.923-51.538 68.217Q-51.630 68.511-51.630 68.791L-51.630 69.905Q-51.630 70.114-50.974 70.114L-50.974 70.394M-49.268 71.529Q-49.139 71.597-49.002 71.597Q-48.831 71.597-48.681 71.508Q-48.530 71.419-48.419 71.274Q-48.308 71.129-48.229 70.961L-47.966 70.394L-49.135 67.868Q-49.210 67.721-49.340 67.689Q-49.470 67.656-49.703 67.656L-49.703 67.376L-48.182 67.376L-48.182 67.656Q-48.530 67.656-48.530 67.803Q-48.527 67.824-48.525 67.841Q-48.523 67.858-48.523 67.868L-47.665 69.727L-46.893 68.056Q-46.859 67.988-46.859 67.909Q-46.859 67.796-46.943 67.726Q-47.026 67.656-47.139 67.656L-47.139 67.376L-45.943 67.376L-45.943 67.656Q-46.161 67.656-46.334 67.760Q-46.507 67.865-46.599 68.056L-47.935 70.961Q-48.106 71.331-48.376 71.577Q-48.646 71.823-49.002 71.823Q-49.272 71.823-49.491 71.657Q-49.709 71.491-49.709 71.228Q-49.709 71.091-49.617 71.002Q-49.525 70.914-49.385 70.914Q-49.248 70.914-49.159 71.002Q-49.070 71.091-49.070 71.228Q-49.070 71.331-49.123 71.409Q-49.176 71.488-49.268 71.529\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(44.25 12.662)\">\u003Cpath d=\"M-40.945 70.394L-42.681 70.394L-42.681 70.114Q-42.452 70.114-42.303 70.080Q-42.155 70.045-42.155 69.905L-42.155 68.056Q-42.155 67.786-42.262 67.725Q-42.370 67.663-42.681 67.663L-42.681 67.383L-41.652 67.308L-41.652 68.015Q-41.522 67.707-41.280 67.508Q-41.037 67.308-40.719 67.308Q-40.500 67.308-40.329 67.432Q-40.158 67.557-40.158 67.769Q-40.158 67.906-40.258 68.005Q-40.357 68.104-40.490 68.104Q-40.627 68.104-40.726 68.005Q-40.825 67.906-40.825 67.769Q-40.825 67.629-40.726 67.530Q-41.016 67.530-41.216 67.726Q-41.416 67.923-41.509 68.217Q-41.601 68.511-41.601 68.791L-41.601 69.905Q-41.601 70.114-40.945 70.114L-40.945 70.394M-39.615 68.859Q-39.615 68.538-39.490 68.249Q-39.365 67.960-39.140 67.737Q-38.914 67.513-38.619 67.393Q-38.323 67.273-38.005 67.273Q-37.677 67.273-37.415 67.373Q-37.154 67.472-36.978 67.654Q-36.802 67.837-36.708 68.095Q-36.614 68.353-36.614 68.685Q-36.614 68.777-36.696 68.798L-38.952 68.798L-38.952 68.859Q-38.952 69.447-38.668 69.830Q-38.384 70.213-37.817 70.213Q-37.496 70.213-37.228 70.020Q-36.959 69.827-36.870 69.512Q-36.863 69.471-36.788 69.457L-36.696 69.457Q-36.614 69.481-36.614 69.553Q-36.614 69.560-36.621 69.587Q-36.734 69.984-37.104 70.223Q-37.475 70.462-37.899 70.462Q-38.337 70.462-38.737 70.254Q-39.136 70.045-39.376 69.678Q-39.615 69.311-39.615 68.859M-38.945 68.589L-37.130 68.589Q-37.130 68.312-37.228 68.060Q-37.325 67.807-37.523 67.651Q-37.721 67.496-38.005 67.496Q-38.282 67.496-38.496 67.654Q-38.709 67.813-38.827 68.068Q-38.945 68.323-38.945 68.589M-36.026 68.883Q-36.026 68.555-35.891 68.254Q-35.756 67.954-35.520 67.733Q-35.284 67.513-34.980 67.393Q-34.676 67.273-34.351 67.273Q-33.845 67.273-33.497 67.376Q-33.148 67.478-33.148 67.854Q-33.148 68.001-33.246 68.102Q-33.343 68.203-33.490 68.203Q-33.644 68.203-33.743 68.104Q-33.842 68.005-33.842 67.854Q-33.842 67.666-33.702 67.574Q-33.904 67.523-34.344 67.523Q-34.700 67.523-34.929 67.719Q-35.158 67.916-35.259 68.225Q-35.360 68.535-35.360 68.883Q-35.360 69.232-35.233 69.538Q-35.107 69.844-34.852 70.028Q-34.597 70.213-34.242 70.213Q-34.020 70.213-33.835 70.129Q-33.651 70.045-33.516 69.890Q-33.381 69.734-33.322 69.526Q-33.309 69.471-33.254 69.471L-33.141 69.471Q-33.111 69.471-33.088 69.495Q-33.066 69.519-33.066 69.553L-33.066 69.574Q-33.152 69.861-33.340 70.059Q-33.528 70.257-33.792 70.360Q-34.057 70.462-34.351 70.462Q-34.782 70.462-35.170 70.256Q-35.558 70.049-35.792 69.686Q-36.026 69.324-36.026 68.883M-31.952 69.553L-31.952 67.656L-32.591 67.656L-32.591 67.434Q-32.273 67.434-32.056 67.224Q-31.839 67.014-31.738 66.704Q-31.637 66.395-31.637 66.087L-31.371 66.087L-31.371 67.376L-30.294 67.376L-30.294 67.656L-31.371 67.656L-31.371 69.540Q-31.371 69.816-31.267 70.015Q-31.162 70.213-30.903 70.213Q-30.745 70.213-30.639 70.109Q-30.533 70.004-30.484 69.851Q-30.434 69.697-30.434 69.540L-30.434 69.126L-30.168 69.126L-30.168 69.553Q-30.168 69.779-30.267 69.989Q-30.366 70.199-30.551 70.331Q-30.735 70.462-30.964 70.462Q-31.402 70.462-31.677 70.225Q-31.952 69.987-31.952 69.553M-29.300 69.666Q-29.300 69.334-29.076 69.107Q-28.852 68.880-28.508 68.752Q-28.165 68.623-27.792 68.571Q-27.420 68.518-27.115 68.518L-27.115 68.265Q-27.115 68.060-27.223 67.880Q-27.331 67.701-27.512 67.598Q-27.693 67.496-27.902 67.496Q-28.308 67.496-28.544 67.588Q-28.455 67.625-28.409 67.709Q-28.363 67.793-28.363 67.895Q-28.363 67.991-28.409 68.070Q-28.455 68.148-28.536 68.193Q-28.616 68.237-28.705 68.237Q-28.855 68.237-28.956 68.140Q-29.057 68.042-29.057 67.895Q-29.057 67.273-27.902 67.273Q-27.690 67.273-27.440 67.337Q-27.191 67.400-26.989 67.519Q-26.787 67.639-26.661 67.824Q-26.534 68.008-26.534 68.251L-26.534 69.827Q-26.534 69.943-26.473 70.039Q-26.411 70.134-26.299 70.134Q-26.189 70.134-26.124 70.040Q-26.059 69.946-26.059 69.827L-26.059 69.379L-25.793 69.379L-25.793 69.827Q-25.793 70.097-26.020 70.262Q-26.247 70.428-26.528 70.428Q-26.736 70.428-26.873 70.274Q-27.009 70.121-27.033 69.905Q-27.180 70.172-27.462 70.317Q-27.744 70.462-28.069 70.462Q-28.346 70.462-28.630 70.387Q-28.913 70.312-29.106 70.133Q-29.300 69.953-29.300 69.666M-28.684 69.666Q-28.684 69.840-28.583 69.970Q-28.483 70.100-28.327 70.170Q-28.172 70.240-28.008 70.240Q-27.789 70.240-27.580 70.143Q-27.372 70.045-27.244 69.864Q-27.115 69.683-27.115 69.457L-27.115 68.729Q-27.440 68.729-27.806 68.820Q-28.172 68.911-28.428 69.123Q-28.684 69.334-28.684 69.666M-23.694 70.394L-25.328 70.394L-25.328 70.114Q-25.099 70.114-24.950 70.080Q-24.801 70.045-24.801 69.905L-24.801 68.056Q-24.801 67.786-24.909 67.725Q-25.017 67.663-25.328 67.663L-25.328 67.383L-24.268 67.308L-24.268 67.957Q-24.097 67.649-23.793 67.478Q-23.489 67.308-23.144 67.308Q-22.638 67.308-22.354 67.531Q-22.071 67.755-22.071 68.251L-22.071 69.905Q-22.071 70.042-21.922 70.078Q-21.773 70.114-21.548 70.114L-21.548 70.394L-23.178 70.394L-23.178 70.114Q-22.949 70.114-22.800 70.080Q-22.652 70.045-22.652 69.905L-22.652 68.265Q-22.652 67.930-22.771 67.730Q-22.891 67.530-23.205 67.530Q-23.475 67.530-23.709 67.666Q-23.944 67.803-24.082 68.037Q-24.220 68.271-24.220 68.545L-24.220 69.905Q-24.220 70.042-24.070 70.078Q-23.920 70.114-23.694 70.114L-23.694 70.394M-21.001 70.927Q-21.001 70.681-20.804 70.497Q-20.608 70.312-20.351 70.233Q-20.488 70.121-20.560 69.960Q-20.632 69.799-20.632 69.618Q-20.632 69.297-20.420 69.051Q-20.755 68.753-20.755 68.343Q-20.755 67.882-20.365 67.595Q-19.975 67.308-19.497 67.308Q-19.025 67.308-18.690 67.554Q-18.516 67.400-18.306 67.318Q-18.095 67.236-17.866 67.236Q-17.702 67.236-17.581 67.343Q-17.460 67.451-17.460 67.615Q-17.460 67.711-17.531 67.783Q-17.603 67.854-17.696 67.854Q-17.795 67.854-17.865 67.781Q-17.935 67.707-17.935 67.608Q-17.935 67.554-17.921 67.523L-17.914 67.509Q-17.907 67.489-17.899 67.478Q-17.890 67.468-17.887 67.461Q-18.242 67.461-18.530 67.684Q-18.242 67.977-18.242 68.343Q-18.242 68.658-18.427 68.890Q-18.612 69.123-18.900 69.251Q-19.189 69.379-19.497 69.379Q-19.698 69.379-19.890 69.329Q-20.081 69.280-20.259 69.170Q-20.351 69.297-20.351 69.440Q-20.351 69.622-20.223 69.757Q-20.095 69.892-19.910 69.892L-19.278 69.892Q-18.830 69.892-18.461 69.963Q-18.092 70.035-17.832 70.264Q-17.572 70.493-17.572 70.927Q-17.572 71.248-17.868 71.450Q-18.164 71.652-18.567 71.741Q-18.970 71.830-19.285 71.830Q-19.603 71.830-20.006 71.741Q-20.409 71.652-20.705 71.450Q-21.001 71.248-21.001 70.927M-20.546 70.927Q-20.546 71.156-20.327 71.305Q-20.109 71.454-19.816 71.522Q-19.524 71.590-19.285 71.590Q-19.121 71.590-18.912 71.554Q-18.704 71.519-18.497 71.438Q-18.290 71.358-18.159 71.230Q-18.027 71.102-18.027 70.927Q-18.027 70.575-18.408 70.481Q-18.789 70.387-19.292 70.387L-19.910 70.387Q-20.150 70.387-20.348 70.538Q-20.546 70.688-20.546 70.927M-19.497 69.140Q-18.830 69.140-18.830 68.343Q-18.830 67.543-19.497 67.543Q-20.167 67.543-20.167 68.343Q-20.167 69.140-19.497 69.140M-15.310 70.394L-16.913 70.394L-16.913 70.114Q-16.687 70.114-16.539 70.080Q-16.390 70.045-16.390 69.905L-16.390 66.286Q-16.390 66.016-16.498 65.954Q-16.605 65.893-16.913 65.893L-16.913 65.612L-15.836 65.537L-15.836 69.905Q-15.836 70.042-15.686 70.078Q-15.535 70.114-15.310 70.114L-15.310 70.394M-14.756 68.859Q-14.756 68.538-14.631 68.249Q-14.507 67.960-14.281 67.737Q-14.055 67.513-13.760 67.393Q-13.464 67.273-13.146 67.273Q-12.818 67.273-12.557 67.373Q-12.295 67.472-12.119 67.654Q-11.943 67.837-11.849 68.095Q-11.755 68.353-11.755 68.685Q-11.755 68.777-11.837 68.798L-14.093 68.798L-14.093 68.859Q-14.093 69.447-13.809 69.830Q-13.526 70.213-12.958 70.213Q-12.637 70.213-12.369 70.020Q-12.100 69.827-12.011 69.512Q-12.005 69.471-11.929 69.457L-11.837 69.457Q-11.755 69.481-11.755 69.553Q-11.755 69.560-11.762 69.587Q-11.875 69.984-12.246 70.223Q-12.616 70.462-13.040 70.462Q-13.478 70.462-13.878 70.254Q-14.278 70.045-14.517 69.678Q-14.756 69.311-14.756 68.859M-14.086 68.589L-12.271 68.589Q-12.271 68.312-12.369 68.060Q-12.466 67.807-12.664 67.651Q-12.863 67.496-13.146 67.496Q-13.423 67.496-13.637 67.654Q-13.850 67.813-13.968 68.068Q-14.086 68.323-14.086 68.589\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath stroke=\"none\" d=\"M-29.08 30.56a1.98 1.98 0 1 0-3.96 0 1.98 1.98 0 0 0 3.96 0M-9.163 44.786a1.98 1.98 0 1 0-3.96 0 1.98 1.98 0 0 0 3.96 0M47.742-40.572a1.98 1.98 0 1 0-3.96 0 1.98 1.98 0 0 0 3.96 0M-37.616-16.387a1.98 1.98 0 1 0-3.96 0 1.98 1.98 0 0 0 3.96 0m-1.98 0\"\u002F>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg transform=\"translate(31.214 -50.207)\">\u003Cpath d=\"M-63.272 70.394L-64.824 70.394L-64.824 70.114Q-64.598 70.114-64.449 70.080Q-64.301 70.045-64.301 69.905L-64.301 68.056Q-64.301 67.868-64.349 67.784Q-64.396 67.701-64.494 67.682Q-64.591 67.663-64.803 67.663L-64.803 67.383L-63.747 67.308L-63.747 69.905Q-63.747 70.045-63.615 70.080Q-63.484 70.114-63.272 70.114L-63.272 70.394M-64.543 66.087Q-64.543 65.916-64.420 65.797Q-64.297 65.677-64.126 65.677Q-63.959 65.677-63.836 65.797Q-63.713 65.916-63.713 66.087Q-63.713 66.262-63.836 66.385Q-63.959 66.508-64.126 66.508Q-64.297 66.508-64.420 66.385Q-64.543 66.262-64.543 66.087M-60.944 70.394L-62.578 70.394L-62.578 70.114Q-62.349 70.114-62.200 70.080Q-62.052 70.045-62.052 69.905L-62.052 68.056Q-62.052 67.786-62.159 67.725Q-62.267 67.663-62.578 67.663L-62.578 67.383L-61.518 67.308L-61.518 67.957Q-61.348 67.649-61.043 67.478Q-60.739 67.308-60.394 67.308Q-59.888 67.308-59.604 67.531Q-59.321 67.755-59.321 68.251L-59.321 69.905Q-59.321 70.042-59.172 70.078Q-59.023 70.114-58.798 70.114L-58.798 70.394L-60.428 70.394L-60.428 70.114Q-60.199 70.114-60.050 70.080Q-59.902 70.045-59.902 69.905L-59.902 68.265Q-59.902 67.930-60.021 67.730Q-60.141 67.530-60.455 67.530Q-60.725 67.530-60.960 67.666Q-61.194 67.803-61.332 68.037Q-61.471 68.271-61.471 68.545L-61.471 69.905Q-61.471 70.042-61.320 70.078Q-61.170 70.114-60.944 70.114L-60.944 70.394M-58.210 70.387L-58.210 69.324Q-58.210 69.300-58.182 69.273Q-58.155 69.246-58.131 69.246L-58.022 69.246Q-57.957 69.246-57.943 69.304Q-57.848 69.738-57.601 69.989Q-57.355 70.240-56.942 70.240Q-56.600 70.240-56.347 70.107Q-56.094 69.974-56.094 69.666Q-56.094 69.509-56.188 69.394Q-56.282 69.280-56.421 69.211Q-56.559 69.143-56.726 69.105L-57.307 69.006Q-57.663 68.938-57.936 68.717Q-58.210 68.497-58.210 68.155Q-58.210 67.906-58.099 67.731Q-57.988 67.557-57.801 67.458Q-57.615 67.359-57.400 67.316Q-57.184 67.273-56.942 67.273Q-56.528 67.273-56.248 67.455L-56.033 67.280Q-56.022 67.277-56.016 67.275Q-56.009 67.273-55.998 67.273L-55.947 67.273Q-55.920 67.273-55.896 67.297Q-55.872 67.321-55.872 67.349L-55.872 68.196Q-55.872 68.217-55.896 68.244Q-55.920 68.271-55.947 68.271L-56.060 68.271Q-56.087 68.271-56.113 68.246Q-56.139 68.220-56.139 68.196Q-56.139 67.960-56.245 67.796Q-56.350 67.632-56.533 67.550Q-56.716 67.468-56.949 67.468Q-57.277 67.468-57.533 67.571Q-57.789 67.673-57.789 67.950Q-57.789 68.145-57.607 68.254Q-57.424 68.364-57.195 68.405L-56.620 68.511Q-56.374 68.559-56.161 68.687Q-55.947 68.815-55.810 69.018Q-55.674 69.222-55.674 69.471Q-55.674 69.984-56.039 70.223Q-56.405 70.462-56.942 70.462Q-57.437 70.462-57.769 70.168L-58.036 70.442Q-58.056 70.462-58.083 70.462L-58.131 70.462Q-58.155 70.462-58.182 70.435Q-58.210 70.408-58.210 70.387M-53.428 70.394L-54.980 70.394L-54.980 70.114Q-54.754 70.114-54.606 70.080Q-54.457 70.045-54.457 69.905L-54.457 68.056Q-54.457 67.868-54.505 67.784Q-54.553 67.701-54.650 67.682Q-54.747 67.663-54.959 67.663L-54.959 67.383L-53.903 67.308L-53.903 69.905Q-53.903 70.045-53.772 70.080Q-53.640 70.114-53.428 70.114L-53.428 70.394M-54.700 66.087Q-54.700 65.916-54.577 65.797Q-54.453 65.677-54.283 65.677Q-54.115 65.677-53.992 65.797Q-53.869 65.916-53.869 66.087Q-53.869 66.262-53.992 66.385Q-54.115 66.508-54.283 66.508Q-54.453 66.508-54.577 66.385Q-54.700 66.262-54.700 66.087M-52.782 68.883Q-52.782 68.545-52.642 68.254Q-52.502 67.964-52.257 67.750Q-52.013 67.537-51.709 67.422Q-51.405 67.308-51.080 67.308Q-50.810 67.308-50.547 67.407Q-50.284 67.506-50.092 67.684L-50.092 66.286Q-50.092 66.016-50.200 65.954Q-50.307 65.893-50.619 65.893L-50.619 65.612L-49.542 65.537L-49.542 69.721Q-49.542 69.909-49.487 69.992Q-49.432 70.076-49.332 70.095Q-49.231 70.114-49.016 70.114L-49.016 70.394L-50.123 70.462L-50.123 70.045Q-50.540 70.462-51.165 70.462Q-51.596 70.462-51.969 70.250Q-52.341 70.039-52.562 69.678Q-52.782 69.317-52.782 68.883M-51.107 70.240Q-50.899 70.240-50.713 70.168Q-50.526 70.097-50.372 69.960Q-50.219 69.823-50.123 69.645L-50.123 68.036Q-50.208 67.889-50.354 67.769Q-50.499 67.649-50.668 67.590Q-50.837 67.530-51.018 67.530Q-51.579 67.530-51.847 67.919Q-52.116 68.309-52.116 68.890Q-52.116 69.461-51.881 69.851Q-51.647 70.240-51.107 70.240M-48.407 68.859Q-48.407 68.538-48.282 68.249Q-48.158 67.960-47.932 67.737Q-47.706 67.513-47.411 67.393Q-47.115 67.273-46.797 67.273Q-46.469 67.273-46.208 67.373Q-45.946 67.472-45.770 67.654Q-45.594 67.837-45.500 68.095Q-45.406 68.353-45.406 68.685Q-45.406 68.777-45.488 68.798L-47.744 68.798L-47.744 68.859Q-47.744 69.447-47.460 69.830Q-47.177 70.213-46.609 70.213Q-46.288 70.213-46.020 70.020Q-45.751 69.827-45.662 69.512Q-45.656 69.471-45.580 69.457L-45.488 69.457Q-45.406 69.481-45.406 69.553Q-45.406 69.560-45.413 69.587Q-45.526 69.984-45.897 70.223Q-46.267 70.462-46.691 70.462Q-47.129 70.462-47.529 70.254Q-47.929 70.045-48.168 69.678Q-48.407 69.311-48.407 68.859M-47.737 68.589L-45.922 68.589Q-45.922 68.312-46.020 68.060Q-46.117 67.807-46.315 67.651Q-46.514 67.496-46.797 67.496Q-47.074 67.496-47.288 67.654Q-47.501 67.813-47.619 68.068Q-47.737 68.323-47.737 68.589\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg transform=\"translate(91.823 -129.327)\">\u003Cpath d=\"M-64.617 70.195L-64.617 69.281Q-64.590 69.074-64.379 69.050L-64.211 69.050Q-64.047 69.074-63.988 69.234Q-63.785 69.874-63.058 69.874Q-62.851 69.874-62.623 69.839Q-62.394 69.804-62.226 69.689Q-62.058 69.574-62.058 69.371Q-62.058 69.160-62.281 69.046Q-62.504 68.933-62.777 68.890L-63.476 68.777Q-64.617 68.566-64.617 67.843Q-64.617 67.554-64.473 67.365Q-64.328 67.175-64.088 67.068Q-63.848 66.960-63.592 66.921Q-63.336 66.882-63.058 66.882Q-62.808 66.882-62.615 66.912Q-62.422 66.941-62.258 67.019Q-62.180 66.902-62.051 66.882L-61.973 66.882Q-61.875 66.894-61.812 66.957Q-61.750 67.019-61.738 67.113L-61.738 67.820Q-61.750 67.914-61.812 67.980Q-61.875 68.046-61.973 68.058L-62.141 68.058Q-62.234 68.046-62.301 67.980Q-62.367 67.914-62.379 67.820Q-62.379 67.441-63.074 67.441Q-63.422 67.441-63.740 67.523Q-64.058 67.605-64.058 67.851Q-64.058 68.117-63.387 68.226L-62.683 68.347Q-62.199 68.429-61.849 68.677Q-61.500 68.925-61.500 69.371Q-61.500 69.761-61.736 70.003Q-61.973 70.246-62.322 70.339Q-62.672 70.433-63.058 70.433Q-63.637 70.433-64.035 70.179Q-64.105 70.304-64.154 70.361Q-64.203 70.417-64.308 70.433L-64.379 70.433Q-64.594 70.410-64.617 70.195M-60.812 70.156L-60.812 70.066Q-60.762 69.859-60.566 69.835L-60.101 69.835L-60.101 66.066L-60.566 66.066Q-60.762 66.042-60.812 65.828L-60.812 65.738Q-60.762 65.531-60.566 65.507L-59.820 65.507Q-59.625 65.527-59.574 65.738L-59.574 68.562L-58.430 67.507L-58.726 67.507Q-58.933 67.484-58.973 67.265L-58.973 67.179Q-58.933 66.968-58.726 66.945L-57.277 66.945Q-57.074 66.968-57.027 67.179L-57.027 67.265Q-57.070 67.484-57.277 67.507L-57.644 67.507L-58.590 68.371L-57.437 69.835L-57.101 69.835Q-56.894 69.859-56.851 70.066L-56.851 70.156Q-56.894 70.371-57.101 70.394L-58.269 70.394Q-58.465 70.371-58.516 70.156L-58.516 70.066Q-58.465 69.859-58.269 69.835L-58.109 69.835L-58.973 68.730L-59.574 69.281L-59.574 69.835L-59.109 69.835Q-58.918 69.859-58.859 70.066L-58.859 70.156Q-58.918 70.371-59.109 70.394L-60.566 70.394Q-60.762 70.371-60.812 70.156M-56.094 70.156L-56.094 70.066Q-56.043 69.859-55.848 69.835L-54.808 69.835L-54.808 67.507L-55.781 67.507Q-55.980 67.484-56.031 67.265L-56.031 67.179Q-55.980 66.968-55.781 66.945L-54.414 66.945Q-54.219 66.964-54.168 67.179L-54.168 69.835L-53.254 69.835Q-53.058 69.859-53.008 70.066L-53.008 70.156Q-53.058 70.371-53.254 70.394L-55.848 70.394Q-56.043 70.371-56.094 70.156M-55.062 65.968L-55.062 65.914Q-55.062 65.742-54.926 65.621Q-54.789 65.499-54.613 65.499Q-54.441 65.499-54.305 65.621Q-54.168 65.742-54.168 65.914L-54.168 65.968Q-54.168 66.144-54.305 66.265Q-54.441 66.386-54.613 66.386Q-54.789 66.386-54.926 66.265Q-55.062 66.144-55.062 65.968M-52.394 71.937L-52.394 71.851Q-52.351 71.632-52.144 71.609L-51.723 71.609L-51.723 67.507L-52.144 67.507Q-52.351 67.484-52.394 67.265L-52.394 67.179Q-52.348 66.968-52.144 66.945L-51.328 66.945Q-51.133 66.964-51.082 67.179L-51.082 67.249Q-50.871 67.082-50.607 66.994Q-50.344 66.906-50.074 66.906Q-49.734 66.906-49.437 67.050Q-49.141 67.195-48.926 67.447Q-48.711 67.699-48.596 68.011Q-48.480 68.324-48.480 68.667Q-48.480 69.132-48.707 69.542Q-48.933 69.953-49.320 70.193Q-49.707 70.433-50.176 70.433Q-50.695 70.433-51.082 70.066L-51.082 71.609L-50.656 71.609Q-50.449 71.632-50.410 71.851L-50.410 71.937Q-50.449 72.148-50.656 72.171L-52.144 72.171Q-52.348 72.148-52.394 71.937M-50.219 69.874Q-49.910 69.874-49.660 69.705Q-49.410 69.535-49.266 69.253Q-49.121 68.972-49.121 68.667Q-49.121 68.378-49.246 68.099Q-49.371 67.820-49.603 67.642Q-49.836 67.464-50.137 67.464Q-50.457 67.464-50.719 67.650Q-50.980 67.835-51.082 68.136L-51.082 68.988Q-50.992 69.355-50.771 69.615Q-50.551 69.874-50.219 69.874M-48.148 71.937L-48.148 71.851Q-48.105 71.632-47.898 71.609L-47.476 71.609L-47.476 67.507L-47.898 67.507Q-48.105 67.484-48.148 67.265L-48.148 67.179Q-48.101 66.968-47.898 66.945L-47.082 66.945Q-46.887 66.964-46.836 67.179L-46.836 67.249Q-46.625 67.082-46.361 66.994Q-46.098 66.906-45.828 66.906Q-45.488 66.906-45.191 67.050Q-44.894 67.195-44.680 67.447Q-44.465 67.699-44.349 68.011Q-44.234 68.324-44.234 68.667Q-44.234 69.132-44.461 69.542Q-44.687 69.953-45.074 70.193Q-45.461 70.433-45.930 70.433Q-46.449 70.433-46.836 70.066L-46.836 71.609L-46.410 71.609Q-46.203 71.632-46.164 71.851L-46.164 71.937Q-46.203 72.148-46.410 72.171L-47.898 72.171Q-48.101 72.148-48.148 71.937M-45.973 69.874Q-45.664 69.874-45.414 69.705Q-45.164 69.535-45.019 69.253Q-44.875 68.972-44.875 68.667Q-44.875 68.378-45 68.099Q-45.125 67.820-45.357 67.642Q-45.590 67.464-45.891 67.464Q-46.211 67.464-46.473 67.650Q-46.734 67.835-46.836 68.136L-46.836 68.988Q-46.746 69.355-46.525 69.615Q-46.305 69.874-45.973 69.874M-40.461 68.906L-42.902 68.906Q-42.848 69.183-42.650 69.406Q-42.453 69.628-42.176 69.751Q-41.898 69.874-41.613 69.874Q-41.141 69.874-40.918 69.585Q-40.910 69.574-40.853 69.468Q-40.797 69.363-40.748 69.320Q-40.699 69.277-40.605 69.265L-40.461 69.265Q-40.269 69.285-40.211 69.499L-40.211 69.554Q-40.277 69.855-40.508 70.052Q-40.738 70.249-41.051 70.341Q-41.363 70.433-41.668 70.433Q-42.152 70.433-42.592 70.205Q-43.031 69.976-43.299 69.576Q-43.566 69.175-43.566 68.683L-43.566 68.624Q-43.566 68.156-43.320 67.753Q-43.074 67.351-42.666 67.117Q-42.258 66.882-41.789 66.882Q-41.285 66.882-40.932 67.105Q-40.578 67.328-40.394 67.716Q-40.211 68.105-40.211 68.609L-40.211 68.667Q-40.269 68.882-40.461 68.906M-42.894 68.355L-40.867 68.355Q-40.914 67.945-41.152 67.693Q-41.391 67.441-41.789 67.441Q-42.183 67.441-42.490 67.703Q-42.797 67.964-42.894 68.355M-37.863 70.433Q-38.328 70.433-38.693 70.183Q-39.058 69.933-39.264 69.529Q-39.469 69.124-39.469 68.667Q-39.469 68.324-39.344 68.003Q-39.219 67.683-38.986 67.433Q-38.754 67.183-38.449 67.044Q-38.144 66.906-37.789 66.906Q-37.277 66.906-36.871 67.226L-36.871 66.066L-37.293 66.066Q-37.504 66.042-37.543 65.828L-37.543 65.738Q-37.504 65.531-37.293 65.507L-36.480 65.507Q-36.281 65.531-36.230 65.738L-36.230 69.835L-35.805 69.835Q-35.598 69.859-35.558 70.066L-35.558 70.156Q-35.598 70.371-35.805 70.394L-36.621 70.394Q-36.820 70.371-36.871 70.156L-36.871 70.027Q-37.066 70.218-37.328 70.326Q-37.590 70.433-37.863 70.433M-37.824 69.874Q-37.465 69.874-37.213 69.605Q-36.961 69.335-36.871 68.960L-36.871 68.128Q-36.930 67.941-37.057 67.790Q-37.183 67.640-37.361 67.552Q-37.539 67.464-37.734 67.464Q-38.043 67.464-38.293 67.634Q-38.543 67.804-38.687 68.089Q-38.832 68.374-38.832 68.675Q-38.832 69.124-38.547 69.499Q-38.262 69.874-37.824 69.874\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg transform=\"translate(30.073 -128.452)\">\u003Cpath d=\"M-64.889 70.387L-64.889 69.324Q-64.889 69.300-64.861 69.273Q-64.834 69.246-64.810 69.246L-64.701 69.246Q-64.636 69.246-64.622 69.304Q-64.526 69.738-64.280 69.989Q-64.034 70.240-63.620 70.240Q-63.279 70.240-63.026 70.107Q-62.773 69.974-62.773 69.666Q-62.773 69.509-62.867 69.394Q-62.961 69.280-63.099 69.211Q-63.238 69.143-63.405 69.105L-63.986 69.006Q-64.342 68.938-64.615 68.717Q-64.889 68.497-64.889 68.155Q-64.889 67.906-64.777 67.731Q-64.666 67.557-64.480 67.458Q-64.294 67.359-64.078 67.316Q-63.863 67.273-63.620 67.273Q-63.207 67.273-62.927 67.455L-62.711 67.280Q-62.701 67.277-62.694 67.275Q-62.687 67.273-62.677 67.273L-62.626 67.273Q-62.599 67.273-62.575 67.297Q-62.551 67.321-62.551 67.349L-62.551 68.196Q-62.551 68.217-62.575 68.244Q-62.599 68.271-62.626 68.271L-62.739 68.271Q-62.766 68.271-62.792 68.246Q-62.817 68.220-62.817 68.196Q-62.817 67.960-62.923 67.796Q-63.029 67.632-63.212 67.550Q-63.395 67.468-63.627 67.468Q-63.955 67.468-64.212 67.571Q-64.468 67.673-64.468 67.950Q-64.468 68.145-64.285 68.254Q-64.102 68.364-63.873 68.405L-63.299 68.511Q-63.053 68.559-62.839 68.687Q-62.626 68.815-62.489 69.018Q-62.352 69.222-62.352 69.471Q-62.352 69.984-62.718 70.223Q-63.084 70.462-63.620 70.462Q-64.116 70.462-64.448 70.168L-64.714 70.442Q-64.735 70.462-64.762 70.462L-64.810 70.462Q-64.834 70.462-64.861 70.435Q-64.889 70.408-64.889 70.387M-61.197 69.553L-61.197 67.656L-61.836 67.656L-61.836 67.434Q-61.518 67.434-61.301 67.224Q-61.084 67.014-60.984 66.704Q-60.883 66.395-60.883 66.087L-60.616 66.087L-60.616 67.376L-59.539 67.376L-59.539 67.656L-60.616 67.656L-60.616 69.540Q-60.616 69.816-60.512 70.015Q-60.408 70.213-60.148 70.213Q-59.991 70.213-59.885 70.109Q-59.779 70.004-59.729 69.851Q-59.680 69.697-59.680 69.540L-59.680 69.126L-59.413 69.126L-59.413 69.553Q-59.413 69.779-59.512 69.989Q-59.611 70.199-59.796 70.331Q-59.980 70.462-60.209 70.462Q-60.647 70.462-60.922 70.225Q-61.197 69.987-61.197 69.553M-56.853 70.394L-58.589 70.394L-58.589 70.114Q-58.360 70.114-58.212 70.080Q-58.063 70.045-58.063 69.905L-58.063 68.056Q-58.063 67.786-58.171 67.725Q-58.278 67.663-58.589 67.663L-58.589 67.383L-57.560 67.308L-57.560 68.015Q-57.431 67.707-57.188 67.508Q-56.945 67.308-56.627 67.308Q-56.409 67.308-56.238 67.432Q-56.067 67.557-56.067 67.769Q-56.067 67.906-56.166 68.005Q-56.265 68.104-56.398 68.104Q-56.535 68.104-56.634 68.005Q-56.733 67.906-56.733 67.769Q-56.733 67.629-56.634 67.530Q-56.925 67.530-57.125 67.726Q-57.325 67.923-57.417 68.217Q-57.509 68.511-57.509 68.791L-57.509 69.905Q-57.509 70.114-56.853 70.114L-56.853 70.394M-55.424 69.666Q-55.424 69.334-55.200 69.107Q-54.976 68.880-54.633 68.752Q-54.289 68.623-53.917 68.571Q-53.544 68.518-53.240 68.518L-53.240 68.265Q-53.240 68.060-53.348 67.880Q-53.455 67.701-53.637 67.598Q-53.818 67.496-54.026 67.496Q-54.433 67.496-54.669 67.588Q-54.580 67.625-54.534 67.709Q-54.488 67.793-54.488 67.895Q-54.488 67.991-54.534 68.070Q-54.580 68.148-54.660 68.193Q-54.741 68.237-54.829 68.237Q-54.980 68.237-55.081 68.140Q-55.182 68.042-55.182 67.895Q-55.182 67.273-54.026 67.273Q-53.814 67.273-53.565 67.337Q-53.315 67.400-53.114 67.519Q-52.912 67.639-52.786 67.824Q-52.659 68.008-52.659 68.251L-52.659 69.827Q-52.659 69.943-52.598 70.039Q-52.536 70.134-52.423 70.134Q-52.314 70.134-52.249 70.040Q-52.184 69.946-52.184 69.827L-52.184 69.379L-51.917 69.379L-51.917 69.827Q-51.917 70.097-52.145 70.262Q-52.372 70.428-52.652 70.428Q-52.861 70.428-52.997 70.274Q-53.134 70.121-53.158 69.905Q-53.305 70.172-53.587 70.317Q-53.869 70.462-54.194 70.462Q-54.471 70.462-54.754 70.387Q-55.038 70.312-55.231 70.133Q-55.424 69.953-55.424 69.666M-54.809 69.666Q-54.809 69.840-54.708 69.970Q-54.607 70.100-54.452 70.170Q-54.296 70.240-54.132 70.240Q-53.913 70.240-53.705 70.143Q-53.496 70.045-53.368 69.864Q-53.240 69.683-53.240 69.457L-53.240 68.729Q-53.565 68.729-53.931 68.820Q-54.296 68.911-54.553 69.123Q-54.809 69.334-54.809 69.666M-51.500 68.883Q-51.500 68.545-51.360 68.254Q-51.220 67.964-50.976 67.750Q-50.731 67.537-50.427 67.422Q-50.123 67.308-49.798 67.308Q-49.528 67.308-49.265 67.407Q-49.002 67.506-48.810 67.684L-48.810 66.286Q-48.810 66.016-48.918 65.954Q-49.026 65.893-49.337 65.893L-49.337 65.612L-48.260 65.537L-48.260 69.721Q-48.260 69.909-48.205 69.992Q-48.151 70.076-48.050 70.095Q-47.949 70.114-47.734 70.114L-47.734 70.394L-48.841 70.462L-48.841 70.045Q-49.258 70.462-49.884 70.462Q-50.314 70.462-50.687 70.250Q-51.059 70.039-51.280 69.678Q-51.500 69.317-51.500 68.883M-49.826 70.240Q-49.617 70.240-49.431 70.168Q-49.245 70.097-49.091 69.960Q-48.937 69.823-48.841 69.645L-48.841 68.036Q-48.927 67.889-49.072 67.769Q-49.217 67.649-49.386 67.590Q-49.556 67.530-49.737 67.530Q-50.297 67.530-50.566 67.919Q-50.834 68.309-50.834 68.890Q-50.834 69.461-50.600 69.851Q-50.366 70.240-49.826 70.240M-47.084 68.883Q-47.084 68.545-46.944 68.254Q-46.804 67.964-46.560 67.750Q-46.315 67.537-46.011 67.422Q-45.707 67.308-45.382 67.308Q-45.112 67.308-44.849 67.407Q-44.586 67.506-44.394 67.684L-44.394 66.286Q-44.394 66.016-44.502 65.954Q-44.610 65.893-44.921 65.893L-44.921 65.612L-43.844 65.537L-43.844 69.721Q-43.844 69.909-43.789 69.992Q-43.735 70.076-43.634 70.095Q-43.533 70.114-43.318 70.114L-43.318 70.394L-44.425 70.462L-44.425 70.045Q-44.842 70.462-45.468 70.462Q-45.898 70.462-46.271 70.250Q-46.643 70.039-46.864 69.678Q-47.084 69.317-47.084 68.883M-45.410 70.240Q-45.201 70.240-45.015 70.168Q-44.828 70.097-44.675 69.960Q-44.521 69.823-44.425 69.645L-44.425 68.036Q-44.511 67.889-44.656 67.769Q-44.801 67.649-44.970 67.590Q-45.140 67.530-45.321 67.530Q-45.881 67.530-46.150 67.919Q-46.418 68.309-46.418 68.890Q-46.418 69.461-46.184 69.851Q-45.950 70.240-45.410 70.240M-41 70.394L-42.603 70.394L-42.603 70.114Q-42.378 70.114-42.229 70.080Q-42.080 70.045-42.080 69.905L-42.080 66.286Q-42.080 66.016-42.188 65.954Q-42.296 65.893-42.603 65.893L-42.603 65.612L-41.527 65.537L-41.527 69.905Q-41.527 70.042-41.376 70.078Q-41.226 70.114-41 70.114L-41 70.394M-40.447 68.859Q-40.447 68.538-40.322 68.249Q-40.197 67.960-39.972 67.737Q-39.746 67.513-39.450 67.393Q-39.155 67.273-38.837 67.273Q-38.509 67.273-38.247 67.373Q-37.986 67.472-37.810 67.654Q-37.634 67.837-37.540 68.095Q-37.446 68.353-37.446 68.685Q-37.446 68.777-37.528 68.798L-39.784 68.798L-39.784 68.859Q-39.784 69.447-39.500 69.830Q-39.216 70.213-38.649 70.213Q-38.328 70.213-38.059 70.020Q-37.791 69.827-37.702 69.512Q-37.695 69.471-37.620 69.457L-37.528 69.457Q-37.446 69.481-37.446 69.553Q-37.446 69.560-37.453 69.587Q-37.565 69.984-37.936 70.223Q-38.307 70.462-38.731 70.462Q-39.168 70.462-39.568 70.254Q-39.968 70.045-40.207 69.678Q-40.447 69.311-40.447 68.859M-39.777 68.589L-37.962 68.589Q-37.962 68.312-38.059 68.060Q-38.157 67.807-38.355 67.651Q-38.553 67.496-38.837 67.496Q-39.114 67.496-39.327 67.654Q-39.541 67.813-39.659 68.068Q-39.777 68.323-39.777 68.589\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg transform=\"translate(99.782 -41.671)\">\u003Cpath d=\"M-64.889 70.387L-64.889 69.324Q-64.889 69.300-64.861 69.273Q-64.834 69.246-64.810 69.246L-64.701 69.246Q-64.636 69.246-64.622 69.304Q-64.526 69.738-64.280 69.989Q-64.034 70.240-63.620 70.240Q-63.279 70.240-63.026 70.107Q-62.773 69.974-62.773 69.666Q-62.773 69.509-62.867 69.394Q-62.961 69.280-63.099 69.211Q-63.238 69.143-63.405 69.105L-63.986 69.006Q-64.342 68.938-64.615 68.717Q-64.889 68.497-64.889 68.155Q-64.889 67.906-64.777 67.731Q-64.666 67.557-64.480 67.458Q-64.294 67.359-64.078 67.316Q-63.863 67.273-63.620 67.273Q-63.207 67.273-62.927 67.455L-62.711 67.280Q-62.701 67.277-62.694 67.275Q-62.687 67.273-62.677 67.273L-62.626 67.273Q-62.599 67.273-62.575 67.297Q-62.551 67.321-62.551 67.349L-62.551 68.196Q-62.551 68.217-62.575 68.244Q-62.599 68.271-62.626 68.271L-62.739 68.271Q-62.766 68.271-62.792 68.246Q-62.817 68.220-62.817 68.196Q-62.817 67.960-62.923 67.796Q-63.029 67.632-63.212 67.550Q-63.395 67.468-63.627 67.468Q-63.955 67.468-64.212 67.571Q-64.468 67.673-64.468 67.950Q-64.468 68.145-64.285 68.254Q-64.102 68.364-63.873 68.405L-63.299 68.511Q-63.053 68.559-62.839 68.687Q-62.626 68.815-62.489 69.018Q-62.352 69.222-62.352 69.471Q-62.352 69.984-62.718 70.223Q-63.084 70.462-63.620 70.462Q-64.116 70.462-64.448 70.168L-64.714 70.442Q-64.735 70.462-64.762 70.462L-64.810 70.462Q-64.834 70.462-64.861 70.435Q-64.889 70.408-64.889 70.387M-61.197 69.553L-61.197 67.656L-61.836 67.656L-61.836 67.434Q-61.518 67.434-61.301 67.224Q-61.084 67.014-60.984 66.704Q-60.883 66.395-60.883 66.087L-60.616 66.087L-60.616 67.376L-59.539 67.376L-59.539 67.656L-60.616 67.656L-60.616 69.540Q-60.616 69.816-60.512 70.015Q-60.408 70.213-60.148 70.213Q-59.991 70.213-59.885 70.109Q-59.779 70.004-59.729 69.851Q-59.680 69.697-59.680 69.540L-59.680 69.126L-59.413 69.126L-59.413 69.553Q-59.413 69.779-59.512 69.989Q-59.611 70.199-59.796 70.331Q-59.980 70.462-60.209 70.462Q-60.647 70.462-60.922 70.225Q-61.197 69.987-61.197 69.553M-56.853 70.394L-58.589 70.394L-58.589 70.114Q-58.360 70.114-58.212 70.080Q-58.063 70.045-58.063 69.905L-58.063 68.056Q-58.063 67.786-58.171 67.725Q-58.278 67.663-58.589 67.663L-58.589 67.383L-57.560 67.308L-57.560 68.015Q-57.431 67.707-57.188 67.508Q-56.945 67.308-56.627 67.308Q-56.409 67.308-56.238 67.432Q-56.067 67.557-56.067 67.769Q-56.067 67.906-56.166 68.005Q-56.265 68.104-56.398 68.104Q-56.535 68.104-56.634 68.005Q-56.733 67.906-56.733 67.769Q-56.733 67.629-56.634 67.530Q-56.925 67.530-57.125 67.726Q-57.325 67.923-57.417 68.217Q-57.509 68.511-57.509 68.791L-57.509 69.905Q-57.509 70.114-56.853 70.114L-56.853 70.394M-55.424 69.666Q-55.424 69.334-55.200 69.107Q-54.976 68.880-54.633 68.752Q-54.289 68.623-53.917 68.571Q-53.544 68.518-53.240 68.518L-53.240 68.265Q-53.240 68.060-53.348 67.880Q-53.455 67.701-53.637 67.598Q-53.818 67.496-54.026 67.496Q-54.433 67.496-54.669 67.588Q-54.580 67.625-54.534 67.709Q-54.488 67.793-54.488 67.895Q-54.488 67.991-54.534 68.070Q-54.580 68.148-54.660 68.193Q-54.741 68.237-54.829 68.237Q-54.980 68.237-55.081 68.140Q-55.182 68.042-55.182 67.895Q-55.182 67.273-54.026 67.273Q-53.814 67.273-53.565 67.337Q-53.315 67.400-53.114 67.519Q-52.912 67.639-52.786 67.824Q-52.659 68.008-52.659 68.251L-52.659 69.827Q-52.659 69.943-52.598 70.039Q-52.536 70.134-52.423 70.134Q-52.314 70.134-52.249 70.040Q-52.184 69.946-52.184 69.827L-52.184 69.379L-51.917 69.379L-51.917 69.827Q-51.917 70.097-52.145 70.262Q-52.372 70.428-52.652 70.428Q-52.861 70.428-52.997 70.274Q-53.134 70.121-53.158 69.905Q-53.305 70.172-53.587 70.317Q-53.869 70.462-54.194 70.462Q-54.471 70.462-54.754 70.387Q-55.038 70.312-55.231 70.133Q-55.424 69.953-55.424 69.666M-54.809 69.666Q-54.809 69.840-54.708 69.970Q-54.607 70.100-54.452 70.170Q-54.296 70.240-54.132 70.240Q-53.913 70.240-53.705 70.143Q-53.496 70.045-53.368 69.864Q-53.240 69.683-53.240 69.457L-53.240 68.729Q-53.565 68.729-53.931 68.820Q-54.296 68.911-54.553 69.123Q-54.809 69.334-54.809 69.666M-51.500 68.883Q-51.500 68.545-51.360 68.254Q-51.220 67.964-50.976 67.750Q-50.731 67.537-50.427 67.422Q-50.123 67.308-49.798 67.308Q-49.528 67.308-49.265 67.407Q-49.002 67.506-48.810 67.684L-48.810 66.286Q-48.810 66.016-48.918 65.954Q-49.026 65.893-49.337 65.893L-49.337 65.612L-48.260 65.537L-48.260 69.721Q-48.260 69.909-48.205 69.992Q-48.151 70.076-48.050 70.095Q-47.949 70.114-47.734 70.114L-47.734 70.394L-48.841 70.462L-48.841 70.045Q-49.258 70.462-49.884 70.462Q-50.314 70.462-50.687 70.250Q-51.059 70.039-51.280 69.678Q-51.500 69.317-51.500 68.883M-49.826 70.240Q-49.617 70.240-49.431 70.168Q-49.245 70.097-49.091 69.960Q-48.937 69.823-48.841 69.645L-48.841 68.036Q-48.927 67.889-49.072 67.769Q-49.217 67.649-49.386 67.590Q-49.556 67.530-49.737 67.530Q-50.297 67.530-50.566 67.919Q-50.834 68.309-50.834 68.890Q-50.834 69.461-50.600 69.851Q-50.366 70.240-49.826 70.240M-47.084 68.883Q-47.084 68.545-46.944 68.254Q-46.804 67.964-46.560 67.750Q-46.315 67.537-46.011 67.422Q-45.707 67.308-45.382 67.308Q-45.112 67.308-44.849 67.407Q-44.586 67.506-44.394 67.684L-44.394 66.286Q-44.394 66.016-44.502 65.954Q-44.610 65.893-44.921 65.893L-44.921 65.612L-43.844 65.537L-43.844 69.721Q-43.844 69.909-43.789 69.992Q-43.735 70.076-43.634 70.095Q-43.533 70.114-43.318 70.114L-43.318 70.394L-44.425 70.462L-44.425 70.045Q-44.842 70.462-45.468 70.462Q-45.898 70.462-46.271 70.250Q-46.643 70.039-46.864 69.678Q-47.084 69.317-47.084 68.883M-45.410 70.240Q-45.201 70.240-45.015 70.168Q-44.828 70.097-44.675 69.960Q-44.521 69.823-44.425 69.645L-44.425 68.036Q-44.511 67.889-44.656 67.769Q-44.801 67.649-44.970 67.590Q-45.140 67.530-45.321 67.530Q-45.881 67.530-46.150 67.919Q-46.418 68.309-46.418 68.890Q-46.418 69.461-46.184 69.851Q-45.950 70.240-45.410 70.240M-41 70.394L-42.603 70.394L-42.603 70.114Q-42.378 70.114-42.229 70.080Q-42.080 70.045-42.080 69.905L-42.080 66.286Q-42.080 66.016-42.188 65.954Q-42.296 65.893-42.603 65.893L-42.603 65.612L-41.527 65.537L-41.527 69.905Q-41.527 70.042-41.376 70.078Q-41.226 70.114-41 70.114L-41 70.394M-40.447 68.859Q-40.447 68.538-40.322 68.249Q-40.197 67.960-39.972 67.737Q-39.746 67.513-39.450 67.393Q-39.155 67.273-38.837 67.273Q-38.509 67.273-38.247 67.373Q-37.986 67.472-37.810 67.654Q-37.634 67.837-37.540 68.095Q-37.446 68.353-37.446 68.685Q-37.446 68.777-37.528 68.798L-39.784 68.798L-39.784 68.859Q-39.784 69.447-39.500 69.830Q-39.216 70.213-38.649 70.213Q-38.328 70.213-38.059 70.020Q-37.791 69.827-37.702 69.512Q-37.695 69.471-37.620 69.457L-37.528 69.457Q-37.446 69.481-37.446 69.553Q-37.446 69.560-37.453 69.587Q-37.565 69.984-37.936 70.223Q-38.307 70.462-38.731 70.462Q-39.168 70.462-39.568 70.254Q-39.968 70.045-40.207 69.678Q-40.447 69.311-40.447 68.859M-39.777 68.589L-37.962 68.589Q-37.962 68.312-38.059 68.060Q-38.157 67.807-38.355 67.651Q-38.553 67.496-38.837 67.496Q-39.114 67.496-39.327 67.654Q-39.541 67.813-39.659 68.068Q-39.777 68.323-39.777 68.589\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">A region query (the dashed rectangle) against the quadtree&#39;s cells. A cell disjoint from the query is skipped whole (grey); a cell entirely inside the query reports all its points without further descent (green); a cell straddling the query boundary is recursed into (blue). Only the straddling cells cost any deeper work.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:411.905px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 308.929 152.882\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-58.537 74.012V-56.87H72.346V74.012ZM72.346-56.87\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M6.905 74.012V-56.87\" style=\"stroke-width:1.2\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"8\">\u003Cg transform=\"translate(47.678 -137.394)\">\u003Cpath d=\"M-58.256 74.004L-58.256 72.782Q-58.256 72.754-58.224 72.723Q-58.193 72.692-58.170 72.692L-58.064 72.692Q-57.994 72.692-57.978 72.754Q-57.916 73.075-57.777 73.315Q-57.639 73.555-57.406 73.696Q-57.174 73.836-56.865 73.836Q-56.627 73.836-56.418 73.776Q-56.209 73.715-56.072 73.567Q-55.935 73.418-55.935 73.172Q-55.935 72.918-56.146 72.752Q-56.357 72.586-56.627 72.532L-57.248 72.418Q-57.654 72.340-57.955 72.084Q-58.256 71.828-58.256 71.453Q-58.256 71.086-58.055 70.864Q-57.853 70.641-57.529 70.543Q-57.205 70.446-56.865 70.446Q-56.400 70.446-56.103 70.653L-55.881 70.469Q-55.857 70.446-55.826 70.446L-55.775 70.446Q-55.744 70.446-55.717 70.473Q-55.689 70.500-55.689 70.532L-55.689 71.516Q-55.689 71.547-55.715 71.576Q-55.740 71.606-55.775 71.606L-55.881 71.606Q-55.916 71.606-55.943 71.578Q-55.971 71.551-55.971 71.516Q-55.971 71.117-56.223 70.897Q-56.474 70.676-56.873 70.676Q-57.228 70.676-57.512 70.799Q-57.795 70.922-57.795 71.227Q-57.795 71.446-57.594 71.578Q-57.392 71.711-57.146 71.754L-56.521 71.867Q-56.092 71.957-55.783 72.254Q-55.474 72.551-55.474 72.965Q-55.474 73.535-55.873 73.813Q-56.271 74.090-56.865 74.090Q-57.416 74.090-57.767 73.754L-58.064 74.067Q-58.088 74.090-58.123 74.090L-58.170 74.090Q-58.193 74.090-58.224 74.059Q-58.256 74.028-58.256 74.004M-53.064 75.563L-54.920 75.563L-54.920 75.270Q-54.650 75.270-54.482 75.225Q-54.314 75.180-54.314 75.004L-54.314 71.180Q-54.314 70.973-54.471 70.920Q-54.627 70.867-54.920 70.867L-54.920 70.571L-53.697 70.485L-53.697 70.950Q-53.467 70.727-53.152 70.606Q-52.838 70.485-52.498 70.485Q-52.025 70.485-51.621 70.731Q-51.217 70.977-50.984 71.393Q-50.752 71.809-50.752 72.285Q-50.752 72.660-50.900 72.989Q-51.049 73.317-51.318 73.569Q-51.588 73.821-51.932 73.955Q-52.275 74.090-52.635 74.090Q-52.924 74.090-53.195 73.969Q-53.467 73.848-53.674 73.637L-53.674 75.004Q-53.674 75.180-53.506 75.225Q-53.338 75.270-53.064 75.270L-53.064 75.563M-53.674 71.348L-53.674 73.188Q-53.521 73.477-53.260 73.657Q-52.998 73.836-52.689 73.836Q-52.404 73.836-52.182 73.698Q-51.959 73.559-51.807 73.328Q-51.654 73.098-51.576 72.826Q-51.498 72.555-51.498 72.285Q-51.498 71.953-51.623 71.596Q-51.748 71.239-51.996 71.002Q-52.244 70.766-52.592 70.766Q-52.916 70.766-53.211 70.922Q-53.506 71.078-53.674 71.348M-48.314 74.012L-50.146 74.012L-50.146 73.715Q-49.873 73.715-49.705 73.668Q-49.537 73.621-49.537 73.453L-49.537 69.293Q-49.537 69.078-49.599 68.983Q-49.662 68.887-49.781 68.866Q-49.900 68.844-50.146 68.844L-50.146 68.547L-48.924 68.461L-48.924 73.453Q-48.924 73.621-48.756 73.668Q-48.588 73.715-48.314 73.715L-48.314 74.012M-46.010 74.012L-47.787 74.012L-47.787 73.715Q-47.514 73.715-47.346 73.668Q-47.178 73.621-47.178 73.453L-47.178 71.317Q-47.178 71.102-47.234 71.006Q-47.291 70.910-47.404 70.889Q-47.517 70.867-47.764 70.867L-47.764 70.571L-46.564 70.485L-46.564 73.453Q-46.564 73.621-46.418 73.668Q-46.271 73.715-46.010 73.715L-46.010 74.012M-47.451 69.090Q-47.451 68.899-47.316 68.768Q-47.182 68.637-46.986 68.637Q-46.865 68.637-46.762 68.700Q-46.658 68.762-46.596 68.866Q-46.533 68.969-46.533 69.090Q-46.533 69.285-46.664 69.420Q-46.795 69.555-46.986 69.555Q-47.185 69.555-47.318 69.422Q-47.451 69.289-47.451 69.090M-44.885 73.051L-44.885 70.860L-45.588 70.860L-45.588 70.606Q-45.232 70.606-44.990 70.373Q-44.748 70.141-44.637 69.793Q-44.525 69.446-44.525 69.090L-44.244 69.090L-44.244 70.563L-43.068 70.563L-43.068 70.860L-44.244 70.860L-44.244 73.035Q-44.244 73.356-44.125 73.584Q-44.006 73.813-43.724 73.813Q-43.545 73.813-43.428 73.690Q-43.310 73.567-43.258 73.387Q-43.205 73.207-43.205 73.035L-43.205 72.563L-42.924 72.563L-42.924 73.051Q-42.924 73.305-43.029 73.545Q-43.135 73.785-43.332 73.938Q-43.529 74.090-43.787 74.090Q-44.103 74.090-44.355 73.967Q-44.607 73.844-44.746 73.610Q-44.885 73.375-44.885 73.051\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(47.678 -137.394)\">\u003Cpath d=\"M-39.362 72.317Q-39.362 71.813-39.106 71.381Q-38.850 70.950-38.414 70.698Q-37.979 70.446-37.479 70.446Q-37.092 70.446-36.750 70.590Q-36.409 70.735-36.147 70.996Q-35.885 71.258-35.743 71.594Q-35.600 71.930-35.600 72.317Q-35.600 72.809-35.864 73.219Q-36.127 73.629-36.557 73.860Q-36.987 74.090-37.479 74.090Q-37.971 74.090-38.405 73.858Q-38.838 73.625-39.100 73.217Q-39.362 72.809-39.362 72.317M-37.479 73.813Q-37.022 73.813-36.770 73.590Q-36.518 73.367-36.430 73.016Q-36.342 72.664-36.342 72.219Q-36.342 71.789-36.436 71.451Q-36.530 71.114-36.784 70.907Q-37.038 70.700-37.479 70.700Q-38.127 70.700-38.371 71.116Q-38.616 71.532-38.616 72.219Q-38.616 72.664-38.528 73.016Q-38.440 73.367-38.188 73.590Q-37.936 73.813-37.479 73.813M-33.186 74.012L-35.041 74.012L-35.041 73.715Q-34.768 73.715-34.600 73.668Q-34.432 73.621-34.432 73.453L-34.432 71.317Q-34.432 71.102-34.495 71.006Q-34.557 70.910-34.676 70.889Q-34.795 70.867-35.041 70.867L-35.041 70.571L-33.850 70.485L-33.850 71.219Q-33.737 71.004-33.543 70.836Q-33.350 70.668-33.112 70.576Q-32.873 70.485-32.620 70.485Q-31.452 70.485-31.452 71.563L-31.452 73.453Q-31.452 73.621-31.282 73.668Q-31.112 73.715-30.842 73.715L-30.842 74.012L-32.698 74.012L-32.698 73.715Q-32.424 73.715-32.256 73.668Q-32.088 73.621-32.088 73.453L-32.088 71.578Q-32.088 71.196-32.209 70.967Q-32.330 70.739-32.682 70.739Q-32.995 70.739-33.248 70.901Q-33.502 71.063-33.649 71.332Q-33.795 71.602-33.795 71.899L-33.795 73.453Q-33.795 73.621-33.625 73.668Q-33.455 73.715-33.186 73.715\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(47.678 -137.394)\">\u003Cpath d=\"M-27.108 73.723Q-26.940 73.836-26.697 73.836Q-26.447 73.836-26.250 73.610Q-26.053 73.383-25.994 73.125L-25.635 71.684Q-25.557 71.379-25.557 71.219Q-25.557 71.008-25.674 70.873Q-25.791 70.739-26.002 70.739Q-26.256 70.739-26.484 70.885Q-26.713 71.032-26.869 71.262Q-27.025 71.492-27.084 71.739Q-27.096 71.813-27.162 71.813L-27.268 71.813Q-27.299 71.813-27.326 71.778Q-27.354 71.742-27.354 71.715L-27.354 71.684Q-27.275 71.371-27.076 71.098Q-26.877 70.825-26.588 70.655Q-26.299 70.485-25.986 70.485Q-25.690 70.485-25.430 70.629Q-25.170 70.774-25.061 71.035Q-24.912 70.793-24.693 70.639Q-24.475 70.485-24.221 70.485Q-24.022 70.485-23.834 70.551Q-23.647 70.617-23.525 70.756Q-23.404 70.895-23.404 71.090Q-23.404 71.301-23.535 71.457Q-23.666 71.614-23.873 71.614Q-24.006 71.614-24.100 71.530Q-24.193 71.446-24.193 71.309Q-24.193 71.145-24.086 71.016Q-23.979 70.887-23.818 70.852Q-23.994 70.739-24.236 70.739Q-24.404 70.739-24.551 70.848Q-24.697 70.957-24.797 71.121Q-24.897 71.285-24.940 71.453L-25.299 72.891Q-25.369 73.235-25.369 73.356Q-25.369 73.571-25.252 73.703Q-25.135 73.836-24.924 73.836Q-24.545 73.836-24.244 73.530Q-23.943 73.223-23.850 72.836Q-23.822 72.766-23.764 72.766L-23.658 72.766Q-23.619 72.766-23.596 72.795Q-23.572 72.825-23.572 72.860Q-23.572 72.875-23.580 72.891Q-23.658 73.203-23.858 73.477Q-24.057 73.750-24.342 73.920Q-24.627 74.090-24.940 74.090Q-25.240 74.090-25.500 73.946Q-25.760 73.801-25.873 73.539Q-26.018 73.774-26.234 73.932Q-26.451 74.090-26.705 74.090Q-26.904 74.090-27.092 74.024Q-27.279 73.957-27.400 73.819Q-27.522 73.680-27.522 73.485Q-27.522 73.274-27.389 73.119Q-27.256 72.965-27.053 72.965Q-26.908 72.965-26.820 73.047Q-26.733 73.129-26.733 73.270Q-26.733 73.430-26.838 73.559Q-26.943 73.688-27.108 73.723\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M-58.537.035H6.905M6.905 19.952h65.441\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-soft-accent)\" d=\"M-27.239 74.012V.035M38.202 19.952V-56.87\" style=\"stroke-width:.8\"\u002F>\u003Cpath stroke=\"none\" d=\"M-39.665000000000006 37.023a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0M-8.366999999999999 48.405a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0M-28.284-28.418a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0M34.312 51.25a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0M25.776-11.346a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0M57.074-22.727a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0m-1.8 0\"\u002F>\u003Cg stroke=\"var(--tk-accent)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M179.044-45.49c0-5.5-4.459-9.958-9.959-9.958s-9.958 4.459-9.958 9.959 4.458 9.958 9.958 9.958 9.959-4.458 9.959-9.958Zm-9.959 0\"\u002F>\u003Cg transform=\"translate(225.23 -117.78)\">\u003Cpath d=\"M-57.849 73.723Q-57.682 73.836-57.439 73.836Q-57.189 73.836-56.992 73.610Q-56.795 73.383-56.736 73.125L-56.377 71.684Q-56.299 71.379-56.299 71.219Q-56.299 71.008-56.416 70.873Q-56.533 70.739-56.744 70.739Q-56.998 70.739-57.226 70.885Q-57.455 71.032-57.611 71.262Q-57.767 71.492-57.826 71.739Q-57.838 71.813-57.904 71.813L-58.010 71.813Q-58.041 71.813-58.068 71.778Q-58.096 71.742-58.096 71.715L-58.096 71.684Q-58.017 71.371-57.818 71.098Q-57.619 70.825-57.330 70.655Q-57.041 70.485-56.728 70.485Q-56.432 70.485-56.172 70.629Q-55.912 70.774-55.803 71.035Q-55.654 70.793-55.435 70.639Q-55.217 70.485-54.963 70.485Q-54.764 70.485-54.576 70.551Q-54.389 70.617-54.267 70.756Q-54.146 70.895-54.146 71.090Q-54.146 71.301-54.277 71.457Q-54.408 71.614-54.615 71.614Q-54.748 71.614-54.842 71.530Q-54.935 71.446-54.935 71.309Q-54.935 71.145-54.828 71.016Q-54.721 70.887-54.560 70.852Q-54.736 70.739-54.978 70.739Q-55.146 70.739-55.293 70.848Q-55.439 70.957-55.539 71.121Q-55.639 71.285-55.682 71.453L-56.041 72.891Q-56.111 73.235-56.111 73.356Q-56.111 73.571-55.994 73.703Q-55.877 73.836-55.666 73.836Q-55.287 73.836-54.986 73.530Q-54.685 73.223-54.592 72.836Q-54.564 72.766-54.506 72.766L-54.400 72.766Q-54.361 72.766-54.338 72.795Q-54.314 72.825-54.314 72.860Q-54.314 72.875-54.322 72.891Q-54.400 73.203-54.599 73.477Q-54.799 73.750-55.084 73.920Q-55.369 74.090-55.682 74.090Q-55.982 74.090-56.242 73.946Q-56.502 73.801-56.615 73.539Q-56.760 73.774-56.976 73.932Q-57.193 74.090-57.447 74.090Q-57.646 74.090-57.834 74.024Q-58.021 73.957-58.142 73.819Q-58.264 73.680-58.264 73.485Q-58.264 73.274-58.131 73.119Q-57.998 72.965-57.795 72.965Q-57.650 72.965-57.562 73.047Q-57.474 73.129-57.474 73.270Q-57.474 73.430-57.580 73.559Q-57.685 73.688-57.849 73.723\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg stroke=\"var(--tk-accent)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M144.9-11.346c0-5.5-4.458-9.959-9.958-9.959s-9.958 4.459-9.958 9.959 4.458 9.958 9.958 9.958 9.959-4.458 9.959-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(191.235 -84.414)\">\u003Cpath d=\"M-58.057 74.950Q-58.057 74.731-57.924 74.567Q-57.791 74.403-57.576 74.403Q-57.443 74.403-57.349 74.487Q-57.256 74.571-57.256 74.707Q-57.256 74.887-57.383 75.030Q-57.510 75.172-57.689 75.172Q-57.506 75.387-57.123 75.387Q-56.572 75.387-56.221 74.895Q-55.869 74.403-55.713 73.766Q-56.064 74.090-56.506 74.090Q-56.830 74.090-57.080 73.981Q-57.330 73.871-57.469 73.647Q-57.607 73.422-57.607 73.090Q-57.607 72.840-57.533 72.553Q-57.459 72.266-57.322 71.914Q-57.185 71.563-57.123 71.395Q-57.033 71.172-57.033 70.989Q-57.033 70.739-57.201 70.739Q-57.517 70.739-57.726 71.045Q-57.935 71.352-58.041 71.739Q-58.053 71.813-58.123 71.813L-58.224 71.813Q-58.260 71.813-58.287 71.778Q-58.314 71.742-58.314 71.715L-58.314 71.684Q-58.189 71.223-57.892 70.854Q-57.596 70.485-57.185 70.485Q-56.990 70.485-56.816 70.569Q-56.642 70.653-56.541 70.805Q-56.439 70.957-56.439 71.164Q-56.439 71.317-56.498 71.453Q-56.588 71.684-56.689 71.950Q-56.791 72.215-56.848 72.397Q-56.904 72.578-56.949 72.793Q-56.994 73.008-56.994 73.203Q-56.994 73.477-56.871 73.657Q-56.748 73.836-56.490 73.836Q-55.971 73.836-55.568 73.196L-54.986 70.852Q-54.947 70.727-54.844 70.645Q-54.740 70.563-54.615 70.563Q-54.506 70.563-54.426 70.637Q-54.346 70.711-54.346 70.821Q-54.346 70.867-54.353 70.891L-55.139 74.043Q-55.248 74.465-55.549 74.836Q-55.849 75.207-56.269 75.426Q-56.689 75.645-57.131 75.645Q-57.490 75.645-57.773 75.467Q-58.057 75.289-58.057 74.950\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M161.76-38.165 142.268-18.67\"\u002F>\u003Cg stroke=\"var(--tk-soft-accent)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M127.829 22.797c0-5.5-4.459-9.958-9.959-9.958s-9.958 4.458-9.958 9.958 4.458 9.959 9.958 9.959 9.959-4.459 9.959-9.959Zm-9.959 0\"\u002F>\u003Cg transform=\"translate(174.015 -49.493)\">\u003Cpath d=\"M-57.849 73.723Q-57.682 73.836-57.439 73.836Q-57.189 73.836-56.992 73.610Q-56.795 73.383-56.736 73.125L-56.377 71.684Q-56.299 71.379-56.299 71.219Q-56.299 71.008-56.416 70.873Q-56.533 70.739-56.744 70.739Q-56.998 70.739-57.226 70.885Q-57.455 71.032-57.611 71.262Q-57.767 71.492-57.826 71.739Q-57.838 71.813-57.904 71.813L-58.010 71.813Q-58.041 71.813-58.068 71.778Q-58.096 71.742-58.096 71.715L-58.096 71.684Q-58.017 71.371-57.818 71.098Q-57.619 70.825-57.330 70.655Q-57.041 70.485-56.728 70.485Q-56.432 70.485-56.172 70.629Q-55.912 70.774-55.803 71.035Q-55.654 70.793-55.435 70.639Q-55.217 70.485-54.963 70.485Q-54.764 70.485-54.576 70.551Q-54.389 70.617-54.267 70.756Q-54.146 70.895-54.146 71.090Q-54.146 71.301-54.277 71.457Q-54.408 71.614-54.615 71.614Q-54.748 71.614-54.842 71.530Q-54.935 71.446-54.935 71.309Q-54.935 71.145-54.828 71.016Q-54.721 70.887-54.560 70.852Q-54.736 70.739-54.978 70.739Q-55.146 70.739-55.293 70.848Q-55.439 70.957-55.539 71.121Q-55.639 71.285-55.682 71.453L-56.041 72.891Q-56.111 73.235-56.111 73.356Q-56.111 73.571-55.994 73.703Q-55.877 73.836-55.666 73.836Q-55.287 73.836-54.986 73.530Q-54.685 73.223-54.592 72.836Q-54.564 72.766-54.506 72.766L-54.400 72.766Q-54.361 72.766-54.338 72.795Q-54.314 72.825-54.314 72.860Q-54.314 72.875-54.322 72.891Q-54.400 73.203-54.599 73.477Q-54.799 73.750-55.084 73.920Q-55.369 74.090-55.682 74.090Q-55.982 74.090-56.242 73.946Q-56.502 73.801-56.615 73.539Q-56.760 73.774-56.976 73.932Q-57.193 74.090-57.447 74.090Q-57.646 74.090-57.834 74.024Q-58.021 73.957-58.142 73.819Q-58.264 73.680-58.264 73.485Q-58.264 73.274-58.131 73.119Q-57.998 72.965-57.795 72.965Q-57.650 72.965-57.562 73.047Q-57.474 73.129-57.474 73.270Q-57.474 73.430-57.580 73.559Q-57.685 73.688-57.849 73.723\" fill=\"var(--tk-soft-accent)\" stroke=\"var(--tk-soft-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"m130.31-2.082-7.808 15.615M161.972 22.797c0-5.5-4.458-9.958-9.958-9.958s-9.959 4.458-9.959 9.958 4.459 9.959 9.959 9.959 9.958-4.459 9.958-9.959Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(208.411 -50.27)\">\u003Cpath d=\"M-57.049 75.563L-58.650 75.563Q-58.685 75.563-58.719 75.522Q-58.752 75.481-58.752 75.446L-58.721 75.340Q-58.689 75.278-58.635 75.270Q-58.443 75.270-58.359 75.254Q-58.275 75.239-58.223 75.172Q-58.170 75.106-58.131 74.965L-57.240 71.395Q-57.201 71.239-57.201 71.102Q-57.201 70.953-57.254 70.846Q-57.307 70.739-57.439 70.739Q-57.619 70.739-57.738 70.908Q-57.857 71.078-57.914 71.264Q-57.971 71.450-58.041 71.739Q-58.053 71.813-58.123 71.813L-58.224 71.813Q-58.260 71.813-58.287 71.778Q-58.314 71.742-58.314 71.715L-58.314 71.684Q-58.228 71.352-58.135 71.110Q-58.041 70.867-57.865 70.676Q-57.689 70.485-57.424 70.485Q-57.142 70.485-56.912 70.629Q-56.682 70.774-56.615 71.028Q-56.096 70.485-55.537 70.485Q-55.002 70.485-54.682 70.869Q-54.361 71.254-54.361 71.797Q-54.361 72.321-54.642 72.860Q-54.924 73.399-55.391 73.744Q-55.857 74.090-56.392 74.090Q-56.631 74.090-56.832 73.973Q-57.033 73.856-57.162 73.645L-57.506 75.020Q-57.517 75.059-57.537 75.180Q-57.537 75.270-57.033 75.270Q-56.928 75.301-56.928 75.395L-56.963 75.500Q-56.994 75.555-57.049 75.563M-56.607 71.446L-57.041 73.172Q-56.982 73.446-56.812 73.641Q-56.642 73.836-56.377 73.836Q-56.041 73.836-55.762 73.545Q-55.482 73.254-55.346 72.899Q-55.221 72.606-55.119 72.172Q-55.017 71.739-55.017 71.461Q-55.017 71.176-55.150 70.957Q-55.283 70.739-55.553 70.739Q-55.764 70.739-55.959 70.840Q-56.154 70.942-56.314 71.098Q-56.474 71.254-56.607 71.446\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"m139.574-2.082 7.897 15.794\"\u002F>\u003Cg stroke=\"var(--tk-accent)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M213.187-11.346c0-5.5-4.458-9.959-9.958-9.959s-9.959 4.459-9.959 9.959 4.459 9.958 9.959 9.958 9.958-4.458 9.958-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(259.521 -84.414)\">\u003Cpath d=\"M-58.057 74.950Q-58.057 74.731-57.924 74.567Q-57.791 74.403-57.576 74.403Q-57.443 74.403-57.349 74.487Q-57.256 74.571-57.256 74.707Q-57.256 74.887-57.383 75.030Q-57.510 75.172-57.689 75.172Q-57.506 75.387-57.123 75.387Q-56.572 75.387-56.221 74.895Q-55.869 74.403-55.713 73.766Q-56.064 74.090-56.506 74.090Q-56.830 74.090-57.080 73.981Q-57.330 73.871-57.469 73.647Q-57.607 73.422-57.607 73.090Q-57.607 72.840-57.533 72.553Q-57.459 72.266-57.322 71.914Q-57.185 71.563-57.123 71.395Q-57.033 71.172-57.033 70.989Q-57.033 70.739-57.201 70.739Q-57.517 70.739-57.726 71.045Q-57.935 71.352-58.041 71.739Q-58.053 71.813-58.123 71.813L-58.224 71.813Q-58.260 71.813-58.287 71.778Q-58.314 71.742-58.314 71.715L-58.314 71.684Q-58.189 71.223-57.892 70.854Q-57.596 70.485-57.185 70.485Q-56.990 70.485-56.816 70.569Q-56.642 70.653-56.541 70.805Q-56.439 70.957-56.439 71.164Q-56.439 71.317-56.498 71.453Q-56.588 71.684-56.689 71.950Q-56.791 72.215-56.848 72.397Q-56.904 72.578-56.949 72.793Q-56.994 73.008-56.994 73.203Q-56.994 73.477-56.871 73.657Q-56.748 73.836-56.490 73.836Q-55.971 73.836-55.568 73.196L-54.986 70.852Q-54.947 70.727-54.844 70.645Q-54.740 70.563-54.615 70.563Q-54.506 70.563-54.426 70.637Q-54.346 70.711-54.346 70.821Q-54.346 70.867-54.353 70.891L-55.139 74.043Q-55.248 74.465-55.549 74.836Q-55.849 75.207-56.269 75.426Q-56.689 75.645-57.131 75.645Q-57.490 75.645-57.773 75.467Q-58.057 75.289-58.057 74.950\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"m176.41-38.165 19.494 19.494M196.115 22.797c0-5.5-4.458-9.958-9.958-9.958s-9.958 4.458-9.958 9.958 4.458 9.959 9.958 9.959 9.958-4.459 9.958-9.959Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(242.554 -50.27)\">\u003Cpath d=\"M-57.049 75.563L-58.650 75.563Q-58.685 75.563-58.719 75.522Q-58.752 75.481-58.752 75.446L-58.721 75.340Q-58.689 75.278-58.635 75.270Q-58.443 75.270-58.359 75.254Q-58.275 75.239-58.223 75.172Q-58.170 75.106-58.131 74.965L-57.240 71.395Q-57.201 71.239-57.201 71.102Q-57.201 70.953-57.254 70.846Q-57.307 70.739-57.439 70.739Q-57.619 70.739-57.738 70.908Q-57.857 71.078-57.914 71.264Q-57.971 71.450-58.041 71.739Q-58.053 71.813-58.123 71.813L-58.224 71.813Q-58.260 71.813-58.287 71.778Q-58.314 71.742-58.314 71.715L-58.314 71.684Q-58.228 71.352-58.135 71.110Q-58.041 70.867-57.865 70.676Q-57.689 70.485-57.424 70.485Q-57.142 70.485-56.912 70.629Q-56.682 70.774-56.615 71.028Q-56.096 70.485-55.537 70.485Q-55.002 70.485-54.682 70.869Q-54.361 71.254-54.361 71.797Q-54.361 72.321-54.642 72.860Q-54.924 73.399-55.391 73.744Q-55.857 74.090-56.392 74.090Q-56.631 74.090-56.832 73.973Q-57.033 73.856-57.162 73.645L-57.506 75.020Q-57.517 75.059-57.537 75.180Q-57.537 75.270-57.033 75.270Q-56.928 75.301-56.928 75.395L-56.963 75.500Q-56.994 75.555-57.049 75.563M-56.607 71.446L-57.041 73.172Q-56.982 73.446-56.812 73.641Q-56.642 73.836-56.377 73.836Q-56.041 73.836-55.762 73.545Q-55.482 73.254-55.346 72.899Q-55.221 72.606-55.119 72.172Q-55.017 71.739-55.017 71.461Q-55.017 71.176-55.150 70.957Q-55.283 70.739-55.553 70.739Q-55.764 70.739-55.959 70.840Q-56.154 70.942-56.314 71.098Q-56.474 71.254-56.607 71.446\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M198.597-2.082 190.7 13.712\"\u002F>\u003Cg stroke=\"var(--tk-soft-accent)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M230.259 22.797c0-5.5-4.459-9.958-9.959-9.958s-9.958 4.458-9.958 9.958 4.458 9.959 9.958 9.959 9.959-4.459 9.959-9.959Zm-9.959 0\"\u002F>\u003Cg transform=\"translate(276.445 -49.493)\">\u003Cpath d=\"M-57.849 73.723Q-57.682 73.836-57.439 73.836Q-57.189 73.836-56.992 73.610Q-56.795 73.383-56.736 73.125L-56.377 71.684Q-56.299 71.379-56.299 71.219Q-56.299 71.008-56.416 70.873Q-56.533 70.739-56.744 70.739Q-56.998 70.739-57.226 70.885Q-57.455 71.032-57.611 71.262Q-57.767 71.492-57.826 71.739Q-57.838 71.813-57.904 71.813L-58.010 71.813Q-58.041 71.813-58.068 71.778Q-58.096 71.742-58.096 71.715L-58.096 71.684Q-58.017 71.371-57.818 71.098Q-57.619 70.825-57.330 70.655Q-57.041 70.485-56.728 70.485Q-56.432 70.485-56.172 70.629Q-55.912 70.774-55.803 71.035Q-55.654 70.793-55.435 70.639Q-55.217 70.485-54.963 70.485Q-54.764 70.485-54.576 70.551Q-54.389 70.617-54.267 70.756Q-54.146 70.895-54.146 71.090Q-54.146 71.301-54.277 71.457Q-54.408 71.614-54.615 71.614Q-54.748 71.614-54.842 71.530Q-54.935 71.446-54.935 71.309Q-54.935 71.145-54.828 71.016Q-54.721 70.887-54.560 70.852Q-54.736 70.739-54.978 70.739Q-55.146 70.739-55.293 70.848Q-55.439 70.957-55.539 71.121Q-55.639 71.285-55.682 71.453L-56.041 72.891Q-56.111 73.235-56.111 73.356Q-56.111 73.571-55.994 73.703Q-55.877 73.836-55.666 73.836Q-55.287 73.836-54.986 73.530Q-54.685 73.223-54.592 72.836Q-54.564 72.766-54.506 72.766L-54.400 72.766Q-54.361 72.766-54.338 72.795Q-54.314 72.825-54.314 72.860Q-54.314 72.875-54.322 72.891Q-54.400 73.203-54.599 73.477Q-54.799 73.750-55.084 73.920Q-55.369 74.090-55.682 74.090Q-55.982 74.090-56.242 73.946Q-56.502 73.801-56.615 73.539Q-56.760 73.774-56.976 73.932Q-57.193 74.090-57.447 74.090Q-57.646 74.090-57.834 74.024Q-58.021 73.957-58.142 73.819Q-58.264 73.680-58.264 73.485Q-58.264 73.274-58.131 73.119Q-57.998 72.965-57.795 72.965Q-57.650 72.965-57.562 73.047Q-57.474 73.129-57.474 73.270Q-57.474 73.430-57.580 73.559Q-57.685 73.688-57.849 73.723\" fill=\"var(--tk-soft-accent)\" stroke=\"var(--tk-soft-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"m207.86-2.082 7.808 15.615\"\u002F>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">A k-d tree and the matching partition of the plane. The root splits on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> at the median (a vertical line); the next level splits on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> (horizontal lines); the level below splits on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> again. Each tree node is one axis-aligned cut, and the leaves correspond to the cells of the partition.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:318.308px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 238.731 112.160\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-61.87 33.29v-91.05h91.049v91.05Zm91.049-91.05\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M-16.345 33.29v-91.05\" style=\"stroke-width:1.2\"\u002F>\u003Cpath stroke=\"none\" d=\"M-39.832 7.682a2.121 2.121 0 1 0-4.243 0 2.121 2.121 0 0 0 4.243 0M-31.296-34.997a2.121 2.121 0 1 0-4.243 0 2.121 2.121 0 0 0 4.243 0M5.693 13.373a2.121 2.121 0 1 0-4.243 0 2.121 2.121 0 0 0 4.243 0M14.229-37.842a2.121 2.121 0 1 0-4.243 0 2.121 2.121 0 0 0 4.243 0m-2.122 0\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(28.743 -97.365)\">\u003Cpath d=\"M-61.556 33.283L-61.556 32.220Q-61.556 32.196-61.528 32.169Q-61.501 32.142-61.477 32.142L-61.368 32.142Q-61.303 32.142-61.289 32.200Q-61.193 32.634-60.947 32.885Q-60.701 33.136-60.287 33.136Q-59.946 33.136-59.693 33.003Q-59.440 32.870-59.440 32.562Q-59.440 32.405-59.534 32.290Q-59.628 32.176-59.766 32.107Q-59.905 32.039-60.072 32.001L-60.653 31.902Q-61.009 31.834-61.282 31.613Q-61.556 31.393-61.556 31.051Q-61.556 30.802-61.444 30.627Q-61.333 30.453-61.147 30.354Q-60.961 30.255-60.745 30.212Q-60.530 30.169-60.287 30.169Q-59.874 30.169-59.594 30.351L-59.378 30.176Q-59.368 30.173-59.361 30.171Q-59.354 30.169-59.344 30.169L-59.293 30.169Q-59.266 30.169-59.242 30.193Q-59.218 30.217-59.218 30.245L-59.218 31.092Q-59.218 31.113-59.242 31.140Q-59.266 31.167-59.293 31.167L-59.406 31.167Q-59.433 31.167-59.459 31.142Q-59.484 31.116-59.484 31.092Q-59.484 30.856-59.590 30.692Q-59.696 30.528-59.879 30.446Q-60.062 30.364-60.294 30.364Q-60.622 30.364-60.879 30.467Q-61.135 30.569-61.135 30.846Q-61.135 31.041-60.952 31.150Q-60.769 31.260-60.540 31.301L-59.966 31.407Q-59.720 31.455-59.506 31.583Q-59.293 31.711-59.156 31.914Q-59.019 32.118-59.019 32.367Q-59.019 32.880-59.385 33.119Q-59.751 33.358-60.287 33.358Q-60.783 33.358-61.115 33.064L-61.381 33.338Q-61.402 33.358-61.429 33.358L-61.477 33.358Q-61.501 33.358-61.528 33.331Q-61.556 33.304-61.556 33.283M-56.746 34.647L-58.377 34.647L-58.377 34.367Q-58.148 34.367-57.999 34.332Q-57.850 34.298-57.850 34.158L-57.850 30.812Q-57.850 30.641-57.987 30.600Q-58.124 30.559-58.377 30.559L-58.377 30.279L-57.297 30.204L-57.297 30.610Q-57.075 30.409-56.787 30.306Q-56.500 30.204-56.193 30.204Q-55.766 30.204-55.401 30.417Q-55.037 30.631-54.824 30.995Q-54.610 31.359-54.610 31.779Q-54.610 32.224-54.849 32.588Q-55.089 32.952-55.482 33.155Q-55.875 33.358-56.319 33.358Q-56.586 33.358-56.834 33.258Q-57.081 33.157-57.269 32.976L-57.269 34.158Q-57.269 34.295-57.121 34.331Q-56.972 34.367-56.746 34.367L-56.746 34.647M-57.269 30.959L-57.269 32.569Q-57.136 32.822-56.893 32.979Q-56.651 33.136-56.374 33.136Q-56.046 33.136-55.793 32.935Q-55.540 32.733-55.407 32.415Q-55.273 32.097-55.273 31.779Q-55.273 31.550-55.338 31.321Q-55.403 31.092-55.531 30.894Q-55.660 30.696-55.854 30.576Q-56.049 30.457-56.282 30.457Q-56.576 30.457-56.844 30.586Q-57.112 30.716-57.269 30.959M-52.307 33.290L-53.910 33.290L-53.910 33.010Q-53.684 33.010-53.535 32.976Q-53.387 32.941-53.387 32.801L-53.387 29.182Q-53.387 28.912-53.494 28.850Q-53.602 28.789-53.910 28.789L-53.910 28.508L-52.833 28.433L-52.833 32.801Q-52.833 32.938-52.682 32.974Q-52.532 33.010-52.307 33.010L-52.307 33.290M-50.095 33.290L-51.647 33.290L-51.647 33.010Q-51.421 33.010-51.273 32.976Q-51.124 32.941-51.124 32.801L-51.124 30.952Q-51.124 30.764-51.172 30.680Q-51.220 30.597-51.317 30.578Q-51.414 30.559-51.626 30.559L-51.626 30.279L-50.570 30.204L-50.570 32.801Q-50.570 32.941-50.439 32.976Q-50.307 33.010-50.095 33.010L-50.095 33.290M-51.367 28.983Q-51.367 28.812-51.244 28.693Q-51.120 28.573-50.950 28.573Q-50.782 28.573-50.659 28.693Q-50.536 28.812-50.536 28.983Q-50.536 29.158-50.659 29.281Q-50.782 29.404-50.950 29.404Q-51.120 29.404-51.244 29.281Q-51.367 29.158-51.367 28.983M-48.923 32.449L-48.923 30.552L-49.562 30.552L-49.562 30.330Q-49.244 30.330-49.027 30.120Q-48.810 29.910-48.709 29.600Q-48.608 29.291-48.608 28.983L-48.342 28.983L-48.342 30.272L-47.265 30.272L-47.265 30.552L-48.342 30.552L-48.342 32.436Q-48.342 32.712-48.237 32.911Q-48.133 33.109-47.873 33.109Q-47.716 33.109-47.610 33.005Q-47.504 32.900-47.455 32.747Q-47.405 32.593-47.405 32.436L-47.405 32.022L-47.139 32.022L-47.139 32.449Q-47.139 32.675-47.238 32.885Q-47.337 33.095-47.521 33.227Q-47.706 33.358-47.935 33.358Q-48.372 33.358-48.648 33.121Q-48.923 32.883-48.923 32.449\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(28.743 -97.365)\">\u003Cpath d=\"M-43.665 31.807Q-43.665 31.465-43.530 31.166Q-43.395 30.867-43.155 30.643Q-42.916 30.419-42.598 30.294Q-42.280 30.169-41.949 30.169Q-41.504 30.169-41.105 30.385Q-40.705 30.600-40.470 30.978Q-40.236 31.355-40.236 31.807Q-40.236 32.148-40.378 32.432Q-40.520 32.716-40.764 32.923Q-41.009 33.129-41.318 33.244Q-41.627 33.358-41.949 33.358Q-42.379 33.358-42.781 33.157Q-43.183 32.955-43.424 32.603Q-43.665 32.251-43.665 31.807M-41.949 33.109Q-41.347 33.109-41.123 32.731Q-40.899 32.353-40.899 31.721Q-40.899 31.109-41.134 30.750Q-41.368 30.392-41.949 30.392Q-43.001 30.392-43.001 31.721Q-43.001 32.353-42.776 32.731Q-42.550 33.109-41.949 33.109M-37.960 33.290L-39.594 33.290L-39.594 33.010Q-39.365 33.010-39.216 32.976Q-39.067 32.941-39.067 32.801L-39.067 30.952Q-39.067 30.682-39.175 30.621Q-39.283 30.559-39.594 30.559L-39.594 30.279L-38.534 30.204L-38.534 30.853Q-38.363 30.545-38.059 30.374Q-37.755 30.204-37.410 30.204Q-36.904 30.204-36.620 30.427Q-36.336 30.651-36.336 31.147L-36.336 32.801Q-36.336 32.938-36.188 32.974Q-36.039 33.010-35.813 33.010L-35.813 33.290L-37.444 33.290L-37.444 33.010Q-37.215 33.010-37.066 32.976Q-36.917 32.941-36.917 32.801L-36.917 31.161Q-36.917 30.826-37.037 30.626Q-37.157 30.426-37.471 30.426Q-37.741 30.426-37.975 30.562Q-38.209 30.699-38.348 30.933Q-38.486 31.167-38.486 31.441L-38.486 32.801Q-38.486 32.938-38.336 32.974Q-38.186 33.010-37.960 33.010\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(28.743 -97.365)\">\u003Cpath d=\"M-32.106 33.030Q-31.963 33.136-31.734 33.136Q-31.508 33.136-31.334 32.940Q-31.159 32.743-31.105 32.514L-30.790 31.253Q-30.718 30.986-30.718 30.853Q-30.718 30.662-30.830 30.544Q-30.941 30.426-31.132 30.426Q-31.361 30.426-31.559 30.550Q-31.758 30.675-31.899 30.879Q-32.041 31.082-32.099 31.301Q-32.110 31.366-32.168 31.366L-32.280 31.366Q-32.311 31.366-32.335 31.335Q-32.359 31.304-32.359 31.280L-32.359 31.253Q-32.246 30.826-31.893 30.515Q-31.539 30.204-31.118 30.204Q-30.947 30.204-30.783 30.257Q-30.619 30.310-30.486 30.414Q-30.353 30.518-30.278 30.672Q-30.137 30.467-29.936 30.335Q-29.734 30.204-29.515 30.204Q-29.225 30.204-28.996 30.339Q-28.767 30.474-28.767 30.744Q-28.767 30.863-28.820 30.967Q-28.873 31.072-28.970 31.135Q-29.068 31.198-29.187 31.198Q-29.303 31.198-29.385 31.125Q-29.467 31.051-29.467 30.932Q-29.467 30.791-29.377 30.677Q-29.286 30.562-29.153 30.532Q-29.307 30.426-29.529 30.426Q-29.683 30.426-29.813 30.520Q-29.943 30.614-30.031 30.750Q-30.120 30.887-30.168 31.051L-30.483 32.309Q-30.544 32.593-30.544 32.709Q-30.544 32.900-30.433 33.018Q-30.322 33.136-30.131 33.136Q-29.956 33.136-29.797 33.061Q-29.638 32.986-29.508 32.856Q-29.379 32.726-29.290 32.569Q-29.201 32.412-29.167 32.261Q-29.143 32.200-29.088 32.200L-28.979 32.200Q-28.945 32.200-28.922 32.225Q-28.900 32.251-28.900 32.282Q-28.900 32.295-28.907 32.309Q-28.975 32.589-29.160 32.829Q-29.344 33.068-29.604 33.213Q-29.864 33.358-30.148 33.358Q-30.414 33.358-30.643 33.239Q-30.872 33.119-30.985 32.890Q-31.115 33.088-31.318 33.223Q-31.522 33.358-31.751 33.358Q-32.031 33.358-32.262 33.223Q-32.492 33.088-32.492 32.822Q-32.492 32.641-32.371 32.504Q-32.250 32.367-32.072 32.367Q-31.952 32.367-31.872 32.439Q-31.792 32.511-31.792 32.630Q-31.792 32.770-31.879 32.885Q-31.966 32.999-32.106 33.030\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M69.013 33.29v-91.05h91.048v91.05Zm91.048-91.05\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M114.537 33.29v-91.05\" style=\"stroke-width:1.2\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M69.013-13.657h45.524M114.537-12.235h45.524\" style=\"stroke-width:.8\"\u002F>\u003Cpath stroke=\"none\" d=\"M91.05 7.682a2.121 2.121 0 1 0-4.242 0 2.121 2.121 0 0 0 4.243 0M99.587-34.997a2.121 2.121 0 1 0-4.243 0 2.121 2.121 0 0 0 4.243 0M136.575 13.373a2.121 2.121 0 1 0-4.242 0 2.121 2.121 0 0 0 4.242 0M145.111-37.842a2.121 2.121 0 1 0-4.242 0 2.121 2.121 0 0 0 4.242 0m-2.121 0\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(136.977 -97.365)\">\u003Cpath d=\"M-61.556 33.283L-61.556 32.220Q-61.556 32.196-61.528 32.169Q-61.501 32.142-61.477 32.142L-61.368 32.142Q-61.303 32.142-61.289 32.200Q-61.193 32.634-60.947 32.885Q-60.701 33.136-60.287 33.136Q-59.946 33.136-59.693 33.003Q-59.440 32.870-59.440 32.562Q-59.440 32.405-59.534 32.290Q-59.628 32.176-59.766 32.107Q-59.905 32.039-60.072 32.001L-60.653 31.902Q-61.009 31.834-61.282 31.613Q-61.556 31.393-61.556 31.051Q-61.556 30.802-61.444 30.627Q-61.333 30.453-61.147 30.354Q-60.961 30.255-60.745 30.212Q-60.530 30.169-60.287 30.169Q-59.874 30.169-59.594 30.351L-59.378 30.176Q-59.368 30.173-59.361 30.171Q-59.354 30.169-59.344 30.169L-59.293 30.169Q-59.266 30.169-59.242 30.193Q-59.218 30.217-59.218 30.245L-59.218 31.092Q-59.218 31.113-59.242 31.140Q-59.266 31.167-59.293 31.167L-59.406 31.167Q-59.433 31.167-59.459 31.142Q-59.484 31.116-59.484 31.092Q-59.484 30.856-59.590 30.692Q-59.696 30.528-59.879 30.446Q-60.062 30.364-60.294 30.364Q-60.622 30.364-60.879 30.467Q-61.135 30.569-61.135 30.846Q-61.135 31.041-60.952 31.150Q-60.769 31.260-60.540 31.301L-59.966 31.407Q-59.720 31.455-59.506 31.583Q-59.293 31.711-59.156 31.914Q-59.019 32.118-59.019 32.367Q-59.019 32.880-59.385 33.119Q-59.751 33.358-60.287 33.358Q-60.783 33.358-61.115 33.064L-61.381 33.338Q-61.402 33.358-61.429 33.358L-61.477 33.358Q-61.501 33.358-61.528 33.331Q-61.556 33.304-61.556 33.283M-56.746 34.647L-58.377 34.647L-58.377 34.367Q-58.148 34.367-57.999 34.332Q-57.850 34.298-57.850 34.158L-57.850 30.812Q-57.850 30.641-57.987 30.600Q-58.124 30.559-58.377 30.559L-58.377 30.279L-57.297 30.204L-57.297 30.610Q-57.075 30.409-56.787 30.306Q-56.500 30.204-56.193 30.204Q-55.766 30.204-55.401 30.417Q-55.037 30.631-54.824 30.995Q-54.610 31.359-54.610 31.779Q-54.610 32.224-54.849 32.588Q-55.089 32.952-55.482 33.155Q-55.875 33.358-56.319 33.358Q-56.586 33.358-56.834 33.258Q-57.081 33.157-57.269 32.976L-57.269 34.158Q-57.269 34.295-57.121 34.331Q-56.972 34.367-56.746 34.367L-56.746 34.647M-57.269 30.959L-57.269 32.569Q-57.136 32.822-56.893 32.979Q-56.651 33.136-56.374 33.136Q-56.046 33.136-55.793 32.935Q-55.540 32.733-55.407 32.415Q-55.273 32.097-55.273 31.779Q-55.273 31.550-55.338 31.321Q-55.403 31.092-55.531 30.894Q-55.660 30.696-55.854 30.576Q-56.049 30.457-56.282 30.457Q-56.576 30.457-56.844 30.586Q-57.112 30.716-57.269 30.959M-52.307 33.290L-53.910 33.290L-53.910 33.010Q-53.684 33.010-53.535 32.976Q-53.387 32.941-53.387 32.801L-53.387 29.182Q-53.387 28.912-53.494 28.850Q-53.602 28.789-53.910 28.789L-53.910 28.508L-52.833 28.433L-52.833 32.801Q-52.833 32.938-52.682 32.974Q-52.532 33.010-52.307 33.010L-52.307 33.290M-50.095 33.290L-51.647 33.290L-51.647 33.010Q-51.421 33.010-51.273 32.976Q-51.124 32.941-51.124 32.801L-51.124 30.952Q-51.124 30.764-51.172 30.680Q-51.220 30.597-51.317 30.578Q-51.414 30.559-51.626 30.559L-51.626 30.279L-50.570 30.204L-50.570 32.801Q-50.570 32.941-50.439 32.976Q-50.307 33.010-50.095 33.010L-50.095 33.290M-51.367 28.983Q-51.367 28.812-51.244 28.693Q-51.120 28.573-50.950 28.573Q-50.782 28.573-50.659 28.693Q-50.536 28.812-50.536 28.983Q-50.536 29.158-50.659 29.281Q-50.782 29.404-50.950 29.404Q-51.120 29.404-51.244 29.281Q-51.367 29.158-51.367 28.983M-48.923 32.449L-48.923 30.552L-49.562 30.552L-49.562 30.330Q-49.244 30.330-49.027 30.120Q-48.810 29.910-48.709 29.600Q-48.608 29.291-48.608 28.983L-48.342 28.983L-48.342 30.272L-47.265 30.272L-47.265 30.552L-48.342 30.552L-48.342 32.436Q-48.342 32.712-48.237 32.911Q-48.133 33.109-47.873 33.109Q-47.716 33.109-47.610 33.005Q-47.504 32.900-47.455 32.747Q-47.405 32.593-47.405 32.436L-47.405 32.022L-47.139 32.022L-47.139 32.449Q-47.139 32.675-47.238 32.885Q-47.337 33.095-47.521 33.227Q-47.706 33.358-47.935 33.358Q-48.372 33.358-48.648 33.121Q-48.923 32.883-48.923 32.449\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(136.977 -97.365)\">\u003Cpath d=\"M-43.665 31.807Q-43.665 31.465-43.530 31.166Q-43.395 30.867-43.155 30.643Q-42.916 30.419-42.598 30.294Q-42.280 30.169-41.949 30.169Q-41.504 30.169-41.105 30.385Q-40.705 30.600-40.470 30.978Q-40.236 31.355-40.236 31.807Q-40.236 32.148-40.378 32.432Q-40.520 32.716-40.764 32.923Q-41.009 33.129-41.318 33.244Q-41.627 33.358-41.949 33.358Q-42.379 33.358-42.781 33.157Q-43.183 32.955-43.424 32.603Q-43.665 32.251-43.665 31.807M-41.949 33.109Q-41.347 33.109-41.123 32.731Q-40.899 32.353-40.899 31.721Q-40.899 31.109-41.134 30.750Q-41.368 30.392-41.949 30.392Q-43.001 30.392-43.001 31.721Q-43.001 32.353-42.776 32.731Q-42.550 33.109-41.949 33.109M-37.960 33.290L-39.594 33.290L-39.594 33.010Q-39.365 33.010-39.216 32.976Q-39.067 32.941-39.067 32.801L-39.067 30.952Q-39.067 30.682-39.175 30.621Q-39.283 30.559-39.594 30.559L-39.594 30.279L-38.534 30.204L-38.534 30.853Q-38.363 30.545-38.059 30.374Q-37.755 30.204-37.410 30.204Q-36.904 30.204-36.620 30.427Q-36.336 30.651-36.336 31.147L-36.336 32.801Q-36.336 32.938-36.188 32.974Q-36.039 33.010-35.813 33.010L-35.813 33.290L-37.444 33.290L-37.444 33.010Q-37.215 33.010-37.066 32.976Q-36.917 32.941-36.917 32.801L-36.917 31.161Q-36.917 30.826-37.037 30.626Q-37.157 30.426-37.471 30.426Q-37.741 30.426-37.975 30.562Q-38.209 30.699-38.348 30.933Q-38.486 31.167-38.486 31.441L-38.486 32.801Q-38.486 32.938-38.336 32.974Q-38.186 33.010-37.960 33.010\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(136.977 -97.365)\">\u003Cpath d=\"M-32.239 34.103Q-32.239 33.912-32.123 33.772Q-32.007 33.632-31.819 33.632Q-31.699 33.632-31.616 33.707Q-31.532 33.782-31.532 33.898Q-31.532 34.052-31.638 34.168Q-31.744 34.285-31.898 34.305Q-31.737 34.493-31.392 34.493Q-30.903 34.493-30.510 33.977Q-30.366 33.786-30.278 33.570Q-30.189 33.355-30.117 33.058Q-30.452 33.358-30.852 33.358Q-31.299 33.358-31.576 33.134Q-31.853 32.911-31.853 32.470Q-31.853 32.159-31.746 31.839Q-31.638 31.519-31.426 31Q-31.351 30.798-31.351 30.658Q-31.351 30.559-31.390 30.492Q-31.429 30.426-31.518 30.426Q-31.799 30.426-31.988 30.697Q-32.178 30.969-32.267 31.301Q-32.277 31.366-32.339 31.366L-32.448 31.366Q-32.479 31.366-32.503 31.335Q-32.527 31.304-32.527 31.280L-32.527 31.253Q-32.458 30.993-32.318 30.756Q-32.178 30.518-31.968 30.361Q-31.758 30.204-31.505 30.204Q-31.323 30.204-31.168 30.275Q-31.012 30.347-30.915 30.482Q-30.818 30.617-30.818 30.798Q-30.818 30.915-30.865 31.051Q-31.081 31.581-31.194 31.923Q-31.306 32.265-31.306 32.576Q-31.306 32.818-31.192 32.977Q-31.077 33.136-30.838 33.136Q-30.356 33.136-29.990 32.541L-29.488 30.532Q-29.457 30.419-29.365 30.345Q-29.273 30.272-29.160 30.272Q-29.057 30.272-28.986 30.335Q-28.914 30.398-28.914 30.498Q-28.914 30.521-28.915 30.535Q-28.917 30.549-28.921 30.566L-29.608 33.317Q-29.703 33.700-29.978 34.023Q-30.254 34.346-30.633 34.532Q-31.012 34.719-31.405 34.719Q-31.723 34.719-31.981 34.561Q-32.239 34.404-32.239 34.103\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">Building a k-d tree by alternating the split axis. Stage one cuts on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> at the median (vertical line), splitting the points into a left and a right half. Stage two cuts each half on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> at its own median (horizontal lines). The split axis cycles \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> then \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> then \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>, halving the point set at every level.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:329.364px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 247.023 120.621\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cg stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath fill=\"none\" d=\"M79.437-61.712c0-5.5-4.458-9.958-9.958-9.958s-9.958 4.458-9.958 9.958 4.458 9.959 9.958 9.959 9.958-4.459 9.958-9.959Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(-2.392 1.722)\">\u003Cpath d=\"M70.166-62.001Q70.334-61.888 70.577-61.888Q70.827-61.888 71.024-62.114Q71.221-62.341 71.280-62.599L71.639-64.040Q71.717-64.345 71.717-64.505Q71.717-64.716 71.600-64.851Q71.483-64.985 71.272-64.985Q71.018-64.985 70.790-64.839Q70.561-64.692 70.405-64.462Q70.249-64.232 70.190-63.985Q70.178-63.911 70.112-63.911L70.006-63.911Q69.975-63.911 69.948-63.946Q69.920-63.982 69.920-64.009L69.920-64.040Q69.999-64.353 70.198-64.626Q70.397-64.900 70.686-65.069Q70.975-65.239 71.288-65.239Q71.584-65.239 71.844-65.095Q72.104-64.950 72.213-64.689Q72.362-64.931 72.581-65.085Q72.799-65.239 73.053-65.239Q73.252-65.239 73.440-65.173Q73.627-65.107 73.749-64.968Q73.870-64.829 73.870-64.634Q73.870-64.423 73.739-64.267Q73.608-64.110 73.401-64.110Q73.268-64.110 73.174-64.194Q73.081-64.278 73.081-64.415Q73.081-64.579 73.188-64.708Q73.295-64.837 73.456-64.872Q73.280-64.985 73.038-64.985Q72.870-64.985 72.723-64.876Q72.577-64.767 72.477-64.603Q72.377-64.439 72.334-64.271L71.975-62.833Q71.905-62.489 71.905-62.368Q71.905-62.153 72.022-62.021Q72.139-61.888 72.350-61.888Q72.729-61.888 73.030-62.194Q73.331-62.501 73.424-62.888Q73.452-62.958 73.510-62.958L73.616-62.958Q73.655-62.958 73.678-62.929Q73.702-62.900 73.702-62.864Q73.702-62.849 73.694-62.833Q73.616-62.521 73.416-62.247Q73.217-61.974 72.932-61.804Q72.647-61.634 72.334-61.634Q72.034-61.634 71.774-61.778Q71.514-61.923 71.401-62.185Q71.256-61.950 71.040-61.792Q70.823-61.634 70.569-61.634Q70.370-61.634 70.182-61.700Q69.995-61.767 69.874-61.905Q69.752-62.044 69.752-62.239Q69.752-62.450 69.885-62.605Q70.018-62.759 70.221-62.759Q70.366-62.759 70.454-62.677Q70.541-62.595 70.541-62.454Q70.541-62.294 70.436-62.165Q70.331-62.036 70.166-62.001\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath fill=\"none\" d=\"M31.068-24.723c0-5.5-4.459-9.958-9.959-9.958s-9.958 4.458-9.958 9.958 4.458 9.958 9.958 9.958 9.959-4.458 9.959-9.958Zm-9.959 0\"\u002F>\u003Cg transform=\"translate(-50.614 37.933)\">\u003Cpath d=\"M69.959-60.775Q69.959-60.993 70.092-61.157Q70.225-61.321 70.440-61.321Q70.573-61.321 70.666-61.237Q70.760-61.153 70.760-61.017Q70.760-60.837 70.633-60.694Q70.506-60.552 70.327-60.552Q70.510-60.337 70.893-60.337Q71.444-60.337 71.795-60.829Q72.147-61.321 72.303-61.958Q71.952-61.634 71.510-61.634Q71.186-61.634 70.936-61.743Q70.686-61.853 70.547-62.077Q70.409-62.302 70.409-62.634Q70.409-62.884 70.483-63.171Q70.557-63.458 70.694-63.810Q70.831-64.161 70.893-64.329Q70.983-64.552 70.983-64.735Q70.983-64.985 70.815-64.985Q70.499-64.985 70.290-64.679Q70.081-64.372 69.975-63.985Q69.963-63.911 69.893-63.911L69.791-63.911Q69.756-63.911 69.729-63.946Q69.702-63.982 69.702-64.009L69.702-64.040Q69.827-64.501 70.124-64.870Q70.420-65.239 70.831-65.239Q71.026-65.239 71.200-65.155Q71.374-65.071 71.475-64.919Q71.577-64.767 71.577-64.560Q71.577-64.407 71.518-64.271Q71.428-64.040 71.327-63.775Q71.225-63.509 71.168-63.327Q71.112-63.146 71.067-62.931Q71.022-62.716 71.022-62.521Q71.022-62.247 71.145-62.067Q71.268-61.888 71.526-61.888Q72.045-61.888 72.448-62.528L73.030-64.872Q73.069-64.997 73.172-65.079Q73.276-65.161 73.401-65.161Q73.510-65.161 73.590-65.087Q73.670-65.013 73.670-64.903Q73.670-64.857 73.663-64.833L72.877-61.681Q72.768-61.259 72.467-60.888Q72.166-60.517 71.747-60.298Q71.327-60.079 70.885-60.079Q70.526-60.079 70.243-60.257Q69.959-60.435 69.959-60.775\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath fill=\"none\" d=\"M61.092-55.298 29.496-31.136\"\u002F>\u003Cg fill=\"var(--tk-soft-accent)\">\u003Cpath d=\"M6.883 12.266c0-5.5-4.458-9.959-9.958-9.959s-9.959 4.459-9.959 9.959 4.459 9.958 9.959 9.958 9.958-4.458 9.958-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(-79.048 76.755)\">\u003Cpath d=\"M71.631-61.712L69.799-61.712L69.799-62.009Q70.073-62.009 70.241-62.056Q70.409-62.103 70.409-62.271L70.409-66.431Q70.409-66.646 70.346-66.741Q70.284-66.837 70.165-66.858Q70.045-66.880 69.799-66.880L69.799-67.177L71.022-67.263L71.022-62.271Q71.022-62.103 71.190-62.056Q71.358-62.009 71.631-62.009L71.631-61.712M72.077-63.466Q72.077-63.946 72.309-64.362Q72.541-64.778 72.952-65.028Q73.362-65.278 73.838-65.278Q74.569-65.278 74.967-64.837Q75.366-64.396 75.366-63.665Q75.366-63.560 75.272-63.536L72.823-63.536L72.823-63.466Q72.823-63.056 72.944-62.700Q73.065-62.345 73.336-62.128Q73.608-61.911 74.038-61.911Q74.401-61.911 74.698-62.140Q74.995-62.368 75.096-62.720Q75.104-62.767 75.190-62.782L75.272-62.782Q75.366-62.755 75.366-62.673Q75.366-62.665 75.358-62.634Q75.295-62.407 75.157-62.224Q75.018-62.040 74.827-61.907Q74.635-61.775 74.416-61.704Q74.198-61.634 73.959-61.634Q73.588-61.634 73.250-61.771Q72.913-61.907 72.645-62.159Q72.377-62.411 72.227-62.751Q72.077-63.091 72.077-63.466M72.831-63.775L74.791-63.775Q74.791-64.079 74.690-64.370Q74.588-64.661 74.372-64.843Q74.155-65.025 73.838-65.025Q73.538-65.025 73.307-64.837Q73.077-64.650 72.954-64.358Q72.831-64.067 72.831-63.775M75.952-62.544Q75.952-63.028 76.354-63.323Q76.756-63.618 77.307-63.737Q77.858-63.857 78.350-63.857L78.350-64.146Q78.350-64.372 78.235-64.579Q78.120-64.786 77.922-64.905Q77.725-65.025 77.495-65.025Q77.069-65.025 76.784-64.919Q76.854-64.892 76.901-64.837Q76.948-64.782 76.973-64.712Q76.999-64.642 76.999-64.567Q76.999-64.462 76.948-64.370Q76.897-64.278 76.805-64.228Q76.713-64.177 76.608-64.177Q76.502-64.177 76.411-64.228Q76.319-64.278 76.268-64.370Q76.217-64.462 76.217-64.567Q76.217-64.985 76.606-65.132Q76.995-65.278 77.495-65.278Q77.827-65.278 78.180-65.148Q78.534-65.017 78.762-64.763Q78.991-64.509 78.991-64.161L78.991-62.360Q78.991-62.228 79.063-62.118Q79.135-62.009 79.264-62.009Q79.389-62.009 79.458-62.114Q79.526-62.220 79.526-62.360L79.526-62.872L79.807-62.872L79.807-62.360Q79.807-62.157 79.690-61.999Q79.573-61.841 79.391-61.757Q79.209-61.673 79.006-61.673Q78.776-61.673 78.624-61.845Q78.471-62.017 78.440-62.247Q78.280-61.966 77.971-61.800Q77.663-61.634 77.311-61.634Q76.799-61.634 76.375-61.857Q75.952-62.079 75.952-62.544M76.639-62.544Q76.639-62.259 76.866-62.073Q77.092-61.888 77.385-61.888Q77.631-61.888 77.856-62.005Q78.081-62.122 78.215-62.325Q78.350-62.528 78.350-62.782L78.350-63.614Q78.084-63.614 77.799-63.560Q77.514-63.505 77.243-63.376Q76.971-63.247 76.805-63.040Q76.639-62.833 76.639-62.544M82.166-61.712L80.182-61.712L80.182-62.009Q80.456-62.009 80.624-62.056Q80.791-62.103 80.791-62.271L80.791-64.864L80.151-64.864L80.151-65.161L80.791-65.161L80.791-66.095Q80.791-66.360 80.909-66.597Q81.026-66.833 81.219-66.997Q81.413-67.161 81.661-67.253Q81.909-67.345 82.174-67.345Q82.459-67.345 82.684-67.187Q82.909-67.028 82.909-66.751Q82.909-66.595 82.803-66.485Q82.698-66.376 82.534-66.376Q82.377-66.376 82.268-66.485Q82.159-66.595 82.159-66.751Q82.159-66.958 82.319-67.064Q82.221-67.087 82.127-67.087Q81.897-67.087 81.725-66.931Q81.553-66.775 81.467-66.538Q81.381-66.302 81.381-66.079L81.381-65.161L82.350-65.161L82.350-64.864L81.405-64.864L81.405-62.271Q81.405-62.103 81.631-62.056Q81.858-62.009 82.166-62.009\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M15.332-15.886 2.702 3.429\"\u002F>\u003Cg stroke=\"var(--tk-good)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M55.253 12.266c0-5.5-4.459-9.959-9.959-9.959s-9.958 4.459-9.958 9.959 4.458 9.958 9.958 9.958 9.959-4.458 9.959-9.958Zm-9.959 0\"\u002F>\u003Cg transform=\"translate(-26.324 74.922)\">\u003Cpath d=\"M70.967-60.161L69.366-60.161Q69.331-60.161 69.297-60.202Q69.264-60.243 69.264-60.278L69.295-60.384Q69.327-60.446 69.381-60.454Q69.573-60.454 69.657-60.470Q69.741-60.485 69.793-60.552Q69.846-60.618 69.885-60.759L70.776-64.329Q70.815-64.485 70.815-64.622Q70.815-64.771 70.762-64.878Q70.709-64.985 70.577-64.985Q70.397-64.985 70.278-64.816Q70.159-64.646 70.102-64.460Q70.045-64.275 69.975-63.985Q69.963-63.911 69.893-63.911L69.791-63.911Q69.756-63.911 69.729-63.946Q69.702-63.982 69.702-64.009L69.702-64.040Q69.788-64.372 69.881-64.614Q69.975-64.857 70.151-65.048Q70.327-65.239 70.592-65.239Q70.874-65.239 71.104-65.095Q71.334-64.950 71.401-64.696Q71.920-65.239 72.479-65.239Q73.014-65.239 73.334-64.855Q73.655-64.470 73.655-63.927Q73.655-63.403 73.374-62.864Q73.092-62.325 72.625-61.980Q72.159-61.634 71.624-61.634Q71.385-61.634 71.184-61.751Q70.983-61.868 70.854-62.079L70.510-60.704Q70.499-60.665 70.479-60.544Q70.479-60.454 70.983-60.454Q71.088-60.423 71.088-60.329L71.053-60.224Q71.022-60.169 70.967-60.161M71.409-64.278L70.975-62.552Q71.034-62.278 71.204-62.083Q71.374-61.888 71.639-61.888Q71.975-61.888 72.254-62.179Q72.534-62.470 72.670-62.825Q72.795-63.118 72.897-63.552Q72.999-63.985 72.999-64.263Q72.999-64.548 72.866-64.767Q72.733-64.985 72.463-64.985Q72.252-64.985 72.057-64.884Q71.862-64.782 71.702-64.626Q71.541-64.470 71.409-64.278\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-good)\" d=\"M26.887-15.886 39.626 3.596\" style=\"stroke-width:.8\"\u002F>\u003C\u002Fg>\u003Cg stroke=\"var(--tk-warn)\">\u003Cpath fill=\"none\" d=\"M127.807-24.723c0-5.5-4.458-9.958-9.958-9.958s-9.959 4.458-9.959 9.958 4.459 9.958 9.959 9.958 9.958-4.458 9.958-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(46.125 37.933)\">\u003Cpath d=\"M69.959-60.775Q69.959-60.993 70.092-61.157Q70.225-61.321 70.440-61.321Q70.573-61.321 70.666-61.237Q70.760-61.153 70.760-61.017Q70.760-60.837 70.633-60.694Q70.506-60.552 70.327-60.552Q70.510-60.337 70.893-60.337Q71.444-60.337 71.795-60.829Q72.147-61.321 72.303-61.958Q71.952-61.634 71.510-61.634Q71.186-61.634 70.936-61.743Q70.686-61.853 70.547-62.077Q70.409-62.302 70.409-62.634Q70.409-62.884 70.483-63.171Q70.557-63.458 70.694-63.810Q70.831-64.161 70.893-64.329Q70.983-64.552 70.983-64.735Q70.983-64.985 70.815-64.985Q70.499-64.985 70.290-64.679Q70.081-64.372 69.975-63.985Q69.963-63.911 69.893-63.911L69.791-63.911Q69.756-63.911 69.729-63.946Q69.702-63.982 69.702-64.009L69.702-64.040Q69.827-64.501 70.124-64.870Q70.420-65.239 70.831-65.239Q71.026-65.239 71.200-65.155Q71.374-65.071 71.475-64.919Q71.577-64.767 71.577-64.560Q71.577-64.407 71.518-64.271Q71.428-64.040 71.327-63.775Q71.225-63.509 71.168-63.327Q71.112-63.146 71.067-62.931Q71.022-62.716 71.022-62.521Q71.022-62.247 71.145-62.067Q71.268-61.888 71.526-61.888Q72.045-61.888 72.448-62.528L73.030-64.872Q73.069-64.997 73.172-65.079Q73.276-65.161 73.401-65.161Q73.510-65.161 73.590-65.087Q73.670-65.013 73.670-64.903Q73.670-64.857 73.663-64.833L72.877-61.681Q72.768-61.259 72.467-60.888Q72.166-60.517 71.747-60.298Q71.327-60.079 70.885-60.079Q70.526-60.079 70.243-60.257Q69.959-60.435 69.959-60.775\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" style=\"stroke-dasharray:3.0,3.0\">\u003Cpath fill=\"none\" d=\"m77.866-55.298 31.914 24.405M103.622 12.266c0-5.5-4.458-9.959-9.958-9.959s-9.959 4.459-9.959 9.959 4.459 9.958 9.959 9.958 9.958-4.458 9.958-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(22.046 74.922)\">\u003Cpath d=\"M70.967-60.161L69.366-60.161Q69.331-60.161 69.297-60.202Q69.264-60.243 69.264-60.278L69.295-60.384Q69.327-60.446 69.381-60.454Q69.573-60.454 69.657-60.470Q69.741-60.485 69.793-60.552Q69.846-60.618 69.885-60.759L70.776-64.329Q70.815-64.485 70.815-64.622Q70.815-64.771 70.762-64.878Q70.709-64.985 70.577-64.985Q70.397-64.985 70.278-64.816Q70.159-64.646 70.102-64.460Q70.045-64.275 69.975-63.985Q69.963-63.911 69.893-63.911L69.791-63.911Q69.756-63.911 69.729-63.946Q69.702-63.982 69.702-64.009L69.702-64.040Q69.788-64.372 69.881-64.614Q69.975-64.857 70.151-65.048Q70.327-65.239 70.592-65.239Q70.874-65.239 71.104-65.095Q71.334-64.950 71.401-64.696Q71.920-65.239 72.479-65.239Q73.014-65.239 73.334-64.855Q73.655-64.470 73.655-63.927Q73.655-63.403 73.374-62.864Q73.092-62.325 72.625-61.980Q72.159-61.634 71.624-61.634Q71.385-61.634 71.184-61.751Q70.983-61.868 70.854-62.079L70.510-60.704Q70.499-60.665 70.479-60.544Q70.479-60.454 70.983-60.454Q71.088-60.423 71.088-60.329L71.053-60.224Q71.022-60.169 70.967-60.161M71.409-64.278L70.975-62.552Q71.034-62.278 71.204-62.083Q71.374-61.888 71.639-61.888Q71.975-61.888 72.254-62.179Q72.534-62.470 72.670-62.825Q72.795-63.118 72.897-63.552Q72.999-63.985 72.999-64.263Q72.999-64.548 72.866-64.767Q72.733-64.985 72.463-64.985Q72.252-64.985 72.057-64.884Q71.862-64.782 71.702-64.626Q71.541-64.470 71.409-64.278\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M112.29-16.221 99.223 3.764M151.992 12.266c0-5.5-4.458-9.959-9.958-9.959s-9.959 4.459-9.959 9.959 4.459 9.958 9.959 9.958 9.958-4.458 9.958-9.958Zm-9.958 0\"\u002F>\u003Cg transform=\"translate(70.415 74.922)\">\u003Cpath d=\"M70.967-60.161L69.366-60.161Q69.331-60.161 69.297-60.202Q69.264-60.243 69.264-60.278L69.295-60.384Q69.327-60.446 69.381-60.454Q69.573-60.454 69.657-60.470Q69.741-60.485 69.793-60.552Q69.846-60.618 69.885-60.759L70.776-64.329Q70.815-64.485 70.815-64.622Q70.815-64.771 70.762-64.878Q70.709-64.985 70.577-64.985Q70.397-64.985 70.278-64.816Q70.159-64.646 70.102-64.460Q70.045-64.275 69.975-63.985Q69.963-63.911 69.893-63.911L69.791-63.911Q69.756-63.911 69.729-63.946Q69.702-63.982 69.702-64.009L69.702-64.040Q69.788-64.372 69.881-64.614Q69.975-64.857 70.151-65.048Q70.327-65.239 70.592-65.239Q70.874-65.239 71.104-65.095Q71.334-64.950 71.401-64.696Q71.920-65.239 72.479-65.239Q73.014-65.239 73.334-64.855Q73.655-64.470 73.655-63.927Q73.655-63.403 73.374-62.864Q73.092-62.325 72.625-61.980Q72.159-61.634 71.624-61.634Q71.385-61.634 71.184-61.751Q70.983-61.868 70.854-62.079L70.510-60.704Q70.499-60.665 70.479-60.544Q70.479-60.454 70.983-60.454Q71.088-60.423 71.088-60.329L71.053-60.224Q71.022-60.169 70.967-60.161M71.409-64.278L70.975-62.552Q71.034-62.278 71.204-62.083Q71.374-61.888 71.639-61.888Q71.975-61.888 72.254-62.179Q72.534-62.470 72.670-62.825Q72.795-63.118 72.897-63.552Q72.999-63.985 72.999-64.263Q72.999-64.548 72.866-64.767Q72.733-64.985 72.463-64.985Q72.252-64.985 72.057-64.884Q71.862-64.782 71.702-64.626Q71.541-64.470 71.409-64.278\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"m123.408-16.221 13.067 19.985\"\u002F>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-family=\"cmr7\" font-size=\"7\">\u003Cg transform=\"translate(-128.416 62.978)\">\u003Cpath d=\"M69.793-63.223Q69.793-63.561 69.934-63.852Q70.074-64.142 70.318-64.356Q70.562-64.569 70.867-64.684Q71.171-64.798 71.496-64.798Q71.766-64.798 72.029-64.699Q72.292-64.600 72.483-64.422L72.483-65.820Q72.483-66.090 72.376-66.152Q72.268-66.213 71.957-66.213L71.957-66.494L73.034-66.569L73.034-62.385Q73.034-62.197 73.088-62.114Q73.143-62.030 73.244-62.011Q73.345-61.992 73.560-61.992L73.560-61.712L72.453-61.644L72.453-62.061Q72.036-61.644 71.410-61.644Q70.979-61.644 70.607-61.856Q70.234-62.067 70.014-62.428Q69.793-62.789 69.793-63.223M71.468-61.866Q71.677-61.866 71.863-61.938Q72.049-62.009 72.203-62.146Q72.357-62.283 72.453-62.461L72.453-64.070Q72.367-64.217 72.222-64.337Q72.077-64.457 71.907-64.516Q71.738-64.576 71.557-64.576Q70.997-64.576 70.728-64.187Q70.460-63.797 70.460-63.216Q70.460-62.645 70.694-62.255Q70.928-61.866 71.468-61.866M74.168-63.247Q74.168-63.568 74.293-63.857Q74.418-64.146 74.644-64.369Q74.869-64.593 75.165-64.713Q75.460-64.833 75.778-64.833Q76.106-64.833 76.368-64.733Q76.629-64.634 76.805-64.452Q76.981-64.269 77.075-64.011Q77.169-63.753 77.169-63.421Q77.169-63.329 77.087-63.308L74.832-63.308L74.832-63.247Q74.832-62.659 75.115-62.276Q75.399-61.893 75.966-61.893Q76.288-61.893 76.556-62.086Q76.824-62.279 76.913-62.594Q76.920-62.635 76.995-62.649L77.087-62.649Q77.169-62.625 77.169-62.553Q77.169-62.546 77.163-62.519Q77.050-62.122 76.679-61.883Q76.308-61.644 75.884-61.644Q75.447-61.644 75.047-61.852Q74.647-62.061 74.408-62.428Q74.168-62.795 74.168-63.247M74.838-63.517L76.653-63.517Q76.653-63.794 76.556-64.046Q76.458-64.299 76.260-64.455Q76.062-64.610 75.778-64.610Q75.501-64.610 75.288-64.452Q75.074-64.293 74.956-64.038Q74.838-63.783 74.838-63.517M77.757-61.719L77.757-62.782Q77.757-62.806 77.785-62.833Q77.812-62.860 77.836-62.860L77.945-62.860Q78.010-62.860 78.024-62.802Q78.120-62.368 78.366-62.117Q78.612-61.866 79.025-61.866Q79.367-61.866 79.620-61.999Q79.873-62.132 79.873-62.440Q79.873-62.597 79.779-62.712Q79.685-62.826 79.547-62.895Q79.408-62.963 79.241-63.001L78.660-63.100Q78.304-63.168 78.031-63.389Q77.757-63.609 77.757-63.951Q77.757-64.200 77.868-64.375Q77.979-64.549 78.166-64.648Q78.352-64.747 78.567-64.790Q78.783-64.833 79.025-64.833Q79.439-64.833 79.719-64.651L79.935-64.826Q79.945-64.829 79.952-64.831Q79.958-64.833 79.969-64.833L80.020-64.833Q80.047-64.833 80.071-64.809Q80.095-64.785 80.095-64.757L80.095-63.910Q80.095-63.889 80.071-63.862Q80.047-63.835 80.020-63.835L79.907-63.835Q79.880-63.835 79.854-63.860Q79.829-63.886 79.829-63.910Q79.829-64.146 79.723-64.310Q79.617-64.474 79.434-64.556Q79.251-64.638 79.019-64.638Q78.690-64.638 78.434-64.535Q78.178-64.433 78.178-64.156Q78.178-63.961 78.361-63.852Q78.543-63.742 78.772-63.701L79.347-63.595Q79.593-63.547 79.806-63.419Q80.020-63.291 80.157-63.088Q80.293-62.884 80.293-62.635Q80.293-62.122 79.928-61.883Q79.562-61.644 79.025-61.644Q78.530-61.644 78.198-61.938L77.932-61.664Q77.911-61.644 77.884-61.644L77.836-61.644Q77.812-61.644 77.785-61.671Q77.757-61.698 77.757-61.719M80.922-63.223Q80.922-63.551 81.057-63.852Q81.192-64.152 81.428-64.373Q81.664-64.593 81.968-64.713Q82.272-64.833 82.597-64.833Q83.103-64.833 83.452-64.730Q83.800-64.628 83.800-64.252Q83.800-64.105 83.703-64.004Q83.605-63.903 83.458-63.903Q83.305-63.903 83.206-64.002Q83.106-64.101 83.106-64.252Q83.106-64.440 83.247-64.532Q83.045-64.583 82.604-64.583Q82.249-64.583 82.020-64.387Q81.791-64.190 81.690-63.881Q81.589-63.571 81.589-63.223Q81.589-62.874 81.715-62.568Q81.842-62.262 82.096-62.078Q82.351-61.893 82.707-61.893Q82.929-61.893 83.113-61.977Q83.298-62.061 83.433-62.216Q83.568-62.372 83.626-62.580Q83.640-62.635 83.694-62.635L83.807-62.635Q83.838-62.635 83.860-62.611Q83.882-62.587 83.882-62.553L83.882-62.532Q83.797-62.245 83.609-62.047Q83.421-61.849 83.156-61.746Q82.891-61.644 82.597-61.644Q82.166-61.644 81.779-61.850Q81.391-62.057 81.156-62.420Q80.922-62.782 80.922-63.223M84.429-63.247Q84.429-63.568 84.554-63.857Q84.679-64.146 84.904-64.369Q85.130-64.593 85.426-64.713Q85.721-64.833 86.039-64.833Q86.367-64.833 86.629-64.733Q86.890-64.634 87.066-64.452Q87.242-64.269 87.336-64.011Q87.430-63.753 87.430-63.421Q87.430-63.329 87.348-63.308L85.092-63.308L85.092-63.247Q85.092-62.659 85.376-62.276Q85.660-61.893 86.227-61.893Q86.548-61.893 86.817-62.086Q87.085-62.279 87.174-62.594Q87.181-62.635 87.256-62.649L87.348-62.649Q87.430-62.625 87.430-62.553Q87.430-62.546 87.423-62.519Q87.311-62.122 86.940-61.883Q86.569-61.644 86.145-61.644Q85.708-61.644 85.308-61.852Q84.908-62.061 84.668-62.428Q84.429-62.795 84.429-63.247M85.099-63.517L86.914-63.517Q86.914-63.794 86.817-64.046Q86.719-64.299 86.521-64.455Q86.323-64.610 86.039-64.610Q85.762-64.610 85.549-64.452Q85.335-64.293 85.217-64.038Q85.099-63.783 85.099-63.517M89.700-61.712L88.066-61.712L88.066-61.992Q88.295-61.992 88.444-62.026Q88.592-62.061 88.592-62.201L88.592-64.050Q88.592-64.320 88.485-64.381Q88.377-64.443 88.066-64.443L88.066-64.723L89.125-64.798L89.125-64.149Q89.296-64.457 89.601-64.628Q89.905-64.798 90.250-64.798Q90.756-64.798 91.040-64.575Q91.323-64.351 91.323-63.855L91.323-62.201Q91.323-62.064 91.472-62.028Q91.621-61.992 91.846-61.992L91.846-61.712L90.216-61.712L90.216-61.992Q90.445-61.992 90.594-62.026Q90.742-62.061 90.742-62.201L90.742-63.841Q90.742-64.176 90.623-64.376Q90.503-64.576 90.188-64.576Q89.918-64.576 89.684-64.440Q89.450-64.303 89.312-64.069Q89.173-63.835 89.173-63.561L89.173-62.201Q89.173-62.064 89.324-62.028Q89.474-61.992 89.700-61.992L89.700-61.712M92.434-63.223Q92.434-63.561 92.574-63.852Q92.714-64.142 92.959-64.356Q93.203-64.569 93.507-64.684Q93.812-64.798 94.136-64.798Q94.406-64.798 94.669-64.699Q94.933-64.600 95.124-64.422L95.124-65.820Q95.124-66.090 95.016-66.152Q94.909-66.213 94.598-66.213L94.598-66.494L95.674-66.569L95.674-62.385Q95.674-62.197 95.729-62.114Q95.784-62.030 95.885-62.011Q95.985-61.992 96.201-61.992L96.201-61.712L95.093-61.644L95.093-62.061Q94.676-61.644 94.051-61.644Q93.620-61.644 93.248-61.856Q92.875-62.067 92.655-62.428Q92.434-62.789 92.434-63.223M94.109-61.866Q94.317-61.866 94.504-61.938Q94.690-62.009 94.844-62.146Q94.998-62.283 95.093-62.461L95.093-64.070Q95.008-64.217 94.863-64.337Q94.717-64.457 94.548-64.516Q94.379-64.576 94.198-64.576Q93.637-64.576 93.369-64.187Q93.101-63.797 93.101-63.216Q93.101-62.645 93.335-62.255Q93.569-61.866 94.109-61.866\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-128.416 62.978)\">\u003Cpath d=\"M101.254-61.712L99.620-61.712L99.620-61.992Q99.849-61.992 99.998-62.026Q100.147-62.061 100.147-62.201L100.147-64.050Q100.147-64.320 100.039-64.381Q99.931-64.443 99.620-64.443L99.620-64.723L100.680-64.798L100.680-64.149Q100.851-64.457 101.155-64.628Q101.459-64.798 101.804-64.798Q102.310-64.798 102.594-64.575Q102.878-64.351 102.878-63.855L102.878-62.201Q102.878-62.064 103.026-62.028Q103.175-61.992 103.401-61.992L103.401-61.712L101.770-61.712L101.770-61.992Q101.999-61.992 102.148-62.026Q102.297-62.061 102.297-62.201L102.297-63.841Q102.297-64.176 102.177-64.376Q102.057-64.576 101.743-64.576Q101.473-64.576 101.239-64.440Q101.005-64.303 100.866-64.069Q100.728-63.835 100.728-63.561L100.728-62.201Q100.728-62.064 100.878-62.028Q101.029-61.992 101.254-61.992L101.254-61.712M103.947-63.247Q103.947-63.568 104.072-63.857Q104.197-64.146 104.423-64.369Q104.648-64.593 104.944-64.713Q105.239-64.833 105.557-64.833Q105.885-64.833 106.147-64.733Q106.408-64.634 106.584-64.452Q106.760-64.269 106.854-64.011Q106.948-63.753 106.948-63.421Q106.948-63.329 106.866-63.308L104.611-63.308L104.611-63.247Q104.611-62.659 104.894-62.276Q105.178-61.893 105.745-61.893Q106.067-61.893 106.335-62.086Q106.603-62.279 106.692-62.594Q106.699-62.635 106.774-62.649L106.866-62.649Q106.948-62.625 106.948-62.553Q106.948-62.546 106.942-62.519Q106.829-62.122 106.458-61.883Q106.087-61.644 105.663-61.644Q105.226-61.644 104.826-61.852Q104.426-62.061 104.187-62.428Q103.947-62.795 103.947-63.247M104.617-63.517L106.432-63.517Q106.432-63.794 106.335-64.046Q106.237-64.299 106.039-64.455Q105.841-64.610 105.557-64.610Q105.280-64.610 105.067-64.452Q104.853-64.293 104.735-64.038Q104.617-63.783 104.617-63.517M107.594-62.440Q107.594-62.772 107.818-62.999Q108.042-63.226 108.386-63.354Q108.729-63.483 109.102-63.535Q109.474-63.588 109.779-63.588L109.779-63.841Q109.779-64.046 109.671-64.226Q109.563-64.405 109.382-64.508Q109.201-64.610 108.992-64.610Q108.586-64.610 108.350-64.518Q108.439-64.481 108.485-64.397Q108.531-64.313 108.531-64.211Q108.531-64.115 108.485-64.036Q108.439-63.958 108.358-63.913Q108.278-63.869 108.189-63.869Q108.039-63.869 107.938-63.966Q107.837-64.064 107.837-64.211Q107.837-64.833 108.992-64.833Q109.204-64.833 109.454-64.769Q109.703-64.706 109.905-64.587Q110.107-64.467 110.233-64.282Q110.360-64.098 110.360-63.855L110.360-62.279Q110.360-62.163 110.421-62.067Q110.483-61.972 110.595-61.972Q110.705-61.972 110.770-62.066Q110.835-62.160 110.835-62.279L110.835-62.727L111.101-62.727L111.101-62.279Q111.101-62.009 110.874-61.844Q110.647-61.678 110.366-61.678Q110.158-61.678 110.021-61.832Q109.884-61.985 109.861-62.201Q109.714-61.934 109.432-61.789Q109.150-61.644 108.825-61.644Q108.548-61.644 108.264-61.719Q107.981-61.794 107.788-61.973Q107.594-62.153 107.594-62.440M108.210-62.440Q108.210-62.266 108.310-62.136Q108.411-62.006 108.567-61.936Q108.722-61.866 108.886-61.866Q109.105-61.866 109.314-61.963Q109.522-62.061 109.650-62.242Q109.779-62.423 109.779-62.649L109.779-63.377Q109.454-63.377 109.088-63.286Q108.722-63.195 108.466-62.983Q108.210-62.772 108.210-62.440M113.268-61.712L111.532-61.712L111.532-61.992Q111.761-61.992 111.910-62.026Q112.058-62.061 112.058-62.201L112.058-64.050Q112.058-64.320 111.951-64.381Q111.843-64.443 111.532-64.443L111.532-64.723L112.561-64.798L112.561-64.091Q112.691-64.399 112.933-64.598Q113.176-64.798 113.494-64.798Q113.713-64.798 113.883-64.674Q114.054-64.549 114.054-64.337Q114.054-64.200 113.955-64.101Q113.856-64.002 113.723-64.002Q113.586-64.002 113.487-64.101Q113.388-64.200 113.388-64.337Q113.388-64.477 113.487-64.576Q113.196-64.576 112.997-64.380Q112.797-64.183 112.704-63.889Q112.612-63.595 112.612-63.315L112.612-62.201Q112.612-61.992 113.268-61.992\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\">\u003Cg fill=\"var(--tk-warn)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M70.600-69.712L70.333-69.712L70.333-73.820Q70.333-74.090 70.226-74.152Q70.118-74.213 69.807-74.213L69.807-74.494L70.887-74.569L70.887-72.399Q71.096-72.590 71.381-72.694Q71.666-72.798 71.964-72.798Q72.282-72.798 72.579-72.677Q72.876-72.556 73.099-72.340Q73.321-72.125 73.447-71.840Q73.574-71.554 73.574-71.223Q73.574-70.778 73.334-70.414Q73.095-70.050 72.702-69.847Q72.309-69.644 71.865-69.644Q71.670-69.644 71.480-69.700Q71.291-69.756 71.130-69.861Q70.969-69.965 70.829-70.126L70.600-69.712M70.915-72.057L70.915-70.440Q71.051-70.180 71.292-70.023Q71.533-69.866 71.810-69.866Q72.104-69.866 72.316-69.973Q72.528-70.081 72.661-70.273Q72.794-70.464 72.853-70.703Q72.911-70.942 72.911-71.223Q72.911-71.582 72.817-71.886Q72.723-72.190 72.495-72.383Q72.268-72.576 71.902-72.576Q71.602-72.576 71.335-72.440Q71.068-72.303 70.915-72.057\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M74.384-71.247Q74.384-71.568 74.509-71.857Q74.634-72.146 74.860-72.369Q75.085-72.593 75.381-72.713Q75.676-72.833 75.994-72.833Q76.322-72.833 76.584-72.733Q76.845-72.634 77.021-72.452Q77.197-72.269 77.291-72.011Q77.385-71.753 77.385-71.421Q77.385-71.329 77.303-71.308L75.048-71.308L75.048-71.247Q75.048-70.659 75.331-70.276Q75.615-69.893 76.182-69.893Q76.504-69.893 76.772-70.086Q77.040-70.279 77.129-70.594Q77.136-70.635 77.211-70.649L77.303-70.649Q77.385-70.625 77.385-70.553Q77.385-70.546 77.379-70.519Q77.266-70.122 76.895-69.883Q76.524-69.644 76.100-69.644Q75.663-69.644 75.263-69.852Q74.863-70.061 74.624-70.428Q74.384-70.795 74.384-71.247M75.054-71.517L76.869-71.517Q76.869-71.794 76.772-72.046Q76.674-72.299 76.476-72.455Q76.278-72.610 75.994-72.610Q75.717-72.610 75.504-72.452Q75.290-72.293 75.172-72.038Q75.054-71.783 75.054-71.517M78.308-68.577Q78.438-68.509 78.575-68.509Q78.746-68.509 78.896-68.598Q79.047-68.687 79.158-68.832Q79.269-68.977 79.347-69.145L79.611-69.712L78.442-72.238Q78.366-72.385 78.236-72.417Q78.107-72.450 77.874-72.450L77.874-72.730L79.395-72.730L79.395-72.450Q79.047-72.450 79.047-72.303Q79.050-72.282 79.052-72.265Q79.053-72.248 79.053-72.238L79.911-70.379L80.684-72.050Q80.718-72.118 80.718-72.197Q80.718-72.310 80.634-72.380Q80.550-72.450 80.438-72.450L80.438-72.730L81.634-72.730L81.634-72.450Q81.415-72.450 81.243-72.346Q81.070-72.241 80.978-72.050L79.641-69.145Q79.470-68.775 79.200-68.529Q78.930-68.283 78.575-68.283Q78.305-68.283 78.086-68.449Q77.867-68.615 77.867-68.878Q77.867-69.015 77.960-69.104Q78.052-69.192 78.192-69.192Q78.329-69.192 78.418-69.104Q78.507-69.015 78.507-68.878Q78.507-68.775 78.454-68.697Q78.401-68.618 78.308-68.577\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M81.926-71.195Q81.926-71.537 82.061-71.836Q82.196-72.135 82.436-72.359Q82.675-72.583 82.993-72.708Q83.311-72.833 83.642-72.833Q84.087-72.833 84.486-72.617Q84.886-72.402 85.121-72.024Q85.355-71.647 85.355-71.195Q85.355-70.854 85.213-70.570Q85.071-70.286 84.827-70.079Q84.582-69.873 84.273-69.758Q83.964-69.644 83.642-69.644Q83.212-69.644 82.810-69.845Q82.408-70.047 82.167-70.399Q81.926-70.751 81.926-71.195M83.642-69.893Q84.244-69.893 84.468-70.271Q84.692-70.649 84.692-71.281Q84.692-71.893 84.457-72.252Q84.223-72.610 83.642-72.610Q82.590-72.610 82.590-71.281Q82.590-70.649 82.815-70.271Q83.041-69.893 83.642-69.893M87.631-69.712L85.997-69.712L85.997-69.992Q86.226-69.992 86.375-70.026Q86.524-70.061 86.524-70.201L86.524-72.050Q86.524-72.320 86.416-72.381Q86.308-72.443 85.997-72.443L85.997-72.723L87.057-72.798L87.057-72.149Q87.228-72.457 87.532-72.628Q87.836-72.798 88.181-72.798Q88.687-72.798 88.971-72.575Q89.255-72.351 89.255-71.855L89.255-70.201Q89.255-70.064 89.403-70.028Q89.552-69.992 89.778-69.992L89.778-69.712L88.147-69.712L88.147-69.992Q88.376-69.992 88.525-70.026Q88.674-70.061 88.674-70.201L88.674-71.841Q88.674-72.176 88.554-72.376Q88.434-72.576 88.120-72.576Q87.850-72.576 87.616-72.440Q87.382-72.303 87.243-72.069Q87.105-71.835 87.105-71.561L87.105-70.201Q87.105-70.064 87.255-70.028Q87.405-69.992 87.631-69.992L87.631-69.712M90.365-71.223Q90.365-71.561 90.506-71.852Q90.646-72.142 90.890-72.356Q91.134-72.569 91.439-72.684Q91.743-72.798 92.068-72.798Q92.338-72.798 92.601-72.699Q92.864-72.600 93.055-72.422L93.055-73.820Q93.055-74.090 92.948-74.152Q92.840-74.213 92.529-74.213L92.529-74.494L93.606-74.569L93.606-70.385Q93.606-70.197 93.660-70.114Q93.715-70.030 93.816-70.011Q93.917-69.992 94.132-69.992L94.132-69.712L93.025-69.644L93.025-70.061Q92.608-69.644 91.982-69.644Q91.551-69.644 91.179-69.856Q90.806-70.067 90.586-70.428Q90.365-70.789 90.365-71.223M92.040-69.866Q92.249-69.866 92.435-69.938Q92.621-70.009 92.775-70.146Q92.929-70.283 93.025-70.461L93.025-72.070Q92.939-72.217 92.794-72.337Q92.649-72.457 92.479-72.516Q92.310-72.576 92.129-72.576Q91.569-72.576 91.300-72.187Q91.032-71.797 91.032-71.216Q91.032-70.645 91.266-70.255Q91.500-69.866 92.040-69.866\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M97.950-69.866Q97.950-69.914 97.957-69.938L98.469-72.002Q98.503-72.129 98.503-72.245Q98.503-72.385 98.450-72.481Q98.397-72.576 98.274-72.576Q98.052-72.576 97.951-72.349Q97.851-72.122 97.741-71.701Q97.731-71.636 97.669-71.636L97.560-71.636Q97.529-71.636 97.505-71.667Q97.481-71.698 97.481-71.722L97.481-71.749Q97.594-72.183 97.775-72.491Q97.957-72.798 98.288-72.798Q98.544-72.798 98.756-72.670Q98.968-72.542 99.030-72.316Q99.440-72.798 100.007-72.798Q100.294-72.798 100.520-72.662Q100.746-72.525 100.746-72.258Q100.746-72.070 100.626-71.937Q100.506-71.804 100.325-71.804Q100.209-71.804 100.127-71.877Q100.045-71.951 100.045-72.070Q100.045-72.211 100.136-72.325Q100.226-72.440 100.359-72.470Q100.209-72.576 99.994-72.576Q99.399-72.576 99.002-71.817L98.517-69.900Q98.493-69.794 98.399-69.719Q98.305-69.644 98.189-69.644Q98.090-69.644 98.020-69.705Q97.950-69.767 97.950-69.866\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M101.809-70.132Q101.809-70.300 101.932-70.423Q102.055-70.546 102.230-70.546Q102.397-70.546 102.520-70.423Q102.643-70.300 102.643-70.132Q102.643-69.958 102.520-69.835Q102.397-69.712 102.230-69.712Q102.055-69.712 101.932-69.835Q101.809-69.958 101.809-70.132M101.809-72.316Q101.809-72.484 101.932-72.607Q102.055-72.730 102.230-72.730Q102.397-72.730 102.520-72.607Q102.643-72.484 102.643-72.316Q102.643-72.142 102.520-72.019Q102.397-71.896 102.230-71.896Q102.055-71.896 101.932-72.019Q101.809-72.142 101.809-72.316\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(62.061 42.739)\">\u003Cpath d=\"M71.437-60.355L69.807-60.355L69.807-60.635Q70.036-60.635 70.185-60.670Q70.333-60.704 70.333-60.844L70.333-64.190Q70.333-64.361 70.197-64.402Q70.060-64.443 69.807-64.443L69.807-64.723L70.887-64.798L70.887-64.392Q71.109-64.593 71.396-64.696Q71.684-64.798 71.991-64.798Q72.418-64.798 72.782-64.585Q73.146-64.371 73.360-64.007Q73.574-63.643 73.574-63.223Q73.574-62.778 73.334-62.414Q73.095-62.050 72.702-61.847Q72.309-61.644 71.865-61.644Q71.598-61.644 71.350-61.744Q71.103-61.845 70.915-62.026L70.915-60.844Q70.915-60.707 71.063-60.671Q71.212-60.635 71.437-60.635L71.437-60.355M70.915-64.043L70.915-62.433Q71.048-62.180 71.291-62.023Q71.533-61.866 71.810-61.866Q72.138-61.866 72.391-62.067Q72.644-62.269 72.777-62.587Q72.911-62.905 72.911-63.223Q72.911-63.452 72.846-63.681Q72.781-63.910 72.653-64.108Q72.524-64.306 72.330-64.426Q72.135-64.545 71.902-64.545Q71.608-64.545 71.340-64.416Q71.072-64.286 70.915-64.043M75.959-61.712L74.223-61.712L74.223-61.992Q74.452-61.992 74.601-62.026Q74.750-62.061 74.750-62.201L74.750-64.050Q74.750-64.320 74.642-64.381Q74.534-64.443 74.223-64.443L74.223-64.723L75.252-64.798L75.252-64.091Q75.382-64.399 75.625-64.598Q75.867-64.798 76.185-64.798Q76.404-64.798 76.575-64.674Q76.746-64.549 76.746-64.337Q76.746-64.200 76.646-64.101Q76.547-64.002 76.414-64.002Q76.277-64.002 76.178-64.101Q76.079-64.200 76.079-64.337Q76.079-64.477 76.178-64.576Q75.888-64.576 75.688-64.380Q75.488-64.183 75.396-63.889Q75.303-63.595 75.303-63.315L75.303-62.201Q75.303-61.992 75.959-61.992L75.959-61.712M77.904-62.546L77.904-64.050Q77.904-64.320 77.797-64.381Q77.689-64.443 77.378-64.443L77.378-64.723L78.485-64.798L78.485-62.566L78.485-62.546Q78.485-62.266 78.537-62.122Q78.588-61.979 78.730-61.922Q78.872-61.866 79.159-61.866Q79.412-61.866 79.617-62.006Q79.822-62.146 79.938-62.372Q80.054-62.597 80.054-62.847L80.054-64.050Q80.054-64.320 79.947-64.381Q79.839-64.443 79.528-64.443L79.528-64.723L80.635-64.798L80.635-62.385Q80.635-62.194 80.688-62.112Q80.741-62.030 80.842-62.011Q80.943-61.992 81.158-61.992L81.158-61.712L80.082-61.644L80.082-62.208Q79.972-62.026 79.827-61.903Q79.682-61.780 79.495-61.712Q79.309-61.644 79.107-61.644Q77.904-61.644 77.904-62.546M83.428-61.712L81.794-61.712L81.794-61.992Q82.023-61.992 82.172-62.026Q82.320-62.061 82.320-62.201L82.320-64.050Q82.320-64.320 82.213-64.381Q82.105-64.443 81.794-64.443L81.794-64.723L82.854-64.798L82.854-64.149Q83.024-64.457 83.329-64.628Q83.633-64.798 83.978-64.798Q84.484-64.798 84.768-64.575Q85.051-64.351 85.051-63.855L85.051-62.201Q85.051-62.064 85.200-62.028Q85.349-61.992 85.574-61.992L85.574-61.712L83.944-61.712L83.944-61.992Q84.173-61.992 84.322-62.026Q84.470-62.061 84.470-62.201L84.470-63.841Q84.470-64.176 84.351-64.376Q84.231-64.576 83.916-64.576Q83.646-64.576 83.412-64.440Q83.178-64.303 83.040-64.069Q82.901-63.835 82.901-63.561L82.901-62.201Q82.901-62.064 83.052-62.028Q83.202-61.992 83.428-61.992L83.428-61.712M86.121-63.247Q86.121-63.568 86.246-63.857Q86.371-64.146 86.596-64.369Q86.822-64.593 87.117-64.713Q87.413-64.833 87.731-64.833Q88.059-64.833 88.321-64.733Q88.582-64.634 88.758-64.452Q88.934-64.269 89.028-64.011Q89.122-63.753 89.122-63.421Q89.122-63.329 89.040-63.308L86.784-63.308L86.784-63.247Q86.784-62.659 87.068-62.276Q87.352-61.893 87.919-61.893Q88.240-61.893 88.509-62.086Q88.777-62.279 88.866-62.594Q88.873-62.635 88.948-62.649L89.040-62.649Q89.122-62.625 89.122-62.553Q89.122-62.546 89.115-62.519Q89.002-62.122 88.632-61.883Q88.261-61.644 87.837-61.644Q87.399-61.644 87-61.852Q86.600-62.061 86.360-62.428Q86.121-62.795 86.121-63.247M86.791-63.517L88.606-63.517Q88.606-63.794 88.509-64.046Q88.411-64.299 88.213-64.455Q88.015-64.610 87.731-64.610Q87.454-64.610 87.240-64.452Q87.027-64.293 86.909-64.038Q86.791-63.783 86.791-63.517M89.710-63.223Q89.710-63.561 89.850-63.852Q89.990-64.142 90.235-64.356Q90.479-64.569 90.783-64.684Q91.087-64.798 91.412-64.798Q91.682-64.798 91.945-64.699Q92.208-64.600 92.400-64.422L92.400-65.820Q92.400-66.090 92.292-66.152Q92.185-66.213 91.874-66.213L91.874-66.494L92.950-66.569L92.950-62.385Q92.950-62.197 93.005-62.114Q93.060-62.030 93.160-62.011Q93.261-61.992 93.477-61.992L93.477-61.712L92.369-61.644L92.369-62.061Q91.952-61.644 91.327-61.644Q90.896-61.644 90.523-61.856Q90.151-62.067 89.930-62.428Q89.710-62.789 89.710-63.223M91.385-61.866Q91.593-61.866 91.780-61.938Q91.966-62.009 92.120-62.146Q92.273-62.283 92.369-62.461L92.369-64.070Q92.284-64.217 92.138-64.337Q91.993-64.457 91.824-64.516Q91.655-64.576 91.474-64.576Q90.913-64.576 90.645-64.187Q90.376-63.797 90.376-63.216Q90.376-62.645 90.611-62.255Q90.845-61.866 91.385-61.866\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg fill=\"var(--tk-good)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(-39.725 100.73)\">\u003Cpath d=\"M71.181-69.739L70.200-72.238Q70.139-72.381 70.021-72.416Q69.903-72.450 69.687-72.450L69.687-72.730L71.167-72.730L71.167-72.450Q70.788-72.450 70.788-72.289Q70.788-72.279 70.802-72.238L71.516-70.406L72.189-72.111Q72.159-72.183 72.159-72.211Q72.159-72.238 72.131-72.238Q72.070-72.385 71.952-72.417Q71.834-72.450 71.622-72.450L71.622-72.730L73.020-72.730L73.020-72.450Q72.644-72.450 72.644-72.289Q72.644-72.258 72.651-72.238L73.406-70.300L74.093-72.050Q74.114-72.101 74.114-72.156Q74.114-72.296 74.001-72.373Q73.888-72.450 73.748-72.450L73.748-72.730L74.968-72.730L74.968-72.450Q74.763-72.450 74.608-72.344Q74.452-72.238 74.380-72.050L73.475-69.739Q73.440-69.644 73.328-69.644L73.259-69.644Q73.150-69.644 73.112-69.739L72.330-71.742L71.543-69.739Q71.509-69.644 71.396-69.644L71.328-69.644Q71.219-69.644 71.181-69.739M77.115-69.712L75.563-69.712L75.563-69.992Q75.789-69.992 75.937-70.026Q76.086-70.061 76.086-70.201L76.086-72.050Q76.086-72.238 76.038-72.322Q75.990-72.405 75.893-72.424Q75.795-72.443 75.583-72.443L75.583-72.723L76.640-72.798L76.640-70.201Q76.640-70.061 76.771-70.026Q76.903-69.992 77.115-69.992L77.115-69.712M75.843-74.019Q75.843-74.190 75.966-74.309Q76.089-74.429 76.260-74.429Q76.428-74.429 76.551-74.309Q76.674-74.190 76.674-74.019Q76.674-73.844 76.551-73.721Q76.428-73.598 76.260-73.598Q76.089-73.598 75.966-73.721Q75.843-73.844 75.843-74.019M78.287-70.553L78.287-72.450L77.648-72.450L77.648-72.672Q77.966-72.672 78.183-72.882Q78.400-73.092 78.501-73.402Q78.602-73.711 78.602-74.019L78.868-74.019L78.868-72.730L79.945-72.730L79.945-72.450L78.868-72.450L78.868-70.566Q78.868-70.290 78.972-70.091Q79.077-69.893 79.336-69.893Q79.494-69.893 79.600-69.997Q79.706-70.102 79.755-70.255Q79.805-70.409 79.805-70.566L79.805-70.980L80.071-70.980L80.071-70.553Q80.071-70.327 79.972-70.117Q79.873-69.907 79.688-69.775Q79.504-69.644 79.275-69.644Q78.837-69.644 78.562-69.881Q78.287-70.119 78.287-70.553M82.563-69.712L80.929-69.712L80.929-69.992Q81.158-69.992 81.307-70.026Q81.456-70.061 81.456-70.201L81.456-73.820Q81.456-74.090 81.348-74.152Q81.240-74.213 80.929-74.213L80.929-74.494L82.009-74.569L82.009-72.183Q82.115-72.368 82.293-72.510Q82.471-72.651 82.679-72.725Q82.888-72.798 83.113-72.798Q83.619-72.798 83.903-72.575Q84.187-72.351 84.187-71.855L84.187-70.201Q84.187-70.064 84.335-70.028Q84.484-69.992 84.709-69.992L84.709-69.712L83.079-69.712L83.079-69.992Q83.308-69.992 83.457-70.026Q83.605-70.061 83.605-70.201L83.605-71.841Q83.605-72.176 83.486-72.376Q83.366-72.576 83.052-72.576Q82.782-72.576 82.548-72.440Q82.313-72.303 82.175-72.069Q82.037-71.835 82.037-71.561L82.037-70.201Q82.037-70.064 82.187-70.028Q82.337-69.992 82.563-69.992L82.563-69.712M86.914-69.712L85.362-69.712L85.362-69.992Q85.588-69.992 85.737-70.026Q85.885-70.061 85.885-70.201L85.885-72.050Q85.885-72.238 85.837-72.322Q85.790-72.405 85.692-72.424Q85.595-72.443 85.383-72.443L85.383-72.723L86.439-72.798L86.439-70.201Q86.439-70.061 86.571-70.026Q86.702-69.992 86.914-69.992L86.914-69.712M85.643-74.019Q85.643-74.190 85.766-74.309Q85.889-74.429 86.060-74.429Q86.227-74.429 86.350-74.309Q86.473-74.190 86.473-74.019Q86.473-73.844 86.350-73.721Q86.227-73.598 86.060-73.598Q85.889-73.598 85.766-73.721Q85.643-73.844 85.643-74.019M89.242-69.712L87.608-69.712L87.608-69.992Q87.837-69.992 87.986-70.026Q88.134-70.061 88.134-70.201L88.134-72.050Q88.134-72.320 88.027-72.381Q87.919-72.443 87.608-72.443L87.608-72.723L88.667-72.798L88.667-72.149Q88.838-72.457 89.143-72.628Q89.447-72.798 89.792-72.798Q90.298-72.798 90.582-72.575Q90.865-72.351 90.865-71.855L90.865-70.201Q90.865-70.064 91.014-70.028Q91.163-69.992 91.388-69.992L91.388-69.712L89.758-69.712L89.758-69.992Q89.987-69.992 90.135-70.026Q90.284-70.061 90.284-70.201L90.284-71.841Q90.284-72.176 90.165-72.376Q90.045-72.576 89.730-72.576Q89.460-72.576 89.226-72.440Q88.992-72.303 88.854-72.069Q88.715-71.835 88.715-71.561L88.715-70.201Q88.715-70.064 88.866-70.028Q89.016-69.992 89.242-69.992\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-39.725 100.73)\">\u003Cpath d=\"M95.151-69.866Q95.151-69.914 95.158-69.938L95.670-72.002Q95.704-72.129 95.704-72.245Q95.704-72.385 95.651-72.481Q95.598-72.576 95.475-72.576Q95.253-72.576 95.152-72.349Q95.052-72.122 94.942-71.701Q94.932-71.636 94.870-71.636L94.761-71.636Q94.730-71.636 94.706-71.667Q94.682-71.698 94.682-71.722L94.682-71.749Q94.795-72.183 94.976-72.491Q95.158-72.798 95.489-72.798Q95.745-72.798 95.957-72.670Q96.169-72.542 96.231-72.316Q96.641-72.798 97.208-72.798Q97.495-72.798 97.721-72.662Q97.947-72.525 97.947-72.258Q97.947-72.070 97.827-71.937Q97.707-71.804 97.526-71.804Q97.410-71.804 97.328-71.877Q97.246-71.951 97.246-72.070Q97.246-72.211 97.337-72.325Q97.427-72.440 97.560-72.470Q97.410-72.576 97.195-72.576Q96.600-72.576 96.203-71.817L95.718-69.900Q95.694-69.794 95.600-69.719Q95.506-69.644 95.390-69.644Q95.291-69.644 95.221-69.705Q95.151-69.767 95.151-69.866\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-39.725 100.73)\">\u003Cpath d=\"M99.010-70.132Q99.010-70.300 99.133-70.423Q99.256-70.546 99.431-70.546Q99.598-70.546 99.721-70.423Q99.844-70.300 99.844-70.132Q99.844-69.958 99.721-69.835Q99.598-69.712 99.431-69.712Q99.256-69.712 99.133-69.835Q99.010-69.958 99.010-70.132M99.010-72.316Q99.010-72.484 99.133-72.607Q99.256-72.730 99.431-72.730Q99.598-72.730 99.721-72.607Q99.844-72.484 99.844-72.316Q99.844-72.142 99.721-72.019Q99.598-71.896 99.431-71.896Q99.256-71.896 99.133-72.019Q99.010-72.142 99.010-72.316\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-39.725 100.73)\">\u003Cpath d=\"M70.552-61.719L70.552-62.782Q70.552-62.806 70.580-62.833Q70.607-62.860 70.631-62.860L70.740-62.860Q70.805-62.860 70.819-62.802Q70.915-62.368 71.161-62.117Q71.407-61.866 71.821-61.866Q72.162-61.866 72.415-61.999Q72.668-62.132 72.668-62.440Q72.668-62.597 72.574-62.712Q72.480-62.826 72.342-62.895Q72.203-62.963 72.036-63.001L71.455-63.100Q71.099-63.168 70.826-63.389Q70.552-63.609 70.552-63.951Q70.552-64.200 70.664-64.375Q70.775-64.549 70.961-64.648Q71.147-64.747 71.363-64.790Q71.578-64.833 71.821-64.833Q72.234-64.833 72.514-64.651L72.730-64.826Q72.740-64.829 72.747-64.831Q72.754-64.833 72.764-64.833L72.815-64.833Q72.842-64.833 72.866-64.809Q72.890-64.785 72.890-64.757L72.890-63.910Q72.890-63.889 72.866-63.862Q72.842-63.835 72.815-63.835L72.702-63.835Q72.675-63.835 72.649-63.860Q72.624-63.886 72.624-63.910Q72.624-64.146 72.518-64.310Q72.412-64.474 72.229-64.556Q72.046-64.638 71.814-64.638Q71.486-64.638 71.229-64.535Q70.973-64.433 70.973-64.156Q70.973-63.961 71.156-63.852Q71.339-63.742 71.568-63.701L72.142-63.595Q72.388-63.547 72.602-63.419Q72.815-63.291 72.952-63.088Q73.089-62.884 73.089-62.635Q73.089-62.122 72.723-61.883Q72.357-61.644 71.821-61.644Q71.325-61.644 70.993-61.938L70.727-61.664Q70.706-61.644 70.679-61.644L70.631-61.644Q70.607-61.644 70.580-61.671Q70.552-61.698 70.552-61.719M73.676-63.247Q73.676-63.568 73.801-63.857Q73.926-64.146 74.152-64.369Q74.377-64.593 74.673-64.713Q74.968-64.833 75.286-64.833Q75.614-64.833 75.876-64.733Q76.137-64.634 76.313-64.452Q76.489-64.269 76.583-64.011Q76.677-63.753 76.677-63.421Q76.677-63.329 76.595-63.308L74.340-63.308L74.340-63.247Q74.340-62.659 74.623-62.276Q74.907-61.893 75.474-61.893Q75.796-61.893 76.064-62.086Q76.332-62.279 76.421-62.594Q76.428-62.635 76.503-62.649L76.595-62.649Q76.677-62.625 76.677-62.553Q76.677-62.546 76.671-62.519Q76.558-62.122 76.187-61.883Q75.816-61.644 75.392-61.644Q74.955-61.644 74.555-61.852Q74.155-62.061 73.916-62.428Q73.676-62.795 73.676-63.247M74.346-63.517L76.161-63.517Q76.161-63.794 76.064-64.046Q75.967-64.299 75.768-64.455Q75.570-64.610 75.286-64.610Q75.009-64.610 74.796-64.452Q74.582-64.293 74.464-64.038Q74.346-63.783 74.346-63.517M77.323-62.440Q77.323-62.772 77.547-62.999Q77.771-63.226 78.115-63.354Q78.458-63.483 78.831-63.535Q79.203-63.588 79.508-63.588L79.508-63.841Q79.508-64.046 79.400-64.226Q79.292-64.405 79.111-64.508Q78.930-64.610 78.721-64.610Q78.315-64.610 78.079-64.518Q78.168-64.481 78.214-64.397Q78.260-64.313 78.260-64.211Q78.260-64.115 78.214-64.036Q78.168-63.958 78.087-63.913Q78.007-63.869 77.918-63.869Q77.768-63.869 77.667-63.966Q77.566-64.064 77.566-64.211Q77.566-64.833 78.721-64.833Q78.933-64.833 79.183-64.769Q79.432-64.706 79.634-64.587Q79.836-64.467 79.962-64.282Q80.089-64.098 80.089-63.855L80.089-62.279Q80.089-62.163 80.150-62.067Q80.212-61.972 80.324-61.972Q80.434-61.972 80.499-62.066Q80.564-62.160 80.564-62.279L80.564-62.727L80.830-62.727L80.830-62.279Q80.830-62.009 80.603-61.844Q80.376-61.678 80.095-61.678Q79.887-61.678 79.750-61.832Q79.613-61.985 79.590-62.201Q79.443-61.934 79.161-61.789Q78.879-61.644 78.554-61.644Q78.277-61.644 77.993-61.719Q77.710-61.794 77.517-61.973Q77.323-62.153 77.323-62.440M77.939-62.440Q77.939-62.266 78.040-62.136Q78.140-62.006 78.296-61.936Q78.451-61.866 78.615-61.866Q78.834-61.866 79.043-61.963Q79.251-62.061 79.379-62.242Q79.508-62.423 79.508-62.649L79.508-63.377Q79.183-63.377 78.817-63.286Q78.451-63.195 78.195-62.983Q77.939-62.772 77.939-62.440M82.997-61.712L81.261-61.712L81.261-61.992Q81.490-61.992 81.639-62.026Q81.787-62.061 81.787-62.201L81.787-64.050Q81.787-64.320 81.680-64.381Q81.572-64.443 81.261-64.443L81.261-64.723L82.290-64.798L82.290-64.091Q82.420-64.399 82.662-64.598Q82.905-64.798 83.223-64.798Q83.442-64.798 83.613-64.674Q83.783-64.549 83.783-64.337Q83.783-64.200 83.684-64.101Q83.585-64.002 83.452-64.002Q83.315-64.002 83.216-64.101Q83.117-64.200 83.117-64.337Q83.117-64.477 83.216-64.576Q82.925-64.576 82.726-64.380Q82.526-64.183 82.433-63.889Q82.341-63.595 82.341-63.315L82.341-62.201Q82.341-61.992 82.997-61.992L82.997-61.712M84.368-63.223Q84.368-63.551 84.503-63.852Q84.638-64.152 84.874-64.373Q85.110-64.593 85.414-64.713Q85.718-64.833 86.043-64.833Q86.549-64.833 86.897-64.730Q87.246-64.628 87.246-64.252Q87.246-64.105 87.148-64.004Q87.051-63.903 86.904-63.903Q86.750-63.903 86.651-64.002Q86.552-64.101 86.552-64.252Q86.552-64.440 86.692-64.532Q86.490-64.583 86.050-64.583Q85.694-64.583 85.465-64.387Q85.236-64.190 85.135-63.881Q85.034-63.571 85.034-63.223Q85.034-62.874 85.161-62.568Q85.287-62.262 85.542-62.078Q85.797-61.893 86.152-61.893Q86.374-61.893 86.559-61.977Q86.743-62.061 86.878-62.216Q87.013-62.372 87.071-62.580Q87.085-62.635 87.140-62.635L87.253-62.635Q87.283-62.635 87.306-62.611Q87.328-62.587 87.328-62.553L87.328-62.532Q87.242-62.245 87.054-62.047Q86.866-61.849 86.602-61.746Q86.337-61.644 86.043-61.644Q85.612-61.644 85.224-61.850Q84.836-62.057 84.602-62.420Q84.368-62.782 84.368-63.223\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-39.725 100.73)\">\u003Cpath d=\"M89.409-61.712L87.775-61.712L87.775-61.992Q88.004-61.992 88.153-62.026Q88.302-62.061 88.302-62.201L88.302-65.820Q88.302-66.090 88.194-66.152Q88.086-66.213 87.775-66.213L87.775-66.494L88.855-66.569L88.855-64.183Q88.961-64.368 89.139-64.510Q89.317-64.651 89.525-64.725Q89.734-64.798 89.959-64.798Q90.465-64.798 90.749-64.575Q91.033-64.351 91.033-63.855L91.033-62.201Q91.033-62.064 91.181-62.028Q91.330-61.992 91.556-61.992L91.556-61.712L89.925-61.712L89.925-61.992Q90.154-61.992 90.303-62.026Q90.452-62.061 90.452-62.201L90.452-63.841Q90.452-64.176 90.332-64.376Q90.212-64.576 89.898-64.576Q89.628-64.576 89.394-64.440Q89.160-64.303 89.021-64.069Q88.883-63.835 88.883-63.561L88.883-62.201Q88.883-62.064 89.033-62.028Q89.184-61.992 89.409-61.992L89.409-61.712M92.102-63.247Q92.102-63.568 92.227-63.857Q92.352-64.146 92.578-64.369Q92.803-64.593 93.099-64.713Q93.394-64.833 93.712-64.833Q94.040-64.833 94.302-64.733Q94.563-64.634 94.739-64.452Q94.915-64.269 95.009-64.011Q95.103-63.753 95.103-63.421Q95.103-63.329 95.021-63.308L92.766-63.308L92.766-63.247Q92.766-62.659 93.049-62.276Q93.333-61.893 93.900-61.893Q94.222-61.893 94.490-62.086Q94.758-62.279 94.847-62.594Q94.854-62.635 94.929-62.649L95.021-62.649Q95.103-62.625 95.103-62.553Q95.103-62.546 95.097-62.519Q94.984-62.122 94.613-61.883Q94.242-61.644 93.818-61.644Q93.381-61.644 92.981-61.852Q92.581-62.061 92.342-62.428Q92.102-62.795 92.102-63.247M92.772-63.517L94.587-63.517Q94.587-63.794 94.490-64.046Q94.392-64.299 94.194-64.455Q93.996-64.610 93.712-64.610Q93.435-64.610 93.222-64.452Q93.008-64.293 92.890-64.038Q92.772-63.783 92.772-63.517M95.691-63.223Q95.691-63.561 95.831-63.852Q95.972-64.142 96.216-64.356Q96.460-64.569 96.765-64.684Q97.069-64.798 97.393-64.798Q97.663-64.798 97.927-64.699Q98.190-64.600 98.381-64.422L98.381-65.820Q98.381-66.090 98.274-66.152Q98.166-66.213 97.855-66.213L97.855-66.494L98.932-66.569L98.932-62.385Q98.932-62.197 98.986-62.114Q99.041-62.030 99.142-62.011Q99.243-61.992 99.458-61.992L99.458-61.712L98.350-61.644L98.350-62.061Q97.934-61.644 97.308-61.644Q96.877-61.644 96.505-61.856Q96.132-62.067 95.912-62.428Q95.691-62.789 95.691-63.223M97.366-61.866Q97.575-61.866 97.761-61.938Q97.947-62.009 98.101-62.146Q98.255-62.283 98.350-62.461L98.350-64.070Q98.265-64.217 98.120-64.337Q97.975-64.457 97.805-64.516Q97.636-64.576 97.455-64.576Q96.894-64.576 96.626-64.187Q96.358-63.797 96.358-63.216Q96.358-62.645 96.592-62.255Q96.826-61.866 97.366-61.866\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">Branch-and-bound on the tree itself. The search first descends the near side at each split (solid blue) to the leaf \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">q\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> belongs in, fixing a first candidate. It then unwinds: a far subtree whose splitting line lies beyond the current radius is pruned (red, crossed out); a far subtree within the radius is searched (green check).\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:266.327px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 199.745 138.083\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"var(--tk-accent)\" stroke=\"none\" d=\"M16.664-6.229a2 2 0 1 0-4 0 2 2 0 0 0 4 0m-2 0\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg transform=\"translate(66.245 -45.66)\">\u003Cpath d=\"M-52.286 52.111L-52.263 52.005Q-52.255 51.954-52.173 51.935Q-51.567 51.935-51.567 51.814Q-51.513 51.677-51.501 51.630L-51.181 50.341Q-51.645 50.755-52.118 50.755Q-52.474 50.755-52.743 50.575Q-53.013 50.396-53.153 50.101Q-53.294 49.806-53.294 49.447Q-53.294 49.060-53.132 48.646Q-52.970 48.232-52.686 47.894Q-52.403 47.556-52.034 47.353Q-51.665 47.150-51.263 47.150Q-51.013 47.150-50.796 47.288Q-50.579 47.427-50.462 47.654Q-50.399 47.544-50.192 47.347Q-49.985 47.150-49.888 47.150Q-49.841 47.150-49.808 47.185Q-49.774 47.220-49.774 47.271L-50.880 51.685Q-50.892 51.724-50.911 51.845Q-50.911 51.935-50.407 51.935Q-50.302 51.962-50.302 52.060L-50.333 52.165Q-50.341 52.208-50.423 52.228L-52.188 52.228Q-52.231 52.228-52.259 52.187Q-52.286 52.146-52.286 52.111M-52.102 50.501Q-51.802 50.501-51.522 50.294Q-51.243 50.087-51.048 49.798L-50.614 48.068Q-50.653 47.888-50.739 47.738Q-50.825 47.587-50.962 47.495Q-51.099 47.404-51.278 47.404Q-51.614 47.404-51.886 47.685Q-52.157 47.966-52.317 48.341Q-52.442 48.661-52.540 49.081Q-52.638 49.501-52.638 49.782Q-52.638 50.072-52.505 50.286Q-52.372 50.501-52.102 50.501\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M51.653-6.229c0-20.428-16.56-36.988-36.989-36.988S-22.325-26.657-22.325-6.23-5.765 30.76 14.664 30.76 51.653 14.2 51.653-6.229ZM14.664-6.229l-26.177-26.176\" style=\"stroke-width:.8\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"8\">\u003Cg transform=\"translate(10.943 -87.468)\">\u003Cpath d=\"M-51.376 50.677L-53.356 50.677L-53.356 50.380Q-53.087 50.380-52.919 50.335Q-52.751 50.290-52.751 50.118L-52.751 47.982Q-52.751 47.767-52.813 47.671Q-52.876 47.575-52.993 47.554Q-53.110 47.532-53.356 47.532L-53.356 47.236L-52.188 47.150L-52.188 47.935Q-52.110 47.724-51.958 47.538Q-51.806 47.353-51.606 47.251Q-51.407 47.150-51.181 47.150Q-50.934 47.150-50.743 47.294Q-50.552 47.439-50.552 47.669Q-50.552 47.825-50.657 47.935Q-50.763 48.044-50.919 48.044Q-51.075 48.044-51.184 47.935Q-51.294 47.825-51.294 47.669Q-51.294 47.509-51.188 47.404Q-51.513 47.404-51.727 47.632Q-51.942 47.861-52.038 48.200Q-52.134 48.540-52.134 48.845L-52.134 50.118Q-52.134 50.286-51.907 50.333Q-51.681 50.380-51.376 50.380L-51.376 50.677M-49.974 49.845Q-49.974 49.361-49.571 49.066Q-49.169 48.771-48.618 48.652Q-48.067 48.532-47.575 48.532L-47.575 48.243Q-47.575 48.017-47.690 47.810Q-47.806 47.603-48.003 47.484Q-48.200 47.364-48.431 47.364Q-48.856 47.364-49.142 47.470Q-49.071 47.497-49.024 47.552Q-48.977 47.607-48.952 47.677Q-48.927 47.747-48.927 47.822Q-48.927 47.927-48.977 48.019Q-49.028 48.111-49.120 48.161Q-49.212 48.212-49.317 48.212Q-49.423 48.212-49.515 48.161Q-49.606 48.111-49.657 48.019Q-49.708 47.927-49.708 47.822Q-49.708 47.404-49.319 47.257Q-48.931 47.111-48.431 47.111Q-48.099 47.111-47.745 47.241Q-47.392 47.372-47.163 47.626Q-46.934 47.880-46.934 48.228L-46.934 50.029Q-46.934 50.161-46.862 50.271Q-46.790 50.380-46.661 50.380Q-46.536 50.380-46.468 50.275Q-46.399 50.169-46.399 50.029L-46.399 49.517L-46.118 49.517L-46.118 50.029Q-46.118 50.232-46.235 50.390Q-46.352 50.548-46.534 50.632Q-46.716 50.716-46.919 50.716Q-47.149 50.716-47.302 50.544Q-47.454 50.372-47.485 50.142Q-47.645 50.423-47.954 50.589Q-48.263 50.755-48.614 50.755Q-49.126 50.755-49.550 50.532Q-49.974 50.310-49.974 49.845M-49.286 49.845Q-49.286 50.130-49.059 50.316Q-48.833 50.501-48.540 50.501Q-48.294 50.501-48.069 50.384Q-47.845 50.267-47.710 50.064Q-47.575 49.861-47.575 49.607L-47.575 48.775Q-47.841 48.775-48.126 48.829Q-48.411 48.884-48.683 49.013Q-48.954 49.142-49.120 49.349Q-49.286 49.556-49.286 49.845M-44.009 50.755Q-44.489 50.755-44.897 50.511Q-45.306 50.267-45.544 49.853Q-45.782 49.439-45.782 48.950Q-45.782 48.458-45.524 48.042Q-45.267 47.626-44.835 47.388Q-44.403 47.150-43.911 47.150Q-43.290 47.150-42.841 47.587L-42.841 45.958Q-42.841 45.743-42.903 45.648Q-42.966 45.552-43.083 45.531Q-43.200 45.509-43.446 45.509L-43.446 45.212L-42.224 45.126L-42.224 49.935Q-42.224 50.146-42.161 50.241Q-42.099 50.337-41.981 50.359Q-41.864 50.380-41.614 50.380L-41.614 50.677L-42.864 50.755L-42.864 50.271Q-43.329 50.755-44.009 50.755M-43.942 50.501Q-43.602 50.501-43.309 50.310Q-43.017 50.118-42.864 49.822L-42.864 47.989Q-43.013 47.716-43.274 47.560Q-43.536 47.404-43.849 47.404Q-44.474 47.404-44.757 47.851Q-45.040 48.298-45.040 48.958Q-45.040 49.603-44.788 50.052Q-44.536 50.501-43.942 50.501M-39.247 50.677L-41.024 50.677L-41.024 50.380Q-40.751 50.380-40.583 50.333Q-40.415 50.286-40.415 50.118L-40.415 47.982Q-40.415 47.767-40.472 47.671Q-40.528 47.575-40.642 47.554Q-40.755 47.532-41.001 47.532L-41.001 47.236L-39.802 47.150L-39.802 50.118Q-39.802 50.286-39.655 50.333Q-39.509 50.380-39.247 50.380L-39.247 50.677M-40.688 45.755Q-40.688 45.564-40.554 45.433Q-40.419 45.302-40.224 45.302Q-40.102 45.302-39.999 45.364Q-39.895 45.427-39.833 45.531Q-39.770 45.634-39.770 45.755Q-39.770 45.950-39.901 46.085Q-40.032 46.220-40.224 46.220Q-40.423 46.220-40.556 46.087Q-40.688 45.954-40.688 45.755M-38.063 49.724L-38.063 47.982Q-38.063 47.767-38.126 47.671Q-38.188 47.575-38.308 47.554Q-38.427 47.532-38.673 47.532L-38.673 47.236L-37.427 47.150L-37.427 49.700L-37.427 49.724Q-37.427 50.036-37.372 50.198Q-37.317 50.361-37.167 50.431Q-37.017 50.501-36.696 50.501Q-36.267 50.501-35.993 50.163Q-35.720 49.825-35.720 49.380L-35.720 47.982Q-35.720 47.767-35.782 47.671Q-35.845 47.575-35.964 47.554Q-36.083 47.532-36.329 47.532L-36.329 47.236L-35.083 47.150L-35.083 49.935Q-35.083 50.146-35.020 50.241Q-34.958 50.337-34.839 50.359Q-34.720 50.380-34.474 50.380L-34.474 50.677L-35.696 50.755L-35.696 50.134Q-35.864 50.423-36.145 50.589Q-36.427 50.755-36.747 50.755Q-38.063 50.755-38.063 49.724M-33.985 50.669L-33.985 49.447Q-33.985 49.419-33.954 49.388Q-33.923 49.357-33.899 49.357L-33.794 49.357Q-33.724 49.357-33.708 49.419Q-33.645 49.739-33.507 49.980Q-33.368 50.220-33.136 50.361Q-32.903 50.501-32.595 50.501Q-32.356 50.501-32.147 50.441Q-31.938 50.380-31.802 50.232Q-31.665 50.083-31.665 49.837Q-31.665 49.583-31.876 49.417Q-32.087 49.251-32.356 49.197L-32.977 49.083Q-33.384 49.005-33.684 48.749Q-33.985 48.493-33.985 48.118Q-33.985 47.751-33.784 47.529Q-33.583 47.306-33.259 47.208Q-32.934 47.111-32.595 47.111Q-32.130 47.111-31.833 47.318L-31.610 47.134Q-31.587 47.111-31.556 47.111L-31.505 47.111Q-31.474 47.111-31.446 47.138Q-31.419 47.165-31.419 47.197L-31.419 48.181Q-31.419 48.212-31.444 48.241Q-31.470 48.271-31.505 48.271L-31.610 48.271Q-31.645 48.271-31.673 48.243Q-31.700 48.216-31.700 48.181Q-31.700 47.782-31.952 47.562Q-32.204 47.341-32.602 47.341Q-32.958 47.341-33.241 47.464Q-33.524 47.587-33.524 47.892Q-33.524 48.111-33.323 48.243Q-33.122 48.376-32.876 48.419L-32.251 48.532Q-31.821 48.622-31.513 48.919Q-31.204 49.216-31.204 49.630Q-31.204 50.200-31.602 50.478Q-32.001 50.755-32.595 50.755Q-33.145 50.755-33.497 50.419L-33.794 50.732Q-33.817 50.755-33.852 50.755L-33.899 50.755Q-33.923 50.755-33.954 50.724Q-33.985 50.693-33.985 50.669\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(10.943 -87.468)\">\u003Cpath d=\"M-27.373 50.501Q-27.369 50.482-27.367 50.468Q-27.365 50.454-27.365 50.431L-26.771 48.060Q-26.732 47.904-26.732 47.767Q-26.732 47.618-26.785 47.511Q-26.838 47.404-26.970 47.404Q-27.150 47.404-27.269 47.573Q-27.388 47.743-27.445 47.929Q-27.502 48.114-27.572 48.404Q-27.584 48.478-27.654 48.478L-27.756 48.478Q-27.791 48.478-27.818 48.443Q-27.845 48.407-27.845 48.380L-27.845 48.349Q-27.759 48.017-27.666 47.775Q-27.572 47.532-27.396 47.341Q-27.220 47.150-26.955 47.150Q-26.670 47.150-26.437 47.298Q-26.205 47.447-26.138 47.700Q-25.931 47.447-25.662 47.298Q-25.392 47.150-25.076 47.150Q-24.896 47.150-24.740 47.222Q-24.584 47.294-24.490 47.431Q-24.396 47.568-24.396 47.747Q-24.396 47.962-24.529 48.120Q-24.662 48.279-24.869 48.279Q-25.002 48.279-25.095 48.195Q-25.189 48.111-25.189 47.974Q-25.189 47.798-25.068 47.665Q-24.947 47.532-24.779 47.509Q-24.912 47.404-25.091 47.404Q-25.439 47.404-25.709 47.640Q-25.978 47.876-26.173 48.236L-26.732 50.470Q-26.763 50.595-26.869 50.675Q-26.974 50.755-27.099 50.755Q-27.209 50.755-27.291 50.685Q-27.373 50.614-27.373 50.501\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M45.962 59.213V-71.67\" style=\"stroke-width:1.2\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"8\">\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-51.798 41.146L-52.868 38.290Q-52.934 38.111-53.065 38.068Q-53.196 38.025-53.454 38.025L-53.454 37.728L-51.774 37.728L-51.774 38.025Q-52.224 38.025-52.224 38.224Q-52.220 38.239-52.218 38.257Q-52.216 38.275-52.216 38.290L-51.423 40.384L-50.712 38.474Q-50.747 38.380-50.747 38.335Q-50.747 38.290-50.782 38.290Q-50.849 38.111-50.979 38.068Q-51.110 38.025-51.364 38.025L-51.364 37.728L-49.774 37.728L-49.774 38.025Q-50.224 38.025-50.224 38.224Q-50.220 38.243-50.218 38.261Q-50.216 38.279-50.216 38.290L-49.384 40.505L-48.630 38.505Q-48.606 38.447-48.606 38.376Q-48.606 38.216-48.743 38.120Q-48.880 38.025-49.048 38.025L-49.048 37.728L-47.661 37.728L-47.661 38.025Q-47.895 38.025-48.073 38.152Q-48.251 38.279-48.333 38.505L-49.317 41.146Q-49.372 41.255-49.485 41.255L-49.544 41.255Q-49.657 41.255-49.700 41.146L-50.559 38.872L-51.415 41.146Q-51.454 41.255-51.575 41.255L-51.630 41.255Q-51.743 41.255-51.798 41.146M-45.388 41.177L-47.165 41.177L-47.165 40.880Q-46.892 40.880-46.724 40.833Q-46.556 40.786-46.556 40.618L-46.556 38.482Q-46.556 38.267-46.612 38.171Q-46.669 38.075-46.782 38.054Q-46.895 38.032-47.142 38.032L-47.142 37.736L-45.942 37.650L-45.942 40.618Q-45.942 40.786-45.796 40.833Q-45.649 40.880-45.388 40.880L-45.388 41.177M-46.829 36.255Q-46.829 36.064-46.694 35.933Q-46.559 35.802-46.364 35.802Q-46.243 35.802-46.140 35.864Q-46.036 35.927-45.974 36.031Q-45.911 36.134-45.911 36.255Q-45.911 36.450-46.042 36.585Q-46.173 36.720-46.364 36.720Q-46.563 36.720-46.696 36.587Q-46.829 36.454-46.829 36.255M-44.263 40.216L-44.263 38.025L-44.966 38.025L-44.966 37.771Q-44.610 37.771-44.368 37.538Q-44.126 37.306-44.015 36.958Q-43.903 36.611-43.903 36.255L-43.622 36.255L-43.622 37.728L-42.446 37.728L-42.446 38.025L-43.622 38.025L-43.622 40.200Q-43.622 40.521-43.503 40.749Q-43.384 40.978-43.102 40.978Q-42.923 40.978-42.806 40.855Q-42.688 40.732-42.636 40.552Q-42.583 40.372-42.583 40.200L-42.583 39.728L-42.302 39.728L-42.302 40.216Q-42.302 40.470-42.407 40.710Q-42.513 40.950-42.710 41.103Q-42.907 41.255-43.165 41.255Q-43.481 41.255-43.733 41.132Q-43.985 41.009-44.124 40.775Q-44.263 40.540-44.263 40.216M-39.653 41.177L-41.509 41.177L-41.509 40.880Q-41.235 40.880-41.067 40.833Q-40.899 40.786-40.899 40.618L-40.899 36.458Q-40.899 36.243-40.962 36.148Q-41.024 36.052-41.143 36.031Q-41.263 36.009-41.509 36.009L-41.509 35.712L-40.286 35.626L-40.286 38.329Q-40.161 38.118-39.974 37.968Q-39.786 37.818-39.559 37.734Q-39.333 37.650-39.087 37.650Q-37.919 37.650-37.919 38.728L-37.919 40.618Q-37.919 40.786-37.749 40.833Q-37.579 40.880-37.309 40.880L-37.309 41.177L-39.165 41.177L-39.165 40.880Q-38.892 40.880-38.724 40.833Q-38.556 40.786-38.556 40.618L-38.556 38.743Q-38.556 38.361-38.677 38.132Q-38.798 37.904-39.149 37.904Q-39.462 37.904-39.716 38.066Q-39.970 38.228-40.116 38.497Q-40.263 38.767-40.263 39.064L-40.263 40.618Q-40.263 40.786-40.093 40.833Q-39.923 40.880-39.653 40.880L-39.653 41.177M-35.005 41.177L-36.782 41.177L-36.782 40.880Q-36.509 40.880-36.341 40.833Q-36.173 40.786-36.173 40.618L-36.173 38.482Q-36.173 38.267-36.229 38.171Q-36.286 38.075-36.399 38.054Q-36.513 38.032-36.759 38.032L-36.759 37.736L-35.559 37.650L-35.559 40.618Q-35.559 40.786-35.413 40.833Q-35.267 40.880-35.005 40.880L-35.005 41.177M-36.446 36.255Q-36.446 36.064-36.311 35.933Q-36.177 35.802-35.981 35.802Q-35.860 35.802-35.757 35.864Q-35.653 35.927-35.591 36.031Q-35.528 36.134-35.528 36.255Q-35.528 36.450-35.659 36.585Q-35.790 36.720-35.981 36.720Q-36.181 36.720-36.313 36.587Q-36.446 36.454-36.446 36.255M-32.575 41.177L-34.431 41.177L-34.431 40.880Q-34.157 40.880-33.989 40.833Q-33.821 40.786-33.821 40.618L-33.821 38.482Q-33.821 38.267-33.884 38.171Q-33.946 38.075-34.065 38.054Q-34.184 38.032-34.431 38.032L-34.431 37.736L-33.239 37.650L-33.239 38.384Q-33.126 38.169-32.933 38.001Q-32.739 37.833-32.501 37.741Q-32.263 37.650-32.009 37.650Q-30.841 37.650-30.841 38.728L-30.841 40.618Q-30.841 40.786-30.671 40.833Q-30.501 40.880-30.231 40.880L-30.231 41.177L-32.087 41.177L-32.087 40.880Q-31.813 40.880-31.645 40.833Q-31.477 40.786-31.477 40.618L-31.477 38.743Q-31.477 38.361-31.599 38.132Q-31.720 37.904-32.071 37.904Q-32.384 37.904-32.638 38.066Q-32.892 38.228-33.038 38.497Q-33.184 38.767-33.184 39.064L-33.184 40.618Q-33.184 40.786-33.015 40.833Q-32.845 40.880-32.575 40.880\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-26.483 41.001Q-26.479 40.982-26.477 40.968Q-26.475 40.954-26.475 40.931L-25.881 38.560Q-25.842 38.404-25.842 38.267Q-25.842 38.118-25.895 38.011Q-25.948 37.904-26.080 37.904Q-26.260 37.904-26.379 38.073Q-26.498 38.243-26.555 38.429Q-26.612 38.614-26.682 38.904Q-26.694 38.978-26.764 38.978L-26.866 38.978Q-26.901 38.978-26.928 38.943Q-26.955 38.907-26.955 38.880L-26.955 38.849Q-26.869 38.517-26.776 38.275Q-26.682 38.032-26.506 37.841Q-26.330 37.650-26.065 37.650Q-25.780 37.650-25.547 37.798Q-25.315 37.947-25.248 38.200Q-25.041 37.947-24.772 37.798Q-24.502 37.650-24.186 37.650Q-24.006 37.650-23.850 37.722Q-23.694 37.794-23.600 37.931Q-23.506 38.068-23.506 38.247Q-23.506 38.462-23.639 38.620Q-23.772 38.779-23.979 38.779Q-24.112 38.779-24.205 38.695Q-24.299 38.611-24.299 38.474Q-24.299 38.298-24.178 38.165Q-24.057 38.032-23.889 38.009Q-24.022 37.904-24.201 37.904Q-24.549 37.904-24.819 38.140Q-25.088 38.376-25.283 38.736L-25.842 40.970Q-25.873 41.095-25.979 41.175Q-26.084 41.255-26.209 41.255Q-26.319 41.255-26.401 41.185Q-26.483 41.114-26.483 41.001\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-22.387 40.712Q-22.387 40.529-22.251 40.392Q-22.114 40.255-21.922 40.255Q-21.731 40.255-21.598 40.388Q-21.465 40.521-21.465 40.712Q-21.465 40.911-21.598 41.044Q-21.731 41.177-21.922 41.177Q-22.114 41.177-22.251 41.040Q-22.387 40.904-22.387 40.712M-22.387 38.185Q-22.387 38.001-22.251 37.864Q-22.114 37.728-21.922 37.728Q-21.731 37.728-21.598 37.861Q-21.465 37.993-21.465 38.185Q-21.465 38.384-21.598 38.517Q-21.731 38.650-21.922 38.650Q-22.114 38.650-22.251 38.513Q-22.387 38.376-22.387 38.185\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-53.341 50.669L-53.341 49.447Q-53.341 49.419-53.309 49.388Q-53.278 49.357-53.255 49.357L-53.149 49.357Q-53.079 49.357-53.063 49.419Q-53.001 49.739-52.862 49.980Q-52.724 50.220-52.491 50.361Q-52.259 50.501-51.950 50.501Q-51.712 50.501-51.503 50.441Q-51.294 50.380-51.157 50.232Q-51.020 50.083-51.020 49.837Q-51.020 49.583-51.231 49.417Q-51.442 49.251-51.712 49.197L-52.333 49.083Q-52.739 49.005-53.040 48.749Q-53.341 48.493-53.341 48.118Q-53.341 47.751-53.140 47.529Q-52.938 47.306-52.614 47.208Q-52.290 47.111-51.950 47.111Q-51.485 47.111-51.188 47.318L-50.966 47.134Q-50.942 47.111-50.911 47.111L-50.860 47.111Q-50.829 47.111-50.802 47.138Q-50.774 47.165-50.774 47.197L-50.774 48.181Q-50.774 48.212-50.800 48.241Q-50.825 48.271-50.860 48.271L-50.966 48.271Q-51.001 48.271-51.028 48.243Q-51.056 48.216-51.056 48.181Q-51.056 47.782-51.308 47.562Q-51.559 47.341-51.958 47.341Q-52.313 47.341-52.597 47.464Q-52.880 47.587-52.880 47.892Q-52.880 48.111-52.679 48.243Q-52.477 48.376-52.231 48.419L-51.606 48.532Q-51.177 48.622-50.868 48.919Q-50.559 49.216-50.559 49.630Q-50.559 50.200-50.958 50.478Q-51.356 50.755-51.950 50.755Q-52.501 50.755-52.852 50.419L-53.149 50.732Q-53.173 50.755-53.208 50.755L-53.255 50.755Q-53.278 50.755-53.309 50.724Q-53.341 50.693-53.341 50.669M-50.032 48.923Q-50.032 48.443-49.800 48.027Q-49.567 47.611-49.157 47.361Q-48.747 47.111-48.270 47.111Q-47.540 47.111-47.142 47.552Q-46.743 47.993-46.743 48.724Q-46.743 48.829-46.837 48.853L-49.286 48.853L-49.286 48.923Q-49.286 49.333-49.165 49.689Q-49.044 50.044-48.772 50.261Q-48.501 50.478-48.071 50.478Q-47.708 50.478-47.411 50.249Q-47.114 50.021-47.013 49.669Q-47.005 49.622-46.919 49.607L-46.837 49.607Q-46.743 49.634-46.743 49.716Q-46.743 49.724-46.751 49.755Q-46.813 49.982-46.952 50.165Q-47.091 50.349-47.282 50.482Q-47.474 50.614-47.692 50.685Q-47.911 50.755-48.149 50.755Q-48.520 50.755-48.858 50.618Q-49.196 50.482-49.464 50.230Q-49.731 49.978-49.882 49.638Q-50.032 49.298-50.032 48.923M-49.278 48.614L-47.317 48.614Q-47.317 48.310-47.419 48.019Q-47.520 47.728-47.737 47.546Q-47.954 47.364-48.270 47.364Q-48.571 47.364-48.802 47.552Q-49.032 47.739-49.155 48.031Q-49.278 48.322-49.278 48.614M-46.157 49.845Q-46.157 49.361-45.755 49.066Q-45.352 48.771-44.802 48.652Q-44.251 48.532-43.759 48.532L-43.759 48.243Q-43.759 48.017-43.874 47.810Q-43.989 47.603-44.186 47.484Q-44.384 47.364-44.614 47.364Q-45.040 47.364-45.325 47.470Q-45.255 47.497-45.208 47.552Q-45.161 47.607-45.136 47.677Q-45.110 47.747-45.110 47.822Q-45.110 47.927-45.161 48.019Q-45.212 48.111-45.304 48.161Q-45.395 48.212-45.501 48.212Q-45.606 48.212-45.698 48.161Q-45.790 48.111-45.841 48.019Q-45.892 47.927-45.892 47.822Q-45.892 47.404-45.503 47.257Q-45.114 47.111-44.614 47.111Q-44.282 47.111-43.929 47.241Q-43.575 47.372-43.347 47.626Q-43.118 47.880-43.118 48.228L-43.118 50.029Q-43.118 50.161-43.046 50.271Q-42.974 50.380-42.845 50.380Q-42.720 50.380-42.651 50.275Q-42.583 50.169-42.583 50.029L-42.583 49.517L-42.302 49.517L-42.302 50.029Q-42.302 50.232-42.419 50.390Q-42.536 50.548-42.718 50.632Q-42.899 50.716-43.102 50.716Q-43.333 50.716-43.485 50.544Q-43.638 50.372-43.669 50.142Q-43.829 50.423-44.138 50.589Q-44.446 50.755-44.798 50.755Q-45.309 50.755-45.733 50.532Q-46.157 50.310-46.157 49.845M-45.470 49.845Q-45.470 50.130-45.243 50.316Q-45.017 50.501-44.724 50.501Q-44.477 50.501-44.253 50.384Q-44.028 50.267-43.893 50.064Q-43.759 49.861-43.759 49.607L-43.759 48.775Q-44.024 48.775-44.309 48.829Q-44.595 48.884-44.866 49.013Q-45.138 49.142-45.304 49.349Q-45.470 49.556-45.470 49.845M-40.001 50.677L-41.981 50.677L-41.981 50.380Q-41.712 50.380-41.544 50.335Q-41.376 50.290-41.376 50.118L-41.376 47.982Q-41.376 47.767-41.438 47.671Q-41.501 47.575-41.618 47.554Q-41.735 47.532-41.981 47.532L-41.981 47.236L-40.813 47.150L-40.813 47.935Q-40.735 47.724-40.583 47.538Q-40.431 47.353-40.231 47.251Q-40.032 47.150-39.806 47.150Q-39.559 47.150-39.368 47.294Q-39.177 47.439-39.177 47.669Q-39.177 47.825-39.282 47.935Q-39.388 48.044-39.544 48.044Q-39.700 48.044-39.809 47.935Q-39.919 47.825-39.919 47.669Q-39.919 47.509-39.813 47.404Q-40.138 47.404-40.352 47.632Q-40.567 47.861-40.663 48.200Q-40.759 48.540-40.759 48.845L-40.759 50.118Q-40.759 50.286-40.532 50.333Q-40.306 50.380-40.001 50.380L-40.001 50.677M-38.653 48.950Q-38.653 48.454-38.403 48.029Q-38.153 47.603-37.733 47.357Q-37.313 47.111-36.813 47.111Q-36.274 47.111-35.884 47.236Q-35.493 47.361-35.493 47.775Q-35.493 47.880-35.544 47.972Q-35.595 48.064-35.686 48.114Q-35.778 48.165-35.888 48.165Q-35.993 48.165-36.085 48.114Q-36.177 48.064-36.227 47.972Q-36.278 47.880-36.278 47.775Q-36.278 47.552-36.110 47.447Q-36.333 47.388-36.806 47.388Q-37.102 47.388-37.317 47.527Q-37.532 47.665-37.663 47.896Q-37.794 48.126-37.852 48.396Q-37.911 48.665-37.911 48.950Q-37.911 49.345-37.778 49.695Q-37.645 50.044-37.374 50.261Q-37.102 50.478-36.704 50.478Q-36.329 50.478-36.054 50.261Q-35.778 50.044-35.677 49.685Q-35.661 49.622-35.599 49.622L-35.493 49.622Q-35.458 49.622-35.433 49.650Q-35.407 49.677-35.407 49.716L-35.407 49.739Q-35.540 50.220-35.925 50.488Q-36.309 50.755-36.813 50.755Q-37.177 50.755-37.511 50.618Q-37.845 50.482-38.104 50.232Q-38.364 49.982-38.509 49.646Q-38.653 49.310-38.653 48.950\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-33.219 50.677L-35.075 50.677L-35.075 50.380Q-34.801 50.380-34.633 50.333Q-34.465 50.286-34.465 50.118L-34.465 45.958Q-34.465 45.743-34.528 45.648Q-34.590 45.552-34.709 45.531Q-34.828 45.509-35.075 45.509L-35.075 45.212L-33.852 45.126L-33.852 47.829Q-33.727 47.618-33.539 47.468Q-33.352 47.318-33.125 47.234Q-32.899 47.150-32.653 47.150Q-31.485 47.150-31.485 48.228L-31.485 50.118Q-31.485 50.286-31.315 50.333Q-31.145 50.380-30.875 50.380L-30.875 50.677L-32.731 50.677L-32.731 50.380Q-32.457 50.380-32.289 50.333Q-32.121 50.286-32.121 50.118L-32.121 48.243Q-32.121 47.861-32.242 47.632Q-32.364 47.404-32.715 47.404Q-33.028 47.404-33.282 47.566Q-33.535 47.728-33.682 47.997Q-33.828 48.267-33.828 48.564L-33.828 50.118Q-33.828 50.286-33.658 50.333Q-33.489 50.380-33.219 50.380\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-25.527 50.677L-27.512 50.677L-27.512 50.380Q-27.238 50.380-27.070 50.333Q-26.902 50.286-26.902 50.118L-26.902 47.525L-27.543 47.525L-27.543 47.228L-26.902 47.228L-26.902 46.294Q-26.902 46.029-26.785 45.792Q-26.668 45.556-26.475 45.392Q-26.281 45.228-26.033 45.136Q-25.785 45.044-25.520 45.044Q-25.234 45.044-25.010 45.202Q-24.785 45.361-24.785 45.638Q-24.785 45.794-24.891 45.904Q-24.996 46.013-25.160 46.013Q-25.316 46.013-25.426 45.904Q-25.535 45.794-25.535 45.638Q-25.535 45.431-25.375 45.325Q-25.473 45.302-25.566 45.302Q-25.797 45.302-25.969 45.458Q-26.141 45.614-26.227 45.851Q-26.312 46.087-26.312 46.310L-26.312 47.228L-25.344 47.228L-25.344 47.525L-26.289 47.525L-26.289 50.118Q-26.289 50.286-26.062 50.333Q-25.836 50.380-25.527 50.380L-25.527 50.677M-24.902 49.845Q-24.902 49.361-24.500 49.066Q-24.098 48.771-23.547 48.652Q-22.996 48.532-22.504 48.532L-22.504 48.243Q-22.504 48.017-22.619 47.810Q-22.734 47.603-22.932 47.484Q-23.129 47.364-23.359 47.364Q-23.785 47.364-24.070 47.470Q-24 47.497-23.953 47.552Q-23.906 47.607-23.881 47.677Q-23.855 47.747-23.855 47.822Q-23.855 47.927-23.906 48.019Q-23.957 48.111-24.049 48.161Q-24.141 48.212-24.246 48.212Q-24.352 48.212-24.443 48.161Q-24.535 48.111-24.586 48.019Q-24.637 47.927-24.637 47.822Q-24.637 47.404-24.248 47.257Q-23.859 47.111-23.359 47.111Q-23.027 47.111-22.674 47.241Q-22.320 47.372-22.092 47.626Q-21.863 47.880-21.863 48.228L-21.863 50.029Q-21.863 50.161-21.791 50.271Q-21.719 50.380-21.590 50.380Q-21.465 50.380-21.396 50.275Q-21.328 50.169-21.328 50.029L-21.328 49.517L-21.047 49.517L-21.047 50.029Q-21.047 50.232-21.164 50.390Q-21.281 50.548-21.463 50.632Q-21.645 50.716-21.848 50.716Q-22.078 50.716-22.230 50.544Q-22.383 50.372-22.414 50.142Q-22.574 50.423-22.883 50.589Q-23.191 50.755-23.543 50.755Q-24.055 50.755-24.478 50.532Q-24.902 50.310-24.902 49.845M-24.215 49.845Q-24.215 50.130-23.988 50.316Q-23.762 50.501-23.469 50.501Q-23.223 50.501-22.998 50.384Q-22.773 50.267-22.639 50.064Q-22.504 49.861-22.504 49.607L-22.504 48.775Q-22.770 48.775-23.055 48.829Q-23.340 48.884-23.611 49.013Q-23.883 49.142-24.049 49.349Q-24.215 49.556-24.215 49.845M-18.746 50.677L-20.727 50.677L-20.727 50.380Q-20.457 50.380-20.289 50.335Q-20.121 50.290-20.121 50.118L-20.121 47.982Q-20.121 47.767-20.184 47.671Q-20.246 47.575-20.363 47.554Q-20.480 47.532-20.727 47.532L-20.727 47.236L-19.559 47.150L-19.559 47.935Q-19.480 47.724-19.328 47.538Q-19.176 47.353-18.977 47.251Q-18.777 47.150-18.551 47.150Q-18.305 47.150-18.113 47.294Q-17.922 47.439-17.922 47.669Q-17.922 47.825-18.027 47.935Q-18.133 48.044-18.289 48.044Q-18.445 48.044-18.555 47.935Q-18.664 47.825-18.664 47.669Q-18.664 47.509-18.559 47.404Q-18.883 47.404-19.098 47.632Q-19.312 47.861-19.408 48.200Q-19.504 48.540-19.504 48.845L-19.504 50.118Q-19.504 50.286-19.277 50.333Q-19.051 50.380-18.746 50.380\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(118.767 -55.068)\">\u003Cpath d=\"M-14.558 50.669L-14.558 49.447Q-14.558 49.419-14.527 49.388Q-14.495 49.357-14.472 49.357L-14.366 49.357Q-14.296 49.357-14.280 49.419Q-14.218 49.739-14.079 49.980Q-13.941 50.220-13.708 50.361Q-13.476 50.501-13.167 50.501Q-12.929 50.501-12.720 50.441Q-12.511 50.380-12.374 50.232Q-12.237 50.083-12.237 49.837Q-12.237 49.583-12.448 49.417Q-12.659 49.251-12.929 49.197L-13.550 49.083Q-13.956 49.005-14.257 48.749Q-14.558 48.493-14.558 48.118Q-14.558 47.751-14.357 47.529Q-14.155 47.306-13.831 47.208Q-13.507 47.111-13.167 47.111Q-12.702 47.111-12.405 47.318L-12.183 47.134Q-12.159 47.111-12.128 47.111L-12.077 47.111Q-12.046 47.111-12.019 47.138Q-11.991 47.165-11.991 47.197L-11.991 48.181Q-11.991 48.212-12.017 48.241Q-12.042 48.271-12.077 48.271L-12.183 48.271Q-12.218 48.271-12.245 48.243Q-12.273 48.216-12.273 48.181Q-12.273 47.782-12.525 47.562Q-12.777 47.341-13.175 47.341Q-13.530 47.341-13.814 47.464Q-14.097 47.587-14.097 47.892Q-14.097 48.111-13.896 48.243Q-13.694 48.376-13.448 48.419L-12.823 48.532Q-12.394 48.622-12.085 48.919Q-11.777 49.216-11.777 49.630Q-11.777 50.200-12.175 50.478Q-12.573 50.755-13.167 50.755Q-13.718 50.755-14.069 50.419L-14.366 50.732Q-14.390 50.755-14.425 50.755L-14.472 50.755Q-14.495 50.755-14.527 50.724Q-14.558 50.693-14.558 50.669M-9.390 50.677L-11.167 50.677L-11.167 50.380Q-10.894 50.380-10.726 50.333Q-10.558 50.286-10.558 50.118L-10.558 47.982Q-10.558 47.767-10.614 47.671Q-10.671 47.575-10.784 47.554Q-10.898 47.532-11.144 47.532L-11.144 47.236L-9.944 47.150L-9.944 50.118Q-9.944 50.286-9.798 50.333Q-9.652 50.380-9.390 50.380L-9.390 50.677M-10.831 45.755Q-10.831 45.564-10.696 45.433Q-10.562 45.302-10.366 45.302Q-10.245 45.302-10.142 45.364Q-10.038 45.427-9.976 45.531Q-9.913 45.634-9.913 45.755Q-9.913 45.950-10.044 46.085Q-10.175 46.220-10.366 46.220Q-10.566 46.220-10.698 46.087Q-10.831 45.954-10.831 45.755M-7.073 50.755Q-7.554 50.755-7.962 50.511Q-8.370 50.267-8.609 49.853Q-8.847 49.439-8.847 48.950Q-8.847 48.458-8.589 48.042Q-8.331 47.626-7.900 47.388Q-7.468 47.150-6.976 47.150Q-6.355 47.150-5.905 47.587L-5.905 45.958Q-5.905 45.743-5.968 45.648Q-6.030 45.552-6.148 45.531Q-6.265 45.509-6.511 45.509L-6.511 45.212L-5.288 45.126L-5.288 49.935Q-5.288 50.146-5.226 50.241Q-5.163 50.337-5.046 50.359Q-4.929 50.380-4.679 50.380L-4.679 50.677L-5.929 50.755L-5.929 50.271Q-6.394 50.755-7.073 50.755M-7.007 50.501Q-6.667 50.501-6.374 50.310Q-6.081 50.118-5.929 49.822L-5.929 47.989Q-6.077 47.716-6.339 47.560Q-6.601 47.404-6.913 47.404Q-7.538 47.404-7.821 47.851Q-8.105 48.298-8.105 48.958Q-8.105 49.603-7.853 50.052Q-7.601 50.501-7.007 50.501M-4.171 48.923Q-4.171 48.443-3.939 48.027Q-3.706 47.611-3.296 47.361Q-2.886 47.111-2.409 47.111Q-1.679 47.111-1.280 47.552Q-0.882 47.993-0.882 48.724Q-0.882 48.829-0.976 48.853L-3.425 48.853L-3.425 48.923Q-3.425 49.333-3.304 49.689Q-3.183 50.044-2.911 50.261Q-2.640 50.478-2.210 50.478Q-1.847 50.478-1.550 50.249Q-1.253 50.021-1.152 49.669Q-1.144 49.622-1.058 49.607L-0.976 49.607Q-0.882 49.634-0.882 49.716Q-0.882 49.724-0.890 49.755Q-0.952 49.982-1.091 50.165Q-1.230 50.349-1.421 50.482Q-1.612 50.614-1.831 50.685Q-2.050 50.755-2.288 50.755Q-2.659 50.755-2.997 50.618Q-3.335 50.482-3.603 50.230Q-3.870 49.978-4.021 49.638Q-4.171 49.298-4.171 48.923M-3.417 48.614L-1.456 48.614Q-1.456 48.310-1.558 48.019Q-1.659 47.728-1.876 47.546Q-2.093 47.364-2.409 47.364Q-2.710 47.364-2.941 47.552Q-3.171 47.739-3.294 48.031Q-3.417 48.322-3.417 48.614\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-warn)\" d=\"M-65.003-54.598H77.26\" style=\"stroke-dasharray:3.0,3.0;stroke-width:1.2\"\u002F>\u003Cg fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\">\u003Cg fill=\"var(--tk-warn)\" stroke=\"none\" font-size=\"8\">\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-52.470 50.677L-52.751 50.677L-52.751 45.958Q-52.751 45.743-52.813 45.648Q-52.876 45.552-52.993 45.531Q-53.110 45.509-53.356 45.509L-53.356 45.212L-52.134 45.126L-52.134 47.614Q-51.657 47.150-50.958 47.150Q-50.477 47.150-50.069 47.394Q-49.661 47.638-49.425 48.052Q-49.188 48.466-49.188 48.950Q-49.188 49.325-49.337 49.654Q-49.485 49.982-49.755 50.234Q-50.024 50.486-50.368 50.620Q-50.712 50.755-51.071 50.755Q-51.392 50.755-51.690 50.607Q-51.989 50.458-52.196 50.197L-52.470 50.677M-52.110 48.005L-52.110 49.845Q-51.958 50.142-51.698 50.322Q-51.438 50.501-51.126 50.501Q-50.700 50.501-50.433 50.282Q-50.165 50.064-50.050 49.718Q-49.934 49.372-49.934 48.950Q-49.934 48.302-50.183 47.853Q-50.431 47.404-51.028 47.404Q-51.364 47.404-51.653 47.562Q-51.942 47.720-52.110 48.005\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-48.426 48.923Q-48.426 48.443-48.193 48.027Q-47.961 47.611-47.551 47.361Q-47.141 47.111-46.664 47.111Q-45.934 47.111-45.535 47.552Q-45.137 47.993-45.137 48.724Q-45.137 48.829-45.230 48.853L-47.680 48.853L-47.680 48.923Q-47.680 49.333-47.559 49.689Q-47.437 50.044-47.166 50.261Q-46.894 50.478-46.465 50.478Q-46.102 50.478-45.805 50.249Q-45.508 50.021-45.406 49.669Q-45.398 49.622-45.312 49.607L-45.230 49.607Q-45.137 49.634-45.137 49.716Q-45.137 49.724-45.144 49.755Q-45.207 49.982-45.346 50.165Q-45.484 50.349-45.676 50.482Q-45.867 50.614-46.086 50.685Q-46.305 50.755-46.543 50.755Q-46.914 50.755-47.252 50.618Q-47.590 50.482-47.857 50.230Q-48.125 49.978-48.275 49.638Q-48.426 49.298-48.426 48.923M-47.672 48.614L-45.711 48.614Q-45.711 48.310-45.812 48.019Q-45.914 47.728-46.131 47.546Q-46.348 47.364-46.664 47.364Q-46.965 47.364-47.195 47.552Q-47.426 47.739-47.549 48.031Q-47.672 48.322-47.672 48.614M-44.230 51.974Q-44.117 52.052-43.941 52.052Q-43.652 52.052-43.432 51.839Q-43.211 51.626-43.086 51.325L-42.797 50.677L-44.070 47.790Q-44.152 47.614-44.297 47.570Q-44.441 47.525-44.711 47.525L-44.711 47.228L-42.992 47.228L-42.992 47.525Q-43.414 47.525-43.414 47.708Q-43.414 47.720-43.398 47.790L-42.461 49.915L-41.629 48.005Q-41.590 47.915-41.590 47.837Q-41.590 47.697-41.691 47.611Q-41.793 47.525-41.934 47.525L-41.934 47.228L-40.582 47.228L-40.582 47.525Q-40.836 47.525-41.029 47.650Q-41.223 47.775-41.328 48.005L-42.773 51.325Q-42.887 51.579-43.053 51.802Q-43.219 52.025-43.447 52.167Q-43.676 52.310-43.941 52.310Q-44.238 52.310-44.478 52.118Q-44.719 51.927-44.719 51.638Q-44.719 51.482-44.613 51.380Q-44.508 51.279-44.359 51.279Q-44.254 51.279-44.174 51.325Q-44.094 51.372-44.047 51.450Q-44 51.529-44 51.638Q-44 51.759-44.060 51.847Q-44.121 51.935-44.230 51.974\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-40.398 48.982Q-40.398 48.478-40.142 48.046Q-39.886 47.614-39.450 47.363Q-39.015 47.111-38.515 47.111Q-38.128 47.111-37.786 47.255Q-37.445 47.400-37.183 47.661Q-36.921 47.923-36.779 48.259Q-36.636 48.595-36.636 48.982Q-36.636 49.474-36.900 49.884Q-37.163 50.294-37.593 50.525Q-38.023 50.755-38.515 50.755Q-39.007 50.755-39.441 50.523Q-39.874 50.290-40.136 49.882Q-40.398 49.474-40.398 48.982M-38.515 50.478Q-38.058 50.478-37.806 50.255Q-37.554 50.032-37.466 49.681Q-37.378 49.329-37.378 48.884Q-37.378 48.454-37.472 48.116Q-37.566 47.779-37.820 47.572Q-38.074 47.364-38.515 47.364Q-39.163 47.364-39.407 47.781Q-39.652 48.197-39.652 48.884Q-39.652 49.329-39.564 49.681Q-39.476 50.032-39.224 50.255Q-38.972 50.478-38.515 50.478M-34.222 50.677L-36.077 50.677L-36.077 50.380Q-35.804 50.380-35.636 50.333Q-35.468 50.286-35.468 50.118L-35.468 47.982Q-35.468 47.767-35.531 47.671Q-35.593 47.575-35.712 47.554Q-35.831 47.532-36.077 47.532L-36.077 47.236L-34.886 47.150L-34.886 47.884Q-34.773 47.669-34.579 47.501Q-34.386 47.333-34.148 47.241Q-33.909 47.150-33.656 47.150Q-32.488 47.150-32.488 48.228L-32.488 50.118Q-32.488 50.286-32.318 50.333Q-32.148 50.380-31.878 50.380L-31.878 50.677L-33.734 50.677L-33.734 50.380Q-33.460 50.380-33.292 50.333Q-33.124 50.286-33.124 50.118L-33.124 48.243Q-33.124 47.861-33.245 47.632Q-33.366 47.404-33.718 47.404Q-34.031 47.404-34.284 47.566Q-34.538 47.728-34.685 47.997Q-34.831 48.267-34.831 48.564L-34.831 50.118Q-34.831 50.286-34.661 50.333Q-34.491 50.380-34.222 50.380L-34.222 50.677M-29.616 50.755Q-30.097 50.755-30.505 50.511Q-30.913 50.267-31.152 49.853Q-31.390 49.439-31.390 48.950Q-31.390 48.458-31.132 48.042Q-30.874 47.626-30.443 47.388Q-30.011 47.150-29.519 47.150Q-28.898 47.150-28.449 47.587L-28.449 45.958Q-28.449 45.743-28.511 45.648Q-28.574 45.552-28.691 45.531Q-28.808 45.509-29.054 45.509L-29.054 45.212L-27.831 45.126L-27.831 49.935Q-27.831 50.146-27.769 50.241Q-27.706 50.337-27.589 50.359Q-27.472 50.380-27.222 50.380L-27.222 50.677L-28.472 50.755L-28.472 50.271Q-28.937 50.755-29.616 50.755M-29.550 50.501Q-29.210 50.501-28.917 50.310Q-28.624 50.118-28.472 49.822L-28.472 47.989Q-28.620 47.716-28.882 47.560Q-29.144 47.404-29.456 47.404Q-30.081 47.404-30.365 47.851Q-30.648 48.298-30.648 48.958Q-30.648 49.603-30.396 50.052Q-30.144 50.501-29.550 50.501\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-23.413 50.501Q-23.409 50.482-23.407 50.468Q-23.405 50.454-23.405 50.431L-22.811 48.060Q-22.772 47.904-22.772 47.767Q-22.772 47.618-22.825 47.511Q-22.878 47.404-23.010 47.404Q-23.190 47.404-23.309 47.573Q-23.428 47.743-23.485 47.929Q-23.542 48.114-23.612 48.404Q-23.624 48.478-23.694 48.478L-23.796 48.478Q-23.831 48.478-23.858 48.443Q-23.885 48.407-23.885 48.380L-23.885 48.349Q-23.799 48.017-23.706 47.775Q-23.612 47.532-23.436 47.341Q-23.260 47.150-22.995 47.150Q-22.710 47.150-22.477 47.298Q-22.245 47.447-22.178 47.700Q-21.971 47.447-21.702 47.298Q-21.432 47.150-21.116 47.150Q-20.936 47.150-20.780 47.222Q-20.624 47.294-20.530 47.431Q-20.436 47.568-20.436 47.747Q-20.436 47.962-20.569 48.120Q-20.702 48.279-20.909 48.279Q-21.042 48.279-21.135 48.195Q-21.229 48.111-21.229 47.974Q-21.229 47.798-21.108 47.665Q-20.987 47.532-20.819 47.509Q-20.952 47.404-21.131 47.404Q-21.479 47.404-21.749 47.640Q-22.018 47.876-22.213 48.236L-22.772 50.470Q-22.803 50.595-22.909 50.675Q-23.014 50.755-23.139 50.755Q-23.249 50.755-23.331 50.685Q-23.413 50.614-23.413 50.501\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-19.317 50.212Q-19.317 50.029-19.181 49.892Q-19.044 49.755-18.852 49.755Q-18.661 49.755-18.528 49.888Q-18.395 50.021-18.395 50.212Q-18.395 50.411-18.528 50.544Q-18.661 50.677-18.852 50.677Q-19.044 50.677-19.181 50.540Q-19.317 50.404-19.317 50.212M-19.317 47.685Q-19.317 47.501-19.181 47.364Q-19.044 47.228-18.852 47.228Q-18.661 47.228-18.528 47.361Q-18.395 47.493-18.395 47.685Q-18.395 47.884-18.528 48.017Q-18.661 48.150-18.852 48.150Q-19.044 48.150-19.181 48.013Q-19.317 47.876-19.317 47.685\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-7.848 -113.234)\">\u003Cpath d=\"M-11.776 52.228L-13.631 52.228L-13.631 51.935Q-13.362 51.935-13.194 51.890Q-13.026 51.845-13.026 51.669L-13.026 47.845Q-13.026 47.638-13.182 47.585Q-13.338 47.532-13.631 47.532L-13.631 47.236L-12.409 47.150L-12.409 47.614Q-12.178 47.392-11.864 47.271Q-11.549 47.150-11.210 47.150Q-10.737 47.150-10.333 47.396Q-9.928 47.642-9.696 48.058Q-9.463 48.474-9.463 48.950Q-9.463 49.325-9.612 49.654Q-9.760 49.982-10.030 50.234Q-10.299 50.486-10.643 50.620Q-10.987 50.755-11.346 50.755Q-11.635 50.755-11.907 50.634Q-12.178 50.513-12.385 50.302L-12.385 51.669Q-12.385 51.845-12.217 51.890Q-12.049 51.935-11.776 51.935L-11.776 52.228M-12.385 48.013L-12.385 49.853Q-12.233 50.142-11.971 50.322Q-11.710 50.501-11.401 50.501Q-11.116 50.501-10.893 50.363Q-10.670 50.224-10.518 49.993Q-10.366 49.763-10.288 49.491Q-10.210 49.220-10.210 48.950Q-10.210 48.618-10.335 48.261Q-10.460 47.904-10.708 47.667Q-10.956 47.431-11.303 47.431Q-11.627 47.431-11.922 47.587Q-12.217 47.743-12.385 48.013M-6.932 50.677L-8.913 50.677L-8.913 50.380Q-8.643 50.380-8.475 50.335Q-8.307 50.290-8.307 50.118L-8.307 47.982Q-8.307 47.767-8.370 47.671Q-8.432 47.575-8.549 47.554Q-8.667 47.532-8.913 47.532L-8.913 47.236L-7.745 47.150L-7.745 47.935Q-7.667 47.724-7.514 47.538Q-7.362 47.353-7.163 47.251Q-6.963 47.150-6.737 47.150Q-6.491 47.150-6.299 47.294Q-6.108 47.439-6.108 47.669Q-6.108 47.825-6.213 47.935Q-6.319 48.044-6.475 48.044Q-6.631 48.044-6.741 47.935Q-6.850 47.825-6.850 47.669Q-6.850 47.509-6.745 47.404Q-7.069 47.404-7.284 47.632Q-7.499 47.861-7.594 48.200Q-7.690 48.540-7.690 48.845L-7.690 50.118Q-7.690 50.286-7.463 50.333Q-7.237 50.380-6.932 50.380L-6.932 50.677M-4.944 49.724L-4.944 47.982Q-4.944 47.767-5.006 47.671Q-5.069 47.575-5.188 47.554Q-5.307 47.532-5.553 47.532L-5.553 47.236L-4.307 47.150L-4.307 49.700L-4.307 49.724Q-4.307 50.036-4.252 50.198Q-4.198 50.361-4.047 50.431Q-3.897 50.501-3.577 50.501Q-3.147 50.501-2.874 50.163Q-2.600 49.825-2.600 49.380L-2.600 47.982Q-2.600 47.767-2.663 47.671Q-2.725 47.575-2.844 47.554Q-2.963 47.532-3.210 47.532L-3.210 47.236L-1.963 47.150L-1.963 49.935Q-1.963 50.146-1.901 50.241Q-1.838 50.337-1.719 50.359Q-1.600 50.380-1.354 50.380L-1.354 50.677L-2.577 50.755L-2.577 50.134Q-2.745 50.423-3.026 50.589Q-3.307 50.755-3.627 50.755Q-4.944 50.755-4.944 49.724M1.021 50.677L-0.835 50.677L-0.835 50.380Q-0.561 50.380-0.393 50.333Q-0.225 50.286-0.225 50.118L-0.225 47.982Q-0.225 47.767-0.288 47.671Q-0.350 47.575-0.469 47.554Q-0.588 47.532-0.835 47.532L-0.835 47.236L0.357 47.150L0.357 47.884Q0.470 47.669 0.664 47.501Q0.857 47.333 1.095 47.241Q1.333 47.150 1.587 47.150Q2.755 47.150 2.755 48.228L2.755 50.118Q2.755 50.286 2.925 50.333Q3.095 50.380 3.365 50.380L3.365 50.677L1.509 50.677L1.509 50.380Q1.783 50.380 1.951 50.333Q2.119 50.286 2.119 50.118L2.119 48.243Q2.119 47.861 1.998 47.632Q1.876 47.404 1.525 47.404Q1.212 47.404 0.958 47.566Q0.705 47.728 0.558 47.997Q0.412 48.267 0.412 48.564L0.412 50.118Q0.412 50.286 0.582 50.333Q0.751 50.380 1.021 50.380L1.021 50.677M3.810 48.923Q3.810 48.443 4.042 48.027Q4.275 47.611 4.685 47.361Q5.095 47.111 5.572 47.111Q6.302 47.111 6.701 47.552Q7.099 47.993 7.099 48.724Q7.099 48.829 7.005 48.853L4.556 48.853L4.556 48.923Q4.556 49.333 4.677 49.689Q4.798 50.044 5.070 50.261Q5.341 50.478 5.771 50.478Q6.134 50.478 6.431 50.249Q6.728 50.021 6.830 49.669Q6.837 49.622 6.923 49.607L7.005 49.607Q7.099 49.634 7.099 49.716Q7.099 49.724 7.091 49.755Q7.029 49.982 6.890 50.165Q6.751 50.349 6.560 50.482Q6.369 50.614 6.150 50.685Q5.931 50.755 5.693 50.755Q5.322 50.755 4.984 50.618Q4.646 50.482 4.378 50.230Q4.111 49.978 3.960 49.638Q3.810 49.298 3.810 48.923M4.564 48.614L6.525 48.614Q6.525 48.310 6.423 48.019Q6.322 47.728 6.105 47.546Q5.888 47.364 5.572 47.364Q5.271 47.364 5.040 47.552Q4.810 47.739 4.687 48.031Q4.564 48.322 4.564 48.614M9.404 50.755Q8.923 50.755 8.515 50.511Q8.107 50.267 7.869 49.853Q7.630 49.439 7.630 48.950Q7.630 48.458 7.888 48.042Q8.146 47.626 8.578 47.388Q9.009 47.150 9.501 47.150Q10.123 47.150 10.572 47.587L10.572 45.958Q10.572 45.743 10.509 45.648Q10.447 45.552 10.330 45.531Q10.212 45.509 9.966 45.509L9.966 45.212L11.189 45.126L11.189 49.935Q11.189 50.146 11.251 50.241Q11.314 50.337 11.431 50.359Q11.548 50.380 11.798 50.380L11.798 50.677L10.548 50.755L10.548 50.271Q10.083 50.755 9.404 50.755M9.470 50.501Q9.810 50.501 10.103 50.310Q10.396 50.118 10.548 49.822L10.548 47.989Q10.400 47.716 10.138 47.560Q9.876 47.404 9.564 47.404Q8.939 47.404 8.656 47.851Q8.373 48.298 8.373 48.958Q8.373 49.603 8.624 50.052Q8.876 50.501 9.470 50.501\" fill=\"var(--tk-warn)\" stroke=\"var(--tk-warn)\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath stroke=\"none\" d=\"M-11.989 17.956a1.8 1.8 0 1 0-3.6 0 1.8 1.8 0 0 0 3.6 0m-1.8 0\"\u002F>\u003Cg stroke=\"none\" font-family=\"cmr8\" font-size=\"8\">\u003Cg transform=\"translate(20.906 -23.632)\">\u003Cpath d=\"M-52.470 50.677L-52.751 50.677L-52.751 45.958Q-52.751 45.743-52.813 45.648Q-52.876 45.552-52.993 45.531Q-53.110 45.509-53.356 45.509L-53.356 45.212L-52.134 45.126L-52.134 47.614Q-51.657 47.150-50.958 47.150Q-50.477 47.150-50.069 47.394Q-49.661 47.638-49.425 48.052Q-49.188 48.466-49.188 48.950Q-49.188 49.325-49.337 49.654Q-49.485 49.982-49.755 50.234Q-50.024 50.486-50.368 50.620Q-50.712 50.755-51.071 50.755Q-51.392 50.755-51.690 50.607Q-51.989 50.458-52.196 50.197L-52.470 50.677M-52.110 48.005L-52.110 49.845Q-51.958 50.142-51.698 50.322Q-51.438 50.501-51.126 50.501Q-50.700 50.501-50.433 50.282Q-50.165 50.064-50.050 49.718Q-49.934 49.372-49.934 48.950Q-49.934 48.302-50.183 47.853Q-50.431 47.404-51.028 47.404Q-51.364 47.404-51.653 47.562Q-51.942 47.720-52.110 48.005\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(20.906 -23.632)\">\u003Cpath d=\"M-48.426 48.923Q-48.426 48.443-48.193 48.027Q-47.961 47.611-47.551 47.361Q-47.141 47.111-46.664 47.111Q-45.934 47.111-45.535 47.552Q-45.137 47.993-45.137 48.724Q-45.137 48.829-45.230 48.853L-47.680 48.853L-47.680 48.923Q-47.680 49.333-47.559 49.689Q-47.437 50.044-47.166 50.261Q-46.894 50.478-46.465 50.478Q-46.102 50.478-45.805 50.249Q-45.508 50.021-45.406 49.669Q-45.398 49.622-45.312 49.607L-45.230 49.607Q-45.137 49.634-45.137 49.716Q-45.137 49.724-45.144 49.755Q-45.207 49.982-45.346 50.165Q-45.484 50.349-45.676 50.482Q-45.867 50.614-46.086 50.685Q-46.305 50.755-46.543 50.755Q-46.914 50.755-47.252 50.618Q-47.590 50.482-47.857 50.230Q-48.125 49.978-48.275 49.638Q-48.426 49.298-48.426 48.923M-47.672 48.614L-45.711 48.614Q-45.711 48.310-45.812 48.019Q-45.914 47.728-46.131 47.546Q-46.348 47.364-46.664 47.364Q-46.965 47.364-47.195 47.552Q-47.426 47.739-47.549 48.031Q-47.672 48.322-47.672 48.614M-44.605 50.669L-44.605 49.447Q-44.605 49.419-44.574 49.388Q-44.543 49.357-44.519 49.357L-44.414 49.357Q-44.344 49.357-44.328 49.419Q-44.266 49.739-44.127 49.980Q-43.988 50.220-43.756 50.361Q-43.523 50.501-43.215 50.501Q-42.977 50.501-42.768 50.441Q-42.559 50.380-42.422 50.232Q-42.285 50.083-42.285 49.837Q-42.285 49.583-42.496 49.417Q-42.707 49.251-42.977 49.197L-43.598 49.083Q-44.004 49.005-44.305 48.749Q-44.605 48.493-44.605 48.118Q-44.605 47.751-44.404 47.529Q-44.203 47.306-43.879 47.208Q-43.555 47.111-43.215 47.111Q-42.750 47.111-42.453 47.318L-42.230 47.134Q-42.207 47.111-42.176 47.111L-42.125 47.111Q-42.094 47.111-42.066 47.138Q-42.039 47.165-42.039 47.197L-42.039 48.181Q-42.039 48.212-42.064 48.241Q-42.090 48.271-42.125 48.271L-42.230 48.271Q-42.266 48.271-42.293 48.243Q-42.320 48.216-42.320 48.181Q-42.320 47.782-42.572 47.562Q-42.824 47.341-43.223 47.341Q-43.578 47.341-43.861 47.464Q-44.144 47.587-44.144 47.892Q-44.144 48.111-43.943 48.243Q-43.742 48.376-43.496 48.419L-42.871 48.532Q-42.441 48.622-42.133 48.919Q-41.824 49.216-41.824 49.630Q-41.824 50.200-42.223 50.478Q-42.621 50.755-43.215 50.755Q-43.766 50.755-44.117 50.419L-44.414 50.732Q-44.437 50.755-44.473 50.755L-44.519 50.755Q-44.543 50.755-44.574 50.724Q-44.605 50.693-44.605 50.669M-40.672 49.716L-40.672 47.525L-41.375 47.525L-41.375 47.271Q-41.019 47.271-40.777 47.038Q-40.535 46.806-40.424 46.458Q-40.312 46.111-40.312 45.755L-40.031 45.755L-40.031 47.228L-38.855 47.228L-38.855 47.525L-40.031 47.525L-40.031 49.700Q-40.031 50.021-39.912 50.249Q-39.793 50.478-39.512 50.478Q-39.332 50.478-39.215 50.355Q-39.098 50.232-39.045 50.052Q-38.992 49.872-38.992 49.700L-38.992 49.228L-38.711 49.228L-38.711 49.716Q-38.711 49.970-38.816 50.210Q-38.922 50.450-39.119 50.603Q-39.316 50.755-39.574 50.755Q-39.891 50.755-40.143 50.632Q-40.394 50.509-40.533 50.275Q-40.672 50.040-40.672 49.716\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.240\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">Nearest-neighbour pruning. The descent finds a candidate at distance \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">r\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> (the circle). At a split line, the far subtree is entered only if the line lies within \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">r\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> of \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">q\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> — i.e. the circle crosses it. Here the dashed line is farther than \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">r\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>, so that whole side is pruned; the solid line is within \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">r\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>, so it must be searched.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:408.829px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 306.622 133.317\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M19.232-44.178a8.536 8.536 0 1 0-17.071 0 8.536 8.536 0 0 0 17.071 0Zm-8.536 0\"\u002F>\u003Cg transform=\"translate(-2.267 1.507)\">\u003Cpath d=\"M11.431-44.438Q11.574-44.332 11.803-44.332Q12.029-44.332 12.203-44.528Q12.378-44.725 12.432-44.954L12.747-46.215Q12.819-46.482 12.819-46.615Q12.819-46.806 12.707-46.924Q12.596-47.042 12.405-47.042Q12.176-47.042 11.978-46.918Q11.779-46.793 11.638-46.589Q11.496-46.386 11.438-46.167Q11.427-46.102 11.369-46.102L11.257-46.102Q11.226-46.102 11.202-46.133Q11.178-46.164 11.178-46.188L11.178-46.215Q11.291-46.642 11.644-46.953Q11.998-47.264 12.419-47.264Q12.590-47.264 12.754-47.211Q12.918-47.158 13.051-47.054Q13.184-46.950 13.259-46.796Q13.400-47.001 13.601-47.133Q13.803-47.264 14.022-47.264Q14.312-47.264 14.541-47.129Q14.770-46.994 14.770-46.724Q14.770-46.605 14.717-46.501Q14.664-46.396 14.567-46.333Q14.469-46.270 14.350-46.270Q14.234-46.270 14.152-46.343Q14.070-46.417 14.070-46.536Q14.070-46.677 14.160-46.791Q14.251-46.906 14.384-46.936Q14.230-47.042 14.008-47.042Q13.854-47.042 13.724-46.948Q13.594-46.854 13.506-46.718Q13.417-46.581 13.369-46.417L13.054-45.159Q12.993-44.875 12.993-44.759Q12.993-44.568 13.104-44.450Q13.215-44.332 13.406-44.332Q13.581-44.332 13.740-44.407Q13.899-44.482 14.029-44.612Q14.158-44.742 14.247-44.899Q14.336-45.056 14.370-45.207Q14.394-45.268 14.449-45.268L14.558-45.268Q14.592-45.268 14.615-45.243Q14.637-45.217 14.637-45.186Q14.637-45.173 14.630-45.159Q14.562-44.879 14.377-44.639Q14.193-44.400 13.933-44.255Q13.673-44.110 13.389-44.110Q13.123-44.110 12.894-44.229Q12.665-44.349 12.552-44.578Q12.422-44.380 12.219-44.245Q12.015-44.110 11.786-44.110Q11.506-44.110 11.275-44.245Q11.045-44.380 11.045-44.646Q11.045-44.827 11.166-44.964Q11.287-45.101 11.465-45.101Q11.585-45.101 11.665-45.029Q11.745-44.957 11.745-44.838Q11.745-44.698 11.658-44.583Q11.571-44.469 11.431-44.438\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M-2.108-1.499a8.536 8.536 0 1 0-17.071 0 8.536 8.536 0 0 0 17.071 0ZM6.79-36.365-6.737-9.312\"\u002F>\u003Cg fill=\"var(--tk-soft-accent)\" stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath d=\"M-23.447 41.18a8.536 8.536 0 1 0-17.072 0 8.536 8.536 0 0 0 17.072 0Zm-8.536 0\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M-14.55 6.314-27.898 33.01\"\u002F>\u003Cg fill=\"var(--tk-soft-accent)\" stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath d=\"M19.232 41.18a8.536 8.536 0 1 0-17.071 0 8.536 8.536 0 0 0 17.071 0Zm-8.536 0\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M-6.737 6.314 6.611 33.01M40.572-1.499a8.536 8.536 0 1 0-17.072 0 8.536 8.536 0 0 0 17.072 0ZM14.603-36.365 28.129-9.312\"\u002F>\u003Cg fill=\"var(--tk-soft-accent)\" stroke=\"var(--tk-accent)\" style=\"stroke-width:1.2\">\u003Cpath d=\"M19.232 41.18a8.536 8.536 0 1 0-17.071 0 8.536 8.536 0 0 0 17.071 0Zm-8.536 0\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M28.13 6.314 14.781 33.01M61.911 41.18a8.536 8.536 0 1 0-17.071 0 8.536 8.536 0 0 0 17.071 0ZM35.942 6.314 49.47 33.368\"\u002F>\u003Cg stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(-34.16 -19.51)\">\u003Cpath d=\"M12.654-42.821L11.024-42.821L11.024-43.101Q11.253-43.101 11.402-43.136Q11.550-43.170 11.550-43.310L11.550-46.656Q11.550-46.827 11.414-46.868Q11.277-46.909 11.024-46.909L11.024-47.189L12.104-47.264L12.104-46.858Q12.326-47.059 12.613-47.162Q12.901-47.264 13.208-47.264Q13.635-47.264 13.999-47.051Q14.363-46.837 14.577-46.473Q14.791-46.109 14.791-45.689Q14.791-45.244 14.551-44.880Q14.312-44.516 13.919-44.313Q13.526-44.110 13.082-44.110Q12.815-44.110 12.567-44.210Q12.320-44.311 12.132-44.492L12.132-43.310Q12.132-43.173 12.280-43.137Q12.429-43.101 12.654-43.101L12.654-42.821M12.132-46.509L12.132-44.899Q12.265-44.646 12.508-44.489Q12.750-44.332 13.027-44.332Q13.355-44.332 13.608-44.533Q13.861-44.735 13.994-45.053Q14.128-45.371 14.128-45.689Q14.128-45.918 14.063-46.147Q13.998-46.376 13.870-46.574Q13.741-46.772 13.547-46.892Q13.352-47.011 13.119-47.011Q12.825-47.011 12.557-46.882Q12.289-46.752 12.132-46.509M17.176-44.178L15.440-44.178L15.440-44.458Q15.669-44.458 15.818-44.492Q15.967-44.527 15.967-44.667L15.967-46.516Q15.967-46.786 15.859-46.847Q15.751-46.909 15.440-46.909L15.440-47.189L16.469-47.264L16.469-46.557Q16.599-46.865 16.842-47.064Q17.084-47.264 17.402-47.264Q17.621-47.264 17.792-47.140Q17.963-47.015 17.963-46.803Q17.963-46.666 17.863-46.567Q17.764-46.468 17.631-46.468Q17.494-46.468 17.395-46.567Q17.296-46.666 17.296-46.803Q17.296-46.943 17.395-47.042Q17.105-47.042 16.905-46.846Q16.705-46.649 16.613-46.355Q16.520-46.061 16.520-45.781L16.520-44.667Q16.520-44.458 17.176-44.458L17.176-44.178M20.164-44.178L18.612-44.178L18.612-44.458Q18.838-44.458 18.986-44.492Q19.135-44.527 19.135-44.667L19.135-46.516Q19.135-46.704 19.087-46.788Q19.039-46.871 18.942-46.890Q18.844-46.909 18.633-46.909L18.633-47.189L19.689-47.264L19.689-44.667Q19.689-44.527 19.820-44.492Q19.952-44.458 20.164-44.458L20.164-44.178M18.892-48.485Q18.892-48.656 19.015-48.775Q19.138-48.895 19.309-48.895Q19.477-48.895 19.600-48.775Q19.723-48.656 19.723-48.485Q19.723-48.310 19.600-48.187Q19.477-48.064 19.309-48.064Q19.138-48.064 19.015-48.187Q18.892-48.310 18.892-48.485M22.491-44.178L20.858-44.178L20.858-44.458Q21.087-44.458 21.235-44.492Q21.384-44.527 21.384-44.667L21.384-46.516Q21.384-46.786 21.276-46.847Q21.169-46.909 20.858-46.909L20.858-47.189L21.917-47.264L21.917-46.615Q22.088-46.923 22.392-47.094Q22.696-47.264 23.042-47.264Q23.442-47.264 23.718-47.124Q23.995-46.984 24.081-46.636Q24.248-46.929 24.547-47.097Q24.846-47.264 25.192-47.264Q25.697-47.264 25.981-47.041Q26.265-46.817 26.265-46.321L26.265-44.667Q26.265-44.530 26.414-44.494Q26.562-44.458 26.788-44.458L26.788-44.178L25.157-44.178L25.157-44.458Q25.383-44.458 25.533-44.494Q25.684-44.530 25.684-44.667L25.684-46.307Q25.684-46.642 25.564-46.842Q25.445-47.042 25.130-47.042Q24.860-47.042 24.626-46.906Q24.392-46.769 24.253-46.535Q24.115-46.301 24.115-46.027L24.115-44.667Q24.115-44.530 24.264-44.494Q24.412-44.458 24.638-44.458L24.638-44.178L23.008-44.178L23.008-44.458Q23.237-44.458 23.385-44.492Q23.534-44.527 23.534-44.667L23.534-46.307Q23.534-46.642 23.414-46.842Q23.295-47.042 22.980-47.042Q22.710-47.042 22.476-46.906Q22.242-46.769 22.103-46.535Q21.965-46.301 21.965-46.027L21.965-44.667Q21.965-44.530 22.115-44.494Q22.266-44.458 22.491-44.458L22.491-44.178M27.434-44.906Q27.434-45.238 27.658-45.465Q27.882-45.692 28.225-45.820Q28.569-45.949 28.941-46.001Q29.314-46.054 29.618-46.054L29.618-46.307Q29.618-46.512 29.510-46.692Q29.403-46.871 29.221-46.974Q29.040-47.076 28.832-47.076Q28.425-47.076 28.189-46.984Q28.278-46.947 28.324-46.863Q28.370-46.779 28.370-46.677Q28.370-46.581 28.324-46.502Q28.278-46.424 28.198-46.379Q28.117-46.335 28.029-46.335Q27.878-46.335 27.777-46.432Q27.676-46.530 27.676-46.677Q27.676-47.299 28.832-47.299Q29.044-47.299 29.293-47.235Q29.543-47.172 29.744-47.053Q29.946-46.933 30.072-46.748Q30.199-46.564 30.199-46.321L30.199-44.745Q30.199-44.629 30.260-44.533Q30.322-44.438 30.435-44.438Q30.544-44.438 30.609-44.532Q30.674-44.626 30.674-44.745L30.674-45.193L30.941-45.193L30.941-44.745Q30.941-44.475 30.713-44.310Q30.486-44.144 30.206-44.144Q29.997-44.144 29.861-44.298Q29.724-44.451 29.700-44.667Q29.553-44.400 29.271-44.255Q28.989-44.110 28.664-44.110Q28.387-44.110 28.104-44.185Q27.820-44.260 27.627-44.439Q27.434-44.619 27.434-44.906M28.049-44.906Q28.049-44.732 28.150-44.602Q28.251-44.472 28.406-44.402Q28.562-44.332 28.726-44.332Q28.945-44.332 29.153-44.429Q29.362-44.527 29.490-44.708Q29.618-44.889 29.618-45.115L29.618-45.843Q29.293-45.843 28.927-45.752Q28.562-45.661 28.305-45.449Q28.049-45.238 28.049-44.906M33.108-44.178L31.371-44.178L31.371-44.458Q31.600-44.458 31.749-44.492Q31.898-44.527 31.898-44.667L31.898-46.516Q31.898-46.786 31.790-46.847Q31.682-46.909 31.371-46.909L31.371-47.189L32.400-47.264L32.400-46.557Q32.530-46.865 32.773-47.064Q33.015-47.264 33.333-47.264Q33.552-47.264 33.723-47.140Q33.894-47.015 33.894-46.803Q33.894-46.666 33.795-46.567Q33.696-46.468 33.562-46.468Q33.425-46.468 33.326-46.567Q33.227-46.666 33.227-46.803Q33.227-46.943 33.326-47.042Q33.036-47.042 32.836-46.846Q32.636-46.649 32.544-46.355Q32.451-46.061 32.451-45.781L32.451-44.667Q32.451-44.458 33.108-44.458L33.108-44.178M34.813-43.043Q34.943-42.975 35.080-42.975Q35.251-42.975 35.401-43.064Q35.551-43.153 35.663-43.298Q35.774-43.443 35.852-43.611L36.115-44.178L34.946-46.704Q34.871-46.851 34.741-46.883Q34.612-46.916 34.379-46.916L34.379-47.196L35.900-47.196L35.900-46.916Q35.551-46.916 35.551-46.769Q35.555-46.748 35.557-46.731Q35.558-46.714 35.558-46.704L36.416-44.845L37.189-46.516Q37.223-46.584 37.223-46.663Q37.223-46.776 37.139-46.846Q37.055-46.916 36.943-46.916L36.943-47.196L38.139-47.196L38.139-46.916Q37.920-46.916 37.748-46.812Q37.575-46.707 37.483-46.516L36.146-43.611Q35.975-43.241 35.705-42.995Q35.435-42.749 35.080-42.749Q34.810-42.749 34.591-42.915Q34.372-43.081 34.372-43.344Q34.372-43.481 34.465-43.570Q34.557-43.658 34.697-43.658Q34.834-43.658 34.923-43.570Q35.011-43.481 35.011-43.344Q35.011-43.241 34.958-43.163Q34.905-43.084 34.813-43.043\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-34.16 -19.51)\">\u003Cpath d=\"M41.919-45.019L41.919-46.916L41.280-46.916L41.280-47.138Q41.598-47.138 41.815-47.348Q42.032-47.558 42.132-47.868Q42.233-48.177 42.233-48.485L42.500-48.485L42.500-47.196L43.577-47.196L43.577-46.916L42.500-46.916L42.500-45.032Q42.500-44.756 42.604-44.557Q42.708-44.359 42.968-44.359Q43.125-44.359 43.231-44.463Q43.337-44.568 43.387-44.721Q43.436-44.875 43.436-45.032L43.436-45.446L43.703-45.446L43.703-45.019Q43.703-44.793 43.604-44.583Q43.505-44.373 43.320-44.241Q43.136-44.110 42.907-44.110Q42.469-44.110 42.194-44.347Q41.919-44.585 41.919-45.019M46.263-44.178L44.527-44.178L44.527-44.458Q44.756-44.458 44.904-44.492Q45.053-44.527 45.053-44.667L45.053-46.516Q45.053-46.786 44.945-46.847Q44.838-46.909 44.527-46.909L44.527-47.189L45.556-47.264L45.556-46.557Q45.685-46.865 45.928-47.064Q46.171-47.264 46.489-47.264Q46.707-47.264 46.878-47.140Q47.049-47.015 47.049-46.803Q47.049-46.666 46.950-46.567Q46.851-46.468 46.718-46.468Q46.581-46.468 46.482-46.567Q46.383-46.666 46.383-46.803Q46.383-46.943 46.482-47.042Q46.191-47.042 45.991-46.846Q45.791-46.649 45.699-46.355Q45.607-46.061 45.607-45.781L45.607-44.667Q45.607-44.458 46.263-44.458L46.263-44.178M47.593-45.713Q47.593-46.034 47.717-46.323Q47.842-46.612 48.068-46.835Q48.293-47.059 48.589-47.179Q48.885-47.299 49.203-47.299Q49.531-47.299 49.792-47.199Q50.054-47.100 50.230-46.918Q50.406-46.735 50.500-46.477Q50.594-46.219 50.594-45.887Q50.594-45.795 50.512-45.774L48.256-45.774L48.256-45.713Q48.256-45.125 48.539-44.742Q48.823-44.359 49.391-44.359Q49.712-44.359 49.980-44.552Q50.248-44.745 50.337-45.060Q50.344-45.101 50.419-45.115L50.512-45.115Q50.594-45.091 50.594-45.019Q50.594-45.012 50.587-44.985Q50.474-44.588 50.103-44.349Q49.732-44.110 49.308-44.110Q48.871-44.110 48.471-44.318Q48.071-44.527 47.832-44.894Q47.593-45.261 47.593-45.713M48.263-45.983L50.078-45.983Q50.078-46.260 49.980-46.512Q49.883-46.765 49.684-46.921Q49.486-47.076 49.203-47.076Q48.926-47.076 48.712-46.918Q48.498-46.759 48.380-46.504Q48.263-46.249 48.263-45.983M51.141-45.713Q51.141-46.034 51.265-46.323Q51.390-46.612 51.616-46.835Q51.841-47.059 52.137-47.179Q52.432-47.299 52.750-47.299Q53.078-47.299 53.340-47.199Q53.601-47.100 53.777-46.918Q53.953-46.735 54.047-46.477Q54.141-46.219 54.141-45.887Q54.141-45.795 54.059-45.774L51.804-45.774L51.804-45.713Q51.804-45.125 52.087-44.742Q52.371-44.359 52.938-44.359Q53.260-44.359 53.528-44.552Q53.796-44.745 53.885-45.060Q53.892-45.101 53.967-45.115L54.059-45.115Q54.141-45.091 54.141-45.019Q54.141-45.012 54.135-44.985Q54.022-44.588 53.651-44.349Q53.280-44.110 52.856-44.110Q52.419-44.110 52.019-44.318Q51.619-44.527 51.380-44.894Q51.141-45.261 51.141-45.713M51.810-45.983L53.625-45.983Q53.625-46.260 53.528-46.512Q53.431-46.765 53.232-46.921Q53.034-47.076 52.750-47.076Q52.474-47.076 52.260-46.918Q52.046-46.759 51.928-46.504Q51.810-46.249 51.810-45.983\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-34.16 -19.51)\">\u003Cpath d=\"M59.578-42.428Q59.028-42.828 58.657-43.383Q58.286-43.939 58.105-44.585Q57.924-45.231 57.924-45.928Q57.924-46.441 58.024-46.936Q58.125-47.432 58.330-47.883Q58.535-48.334 58.848-48.726Q59.161-49.117 59.578-49.421Q59.588-49.425 59.595-49.426Q59.602-49.428 59.612-49.428L59.680-49.428Q59.715-49.428 59.737-49.404Q59.759-49.380 59.759-49.343Q59.759-49.298 59.732-49.281Q59.383-48.980 59.130-48.596Q58.877-48.211 58.725-47.770Q58.573-47.329 58.501-46.873Q58.429-46.417 58.429-45.928Q58.429-44.927 58.739-44.040Q59.048-43.153 59.732-42.568Q59.759-42.551 59.759-42.507Q59.759-42.469 59.737-42.445Q59.715-42.421 59.680-42.421L59.612-42.421Q59.605-42.425 59.597-42.426Q59.588-42.428 59.578-42.428M60.528-45.661Q60.528-46.003 60.663-46.302Q60.798-46.601 61.037-46.825Q61.277-47.049 61.594-47.174Q61.912-47.299 62.244-47.299Q62.688-47.299 63.088-47.083Q63.488-46.868 63.722-46.490Q63.956-46.113 63.956-45.661Q63.956-45.320 63.814-45.036Q63.673-44.752 63.428-44.545Q63.184-44.339 62.874-44.224Q62.565-44.110 62.244-44.110Q61.813-44.110 61.412-44.311Q61.010-44.513 60.769-44.865Q60.528-45.217 60.528-45.661M62.244-44.359Q62.845-44.359 63.069-44.737Q63.293-45.115 63.293-45.747Q63.293-46.359 63.059-46.718Q62.825-47.076 62.244-47.076Q61.191-47.076 61.191-45.747Q61.191-45.115 61.417-44.737Q61.642-44.359 62.244-44.359M66.233-44.178L64.599-44.178L64.599-44.458Q64.828-44.458 64.977-44.492Q65.125-44.527 65.125-44.667L65.125-46.516Q65.125-46.786 65.018-46.847Q64.910-46.909 64.599-46.909L64.599-47.189L65.658-47.264L65.658-46.615Q65.829-46.923 66.134-47.094Q66.438-47.264 66.783-47.264Q67.289-47.264 67.572-47.041Q67.856-46.817 67.856-46.321L67.856-44.667Q67.856-44.530 68.005-44.494Q68.154-44.458 68.379-44.458L68.379-44.178L66.749-44.178L66.749-44.458Q66.978-44.458 67.126-44.492Q67.275-44.527 67.275-44.667L67.275-46.307Q67.275-46.642 67.155-46.842Q67.036-47.042 66.721-47.042Q66.451-47.042 66.217-46.906Q65.983-46.769 65.845-46.535Q65.706-46.301 65.706-46.027L65.706-44.667Q65.706-44.530 65.857-44.494Q66.007-44.458 66.233-44.458\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-34.16 -19.51)\">\u003Cpath d=\"M72.091-44.438Q72.234-44.332 72.463-44.332Q72.689-44.332 72.863-44.528Q73.038-44.725 73.092-44.954L73.407-46.215Q73.479-46.482 73.479-46.615Q73.479-46.806 73.367-46.924Q73.256-47.042 73.065-47.042Q72.836-47.042 72.638-46.918Q72.439-46.793 72.298-46.589Q72.156-46.386 72.098-46.167Q72.087-46.102 72.029-46.102L71.917-46.102Q71.886-46.102 71.862-46.133Q71.838-46.164 71.838-46.188L71.838-46.215Q71.951-46.642 72.304-46.953Q72.658-47.264 73.079-47.264Q73.250-47.264 73.414-47.211Q73.578-47.158 73.711-47.054Q73.844-46.950 73.919-46.796Q74.060-47.001 74.261-47.133Q74.463-47.264 74.682-47.264Q74.972-47.264 75.201-47.129Q75.430-46.994 75.430-46.724Q75.430-46.605 75.377-46.501Q75.324-46.396 75.227-46.333Q75.129-46.270 75.010-46.270Q74.894-46.270 74.812-46.343Q74.730-46.417 74.730-46.536Q74.730-46.677 74.820-46.791Q74.911-46.906 75.044-46.936Q74.890-47.042 74.668-47.042Q74.514-47.042 74.384-46.948Q74.254-46.854 74.166-46.718Q74.077-46.581 74.029-46.417L73.714-45.159Q73.653-44.875 73.653-44.759Q73.653-44.568 73.764-44.450Q73.875-44.332 74.066-44.332Q74.241-44.332 74.400-44.407Q74.559-44.482 74.689-44.612Q74.818-44.742 74.907-44.899Q74.996-45.056 75.030-45.207Q75.054-45.268 75.109-45.268L75.218-45.268Q75.252-45.268 75.275-45.243Q75.297-45.217 75.297-45.186Q75.297-45.173 75.290-45.159Q75.222-44.879 75.037-44.639Q74.853-44.400 74.593-44.255Q74.333-44.110 74.049-44.110Q73.783-44.110 73.554-44.229Q73.325-44.349 73.212-44.578Q73.082-44.380 72.879-44.245Q72.675-44.110 72.446-44.110Q72.166-44.110 71.935-44.245Q71.705-44.380 71.705-44.646Q71.705-44.827 71.826-44.964Q71.947-45.101 72.125-45.101Q72.245-45.101 72.325-45.029Q72.405-44.957 72.405-44.838Q72.405-44.698 72.318-44.583Q72.231-44.469 72.091-44.438\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-34.16 -19.51)\">\u003Cpath d=\"M76.527-42.421L76.458-42.421Q76.424-42.421 76.402-42.447Q76.380-42.472 76.380-42.507Q76.380-42.551 76.411-42.568Q76.766-42.872 77.016-43.262Q77.265-43.652 77.417-44.084Q77.569-44.516 77.639-44.985Q77.709-45.453 77.709-45.928Q77.709-46.407 77.639-46.873Q77.569-47.340 77.415-47.775Q77.262-48.211 77.010-48.599Q76.759-48.987 76.411-49.281Q76.380-49.298 76.380-49.343Q76.380-49.377 76.402-49.402Q76.424-49.428 76.458-49.428L76.527-49.428Q76.537-49.428 76.546-49.426Q76.554-49.425 76.564-49.421Q77.108-49.021 77.480-48.468Q77.853-47.914 78.034-47.268Q78.215-46.622 78.215-45.928Q78.215-45.227 78.034-44.580Q77.853-43.932 77.479-43.378Q77.104-42.824 76.564-42.428Q76.554-42.428 76.546-42.426Q76.537-42.425 76.527-42.421\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\">\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M11.010-44.185L11.010-45.248Q11.010-45.272 11.038-45.299Q11.065-45.326 11.089-45.326L11.198-45.326Q11.263-45.326 11.277-45.268Q11.373-44.834 11.619-44.583Q11.865-44.332 12.279-44.332Q12.620-44.332 12.873-44.465Q13.126-44.598 13.126-44.906Q13.126-45.063 13.032-45.178Q12.938-45.292 12.800-45.361Q12.661-45.429 12.494-45.467L11.913-45.566Q11.557-45.634 11.284-45.855Q11.010-46.075 11.010-46.417Q11.010-46.666 11.122-46.841Q11.233-47.015 11.419-47.114Q11.605-47.213 11.821-47.256Q12.036-47.299 12.279-47.299Q12.692-47.299 12.972-47.117L13.188-47.292Q13.198-47.295 13.205-47.297Q13.212-47.299 13.222-47.299L13.273-47.299Q13.300-47.299 13.324-47.275Q13.348-47.251 13.348-47.223L13.348-46.376Q13.348-46.355 13.324-46.328Q13.300-46.301 13.273-46.301L13.160-46.301Q13.133-46.301 13.107-46.326Q13.082-46.352 13.082-46.376Q13.082-46.612 12.976-46.776Q12.870-46.940 12.687-47.022Q12.504-47.104 12.272-47.104Q11.944-47.104 11.687-47.001Q11.431-46.899 11.431-46.622Q11.431-46.427 11.614-46.318Q11.797-46.208 12.026-46.167L12.600-46.061Q12.846-46.013 13.060-45.885Q13.273-45.757 13.410-45.554Q13.547-45.350 13.547-45.101Q13.547-44.588 13.181-44.349Q12.815-44.110 12.279-44.110Q11.783-44.110 11.451-44.404L11.185-44.130Q11.164-44.110 11.137-44.110L11.089-44.110Q11.065-44.110 11.038-44.137Q11.010-44.164 11.010-44.185M15.857-44.178L14.223-44.178L14.223-44.458Q14.452-44.458 14.601-44.492Q14.750-44.527 14.750-44.667L14.750-48.286Q14.750-48.556 14.642-48.618Q14.534-48.679 14.223-48.679L14.223-48.960L15.303-49.035L15.303-46.649Q15.409-46.834 15.587-46.976Q15.765-47.117 15.973-47.191Q16.182-47.264 16.407-47.264Q16.913-47.264 17.197-47.041Q17.481-46.817 17.481-46.321L17.481-44.667Q17.481-44.530 17.629-44.494Q17.778-44.458 18.004-44.458L18.004-44.178L16.373-44.178L16.373-44.458Q16.602-44.458 16.751-44.492Q16.900-44.527 16.900-44.667L16.900-46.307Q16.900-46.642 16.780-46.842Q16.660-47.042 16.346-47.042Q16.076-47.042 15.842-46.906Q15.608-46.769 15.469-46.535Q15.331-46.301 15.331-46.027L15.331-44.667Q15.331-44.530 15.481-44.494Q15.632-44.458 15.857-44.458L15.857-44.178M18.650-44.906Q18.650-45.238 18.873-45.465Q19.097-45.692 19.441-45.820Q19.784-45.949 20.157-46.001Q20.529-46.054 20.834-46.054L20.834-46.307Q20.834-46.512 20.726-46.692Q20.618-46.871 20.437-46.974Q20.256-47.076 20.048-47.076Q19.641-47.076 19.405-46.984Q19.494-46.947 19.540-46.863Q19.586-46.779 19.586-46.677Q19.586-46.581 19.540-46.502Q19.494-46.424 19.414-46.379Q19.333-46.335 19.244-46.335Q19.094-46.335 18.993-46.432Q18.892-46.530 18.892-46.677Q18.892-47.299 20.048-47.299Q20.259-47.299 20.509-47.235Q20.758-47.172 20.960-47.053Q21.162-46.933 21.288-46.748Q21.415-46.564 21.415-46.321L21.415-44.745Q21.415-44.629 21.476-44.533Q21.538-44.438 21.651-44.438Q21.760-44.438 21.825-44.532Q21.890-44.626 21.890-44.745L21.890-45.193L22.156-45.193L22.156-44.745Q22.156-44.475 21.929-44.310Q21.702-44.144 21.422-44.144Q21.213-44.144 21.076-44.298Q20.940-44.451 20.916-44.667Q20.769-44.400 20.487-44.255Q20.205-44.110 19.880-44.110Q19.603-44.110 19.320-44.185Q19.036-44.260 18.843-44.439Q18.650-44.619 18.650-44.906M19.265-44.906Q19.265-44.732 19.366-44.602Q19.467-44.472 19.622-44.402Q19.778-44.332 19.942-44.332Q20.160-44.332 20.369-44.429Q20.577-44.527 20.706-44.708Q20.834-44.889 20.834-45.115L20.834-45.843Q20.509-45.843 20.143-45.752Q19.778-45.661 19.521-45.449Q19.265-45.238 19.265-44.906M22.573-45.689Q22.573-46.027 22.714-46.318Q22.854-46.608 23.098-46.822Q23.342-47.035 23.647-47.150Q23.951-47.264 24.276-47.264Q24.546-47.264 24.809-47.165Q25.072-47.066 25.263-46.888L25.263-48.286Q25.263-48.556 25.156-48.618Q25.048-48.679 24.737-48.679L24.737-48.960L25.814-49.035L25.814-44.851Q25.814-44.663 25.868-44.580Q25.923-44.496 26.024-44.477Q26.125-44.458 26.340-44.458L26.340-44.178L25.233-44.110L25.233-44.527Q24.816-44.110 24.190-44.110Q23.759-44.110 23.387-44.322Q23.014-44.533 22.794-44.894Q22.573-45.255 22.573-45.689M24.248-44.332Q24.457-44.332 24.643-44.404Q24.829-44.475 24.983-44.612Q25.137-44.749 25.233-44.927L25.233-46.536Q25.147-46.683 25.002-46.803Q24.857-46.923 24.687-46.982Q24.518-47.042 24.337-47.042Q23.777-47.042 23.508-46.653Q23.240-46.263 23.240-45.682Q23.240-45.111 23.474-44.721Q23.708-44.332 24.248-44.332M26.948-45.713Q26.948-46.034 27.073-46.323Q27.198-46.612 27.424-46.835Q27.649-47.059 27.945-47.179Q28.240-47.299 28.558-47.299Q28.886-47.299 29.148-47.199Q29.409-47.100 29.585-46.918Q29.761-46.735 29.855-46.477Q29.949-46.219 29.949-45.887Q29.949-45.795 29.867-45.774L27.612-45.774L27.612-45.713Q27.612-45.125 27.895-44.742Q28.179-44.359 28.746-44.359Q29.068-44.359 29.336-44.552Q29.604-44.745 29.693-45.060Q29.700-45.101 29.775-45.115L29.867-45.115Q29.949-45.091 29.949-45.019Q29.949-45.012 29.943-44.985Q29.830-44.588 29.459-44.349Q29.088-44.110 28.664-44.110Q28.227-44.110 27.827-44.318Q27.427-44.527 27.188-44.894Q26.948-45.261 26.948-45.713M27.618-45.983L29.433-45.983Q29.433-46.260 29.336-46.512Q29.238-46.765 29.040-46.921Q28.842-47.076 28.558-47.076Q28.281-47.076 28.068-46.918Q27.854-46.759 27.736-46.504Q27.618-46.249 27.618-45.983M30.537-45.689Q30.537-46.027 30.677-46.318Q30.818-46.608 31.062-46.822Q31.306-47.035 31.611-47.150Q31.915-47.264 32.239-47.264Q32.509-47.264 32.773-47.165Q33.036-47.066 33.227-46.888L33.227-48.286Q33.227-48.556 33.120-48.618Q33.012-48.679 32.701-48.679L32.701-48.960L33.778-49.035L33.778-44.851Q33.778-44.663 33.832-44.580Q33.887-44.496 33.988-44.477Q34.089-44.458 34.304-44.458L34.304-44.178L33.196-44.110L33.196-44.527Q32.779-44.110 32.154-44.110Q31.723-44.110 31.351-44.322Q30.978-44.533 30.758-44.894Q30.537-45.255 30.537-45.689M32.212-44.332Q32.421-44.332 32.607-44.404Q32.793-44.475 32.947-44.612Q33.101-44.749 33.196-44.927L33.196-46.536Q33.111-46.683 32.966-46.803Q32.821-46.923 32.651-46.982Q32.482-47.042 32.301-47.042Q31.740-47.042 31.472-46.653Q31.204-46.263 31.204-45.682Q31.204-45.111 31.438-44.721Q31.672-44.332 32.212-44.332\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M42.832-44.985L37.999-44.985Q37.931-44.995 37.885-45.041Q37.839-45.087 37.839-45.159Q37.839-45.224 37.885-45.270Q37.931-45.316 37.999-45.326L42.832-45.326Q42.901-45.316 42.947-45.270Q42.993-45.224 42.993-45.159Q42.993-45.087 42.947-45.041Q42.901-44.995 42.832-44.985M42.832-46.523L37.999-46.523Q37.931-46.533 37.885-46.579Q37.839-46.625 37.839-46.697Q37.839-46.841 37.999-46.865L42.832-46.865Q42.993-46.841 42.993-46.697Q42.993-46.625 42.947-46.579Q42.901-46.533 42.832-46.523\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M46.498-45.689Q46.498-46.017 46.633-46.318Q46.768-46.618 47.004-46.839Q47.240-47.059 47.544-47.179Q47.849-47.299 48.173-47.299Q48.679-47.299 49.028-47.196Q49.376-47.094 49.376-46.718Q49.376-46.571 49.279-46.470Q49.182-46.369 49.035-46.369Q48.881-46.369 48.782-46.468Q48.683-46.567 48.683-46.718Q48.683-46.906 48.823-46.998Q48.621-47.049 48.180-47.049Q47.825-47.049 47.596-46.853Q47.367-46.656 47.266-46.347Q47.165-46.037 47.165-45.689Q47.165-45.340 47.291-45.034Q47.418-44.728 47.673-44.544Q47.927-44.359 48.283-44.359Q48.505-44.359 48.689-44.443Q48.874-44.527 49.009-44.682Q49.144-44.838 49.202-45.046Q49.216-45.101 49.270-45.101L49.383-45.101Q49.414-45.101 49.436-45.077Q49.458-45.053 49.458-45.019L49.458-44.998Q49.373-44.711 49.185-44.513Q48.997-44.315 48.732-44.212Q48.467-44.110 48.173-44.110Q47.743-44.110 47.355-44.316Q46.967-44.523 46.733-44.886Q46.498-45.248 46.498-45.689M50.104-44.906Q50.104-45.238 50.328-45.465Q50.552-45.692 50.896-45.820Q51.239-45.949 51.612-46.001Q51.984-46.054 52.288-46.054L52.288-46.307Q52.288-46.512 52.181-46.692Q52.073-46.871 51.892-46.974Q51.711-47.076 51.502-47.076Q51.096-47.076 50.860-46.984Q50.949-46.947 50.995-46.863Q51.041-46.779 51.041-46.677Q51.041-46.581 50.995-46.502Q50.949-46.424 50.868-46.379Q50.788-46.335 50.699-46.335Q50.549-46.335 50.448-46.432Q50.347-46.530 50.347-46.677Q50.347-47.299 51.502-47.299Q51.714-47.299 51.964-47.235Q52.213-47.172 52.415-47.053Q52.617-46.933 52.743-46.748Q52.870-46.564 52.870-46.321L52.870-44.745Q52.870-44.629 52.931-44.533Q52.993-44.438 53.105-44.438Q53.215-44.438 53.280-44.532Q53.345-44.626 53.345-44.745L53.345-45.193L53.611-45.193L53.611-44.745Q53.611-44.475 53.384-44.310Q53.157-44.144 52.876-44.144Q52.668-44.144 52.531-44.298Q52.394-44.451 52.371-44.667Q52.224-44.400 51.942-44.255Q51.660-44.110 51.335-44.110Q51.058-44.110 50.774-44.185Q50.491-44.260 50.298-44.439Q50.104-44.619 50.104-44.906M50.720-44.906Q50.720-44.732 50.820-44.602Q50.921-44.472 51.077-44.402Q51.232-44.332 51.396-44.332Q51.615-44.332 51.824-44.429Q52.032-44.527 52.160-44.708Q52.288-44.889 52.288-45.115L52.288-45.843Q51.964-45.843 51.598-45.752Q51.232-45.661 50.976-45.449Q50.720-45.238 50.720-44.906M55.710-44.178L54.076-44.178L54.076-44.458Q54.305-44.458 54.454-44.492Q54.602-44.527 54.602-44.667L54.602-46.516Q54.602-46.786 54.495-46.847Q54.387-46.909 54.076-46.909L54.076-47.189L55.136-47.264L55.136-46.615Q55.307-46.923 55.611-47.094Q55.915-47.264 56.260-47.264Q56.766-47.264 57.050-47.041Q57.333-46.817 57.333-46.321L57.333-44.667Q57.333-44.530 57.482-44.494Q57.631-44.458 57.856-44.458L57.856-44.178L56.226-44.178L56.226-44.458Q56.455-44.458 56.604-44.492Q56.752-44.527 56.752-44.667L56.752-46.307Q56.752-46.642 56.633-46.842Q56.513-47.042 56.199-47.042Q55.929-47.042 55.694-46.906Q55.460-46.769 55.322-46.535Q55.184-46.301 55.184-46.027L55.184-44.667Q55.184-44.530 55.334-44.494Q55.484-44.458 55.710-44.458L55.710-44.178M58.403-45.661Q58.403-46.003 58.538-46.302Q58.673-46.601 58.913-46.825Q59.152-47.049 59.470-47.174Q59.788-47.299 60.119-47.299Q60.563-47.299 60.963-47.083Q61.363-46.868 61.597-46.490Q61.831-46.113 61.831-45.661Q61.831-45.320 61.690-45.036Q61.548-44.752 61.303-44.545Q61.059-44.339 60.750-44.224Q60.440-44.110 60.119-44.110Q59.688-44.110 59.287-44.311Q58.885-44.513 58.644-44.865Q58.403-45.217 58.403-45.661M60.119-44.359Q60.721-44.359 60.944-44.737Q61.168-45.115 61.168-45.747Q61.168-46.359 60.934-46.718Q60.700-47.076 60.119-47.076Q59.066-47.076 59.066-45.747Q59.066-45.115 59.292-44.737Q59.517-44.359 60.119-44.359M64.108-44.178L62.474-44.178L62.474-44.458Q62.703-44.458 62.852-44.492Q63-44.527 63-44.667L63-46.516Q63-46.786 62.893-46.847Q62.785-46.909 62.474-46.909L62.474-47.189L63.534-47.264L63.534-46.615Q63.705-46.923 64.009-47.094Q64.313-47.264 64.658-47.264Q65.164-47.264 65.448-47.041Q65.731-46.817 65.731-46.321L65.731-44.667Q65.731-44.530 65.880-44.494Q66.029-44.458 66.254-44.458L66.254-44.178L64.624-44.178L64.624-44.458Q64.853-44.458 65.002-44.492Q65.150-44.527 65.150-44.667L65.150-46.307Q65.150-46.642 65.031-46.842Q64.911-47.042 64.597-47.042Q64.327-47.042 64.092-46.906Q63.858-46.769 63.720-46.535Q63.581-46.301 63.581-46.027L63.581-44.667Q63.581-44.530 63.732-44.494Q63.882-44.458 64.108-44.458L64.108-44.178M68.459-44.178L66.907-44.178L66.907-44.458Q67.133-44.458 67.281-44.492Q67.430-44.527 67.430-44.667L67.430-46.516Q67.430-46.704 67.382-46.788Q67.334-46.871 67.237-46.890Q67.140-46.909 66.928-46.909L66.928-47.189L67.984-47.264L67.984-44.667Q67.984-44.527 68.115-44.492Q68.247-44.458 68.459-44.458L68.459-44.178M67.187-48.485Q67.187-48.656 67.310-48.775Q67.434-48.895 67.604-48.895Q67.772-48.895 67.895-48.775Q68.018-48.656 68.018-48.485Q68.018-48.310 67.895-48.187Q67.772-48.064 67.604-48.064Q67.434-48.064 67.310-48.187Q67.187-48.310 67.187-48.485M69.105-45.689Q69.105-46.017 69.240-46.318Q69.375-46.618 69.611-46.839Q69.847-47.059 70.151-47.179Q70.455-47.299 70.780-47.299Q71.286-47.299 71.634-47.196Q71.983-47.094 71.983-46.718Q71.983-46.571 71.885-46.470Q71.788-46.369 71.641-46.369Q71.487-46.369 71.388-46.468Q71.289-46.567 71.289-46.718Q71.289-46.906 71.429-46.998Q71.227-47.049 70.787-47.049Q70.431-47.049 70.202-46.853Q69.973-46.656 69.872-46.347Q69.771-46.037 69.771-45.689Q69.771-45.340 69.898-45.034Q70.024-44.728 70.279-44.544Q70.534-44.359 70.889-44.359Q71.111-44.359 71.296-44.443Q71.480-44.527 71.615-44.682Q71.750-44.838 71.809-45.046Q71.822-45.101 71.877-45.101L71.990-45.101Q72.020-45.101 72.043-45.077Q72.065-45.053 72.065-45.019L72.065-44.998Q71.979-44.711 71.791-44.513Q71.603-44.315 71.339-44.212Q71.074-44.110 70.780-44.110Q70.349-44.110 69.961-44.316Q69.573-44.523 69.339-44.886Q69.105-45.248 69.105-45.689M72.711-44.906Q72.711-45.238 72.935-45.465Q73.159-45.692 73.502-45.820Q73.846-45.949 74.218-46.001Q74.591-46.054 74.895-46.054L74.895-46.307Q74.895-46.512 74.787-46.692Q74.680-46.871 74.498-46.974Q74.317-47.076 74.109-47.076Q73.702-47.076 73.466-46.984Q73.555-46.947 73.601-46.863Q73.647-46.779 73.647-46.677Q73.647-46.581 73.601-46.502Q73.555-46.424 73.475-46.379Q73.394-46.335 73.306-46.335Q73.155-46.335 73.054-46.432Q72.954-46.530 72.954-46.677Q72.954-47.299 74.109-47.299Q74.321-47.299 74.570-47.235Q74.820-47.172 75.021-47.053Q75.223-46.933 75.350-46.748Q75.476-46.564 75.476-46.321L75.476-44.745Q75.476-44.629 75.538-44.533Q75.599-44.438 75.712-44.438Q75.821-44.438 75.886-44.532Q75.951-44.626 75.951-44.745L75.951-45.193L76.218-45.193L76.218-44.745Q76.218-44.475 75.990-44.310Q75.763-44.144 75.483-44.144Q75.274-44.144 75.138-44.298Q75.001-44.451 74.977-44.667Q74.830-44.400 74.548-44.255Q74.266-44.110 73.941-44.110Q73.664-44.110 73.381-44.185Q73.097-44.260 72.904-44.439Q72.711-44.619 72.711-44.906M73.326-44.906Q73.326-44.732 73.427-44.602Q73.528-44.472 73.683-44.402Q73.839-44.332 74.003-44.332Q74.222-44.332 74.430-44.429Q74.639-44.527 74.767-44.708Q74.895-44.889 74.895-45.115L74.895-45.843Q74.570-45.843 74.205-45.752Q73.839-45.661 73.582-45.449Q73.326-45.238 73.326-44.906M78.303-44.178L76.700-44.178L76.700-44.458Q76.925-44.458 77.074-44.492Q77.223-44.527 77.223-44.667L77.223-48.286Q77.223-48.556 77.115-48.618Q77.007-48.679 76.700-48.679L76.700-48.960L77.776-49.035L77.776-44.667Q77.776-44.530 77.927-44.494Q78.077-44.458 78.303-44.458\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M81.623-44.185L81.623-45.248Q81.623-45.272 81.651-45.299Q81.678-45.326 81.702-45.326L81.811-45.326Q81.876-45.326 81.890-45.268Q81.986-44.834 82.232-44.583Q82.478-44.332 82.892-44.332Q83.233-44.332 83.486-44.465Q83.739-44.598 83.739-44.906Q83.739-45.063 83.645-45.178Q83.551-45.292 83.413-45.361Q83.274-45.429 83.107-45.467L82.526-45.566Q82.170-45.634 81.897-45.855Q81.623-46.075 81.623-46.417Q81.623-46.666 81.735-46.841Q81.846-47.015 82.032-47.114Q82.218-47.213 82.434-47.256Q82.649-47.299 82.892-47.299Q83.305-47.299 83.585-47.117L83.801-47.292Q83.811-47.295 83.818-47.297Q83.825-47.299 83.835-47.299L83.886-47.299Q83.913-47.299 83.937-47.275Q83.961-47.251 83.961-47.223L83.961-46.376Q83.961-46.355 83.937-46.328Q83.913-46.301 83.886-46.301L83.773-46.301Q83.746-46.301 83.720-46.326Q83.695-46.352 83.695-46.376Q83.695-46.612 83.589-46.776Q83.483-46.940 83.300-47.022Q83.117-47.104 82.885-47.104Q82.557-47.104 82.300-47.001Q82.044-46.899 82.044-46.622Q82.044-46.427 82.227-46.318Q82.410-46.208 82.639-46.167L83.213-46.061Q83.459-46.013 83.673-45.885Q83.886-45.757 84.023-45.554Q84.160-45.350 84.160-45.101Q84.160-44.588 83.794-44.349Q83.428-44.110 82.892-44.110Q82.396-44.110 82.064-44.404L81.798-44.130Q81.777-44.110 81.750-44.110L81.702-44.110Q81.678-44.110 81.651-44.137Q81.623-44.164 81.623-44.185M85.363-45.012L85.363-46.516Q85.363-46.786 85.255-46.847Q85.147-46.909 84.836-46.909L84.836-47.189L85.944-47.264L85.944-45.032L85.944-45.012Q85.944-44.732 85.995-44.588Q86.046-44.445 86.188-44.388Q86.330-44.332 86.617-44.332Q86.870-44.332 87.075-44.472Q87.280-44.612 87.396-44.838Q87.513-45.063 87.513-45.313L87.513-46.516Q87.513-46.786 87.405-46.847Q87.297-46.909 86.986-46.909L86.986-47.189L88.094-47.264L88.094-44.851Q88.094-44.660 88.147-44.578Q88.200-44.496 88.300-44.477Q88.401-44.458 88.617-44.458L88.617-44.178L87.540-44.110L87.540-44.674Q87.431-44.492 87.285-44.369Q87.140-44.246 86.954-44.178Q86.767-44.110 86.566-44.110Q85.363-44.110 85.363-45.012M90.011-44.178L89.745-44.178L89.745-48.286Q89.745-48.556 89.637-48.618Q89.529-48.679 89.218-48.679L89.218-48.960L90.298-49.035L90.298-46.865Q90.507-47.056 90.792-47.160Q91.078-47.264 91.375-47.264Q91.693-47.264 91.990-47.143Q92.288-47.022 92.510-46.806Q92.732-46.591 92.858-46.306Q92.985-46.020 92.985-45.689Q92.985-45.244 92.746-44.880Q92.506-44.516 92.113-44.313Q91.720-44.110 91.276-44.110Q91.081-44.110 90.891-44.166Q90.702-44.222 90.541-44.327Q90.380-44.431 90.240-44.592L90.011-44.178M90.326-46.523L90.326-44.906Q90.462-44.646 90.703-44.489Q90.944-44.332 91.221-44.332Q91.515-44.332 91.727-44.439Q91.939-44.547 92.072-44.739Q92.205-44.930 92.264-45.169Q92.322-45.408 92.322-45.689Q92.322-46.048 92.228-46.352Q92.134-46.656 91.906-46.849Q91.679-47.042 91.313-47.042Q91.013-47.042 90.746-46.906Q90.479-46.769 90.326-46.523M94.147-45.019L94.147-46.916L93.508-46.916L93.508-47.138Q93.826-47.138 94.043-47.348Q94.260-47.558 94.361-47.868Q94.461-48.177 94.461-48.485L94.728-48.485L94.728-47.196L95.805-47.196L95.805-46.916L94.728-46.916L94.728-45.032Q94.728-44.756 94.832-44.557Q94.936-44.359 95.196-44.359Q95.353-44.359 95.459-44.463Q95.565-44.568 95.615-44.721Q95.664-44.875 95.664-45.032L95.664-45.446L95.931-45.446L95.931-45.019Q95.931-44.793 95.832-44.583Q95.733-44.373 95.548-44.241Q95.364-44.110 95.135-44.110Q94.697-44.110 94.422-44.347Q94.147-44.585 94.147-45.019M98.491-44.178L96.755-44.178L96.755-44.458Q96.984-44.458 97.132-44.492Q97.281-44.527 97.281-44.667L97.281-46.516Q97.281-46.786 97.174-46.847Q97.066-46.909 96.755-46.909L96.755-47.189L97.784-47.264L97.784-46.557Q97.913-46.865 98.156-47.064Q98.399-47.264 98.717-47.264Q98.935-47.264 99.106-47.140Q99.277-47.015 99.277-46.803Q99.277-46.666 99.178-46.567Q99.079-46.468 98.946-46.468Q98.809-46.468 98.710-46.567Q98.611-46.666 98.611-46.803Q98.611-46.943 98.710-47.042Q98.419-47.042 98.219-46.846Q98.019-46.649 97.927-46.355Q97.835-46.061 97.835-45.781L97.835-44.667Q97.835-44.458 98.491-44.458L98.491-44.178M99.821-45.713Q99.821-46.034 99.945-46.323Q100.070-46.612 100.296-46.835Q100.521-47.059 100.817-47.179Q101.113-47.299 101.431-47.299Q101.759-47.299 102.020-47.199Q102.282-47.100 102.458-46.918Q102.634-46.735 102.728-46.477Q102.822-46.219 102.822-45.887Q102.822-45.795 102.740-45.774L100.484-45.774L100.484-45.713Q100.484-45.125 100.767-44.742Q101.051-44.359 101.619-44.359Q101.940-44.359 102.208-44.552Q102.476-44.745 102.565-45.060Q102.572-45.101 102.647-45.115L102.740-45.115Q102.822-45.091 102.822-45.019Q102.822-45.012 102.815-44.985Q102.702-44.588 102.331-44.349Q101.960-44.110 101.537-44.110Q101.099-44.110 100.699-44.318Q100.299-44.527 100.060-44.894Q99.821-45.261 99.821-45.713M100.491-45.983L102.306-45.983Q102.306-46.260 102.208-46.512Q102.111-46.765 101.913-46.921Q101.714-47.076 101.431-47.076Q101.154-47.076 100.940-46.918Q100.726-46.759 100.609-46.504Q100.491-46.249 100.491-45.983M103.369-45.713Q103.369-46.034 103.493-46.323Q103.618-46.612 103.844-46.835Q104.069-47.059 104.365-47.179Q104.661-47.299 104.978-47.299Q105.307-47.299 105.568-47.199Q105.830-47.100 106.006-46.918Q106.182-46.735 106.276-46.477Q106.370-46.219 106.370-45.887Q106.370-45.795 106.288-45.774L104.032-45.774L104.032-45.713Q104.032-45.125 104.315-44.742Q104.599-44.359 105.166-44.359Q105.488-44.359 105.756-44.552Q106.024-44.745 106.113-45.060Q106.120-45.101 106.195-45.115L106.288-45.115Q106.370-45.091 106.370-45.019Q106.370-45.012 106.363-44.985Q106.250-44.588 105.879-44.349Q105.508-44.110 105.084-44.110Q104.647-44.110 104.247-44.318Q103.847-44.527 103.608-44.894Q103.369-45.261 103.369-45.713M104.038-45.983L105.853-45.983Q105.853-46.260 105.756-46.512Q105.659-46.765 105.460-46.921Q105.262-47.076 104.978-47.076Q104.702-47.076 104.488-46.918Q104.274-46.759 104.156-46.504Q104.038-46.249 104.038-45.983M106.957-44.185L106.957-45.248Q106.957-45.272 106.985-45.299Q107.012-45.326 107.036-45.326L107.145-45.326Q107.210-45.326 107.224-45.268Q107.320-44.834 107.566-44.583Q107.812-44.332 108.226-44.332Q108.567-44.332 108.820-44.465Q109.073-44.598 109.073-44.906Q109.073-45.063 108.979-45.178Q108.885-45.292 108.747-45.361Q108.608-45.429 108.441-45.467L107.860-45.566Q107.504-45.634 107.231-45.855Q106.957-46.075 106.957-46.417Q106.957-46.666 107.069-46.841Q107.180-47.015 107.366-47.114Q107.552-47.213 107.767-47.256Q107.983-47.299 108.226-47.299Q108.639-47.299 108.919-47.117L109.135-47.292Q109.145-47.295 109.152-47.297Q109.159-47.299 109.169-47.299L109.220-47.299Q109.247-47.299 109.271-47.275Q109.295-47.251 109.295-47.223L109.295-46.376Q109.295-46.355 109.271-46.328Q109.247-46.301 109.220-46.301L109.107-46.301Q109.080-46.301 109.054-46.326Q109.029-46.352 109.029-46.376Q109.029-46.612 108.923-46.776Q108.817-46.940 108.634-47.022Q108.451-47.104 108.219-47.104Q107.891-47.104 107.634-47.001Q107.378-46.899 107.378-46.622Q107.378-46.427 107.561-46.318Q107.744-46.208 107.973-46.167L108.547-46.061Q108.793-46.013 109.007-45.885Q109.220-45.757 109.357-45.554Q109.494-45.350 109.494-45.101Q109.494-44.588 109.128-44.349Q108.762-44.110 108.226-44.110Q107.730-44.110 107.398-44.404L107.132-44.130Q107.111-44.110 107.084-44.110L107.036-44.110Q107.012-44.110 106.985-44.137Q106.957-44.164 106.957-44.185\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M114.646-44.178L112.913-44.178L112.913-44.458Q113.139-44.458 113.288-44.492Q113.436-44.527 113.436-44.667L113.436-46.916L112.848-46.916L112.848-47.196L113.436-47.196L113.436-48.013Q113.436-48.331 113.614-48.579Q113.792-48.826 114.082-48.967Q114.373-49.107 114.684-49.107Q114.940-49.107 115.144-48.965Q115.347-48.823 115.347-48.580Q115.347-48.444 115.248-48.345Q115.149-48.245 115.012-48.245Q114.875-48.245 114.776-48.345Q114.677-48.444 114.677-48.580Q114.677-48.761 114.817-48.854Q114.739-48.881 114.639-48.881Q114.431-48.881 114.277-48.748Q114.123-48.615 114.043-48.411Q113.963-48.208 113.963-47.999L113.963-47.196L114.851-47.196L114.851-46.916L113.990-46.916L113.990-44.667Q113.990-44.458 114.646-44.458L114.646-44.178M115.285-45.661Q115.285-46.003 115.420-46.302Q115.555-46.601 115.795-46.825Q116.034-47.049 116.352-47.174Q116.670-47.299 117.001-47.299Q117.446-47.299 117.846-47.083Q118.245-46.868 118.480-46.490Q118.714-46.113 118.714-45.661Q118.714-45.320 118.572-45.036Q118.430-44.752 118.186-44.545Q117.941-44.339 117.632-44.224Q117.323-44.110 117.001-44.110Q116.571-44.110 116.169-44.311Q115.767-44.513 115.526-44.865Q115.285-45.217 115.285-45.661M117.001-44.359Q117.603-44.359 117.827-44.737Q118.051-45.115 118.051-45.747Q118.051-46.359 117.816-46.718Q117.582-47.076 117.001-47.076Q115.949-47.076 115.949-45.747Q115.949-45.115 116.174-44.737Q116.400-44.359 117.001-44.359M121.058-44.178L119.322-44.178L119.322-44.458Q119.551-44.458 119.700-44.492Q119.848-44.527 119.848-44.667L119.848-46.516Q119.848-46.786 119.741-46.847Q119.633-46.909 119.322-46.909L119.322-47.189L120.351-47.264L120.351-46.557Q120.481-46.865 120.723-47.064Q120.966-47.264 121.284-47.264Q121.503-47.264 121.674-47.140Q121.845-47.015 121.845-46.803Q121.845-46.666 121.745-46.567Q121.646-46.468 121.513-46.468Q121.376-46.468 121.277-46.567Q121.178-46.666 121.178-46.803Q121.178-46.943 121.277-47.042Q120.987-47.042 120.787-46.846Q120.587-46.649 120.494-46.355Q120.402-46.061 120.402-45.781L120.402-44.667Q120.402-44.458 121.058-44.458\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M126.849-42.428L125.773-42.428L125.773-49.428L126.849-49.428L126.849-49.086L126.114-49.086L126.114-42.770L126.849-42.770\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M127.818-44.438Q127.961-44.332 128.190-44.332Q128.416-44.332 128.590-44.528Q128.765-44.725 128.819-44.954L129.134-46.215Q129.206-46.482 129.206-46.615Q129.206-46.806 129.094-46.924Q128.983-47.042 128.792-47.042Q128.563-47.042 128.365-46.918Q128.166-46.793 128.025-46.589Q127.883-46.386 127.825-46.167Q127.814-46.102 127.756-46.102L127.644-46.102Q127.613-46.102 127.589-46.133Q127.565-46.164 127.565-46.188L127.565-46.215Q127.678-46.642 128.031-46.953Q128.385-47.264 128.806-47.264Q128.977-47.264 129.141-47.211Q129.305-47.158 129.438-47.054Q129.571-46.950 129.646-46.796Q129.787-47.001 129.988-47.133Q130.190-47.264 130.409-47.264Q130.699-47.264 130.928-47.129Q131.157-46.994 131.157-46.724Q131.157-46.605 131.104-46.501Q131.051-46.396 130.954-46.333Q130.856-46.270 130.737-46.270Q130.621-46.270 130.539-46.343Q130.457-46.417 130.457-46.536Q130.457-46.677 130.547-46.791Q130.638-46.906 130.771-46.936Q130.617-47.042 130.395-47.042Q130.241-47.042 130.111-46.948Q129.981-46.854 129.893-46.718Q129.804-46.581 129.756-46.417L129.441-45.159Q129.380-44.875 129.380-44.759Q129.380-44.568 129.491-44.450Q129.602-44.332 129.793-44.332Q129.968-44.332 130.127-44.407Q130.286-44.482 130.416-44.612Q130.545-44.742 130.634-44.899Q130.723-45.056 130.757-45.207Q130.781-45.268 130.836-45.268L130.945-45.268Q130.979-45.268 131.002-45.243Q131.024-45.217 131.024-45.186Q131.024-45.173 131.017-45.159Q130.949-44.879 130.764-44.639Q130.580-44.400 130.320-44.255Q130.060-44.110 129.776-44.110Q129.510-44.110 129.281-44.229Q129.052-44.349 128.939-44.578Q128.809-44.380 128.606-44.245Q128.402-44.110 128.173-44.110Q127.893-44.110 127.662-44.245Q127.432-44.380 127.432-44.646Q127.432-44.827 127.553-44.964Q127.674-45.101 127.852-45.101Q127.972-45.101 128.052-45.029Q128.132-44.957 128.132-44.838Q128.132-44.698 128.045-44.583Q127.958-44.469 127.818-44.438\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M134.399-43.178L132.358-43.178L132.358-43.417Q133.139-43.417 133.139-43.537L133.139-46.083Q132.961-46.008 132.757-45.978Q132.553-45.949 132.324-45.949L132.324-46.188Q132.660-46.188 132.944-46.257Q133.227-46.325 133.437-46.508L133.542-46.508Q133.569-46.508 133.593-46.484Q133.618-46.459 133.618-46.432L133.618-43.537Q133.618-43.417 134.399-43.417\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.150\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M136.389-42.948Q136.389-42.982 136.417-43.009Q136.683-43.231 136.833-43.558Q136.984-43.884 136.984-44.240L136.984-44.277Q136.881-44.178 136.710-44.178Q136.533-44.178 136.411-44.299Q136.290-44.421 136.290-44.598Q136.290-44.769 136.411-44.891Q136.533-45.012 136.710-45.012Q136.970-45.012 137.090-44.773Q137.209-44.533 137.209-44.240Q137.209-43.836 137.039-43.467Q136.868-43.098 136.570-42.842Q136.540-42.821 136.516-42.821Q136.471-42.821 136.430-42.862Q136.389-42.903 136.389-42.948\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M139.996-44.438Q140.139-44.332 140.368-44.332Q140.594-44.332 140.768-44.528Q140.943-44.725 140.997-44.954L141.312-46.215Q141.384-46.482 141.384-46.615Q141.384-46.806 141.272-46.924Q141.161-47.042 140.970-47.042Q140.741-47.042 140.543-46.918Q140.344-46.793 140.203-46.589Q140.061-46.386 140.003-46.167Q139.992-46.102 139.934-46.102L139.822-46.102Q139.791-46.102 139.767-46.133Q139.743-46.164 139.743-46.188L139.743-46.215Q139.856-46.642 140.209-46.953Q140.563-47.264 140.984-47.264Q141.155-47.264 141.319-47.211Q141.483-47.158 141.616-47.054Q141.749-46.950 141.824-46.796Q141.965-47.001 142.166-47.133Q142.368-47.264 142.587-47.264Q142.877-47.264 143.106-47.129Q143.335-46.994 143.335-46.724Q143.335-46.605 143.282-46.501Q143.229-46.396 143.132-46.333Q143.034-46.270 142.915-46.270Q142.799-46.270 142.717-46.343Q142.635-46.417 142.635-46.536Q142.635-46.677 142.725-46.791Q142.816-46.906 142.949-46.936Q142.795-47.042 142.573-47.042Q142.419-47.042 142.289-46.948Q142.159-46.854 142.071-46.718Q141.982-46.581 141.934-46.417L141.619-45.159Q141.558-44.875 141.558-44.759Q141.558-44.568 141.669-44.450Q141.780-44.332 141.971-44.332Q142.146-44.332 142.305-44.407Q142.464-44.482 142.594-44.612Q142.723-44.742 142.812-44.899Q142.901-45.056 142.935-45.207Q142.959-45.268 143.014-45.268L143.123-45.268Q143.157-45.268 143.180-45.243Q143.202-45.217 143.202-45.186Q143.202-45.173 143.195-45.159Q143.127-44.879 142.942-44.639Q142.758-44.400 142.498-44.255Q142.238-44.110 141.954-44.110Q141.688-44.110 141.459-44.229Q141.230-44.349 141.117-44.578Q140.987-44.380 140.784-44.245Q140.580-44.110 140.351-44.110Q140.071-44.110 139.840-44.245Q139.610-44.380 139.610-44.646Q139.610-44.827 139.731-44.964Q139.852-45.101 140.030-45.101Q140.150-45.101 140.230-45.029Q140.310-44.957 140.310-44.838Q140.310-44.698 140.223-44.583Q140.136-44.469 139.996-44.438\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M146.577-43.178L144.250-43.178L144.250-43.359Q144.253-43.371 144.272-43.398L145.312-44.274Q145.620-44.533 145.774-44.677Q145.927-44.821 146.057-45.038Q146.186-45.256 146.186-45.497Q146.186-45.739 146.059-45.915Q145.932-46.091 145.728-46.180Q145.525-46.269 145.285-46.269Q145.078-46.269 144.882-46.181Q144.687-46.093 144.582-45.927Q144.702-45.927 144.779-45.835Q144.856-45.744 144.856-45.629Q144.856-45.502 144.769-45.413Q144.682-45.324 144.555-45.324Q144.426-45.324 144.338-45.414Q144.250-45.505 144.250-45.629Q144.250-45.910 144.423-46.109Q144.597-46.308 144.868-46.408Q145.139-46.508 145.412-46.508Q145.737-46.508 146.042-46.401Q146.347-46.293 146.544-46.066Q146.740-45.839 146.740-45.502Q146.740-45.265 146.627-45.073Q146.513-44.880 146.353-44.742Q146.193-44.604 145.911-44.416Q145.629-44.228 145.551-44.169L144.885-43.678L145.341-43.678Q145.774-43.678 146.068-43.685Q146.362-43.691 146.377-43.703Q146.455-43.801 146.511-44.162L146.740-44.162\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.150\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(-69.633 94.141)\">\u003Cpath d=\"M149.001-42.428L147.925-42.428L147.925-42.770L148.659-42.770L148.659-49.086L147.925-49.086L147.925-49.428L149.001-49.428\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg stroke=\"var(--tk-good)\" style=\"stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M195.64-27.106a8.536 8.536 0 1 0-17.072 0 8.536 8.536 0 0 0 17.071 0Zm-8.537 0\"\u002F>\u003Cg transform=\"translate(174.254 17.898)\">\u003Cpath d=\"M11.298-43.365Q11.298-43.556 11.414-43.696Q11.530-43.836 11.718-43.836Q11.838-43.836 11.921-43.761Q12.005-43.686 12.005-43.570Q12.005-43.416 11.899-43.300Q11.793-43.183 11.639-43.163Q11.800-42.975 12.145-42.975Q12.634-42.975 13.027-43.491Q13.171-43.682 13.259-43.898Q13.348-44.113 13.420-44.410Q13.085-44.110 12.685-44.110Q12.238-44.110 11.961-44.334Q11.684-44.557 11.684-44.998Q11.684-45.309 11.791-45.629Q11.899-45.949 12.111-46.468Q12.186-46.670 12.186-46.810Q12.186-46.909 12.147-46.976Q12.108-47.042 12.019-47.042Q11.738-47.042 11.549-46.771Q11.359-46.499 11.270-46.167Q11.260-46.102 11.198-46.102L11.089-46.102Q11.058-46.102 11.034-46.133Q11.010-46.164 11.010-46.188L11.010-46.215Q11.079-46.475 11.219-46.712Q11.359-46.950 11.569-47.107Q11.779-47.264 12.032-47.264Q12.214-47.264 12.369-47.193Q12.525-47.121 12.622-46.986Q12.719-46.851 12.719-46.670Q12.719-46.553 12.672-46.417Q12.456-45.887 12.343-45.545Q12.231-45.203 12.231-44.892Q12.231-44.650 12.345-44.491Q12.460-44.332 12.699-44.332Q13.181-44.332 13.547-44.927L14.049-46.936Q14.080-47.049 14.172-47.123Q14.264-47.196 14.377-47.196Q14.480-47.196 14.551-47.133Q14.623-47.070 14.623-46.970Q14.623-46.947 14.622-46.933Q14.620-46.919 14.616-46.902L13.929-44.151Q13.834-43.768 13.559-43.445Q13.283-43.122 12.904-42.936Q12.525-42.749 12.132-42.749Q11.814-42.749 11.556-42.907Q11.298-43.064 11.298-43.365\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg stroke=\"var(--tk-good)\">\u003Cpath fill=\"none\" d=\"M174.3 15.573a8.536 8.536 0 1 0-17.072 0 8.536 8.536 0 0 0 17.072 0Zm-8.536 0\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M183.107-19.114 169.67 7.76\"\u002F>\u003Cg stroke=\"var(--tk-good)\">\u003Cpath fill=\"none\" d=\"M216.979 15.573a8.536 8.536 0 1 0-17.072 0 8.536 8.536 0 0 0 17.072 0Zm-8.536 0\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" d=\"M191.1-19.114 204.535 7.76\"\u002F>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg fill=\"var(--tk-good)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M11.069-44.906Q11.069-45.238 11.292-45.465Q11.516-45.692 11.860-45.820Q12.203-45.949 12.576-46.001Q12.948-46.054 13.253-46.054L13.253-46.307Q13.253-46.512 13.145-46.692Q13.037-46.871 12.856-46.974Q12.675-47.076 12.467-47.076Q12.060-47.076 11.824-46.984Q11.913-46.947 11.959-46.863Q12.005-46.779 12.005-46.677Q12.005-46.581 11.959-46.502Q11.913-46.424 11.832-46.379Q11.752-46.335 11.663-46.335Q11.513-46.335 11.412-46.432Q11.311-46.530 11.311-46.677Q11.311-47.299 12.467-47.299Q12.678-47.299 12.928-47.235Q13.177-47.172 13.379-47.053Q13.581-46.933 13.707-46.748Q13.834-46.564 13.834-46.321L13.834-44.745Q13.834-44.629 13.895-44.533Q13.957-44.438 14.070-44.438Q14.179-44.438 14.244-44.532Q14.309-44.626 14.309-44.745L14.309-45.193L14.575-45.193L14.575-44.745Q14.575-44.475 14.348-44.310Q14.121-44.144 13.841-44.144Q13.632-44.144 13.495-44.298Q13.359-44.451 13.335-44.667Q13.188-44.400 12.906-44.255Q12.624-44.110 12.299-44.110Q12.022-44.110 11.738-44.185Q11.455-44.260 11.262-44.439Q11.069-44.619 11.069-44.906M11.684-44.906Q11.684-44.732 11.785-44.602Q11.885-44.472 12.041-44.402Q12.196-44.332 12.361-44.332Q12.579-44.332 12.788-44.429Q12.996-44.527 13.124-44.708Q13.253-44.889 13.253-45.115L13.253-45.843Q12.928-45.843 12.562-45.752Q12.196-45.661 11.940-45.449Q11.684-45.238 11.684-44.906M14.992-44.185L14.992-45.248Q14.992-45.272 15.020-45.299Q15.047-45.326 15.071-45.326L15.180-45.326Q15.245-45.326 15.259-45.268Q15.355-44.834 15.601-44.583Q15.847-44.332 16.260-44.332Q16.602-44.332 16.855-44.465Q17.108-44.598 17.108-44.906Q17.108-45.063 17.014-45.178Q16.920-45.292 16.782-45.361Q16.643-45.429 16.476-45.467L15.895-45.566Q15.539-45.634 15.266-45.855Q14.992-46.075 14.992-46.417Q14.992-46.666 15.103-46.841Q15.215-47.015 15.401-47.114Q15.587-47.213 15.802-47.256Q16.018-47.299 16.260-47.299Q16.674-47.299 16.954-47.117L17.170-47.292Q17.180-47.295 17.187-47.297Q17.194-47.299 17.204-47.299L17.255-47.299Q17.282-47.299 17.306-47.275Q17.330-47.251 17.330-47.223L17.330-46.376Q17.330-46.355 17.306-46.328Q17.282-46.301 17.255-46.301L17.142-46.301Q17.115-46.301 17.089-46.326Q17.064-46.352 17.064-46.376Q17.064-46.612 16.958-46.776Q16.852-46.940 16.669-47.022Q16.486-47.104 16.254-47.104Q15.925-47.104 15.669-47.001Q15.413-46.899 15.413-46.622Q15.413-46.427 15.596-46.318Q15.779-46.208 16.008-46.167L16.582-46.061Q16.828-46.013 17.041-45.885Q17.255-45.757 17.392-45.554Q17.529-45.350 17.529-45.101Q17.529-44.588 17.163-44.349Q16.797-44.110 16.260-44.110Q15.765-44.110 15.433-44.404L15.167-44.130Q15.146-44.110 15.119-44.110L15.071-44.110Q15.047-44.110 15.020-44.137Q14.992-44.164 14.992-44.185M18.157-44.185L18.157-45.248Q18.157-45.272 18.185-45.299Q18.212-45.326 18.236-45.326L18.345-45.326Q18.410-45.326 18.424-45.268Q18.520-44.834 18.766-44.583Q19.012-44.332 19.425-44.332Q19.767-44.332 20.020-44.465Q20.273-44.598 20.273-44.906Q20.273-45.063 20.179-45.178Q20.085-45.292 19.947-45.361Q19.808-45.429 19.641-45.467L19.060-45.566Q18.704-45.634 18.431-45.855Q18.157-46.075 18.157-46.417Q18.157-46.666 18.269-46.841Q18.380-47.015 18.566-47.114Q18.752-47.213 18.967-47.256Q19.183-47.299 19.425-47.299Q19.839-47.299 20.119-47.117L20.335-47.292Q20.345-47.295 20.352-47.297Q20.359-47.299 20.369-47.299L20.420-47.299Q20.447-47.299 20.471-47.275Q20.495-47.251 20.495-47.223L20.495-46.376Q20.495-46.355 20.471-46.328Q20.447-46.301 20.420-46.301L20.307-46.301Q20.280-46.301 20.254-46.326Q20.229-46.352 20.229-46.376Q20.229-46.612 20.123-46.776Q20.017-46.940 19.834-47.022Q19.651-47.104 19.419-47.104Q19.091-47.104 18.834-47.001Q18.578-46.899 18.578-46.622Q18.578-46.427 18.761-46.318Q18.944-46.208 19.173-46.167L19.747-46.061Q19.993-46.013 20.206-45.885Q20.420-45.757 20.557-45.554Q20.694-45.350 20.694-45.101Q20.694-44.588 20.328-44.349Q19.962-44.110 19.425-44.110Q18.930-44.110 18.598-44.404L18.332-44.130Q18.311-44.110 18.284-44.110L18.236-44.110Q18.212-44.110 18.185-44.137Q18.157-44.164 18.157-44.185M21.281-45.661Q21.281-46.003 21.416-46.302Q21.551-46.601 21.791-46.825Q22.030-47.049 22.348-47.174Q22.666-47.299 22.997-47.299Q23.442-47.299 23.842-47.083Q24.241-46.868 24.476-46.490Q24.710-46.113 24.710-45.661Q24.710-45.320 24.568-45.036Q24.426-44.752 24.182-44.545Q23.937-44.339 23.628-44.224Q23.319-44.110 22.997-44.110Q22.567-44.110 22.165-44.311Q21.763-44.513 21.522-44.865Q21.281-45.217 21.281-45.661M22.997-44.359Q23.599-44.359 23.823-44.737Q24.047-45.115 24.047-45.747Q24.047-46.359 23.812-46.718Q23.578-47.076 22.997-47.076Q21.945-47.076 21.945-45.747Q21.945-45.115 22.170-44.737Q22.396-44.359 22.997-44.359\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M25.534-45.689Q25.534-46.017 25.669-46.318Q25.804-46.618 26.040-46.839Q26.276-47.059 26.580-47.179Q26.885-47.299 27.209-47.299Q27.715-47.299 28.064-47.196Q28.412-47.094 28.412-46.718Q28.412-46.571 28.315-46.470Q28.218-46.369 28.071-46.369Q27.917-46.369 27.818-46.468Q27.719-46.567 27.719-46.718Q27.719-46.906 27.859-46.998Q27.657-47.049 27.216-47.049Q26.861-47.049 26.632-46.853Q26.403-46.656 26.302-46.347Q26.201-46.037 26.201-45.689Q26.201-45.340 26.327-45.034Q26.454-44.728 26.709-44.544Q26.963-44.359 27.319-44.359Q27.541-44.359 27.725-44.443Q27.910-44.527 28.045-44.682Q28.180-44.838 28.238-45.046Q28.252-45.101 28.306-45.101L28.419-45.101Q28.450-45.101 28.472-45.077Q28.494-45.053 28.494-45.019L28.494-44.998Q28.409-44.711 28.221-44.513Q28.033-44.315 27.768-44.212Q27.503-44.110 27.209-44.110Q26.779-44.110 26.391-44.316Q26.003-44.523 25.769-44.886Q25.534-45.248 25.534-45.689M30.699-44.178L29.147-44.178L29.147-44.458Q29.373-44.458 29.522-44.492Q29.670-44.527 29.670-44.667L29.670-46.516Q29.670-46.704 29.622-46.788Q29.574-46.871 29.477-46.890Q29.380-46.909 29.168-46.909L29.168-47.189L30.224-47.264L30.224-44.667Q30.224-44.527 30.355-44.492Q30.487-44.458 30.699-44.458L30.699-44.178M29.428-48.485Q29.428-48.656 29.551-48.775Q29.674-48.895 29.845-48.895Q30.012-48.895 30.135-48.775Q30.258-48.656 30.258-48.485Q30.258-48.310 30.135-48.187Q30.012-48.064 29.845-48.064Q29.674-48.064 29.551-48.187Q29.428-48.310 29.428-48.485M31.403-44.906Q31.403-45.238 31.627-45.465Q31.851-45.692 32.194-45.820Q32.538-45.949 32.910-46.001Q33.283-46.054 33.587-46.054L33.587-46.307Q33.587-46.512 33.480-46.692Q33.372-46.871 33.191-46.974Q33.010-47.076 32.801-47.076Q32.394-47.076 32.158-46.984Q32.247-46.947 32.293-46.863Q32.340-46.779 32.340-46.677Q32.340-46.581 32.293-46.502Q32.247-46.424 32.167-46.379Q32.087-46.335 31.998-46.335Q31.847-46.335 31.747-46.432Q31.646-46.530 31.646-46.677Q31.646-47.299 32.801-47.299Q33.013-47.299 33.262-47.235Q33.512-47.172 33.714-47.053Q33.915-46.933 34.042-46.748Q34.168-46.564 34.168-46.321L34.168-44.745Q34.168-44.629 34.230-44.533Q34.291-44.438 34.404-44.438Q34.513-44.438 34.578-44.532Q34.643-44.626 34.643-44.745L34.643-45.193L34.910-45.193L34.910-44.745Q34.910-44.475 34.683-44.310Q34.455-44.144 34.175-44.144Q33.967-44.144 33.830-44.298Q33.693-44.451 33.669-44.667Q33.522-44.400 33.240-44.255Q32.958-44.110 32.634-44.110Q32.357-44.110 32.073-44.185Q31.789-44.260 31.596-44.439Q31.403-44.619 31.403-44.906M32.018-44.906Q32.018-44.732 32.119-44.602Q32.220-44.472 32.376-44.402Q32.531-44.332 32.695-44.332Q32.914-44.332 33.122-44.429Q33.331-44.527 33.459-44.708Q33.587-44.889 33.587-45.115L33.587-45.843Q33.262-45.843 32.897-45.752Q32.531-45.661 32.275-45.449Q32.018-45.238 32.018-44.906M35.853-45.019L35.853-46.916L35.214-46.916L35.214-47.138Q35.532-47.138 35.749-47.348Q35.966-47.558 36.067-47.868Q36.168-48.177 36.168-48.485L36.434-48.485L36.434-47.196L37.511-47.196L37.511-46.916L36.434-46.916L36.434-45.032Q36.434-44.756 36.539-44.557Q36.643-44.359 36.903-44.359Q37.060-44.359 37.166-44.463Q37.272-44.568 37.321-44.721Q37.371-44.875 37.371-45.032L37.371-45.446L37.637-45.446L37.637-45.019Q37.637-44.793 37.538-44.583Q37.439-44.373 37.255-44.241Q37.070-44.110 36.841-44.110Q36.404-44.110 36.128-44.347Q35.853-44.585 35.853-45.019M38.407-45.713Q38.407-46.034 38.531-46.323Q38.656-46.612 38.882-46.835Q39.107-47.059 39.403-47.179Q39.699-47.299 40.016-47.299Q40.345-47.299 40.606-47.199Q40.867-47.100 41.043-46.918Q41.220-46.735 41.314-46.477Q41.407-46.219 41.407-45.887Q41.407-45.795 41.325-45.774L39.070-45.774L39.070-45.713Q39.070-45.125 39.353-44.742Q39.637-44.359 40.204-44.359Q40.526-44.359 40.794-44.552Q41.062-44.745 41.151-45.060Q41.158-45.101 41.233-45.115L41.325-45.115Q41.407-45.091 41.407-45.019Q41.407-45.012 41.401-44.985Q41.288-44.588 40.917-44.349Q40.546-44.110 40.122-44.110Q39.685-44.110 39.285-44.318Q38.885-44.527 38.646-44.894Q38.407-45.261 38.407-45.713M39.076-45.983L40.891-45.983Q40.891-46.260 40.794-46.512Q40.697-46.765 40.498-46.921Q40.300-47.076 40.016-47.076Q39.740-47.076 39.526-46.918Q39.312-46.759 39.194-46.504Q39.076-46.249 39.076-45.983M41.995-45.689Q41.995-46.027 42.136-46.318Q42.276-46.608 42.520-46.822Q42.764-47.035 43.069-47.150Q43.373-47.264 43.698-47.264Q43.968-47.264 44.231-47.165Q44.494-47.066 44.685-46.888L44.685-48.286Q44.685-48.556 44.578-48.618Q44.470-48.679 44.159-48.679L44.159-48.960L45.236-49.035L45.236-44.851Q45.236-44.663 45.290-44.580Q45.345-44.496 45.446-44.477Q45.547-44.458 45.762-44.458L45.762-44.178L44.655-44.110L44.655-44.527Q44.238-44.110 43.612-44.110Q43.181-44.110 42.809-44.322Q42.436-44.533 42.216-44.894Q41.995-45.255 41.995-45.689M43.670-44.332Q43.879-44.332 44.065-44.404Q44.251-44.475 44.405-44.612Q44.559-44.749 44.655-44.927L44.655-46.536Q44.569-46.683 44.424-46.803Q44.279-46.923 44.109-46.982Q43.940-47.042 43.759-47.042Q43.199-47.042 42.930-46.653Q42.662-46.263 42.662-45.682Q42.662-45.111 42.896-44.721Q43.130-44.332 43.670-44.332\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M49.658-45.019L49.658-46.916L49.019-46.916L49.019-47.138Q49.337-47.138 49.554-47.348Q49.771-47.558 49.871-47.868Q49.972-48.177 49.972-48.485L50.239-48.485L50.239-47.196L51.316-47.196L51.316-46.916L50.239-46.916L50.239-45.032Q50.239-44.756 50.343-44.557Q50.447-44.359 50.707-44.359Q50.864-44.359 50.970-44.463Q51.076-44.568 51.126-44.721Q51.175-44.875 51.175-45.032L51.175-45.446L51.442-45.446L51.442-45.019Q51.442-44.793 51.343-44.583Q51.244-44.373 51.059-44.241Q50.875-44.110 50.646-44.110Q50.208-44.110 49.933-44.347Q49.658-44.585 49.658-45.019M54.002-44.178L52.266-44.178L52.266-44.458Q52.495-44.458 52.643-44.492Q52.792-44.527 52.792-44.667L52.792-46.516Q52.792-46.786 52.684-46.847Q52.577-46.909 52.266-46.909L52.266-47.189L53.295-47.264L53.295-46.557Q53.424-46.865 53.667-47.064Q53.910-47.264 54.228-47.264Q54.446-47.264 54.617-47.140Q54.788-47.015 54.788-46.803Q54.788-46.666 54.689-46.567Q54.590-46.468 54.457-46.468Q54.320-46.468 54.221-46.567Q54.122-46.666 54.122-46.803Q54.122-46.943 54.221-47.042Q53.930-47.042 53.730-46.846Q53.530-46.649 53.438-46.355Q53.346-46.061 53.346-45.781L53.346-44.667Q53.346-44.458 54.002-44.458L54.002-44.178M55.332-45.713Q55.332-46.034 55.456-46.323Q55.581-46.612 55.807-46.835Q56.032-47.059 56.328-47.179Q56.624-47.299 56.942-47.299Q57.270-47.299 57.531-47.199Q57.793-47.100 57.969-46.918Q58.145-46.735 58.239-46.477Q58.333-46.219 58.333-45.887Q58.333-45.795 58.251-45.774L55.995-45.774L55.995-45.713Q55.995-45.125 56.278-44.742Q56.562-44.359 57.130-44.359Q57.451-44.359 57.719-44.552Q57.987-44.745 58.076-45.060Q58.083-45.101 58.158-45.115L58.251-45.115Q58.333-45.091 58.333-45.019Q58.333-45.012 58.326-44.985Q58.213-44.588 57.842-44.349Q57.471-44.110 57.047-44.110Q56.610-44.110 56.210-44.318Q55.810-44.527 55.571-44.894Q55.332-45.261 55.332-45.713M56.002-45.983L57.817-45.983Q57.817-46.260 57.719-46.512Q57.622-46.765 57.423-46.921Q57.225-47.076 56.942-47.076Q56.665-47.076 56.451-46.918Q56.237-46.759 56.119-46.504Q56.002-46.249 56.002-45.983M58.880-45.713Q58.880-46.034 59.004-46.323Q59.129-46.612 59.355-46.835Q59.580-47.059 59.876-47.179Q60.171-47.299 60.489-47.299Q60.817-47.299 61.079-47.199Q61.340-47.100 61.516-46.918Q61.692-46.735 61.786-46.477Q61.880-46.219 61.880-45.887Q61.880-45.795 61.798-45.774L59.543-45.774L59.543-45.713Q59.543-45.125 59.826-44.742Q60.110-44.359 60.677-44.359Q60.999-44.359 61.267-44.552Q61.535-44.745 61.624-45.060Q61.631-45.101 61.706-45.115L61.798-45.115Q61.880-45.091 61.880-45.019Q61.880-45.012 61.874-44.985Q61.761-44.588 61.390-44.349Q61.019-44.110 60.595-44.110Q60.158-44.110 59.758-44.318Q59.358-44.527 59.119-44.894Q58.880-45.261 58.880-45.713M59.549-45.983L61.364-45.983Q61.364-46.260 61.267-46.512Q61.170-46.765 60.971-46.921Q60.773-47.076 60.489-47.076Q60.213-47.076 59.999-46.918Q59.785-46.759 59.667-46.504Q59.549-46.249 59.549-45.983\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M67.317-42.428Q66.767-42.828 66.396-43.383Q66.025-43.939 65.844-44.585Q65.663-45.231 65.663-45.928Q65.663-46.441 65.763-46.936Q65.864-47.432 66.069-47.883Q66.274-48.334 66.587-48.726Q66.900-49.117 67.317-49.421Q67.327-49.425 67.334-49.426Q67.341-49.428 67.351-49.428L67.419-49.428Q67.454-49.428 67.476-49.404Q67.498-49.380 67.498-49.343Q67.498-49.298 67.471-49.281Q67.122-48.980 66.869-48.596Q66.616-48.211 66.464-47.770Q66.312-47.329 66.240-46.873Q66.168-46.417 66.168-45.928Q66.168-44.927 66.478-44.040Q66.787-43.153 67.471-42.568Q67.498-42.551 67.498-42.507Q67.498-42.469 67.476-42.445Q67.454-42.421 67.419-42.421L67.351-42.421Q67.344-42.425 67.336-42.426Q67.327-42.428 67.317-42.428M68.267-45.661Q68.267-46.003 68.402-46.302Q68.537-46.601 68.776-46.825Q69.016-47.049 69.333-47.174Q69.651-47.299 69.983-47.299Q70.427-47.299 70.827-47.083Q71.227-46.868 71.461-46.490Q71.695-46.113 71.695-45.661Q71.695-45.320 71.553-45.036Q71.412-44.752 71.167-44.545Q70.923-44.339 70.613-44.224Q70.304-44.110 69.983-44.110Q69.552-44.110 69.151-44.311Q68.749-44.513 68.508-44.865Q68.267-45.217 68.267-45.661M69.983-44.359Q70.584-44.359 70.808-44.737Q71.032-45.115 71.032-45.747Q71.032-46.359 70.798-46.718Q70.564-47.076 69.983-47.076Q68.930-47.076 68.930-45.747Q68.930-45.115 69.156-44.737Q69.381-44.359 69.983-44.359M73.972-44.178L72.338-44.178L72.338-44.458Q72.567-44.458 72.716-44.492Q72.864-44.527 72.864-44.667L72.864-46.516Q72.864-46.786 72.757-46.847Q72.649-46.909 72.338-46.909L72.338-47.189L73.397-47.264L73.397-46.615Q73.568-46.923 73.873-47.094Q74.177-47.264 74.522-47.264Q75.028-47.264 75.311-47.041Q75.595-46.817 75.595-46.321L75.595-44.667Q75.595-44.530 75.744-44.494Q75.893-44.458 76.118-44.458L76.118-44.178L74.488-44.178L74.488-44.458Q74.717-44.458 74.865-44.492Q75.014-44.527 75.014-44.667L75.014-46.307Q75.014-46.642 74.894-46.842Q74.775-47.042 74.460-47.042Q74.190-47.042 73.956-46.906Q73.722-46.769 73.584-46.535Q73.445-46.301 73.445-46.027L73.445-44.667Q73.445-44.530 73.596-44.494Q73.746-44.458 73.972-44.458\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M79.697-43.365Q79.697-43.556 79.813-43.696Q79.929-43.836 80.117-43.836Q80.237-43.836 80.320-43.761Q80.404-43.686 80.404-43.570Q80.404-43.416 80.298-43.300Q80.192-43.183 80.038-43.163Q80.199-42.975 80.544-42.975Q81.033-42.975 81.426-43.491Q81.570-43.682 81.658-43.898Q81.747-44.113 81.819-44.410Q81.484-44.110 81.084-44.110Q80.637-44.110 80.360-44.334Q80.083-44.557 80.083-44.998Q80.083-45.309 80.190-45.629Q80.298-45.949 80.510-46.468Q80.585-46.670 80.585-46.810Q80.585-46.909 80.546-46.976Q80.507-47.042 80.418-47.042Q80.137-47.042 79.948-46.771Q79.758-46.499 79.669-46.167Q79.659-46.102 79.597-46.102L79.488-46.102Q79.457-46.102 79.433-46.133Q79.409-46.164 79.409-46.188L79.409-46.215Q79.478-46.475 79.618-46.712Q79.758-46.950 79.968-47.107Q80.178-47.264 80.431-47.264Q80.613-47.264 80.768-47.193Q80.924-47.121 81.021-46.986Q81.118-46.851 81.118-46.670Q81.118-46.553 81.071-46.417Q80.855-45.887 80.742-45.545Q80.630-45.203 80.630-44.892Q80.630-44.650 80.744-44.491Q80.859-44.332 81.098-44.332Q81.580-44.332 81.946-44.927L82.448-46.936Q82.479-47.049 82.571-47.123Q82.663-47.196 82.776-47.196Q82.879-47.196 82.950-47.133Q83.022-47.070 83.022-46.970Q83.022-46.947 83.021-46.933Q83.019-46.919 83.015-46.902L82.328-44.151Q82.233-43.768 81.958-43.445Q81.682-43.122 81.303-42.936Q80.924-42.749 80.531-42.749Q80.213-42.749 79.955-42.907Q79.697-43.064 79.697-43.365\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(138.492 -2.438)\">\u003Cpath d=\"M84.038-42.421L83.969-42.421Q83.935-42.421 83.913-42.447Q83.891-42.472 83.891-42.507Q83.891-42.551 83.922-42.568Q84.277-42.872 84.527-43.262Q84.776-43.652 84.928-44.084Q85.080-44.516 85.150-44.985Q85.220-45.453 85.220-45.928Q85.220-46.407 85.150-46.873Q85.080-47.340 84.926-47.775Q84.773-48.211 84.521-48.599Q84.270-48.987 83.922-49.281Q83.891-49.298 83.891-49.343Q83.891-49.377 83.913-49.402Q83.935-49.428 83.969-49.428L84.038-49.428Q84.048-49.428 84.057-49.426Q84.065-49.425 84.075-49.421Q84.619-49.021 84.991-48.468Q85.364-47.914 85.545-47.268Q85.726-46.622 85.726-45.928Q85.726-45.227 85.545-44.580Q85.364-43.932 84.990-43.378Q84.615-42.824 84.075-42.428Q84.065-42.428 84.057-42.426Q84.048-42.425 84.038-42.421\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg fill=\"var(--tk-good)\" stroke=\"none\">\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M11.069-44.906Q11.069-45.238 11.292-45.465Q11.516-45.692 11.860-45.820Q12.203-45.949 12.576-46.001Q12.948-46.054 13.253-46.054L13.253-46.307Q13.253-46.512 13.145-46.692Q13.037-46.871 12.856-46.974Q12.675-47.076 12.467-47.076Q12.060-47.076 11.824-46.984Q11.913-46.947 11.959-46.863Q12.005-46.779 12.005-46.677Q12.005-46.581 11.959-46.502Q11.913-46.424 11.832-46.379Q11.752-46.335 11.663-46.335Q11.513-46.335 11.412-46.432Q11.311-46.530 11.311-46.677Q11.311-47.299 12.467-47.299Q12.678-47.299 12.928-47.235Q13.177-47.172 13.379-47.053Q13.581-46.933 13.707-46.748Q13.834-46.564 13.834-46.321L13.834-44.745Q13.834-44.629 13.895-44.533Q13.957-44.438 14.070-44.438Q14.179-44.438 14.244-44.532Q14.309-44.626 14.309-44.745L14.309-45.193L14.575-45.193L14.575-44.745Q14.575-44.475 14.348-44.310Q14.121-44.144 13.841-44.144Q13.632-44.144 13.495-44.298Q13.359-44.451 13.335-44.667Q13.188-44.400 12.906-44.255Q12.624-44.110 12.299-44.110Q12.022-44.110 11.738-44.185Q11.455-44.260 11.262-44.439Q11.069-44.619 11.069-44.906M11.684-44.906Q11.684-44.732 11.785-44.602Q11.885-44.472 12.041-44.402Q12.196-44.332 12.361-44.332Q12.579-44.332 12.788-44.429Q12.996-44.527 13.124-44.708Q13.253-44.889 13.253-45.115L13.253-45.843Q12.928-45.843 12.562-45.752Q12.196-45.661 11.940-45.449Q11.684-45.238 11.684-44.906M16.674-44.178L15.040-44.178L15.040-44.458Q15.269-44.458 15.418-44.492Q15.567-44.527 15.567-44.667L15.567-46.516Q15.567-46.786 15.459-46.847Q15.351-46.909 15.040-46.909L15.040-47.189L16.100-47.264L16.100-46.615Q16.271-46.923 16.575-47.094Q16.879-47.264 17.224-47.264Q17.730-47.264 18.014-47.041Q18.298-46.817 18.298-46.321L18.298-44.667Q18.298-44.530 18.446-44.494Q18.595-44.458 18.821-44.458L18.821-44.178L17.190-44.178L17.190-44.458Q17.419-44.458 17.568-44.492Q17.717-44.527 17.717-44.667L17.717-46.307Q17.717-46.642 17.597-46.842Q17.477-47.042 17.163-47.042Q16.893-47.042 16.659-46.906Q16.425-46.769 16.286-46.535Q16.148-46.301 16.148-46.027L16.148-44.667Q16.148-44.530 16.298-44.494Q16.448-44.458 16.674-44.458L16.674-44.178M19.408-44.185L19.408-45.248Q19.408-45.272 19.436-45.299Q19.463-45.326 19.487-45.326L19.596-45.326Q19.661-45.326 19.675-45.268Q19.771-44.834 20.017-44.583Q20.263-44.332 20.676-44.332Q21.018-44.332 21.271-44.465Q21.524-44.598 21.524-44.906Q21.524-45.063 21.430-45.178Q21.336-45.292 21.198-45.361Q21.059-45.429 20.892-45.467L20.311-45.566Q19.955-45.634 19.682-45.855Q19.408-46.075 19.408-46.417Q19.408-46.666 19.519-46.841Q19.631-47.015 19.817-47.114Q20.003-47.213 20.218-47.256Q20.434-47.299 20.676-47.299Q21.090-47.299 21.370-47.117L21.586-47.292Q21.596-47.295 21.603-47.297Q21.610-47.299 21.620-47.299L21.671-47.299Q21.698-47.299 21.722-47.275Q21.746-47.251 21.746-47.223L21.746-46.376Q21.746-46.355 21.722-46.328Q21.698-46.301 21.671-46.301L21.558-46.301Q21.531-46.301 21.505-46.326Q21.480-46.352 21.480-46.376Q21.480-46.612 21.374-46.776Q21.268-46.940 21.085-47.022Q20.902-47.104 20.670-47.104Q20.342-47.104 20.085-47.001Q19.829-46.899 19.829-46.622Q19.829-46.427 20.012-46.318Q20.195-46.208 20.424-46.167L20.998-46.061Q21.244-46.013 21.457-45.885Q21.671-45.757 21.808-45.554Q21.945-45.350 21.945-45.101Q21.945-44.588 21.579-44.349Q21.213-44.110 20.676-44.110Q20.181-44.110 19.849-44.404L19.583-44.130Q19.562-44.110 19.535-44.110L19.487-44.110Q19.463-44.110 19.436-44.137Q19.408-44.164 19.408-44.185M23.961-44.205L22.980-46.704Q22.919-46.847 22.801-46.882Q22.683-46.916 22.467-46.916L22.467-47.196L23.947-47.196L23.947-46.916Q23.568-46.916 23.568-46.755Q23.568-46.745 23.582-46.704L24.296-44.872L24.969-46.577Q24.939-46.649 24.939-46.677Q24.939-46.704 24.911-46.704Q24.850-46.851 24.732-46.883Q24.614-46.916 24.402-46.916L24.402-47.196L25.800-47.196L25.800-46.916Q25.424-46.916 25.424-46.755Q25.424-46.724 25.431-46.704L26.186-44.766L26.873-46.516Q26.894-46.567 26.894-46.622Q26.894-46.762 26.781-46.839Q26.668-46.916 26.528-46.916L26.528-47.196L27.748-47.196L27.748-46.916Q27.543-46.916 27.388-46.810Q27.232-46.704 27.160-46.516L26.255-44.205Q26.220-44.110 26.108-44.110L26.039-44.110Q25.930-44.110 25.892-44.205L25.110-46.208L24.323-44.205Q24.289-44.110 24.176-44.110L24.108-44.110Q23.999-44.110 23.961-44.205\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M28.033-45.713Q28.033-46.034 28.158-46.323Q28.283-46.612 28.509-46.835Q28.734-47.059 29.030-47.179Q29.325-47.299 29.643-47.299Q29.971-47.299 30.233-47.199Q30.494-47.100 30.670-46.918Q30.846-46.735 30.940-46.477Q31.034-46.219 31.034-45.887Q31.034-45.795 30.952-45.774L28.697-45.774L28.697-45.713Q28.697-45.125 28.980-44.742Q29.264-44.359 29.831-44.359Q30.153-44.359 30.421-44.552Q30.689-44.745 30.778-45.060Q30.785-45.101 30.860-45.115L30.952-45.115Q31.034-45.091 31.034-45.019Q31.034-45.012 31.028-44.985Q30.915-44.588 30.544-44.349Q30.173-44.110 29.749-44.110Q29.312-44.110 28.912-44.318Q28.512-44.527 28.273-44.894Q28.033-45.261 28.033-45.713M28.703-45.983L30.518-45.983Q30.518-46.260 30.421-46.512Q30.323-46.765 30.125-46.921Q29.927-47.076 29.643-47.076Q29.366-47.076 29.153-46.918Q28.939-46.759 28.821-46.504Q28.703-46.249 28.703-45.983M33.372-44.178L31.636-44.178L31.636-44.458Q31.865-44.458 32.014-44.492Q32.162-44.527 32.162-44.667L32.162-46.516Q32.162-46.786 32.055-46.847Q31.947-46.909 31.636-46.909L31.636-47.189L32.665-47.264L32.665-46.557Q32.795-46.865 33.037-47.064Q33.280-47.264 33.598-47.264Q33.817-47.264 33.988-47.140Q34.158-47.015 34.158-46.803Q34.158-46.666 34.059-46.567Q33.960-46.468 33.827-46.468Q33.690-46.468 33.591-46.567Q33.492-46.666 33.492-46.803Q33.492-46.943 33.591-47.042Q33.301-47.042 33.101-46.846Q32.901-46.649 32.808-46.355Q32.716-46.061 32.716-45.781L32.716-44.667Q32.716-44.458 33.372-44.458L33.372-44.178M34.743-44.185L34.743-45.248Q34.743-45.272 34.770-45.299Q34.798-45.326 34.822-45.326L34.931-45.326Q34.996-45.326 35.010-45.268Q35.105-44.834 35.351-44.583Q35.597-44.332 36.011-44.332Q36.353-44.332 36.606-44.465Q36.859-44.598 36.859-44.906Q36.859-45.063 36.765-45.178Q36.671-45.292 36.532-45.361Q36.394-45.429 36.226-45.467L35.645-45.566Q35.290-45.634 35.016-45.855Q34.743-46.075 34.743-46.417Q34.743-46.666 34.854-46.841Q34.965-47.015 35.151-47.114Q35.338-47.213 35.553-47.256Q35.768-47.299 36.011-47.299Q36.425-47.299 36.705-47.117L36.920-47.292Q36.930-47.295 36.937-47.297Q36.944-47.299 36.954-47.299L37.006-47.299Q37.033-47.299 37.057-47.275Q37.081-47.251 37.081-47.223L37.081-46.376Q37.081-46.355 37.057-46.328Q37.033-46.301 37.006-46.301L36.893-46.301Q36.865-46.301 36.840-46.326Q36.814-46.352 36.814-46.376Q36.814-46.612 36.708-46.776Q36.602-46.940 36.419-47.022Q36.237-47.104 36.004-47.104Q35.676-47.104 35.420-47.001Q35.163-46.899 35.163-46.622Q35.163-46.427 35.346-46.318Q35.529-46.208 35.758-46.167L36.332-46.061Q36.578-46.013 36.792-45.885Q37.006-45.757 37.142-45.554Q37.279-45.350 37.279-45.101Q37.279-44.588 36.913-44.349Q36.548-44.110 36.011-44.110Q35.515-44.110 35.184-44.404L34.917-44.130Q34.897-44.110 34.869-44.110L34.822-44.110Q34.798-44.110 34.770-44.137Q34.743-44.164 34.743-44.185\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M42.333-42.428L41.257-42.428L41.257-49.428L42.333-49.428L42.333-49.086L41.598-49.086L41.598-42.770L42.333-42.770\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M43.169-43.365Q43.169-43.556 43.285-43.696Q43.401-43.836 43.589-43.836Q43.709-43.836 43.792-43.761Q43.876-43.686 43.876-43.570Q43.876-43.416 43.770-43.300Q43.664-43.183 43.510-43.163Q43.671-42.975 44.016-42.975Q44.505-42.975 44.898-43.491Q45.042-43.682 45.130-43.898Q45.219-44.113 45.291-44.410Q44.956-44.110 44.556-44.110Q44.109-44.110 43.832-44.334Q43.555-44.557 43.555-44.998Q43.555-45.309 43.662-45.629Q43.770-45.949 43.982-46.468Q44.057-46.670 44.057-46.810Q44.057-46.909 44.018-46.976Q43.979-47.042 43.890-47.042Q43.609-47.042 43.420-46.771Q43.230-46.499 43.141-46.167Q43.131-46.102 43.069-46.102L42.960-46.102Q42.929-46.102 42.905-46.133Q42.881-46.164 42.881-46.188L42.881-46.215Q42.950-46.475 43.090-46.712Q43.230-46.950 43.440-47.107Q43.650-47.264 43.903-47.264Q44.085-47.264 44.240-47.193Q44.396-47.121 44.493-46.986Q44.590-46.851 44.590-46.670Q44.590-46.553 44.543-46.417Q44.327-45.887 44.214-45.545Q44.102-45.203 44.102-44.892Q44.102-44.650 44.216-44.491Q44.331-44.332 44.570-44.332Q45.052-44.332 45.418-44.927L45.920-46.936Q45.951-47.049 46.043-47.123Q46.135-47.196 46.248-47.196Q46.351-47.196 46.422-47.133Q46.494-47.070 46.494-46.970Q46.494-46.947 46.493-46.933Q46.491-46.919 46.487-46.902L45.800-44.151Q45.705-43.768 45.430-43.445Q45.154-43.122 44.775-42.936Q44.396-42.749 44.003-42.749Q43.685-42.749 43.427-42.907Q43.169-43.064 43.169-43.365\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M49.404-43.178L47.363-43.178L47.363-43.417Q48.144-43.417 48.144-43.537L48.144-46.083Q47.966-46.008 47.762-45.978Q47.558-45.949 47.329-45.949L47.329-46.188Q47.665-46.188 47.949-46.257Q48.232-46.325 48.442-46.508L48.547-46.508Q48.574-46.508 48.598-46.484Q48.623-46.459 48.623-46.432L48.623-43.537Q48.623-43.417 49.404-43.417\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.150\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M51.394-42.948Q51.394-42.982 51.422-43.009Q51.688-43.231 51.839-43.558Q51.989-43.884 51.989-44.240L51.989-44.277Q51.886-44.178 51.715-44.178Q51.538-44.178 51.416-44.299Q51.295-44.421 51.295-44.598Q51.295-44.769 51.416-44.891Q51.538-45.012 51.715-45.012Q51.975-45.012 52.095-44.773Q52.214-44.533 52.214-44.240Q52.214-43.836 52.044-43.467Q51.873-43.098 51.575-42.842Q51.545-42.821 51.521-42.821Q51.476-42.821 51.435-42.862Q51.394-42.903 51.394-42.948\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M54.868-43.365Q54.868-43.556 54.984-43.696Q55.100-43.836 55.288-43.836Q55.408-43.836 55.491-43.761Q55.575-43.686 55.575-43.570Q55.575-43.416 55.469-43.300Q55.363-43.183 55.209-43.163Q55.370-42.975 55.715-42.975Q56.204-42.975 56.597-43.491Q56.741-43.682 56.829-43.898Q56.918-44.113 56.990-44.410Q56.655-44.110 56.255-44.110Q55.808-44.110 55.531-44.334Q55.254-44.557 55.254-44.998Q55.254-45.309 55.361-45.629Q55.469-45.949 55.681-46.468Q55.756-46.670 55.756-46.810Q55.756-46.909 55.717-46.976Q55.678-47.042 55.589-47.042Q55.308-47.042 55.119-46.771Q54.929-46.499 54.840-46.167Q54.830-46.102 54.768-46.102L54.659-46.102Q54.628-46.102 54.604-46.133Q54.580-46.164 54.580-46.188L54.580-46.215Q54.649-46.475 54.789-46.712Q54.929-46.950 55.139-47.107Q55.349-47.264 55.602-47.264Q55.784-47.264 55.939-47.193Q56.095-47.121 56.192-46.986Q56.289-46.851 56.289-46.670Q56.289-46.553 56.242-46.417Q56.026-45.887 55.913-45.545Q55.801-45.203 55.801-44.892Q55.801-44.650 55.915-44.491Q56.030-44.332 56.269-44.332Q56.751-44.332 57.117-44.927L57.619-46.936Q57.650-47.049 57.742-47.123Q57.834-47.196 57.947-47.196Q58.050-47.196 58.121-47.133Q58.193-47.070 58.193-46.970Q58.193-46.947 58.192-46.933Q58.190-46.919 58.186-46.902L57.499-44.151Q57.404-43.768 57.129-43.445Q56.853-43.122 56.474-42.936Q56.095-42.749 55.702-42.749Q55.384-42.749 55.126-42.907Q54.868-43.064 54.868-43.365\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M61.103-43.178L58.776-43.178L58.776-43.359Q58.779-43.371 58.798-43.398L59.838-44.274Q60.146-44.533 60.300-44.677Q60.453-44.821 60.583-45.038Q60.712-45.256 60.712-45.497Q60.712-45.739 60.585-45.915Q60.458-46.091 60.254-46.180Q60.051-46.269 59.811-46.269Q59.604-46.269 59.408-46.181Q59.213-46.093 59.108-45.927Q59.228-45.927 59.305-45.835Q59.382-45.744 59.382-45.629Q59.382-45.502 59.295-45.413Q59.208-45.324 59.081-45.324Q58.952-45.324 58.864-45.414Q58.776-45.505 58.776-45.629Q58.776-45.910 58.949-46.109Q59.123-46.308 59.394-46.408Q59.665-46.508 59.938-46.508Q60.263-46.508 60.568-46.401Q60.873-46.293 61.070-46.066Q61.266-45.839 61.266-45.502Q61.266-45.265 61.153-45.073Q61.039-44.880 60.879-44.742Q60.719-44.604 60.437-44.416Q60.155-44.228 60.077-44.169L59.411-43.678L59.867-43.678Q60.300-43.678 60.594-43.685Q60.888-43.691 60.903-43.703Q60.981-43.801 61.037-44.162L61.266-44.162\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.150\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M63.527-42.428L62.451-42.428L62.451-42.770L63.185-42.770L63.185-49.086L62.451-49.086L62.451-49.428L63.527-49.428\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(140.837 79.915)\">\u003Cpath d=\"M69.179-44.178L67.545-44.178L67.545-44.458Q67.774-44.458 67.923-44.492Q68.072-44.527 68.072-44.667L68.072-48.286Q68.072-48.556 67.964-48.618Q67.856-48.679 67.545-48.679L67.545-48.960L68.625-49.035L68.625-46.649Q68.731-46.834 68.909-46.976Q69.087-47.117 69.295-47.191Q69.504-47.264 69.729-47.264Q70.235-47.264 70.519-47.041Q70.803-46.817 70.803-46.321L70.803-44.667Q70.803-44.530 70.951-44.494Q71.100-44.458 71.326-44.458L71.326-44.178L69.695-44.178L69.695-44.458Q69.924-44.458 70.073-44.492Q70.222-44.527 70.222-44.667L70.222-46.307Q70.222-46.642 70.102-46.842Q69.982-47.042 69.668-47.042Q69.398-47.042 69.164-46.906Q68.930-46.769 68.791-46.535Q68.653-46.301 68.653-46.027L68.653-44.667Q68.653-44.530 68.803-44.494Q68.954-44.458 69.179-44.458L69.179-44.178M71.872-45.713Q71.872-46.034 71.997-46.323Q72.122-46.612 72.348-46.835Q72.573-47.059 72.869-47.179Q73.164-47.299 73.482-47.299Q73.810-47.299 74.072-47.199Q74.333-47.100 74.509-46.918Q74.685-46.735 74.779-46.477Q74.873-46.219 74.873-45.887Q74.873-45.795 74.791-45.774L72.536-45.774L72.536-45.713Q72.536-45.125 72.819-44.742Q73.103-44.359 73.670-44.359Q73.992-44.359 74.260-44.552Q74.528-44.745 74.617-45.060Q74.624-45.101 74.699-45.115L74.791-45.115Q74.873-45.091 74.873-45.019Q74.873-45.012 74.867-44.985Q74.754-44.588 74.383-44.349Q74.012-44.110 73.588-44.110Q73.151-44.110 72.751-44.318Q72.351-44.527 72.112-44.894Q71.872-45.261 71.872-45.713M72.542-45.983L74.357-45.983Q74.357-46.260 74.260-46.512Q74.162-46.765 73.964-46.921Q73.766-47.076 73.482-47.076Q73.205-47.076 72.992-46.918Q72.778-46.759 72.660-46.504Q72.542-46.249 72.542-45.983M77.211-44.178L75.475-44.178L75.475-44.458Q75.704-44.458 75.853-44.492Q76.001-44.527 76.001-44.667L76.001-46.516Q76.001-46.786 75.894-46.847Q75.786-46.909 75.475-46.909L75.475-47.189L76.504-47.264L76.504-46.557Q76.634-46.865 76.876-47.064Q77.119-47.264 77.437-47.264Q77.656-47.264 77.827-47.140Q77.997-47.015 77.997-46.803Q77.997-46.666 77.898-46.567Q77.799-46.468 77.666-46.468Q77.529-46.468 77.430-46.567Q77.331-46.666 77.331-46.803Q77.331-46.943 77.430-47.042Q77.140-47.042 76.940-46.846Q76.740-46.649 76.647-46.355Q76.555-46.061 76.555-45.781L76.555-44.667Q76.555-44.458 77.211-44.458L77.211-44.178M78.541-45.713Q78.541-46.034 78.666-46.323Q78.790-46.612 79.016-46.835Q79.242-47.059 79.537-47.179Q79.833-47.299 80.151-47.299Q80.479-47.299 80.740-47.199Q81.002-47.100 81.178-46.918Q81.354-46.735 81.448-46.477Q81.542-46.219 81.542-45.887Q81.542-45.795 81.460-45.774L79.204-45.774L79.204-45.713Q79.204-45.125 79.488-44.742Q79.771-44.359 80.339-44.359Q80.660-44.359 80.928-44.552Q81.197-44.745 81.286-45.060Q81.292-45.101 81.368-45.115L81.460-45.115Q81.542-45.091 81.542-45.019Q81.542-45.012 81.535-44.985Q81.422-44.588 81.051-44.349Q80.681-44.110 80.257-44.110Q79.819-44.110 79.419-44.318Q79.019-44.527 78.780-44.894Q78.541-45.261 78.541-45.713M79.211-45.983L81.026-45.983Q81.026-46.260 80.928-46.512Q80.831-46.765 80.633-46.921Q80.434-47.076 80.151-47.076Q79.874-47.076 79.660-46.918Q79.447-46.759 79.329-46.504Q79.211-46.249 79.211-45.983\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" style=\"stroke-dasharray:3.0,3.0;stroke-width:.8\">\u003Cpath fill=\"none\" d=\"M36.303 18.418c44.66-12.117 69.406-24.825 103.26-52.417\"\u002F>\u003Cpath stroke=\"none\" d=\"m141.579-35.642-4.538 1.016 2.523.627.104 2.597\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">A 2-D range tree. The primary tree (left) is a balanced BST on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>. The query \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\">\u003C\u002Fspan>\u003Cspan class=\"mopen\">[\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t vlist-t2\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.3011em;\">\u003Cspan style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">1\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-s\">​\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.15em;\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mpunct\">,\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.1667em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\">x\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t vlist-t2\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.3011em;\">\u003Cspan style=\"top:-2.55em;margin-left:0em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">2\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-s\">​\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.15em;\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mclose\">]\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> selects \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0278em;\">O\u003C\u002Fspan>\u003Cspan class=\"mopen\">(\u003C\u002Fspan>\u003Cspan class=\"mop\">\u003Cspan class=\"mord mathrm\" style=\"margin-right:0.0139em;\">log\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.1667em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">n\u003C\u002Fspan>\u003Cspan class=\"mclose\">)\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> canonical subtrees along the two search paths (shaded). Each such subtree carries an associated BST on \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> (right); the \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:1em;vertical-align:-0.25em;\">\u003C\u002Fspan>\u003Cspan class=\"mopen\">[\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t vlist-t2\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.3011em;\">\u003Cspan style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">1\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-s\">​\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.15em;\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mpunct\">,\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.1667em;\">\u003C\u002Fspan>\u003Cspan class=\"mord\">\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">y\u003C\u002Fspan>\u003Cspan class=\"msupsub\">\u003Cspan class=\"vlist-t vlist-t2\">\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.3011em;\">\u003Cspan style=\"top:-2.55em;margin-left:-0.0359em;margin-right:0.05em;\">\u003Cspan class=\"pstrut\" style=\"height:2.7em;\">\u003C\u002Fspan>\u003Cspan class=\"sizing reset-size6 size3 mtight\">\u003Cspan class=\"mord mtight\">2\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-s\">​\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"vlist-r\">\u003Cspan class=\"vlist\" style=\"height:0.15em;\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"mclose\">]\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> query runs inside it, so only points in the rectangle are reported.\u003C\u002Ffigcaption>","\u003Csvg style=\"width:100%;max-width:382.151px;height:auto\" xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" viewBox=\"-75 -75 286.613 126.211\">\u003Cg stroke=\"currentColor\" style=\"stroke-miterlimit:10;stroke-width:.4\">\u003Cpath fill=\"none\" d=\"M-65.203 34.288h273.146\" style=\"stroke-width:.8\"\u002F>\u003Cg transform=\"translate(54.912 10.32)\">\u003Cpath d=\"M-53.341 34.288L-56.226 34.288L-56.226 34.086Q-56.226 34.056-56.199 34.028L-54.951 32.811Q-54.879 32.736-54.837 32.694Q-54.794 32.651-54.715 32.572Q-54.302 32.159-54.071 31.801Q-53.840 31.444-53.840 31.020Q-53.840 30.788-53.919 30.585Q-53.998 30.381-54.139 30.231Q-54.281 30.080-54.476 30Q-54.671 29.920-54.903 29.920Q-55.214 29.920-55.472 30.079Q-55.730 30.238-55.860 30.515L-55.840 30.515Q-55.672 30.515-55.565 30.626Q-55.457 30.737-55.457 30.901Q-55.457 31.058-55.566 31.171Q-55.676 31.284-55.840 31.284Q-56 31.284-56.113 31.171Q-56.226 31.058-56.226 30.901Q-56.226 30.525-56.018 30.238Q-55.809 29.951-55.474 29.795Q-55.139 29.640-54.784 29.640Q-54.360 29.640-53.980 29.798Q-53.601 29.957-53.367 30.274Q-53.133 30.590-53.133 31.020Q-53.133 31.331-53.273 31.600Q-53.413 31.868-53.618 32.073Q-53.823 32.278-54.186 32.560Q-54.548 32.842-54.657 32.938L-55.512 33.666L-54.869 33.666Q-54.606 33.666-54.317 33.664Q-54.028 33.663-53.810 33.654Q-53.591 33.645-53.574 33.628Q-53.512 33.563-53.475 33.396Q-53.437 33.228-53.399 32.986L-53.133 32.986\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(124.753 8.823)\">\u003Cpath d=\"M-54.671 34.288L-56.305 34.288L-56.305 34.008Q-56.076 34.008-55.927 33.974Q-55.778 33.939-55.778 33.799L-55.778 31.950Q-55.778 31.680-55.886 31.619Q-55.994 31.557-56.305 31.557L-56.305 31.277L-55.245 31.202L-55.245 31.851Q-55.074 31.543-54.770 31.372Q-54.466 31.202-54.121 31.202Q-53.721 31.202-53.444 31.342Q-53.167 31.482-53.082 31.830Q-52.914 31.537-52.615 31.369Q-52.316 31.202-51.971 31.202Q-51.465 31.202-51.181 31.425Q-50.897 31.649-50.897 32.145L-50.897 33.799Q-50.897 33.936-50.749 33.972Q-50.600 34.008-50.375 34.008L-50.375 34.288L-52.005 34.288L-52.005 34.008Q-51.779 34.008-51.629 33.972Q-51.479 33.936-51.479 33.799L-51.479 32.159Q-51.479 31.824-51.598 31.624Q-51.718 31.424-52.032 31.424Q-52.302 31.424-52.536 31.560Q-52.771 31.697-52.909 31.931Q-53.047 32.165-53.047 32.439L-53.047 33.799Q-53.047 33.936-52.899 33.972Q-52.750 34.008-52.524 34.008L-52.524 34.288L-54.155 34.288L-54.155 34.008Q-53.926 34.008-53.777 33.974Q-53.628 33.939-53.628 33.799L-53.628 32.159Q-53.628 31.824-53.748 31.624Q-53.868 31.424-54.182 31.424Q-54.452 31.424-54.686 31.560Q-54.920 31.697-55.059 31.931Q-55.197 32.165-55.197 32.439L-55.197 33.799Q-55.197 33.936-55.047 33.972Q-54.896 34.008-54.671 34.008\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(197.176 10.32)\">\u003Cpath d=\"M-55.231 34.080Q-55.231 33.574-55.102 33.066Q-54.972 32.559-54.734 32.097Q-54.497 31.636-54.162 31.215L-53.516 30.402L-54.329 30.402Q-54.914 30.402-55.310 30.410Q-55.707 30.419-55.730 30.439Q-55.833 30.556-55.912 31.082L-56.178 31.082L-55.932 29.558L-55.666 29.558L-55.666 29.578Q-55.666 29.646-55.590 29.689Q-55.515 29.732-55.437 29.739Q-55.245 29.763-55.050 29.769Q-54.855 29.776-54.664 29.778Q-54.473 29.780-54.274 29.780L-52.853 29.780L-52.853 29.968Q-52.863 30.016-52.873 30.026L-53.929 31.349Q-54.148 31.622-54.271 31.935Q-54.394 32.247-54.452 32.596Q-54.510 32.945-54.524 33.276Q-54.538 33.608-54.538 34.080Q-54.538 34.230-54.637 34.329Q-54.736 34.428-54.883 34.428Q-55.033 34.428-55.132 34.329Q-55.231 34.230-55.231 34.080\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M71.37 44.246V-59.606\" style=\"stroke-dasharray:3.0,3.0;stroke-width:.8\"\u002F>\u003Cg fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\">\u003Cg fill=\"var(--tk-accent)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(112.583 -97.427)\">\u003Cpath d=\"M-56.353 32.777Q-56.353 32.449-56.218 32.148Q-56.083 31.848-55.847 31.627Q-55.611 31.407-55.307 31.287Q-55.002 31.167-54.678 31.167Q-54.172 31.167-53.823 31.270Q-53.475 31.372-53.475 31.748Q-53.475 31.895-53.572 31.996Q-53.669 32.097-53.816 32.097Q-53.970 32.097-54.069 31.998Q-54.168 31.899-54.168 31.748Q-54.168 31.560-54.028 31.468Q-54.230 31.417-54.671 31.417Q-55.026 31.417-55.255 31.613Q-55.484 31.810-55.585 32.119Q-55.686 32.429-55.686 32.777Q-55.686 33.126-55.560 33.432Q-55.433 33.738-55.178 33.922Q-54.924 34.107-54.568 34.107Q-54.346 34.107-54.162 34.023Q-53.977 33.939-53.842 33.784Q-53.707 33.628-53.649 33.420Q-53.635 33.365-53.581 33.365L-53.468 33.365Q-53.437 33.365-53.415 33.389Q-53.393 33.413-53.393 33.447L-53.393 33.468Q-53.478 33.755-53.666 33.953Q-53.854 34.151-54.119 34.254Q-54.384 34.356-54.678 34.356Q-55.108 34.356-55.496 34.150Q-55.884 33.943-56.118 33.580Q-56.353 33.218-56.353 32.777M-52.846 32.753Q-52.846 32.432-52.721 32.143Q-52.596 31.854-52.371 31.631Q-52.145 31.407-51.849 31.287Q-51.554 31.167-51.236 31.167Q-50.908 31.167-50.646 31.267Q-50.385 31.366-50.209 31.548Q-50.033 31.731-49.939 31.989Q-49.845 32.247-49.845 32.579Q-49.845 32.671-49.927 32.692L-52.183 32.692L-52.183 32.753Q-52.183 33.341-51.899 33.724Q-51.615 34.107-51.048 34.107Q-50.727 34.107-50.458 33.914Q-50.190 33.721-50.101 33.406Q-50.094 33.365-50.019 33.351L-49.927 33.351Q-49.845 33.375-49.845 33.447Q-49.845 33.454-49.852 33.481Q-49.964 33.878-50.335 34.117Q-50.706 34.356-51.130 34.356Q-51.567 34.356-51.967 34.148Q-52.367 33.939-52.606 33.572Q-52.846 33.205-52.846 32.753M-52.176 32.483L-50.361 32.483Q-50.361 32.206-50.458 31.954Q-50.556 31.701-50.754 31.545Q-50.952 31.390-51.236 31.390Q-51.513 31.390-51.726 31.548Q-51.940 31.707-52.058 31.962Q-52.176 32.217-52.176 32.483M-47.575 34.288L-49.209 34.288L-49.209 34.008Q-48.980 34.008-48.831 33.974Q-48.683 33.939-48.683 33.799L-48.683 31.950Q-48.683 31.680-48.790 31.619Q-48.898 31.557-49.209 31.557L-49.209 31.277L-48.149 31.202L-48.149 31.851Q-47.979 31.543-47.674 31.372Q-47.370 31.202-47.025 31.202Q-46.519 31.202-46.235 31.425Q-45.952 31.649-45.952 32.145L-45.952 33.799Q-45.952 33.936-45.803 33.972Q-45.654 34.008-45.429 34.008L-45.429 34.288L-47.059 34.288L-47.059 34.008Q-46.830 34.008-46.681 33.974Q-46.533 33.939-46.533 33.799L-46.533 32.159Q-46.533 31.824-46.652 31.624Q-46.772 31.424-47.086 31.424Q-47.356 31.424-47.591 31.560Q-47.825 31.697-47.963 31.931Q-48.102 32.165-48.102 32.439L-48.102 33.799Q-48.102 33.936-47.951 33.972Q-47.801 34.008-47.575 34.008\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(112.583 -97.427)\">\u003Cpath d=\"M-44.514 33.447L-44.514 31.550L-45.153 31.550L-45.153 31.328Q-44.835 31.328-44.618 31.118Q-44.401 30.908-44.301 30.598Q-44.200 30.289-44.200 29.981L-43.933 29.981L-43.933 31.270L-42.856 31.270L-42.856 31.550L-43.933 31.550L-43.933 33.434Q-43.933 33.710-43.829 33.909Q-43.725 34.107-43.465 34.107Q-43.308 34.107-43.202 34.003Q-43.096 33.898-43.046 33.745Q-42.997 33.591-42.997 33.434L-42.997 33.020L-42.730 33.020L-42.730 33.447Q-42.730 33.673-42.829 33.883Q-42.928 34.093-43.113 34.225Q-43.297 34.356-43.526 34.356Q-43.964 34.356-44.239 34.119Q-44.514 33.881-44.514 33.447M-40.170 34.288L-41.906 34.288L-41.906 34.008Q-41.677 34.008-41.529 33.974Q-41.380 33.939-41.380 33.799L-41.380 31.950Q-41.380 31.680-41.488 31.619Q-41.595 31.557-41.906 31.557L-41.906 31.277L-40.877 31.202L-40.877 31.909Q-40.748 31.601-40.505 31.402Q-40.262 31.202-39.944 31.202Q-39.726 31.202-39.555 31.326Q-39.384 31.451-39.384 31.663Q-39.384 31.800-39.483 31.899Q-39.582 31.998-39.715 31.998Q-39.852 31.998-39.951 31.899Q-40.050 31.800-40.050 31.663Q-40.050 31.523-39.951 31.424Q-40.242 31.424-40.442 31.620Q-40.642 31.817-40.734 32.111Q-40.826 32.405-40.826 32.685L-40.826 33.799Q-40.826 34.008-40.170 34.008L-40.170 34.288M-38.840 32.753Q-38.840 32.432-38.716 32.143Q-38.591 31.854-38.365 31.631Q-38.140 31.407-37.844 31.287Q-37.548 31.167-37.230 31.167Q-36.902 31.167-36.641 31.267Q-36.379 31.366-36.203 31.548Q-36.027 31.731-35.933 31.989Q-35.839 32.247-35.839 32.579Q-35.839 32.671-35.921 32.692L-38.177 32.692L-38.177 32.753Q-38.177 33.341-37.894 33.724Q-37.610 34.107-37.042 34.107Q-36.721 34.107-36.453 33.914Q-36.185 33.721-36.096 33.406Q-36.089 33.365-36.014 33.351L-35.921 33.351Q-35.839 33.375-35.839 33.447Q-35.839 33.454-35.846 33.481Q-35.959 33.878-36.330 34.117Q-36.701 34.356-37.125 34.356Q-37.562 34.356-37.962 34.148Q-38.362 33.939-38.601 33.572Q-38.840 33.205-38.840 32.753M-38.170 32.483L-36.355 32.483Q-36.355 32.206-36.453 31.954Q-36.550 31.701-36.749 31.545Q-36.947 31.390-37.230 31.390Q-37.507 31.390-37.721 31.548Q-37.935 31.707-38.053 31.962Q-38.170 32.217-38.170 32.483\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(112.583 -97.427)\">\u003Cpath d=\"M-32.072 34.134Q-32.072 34.086-32.065 34.062L-31.553 31.998Q-31.519 31.871-31.519 31.755Q-31.519 31.615-31.572 31.519Q-31.625 31.424-31.748 31.424Q-31.970 31.424-32.071 31.651Q-32.171 31.878-32.281 32.299Q-32.291 32.364-32.353 32.364L-32.462 32.364Q-32.493 32.364-32.517 32.333Q-32.541 32.302-32.541 32.278L-32.541 32.251Q-32.428 31.817-32.247 31.509Q-32.065 31.202-31.734 31.202Q-31.549 31.202-31.370 31.277Q-31.190 31.352-31.078 31.492Q-30.965 31.632-30.965 31.824Q-30.818 31.639-30.637 31.499Q-30.456 31.359-30.242 31.280Q-30.028 31.202-29.796 31.202Q-29.430 31.202-29.152 31.376Q-28.873 31.550-28.873 31.895Q-28.644 31.581-28.330 31.391Q-28.015 31.202-27.646 31.202Q-27.236 31.202-26.980 31.398Q-26.723 31.595-26.723 31.991Q-26.723 32.275-26.851 32.673Q-26.980 33.071-27.178 33.560Q-27.256 33.762-27.256 33.902Q-27.256 34.134-27.085 34.134Q-26.812 34.134-26.617 33.854Q-26.422 33.574-26.344 33.259Q-26.320 33.198-26.269 33.198L-26.156 33.198Q-26.122 33.198-26.101 33.223Q-26.081 33.249-26.081 33.280Q-26.081 33.293-26.087 33.307Q-26.149 33.557-26.291 33.799Q-26.433 34.042-26.643 34.199Q-26.853 34.356-27.103 34.356Q-27.383 34.356-27.584 34.194Q-27.786 34.032-27.786 33.762Q-27.786 33.645-27.738 33.512Q-27.533 32.993-27.402 32.588Q-27.270 32.183-27.270 31.895Q-27.270 31.684-27.364 31.554Q-27.458 31.424-27.660 31.424Q-28.415 31.424-28.941 32.439L-29.355 34.100Q-29.379 34.206-29.473 34.281Q-29.567 34.356-29.683 34.356Q-29.782 34.356-29.852 34.295Q-29.922 34.233-29.922 34.134Q-29.922 34.086-29.916 34.062L-29.475 32.299Q-29.417 32.015-29.417 31.895Q-29.417 31.687-29.512 31.555Q-29.608 31.424-29.810 31.424Q-30.565 31.424-31.091 32.439L-31.505 34.100Q-31.529 34.206-31.623 34.281Q-31.717 34.356-31.833 34.356Q-31.932 34.356-32.002 34.295Q-32.072 34.233-32.072 34.134\" fill=\"var(--tk-accent)\" stroke=\"var(--tk-accent)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-good)\" d=\"M31.536 44.246V-59.606\" style=\"stroke-width:1.2\"\u002F>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg transform=\"translate(86.246 -100.21)\">\u003Cpath d=\"M-55.290 35.542L-55.259 35.430Q-55.252 35.382-55.184 35.365Q-54.838 35.365-54.715 35.324Q-54.671 35.303-54.650 35.257Q-54.630 35.211-54.603 35.122L-54.322 33.994Q-54.753 34.356-55.177 34.356Q-55.501 34.356-55.746 34.199Q-55.990 34.042-56.122 33.777Q-56.253 33.512-56.253 33.187Q-56.253 32.719-56 32.256Q-55.748 31.793-55.324 31.497Q-54.900 31.202-54.428 31.202Q-54.192 31.202-53.999 31.321Q-53.806 31.441-53.693 31.642Q-53.622 31.530-53.439 31.366Q-53.256 31.202-53.174 31.202Q-53.136 31.202-53.105 31.236Q-53.075 31.270-53.075 31.308L-54.042 35.170Q-54.063 35.231-54.063 35.296Q-54.063 35.365-53.622 35.365Q-53.540 35.389-53.540 35.477L-53.567 35.590Q-53.574 35.628-53.642 35.645L-55.204 35.645Q-55.235 35.645-55.262 35.609Q-55.290 35.573-55.290 35.542M-55.163 34.134Q-54.890 34.134-54.638 33.950Q-54.387 33.765-54.196 33.498L-53.827 32.018Q-53.864 31.858-53.945 31.721Q-54.025 31.584-54.151 31.504Q-54.278 31.424-54.442 31.424Q-54.650 31.424-54.837 31.548Q-55.023 31.673-55.161 31.865Q-55.300 32.056-55.385 32.258Q-55.498 32.552-55.582 32.897Q-55.666 33.242-55.666 33.492Q-55.666 33.748-55.537 33.941Q-55.409 34.134-55.163 34.134\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M11.619 14.371h110.966\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"var(--tk-accent)\" stroke=\"none\" d=\"M13.219 14.371a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0M124.18499999999999 14.371a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0m-1.6 0\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M45.763-5.546h59.75\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"var(--tk-accent)\" stroke=\"none\" d=\"M47.363-5.546a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0M107.113-5.546a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0m-1.6 0\"\u002F>\u003Cpath fill=\"none\" stroke=\"var(--tk-accent)\" d=\"M-19.679-25.463H91.287\" style=\"stroke-width:.8\"\u002F>\u003Cpath fill=\"var(--tk-accent)\" stroke=\"none\" d=\"M-18.078999999999997-25.463a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0M92.887-25.463a1.6 1.6 0 1 0-3.2 0 1.6 1.6 0 0 0 3.2 0m-1.6 0\"\u002F>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg fill=\"var(--tk-good)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(188.476 -18.243)\">\u003Cpath d=\"M-56.353 32.777Q-56.353 32.449-56.218 32.148Q-56.083 31.848-55.847 31.627Q-55.611 31.407-55.307 31.287Q-55.002 31.167-54.678 31.167Q-54.172 31.167-53.823 31.270Q-53.475 31.372-53.475 31.748Q-53.475 31.895-53.572 31.996Q-53.669 32.097-53.816 32.097Q-53.970 32.097-54.069 31.998Q-54.168 31.899-54.168 31.748Q-54.168 31.560-54.028 31.468Q-54.230 31.417-54.671 31.417Q-55.026 31.417-55.255 31.613Q-55.484 31.810-55.585 32.119Q-55.686 32.429-55.686 32.777Q-55.686 33.126-55.560 33.432Q-55.433 33.738-55.178 33.922Q-54.924 34.107-54.568 34.107Q-54.346 34.107-54.162 34.023Q-53.977 33.939-53.842 33.784Q-53.707 33.628-53.649 33.420Q-53.635 33.365-53.581 33.365L-53.468 33.365Q-53.437 33.365-53.415 33.389Q-53.393 33.413-53.393 33.447L-53.393 33.468Q-53.478 33.755-53.666 33.953Q-53.854 34.151-54.119 34.254Q-54.384 34.356-54.678 34.356Q-55.108 34.356-55.496 34.150Q-55.884 33.943-56.118 33.580Q-56.353 33.218-56.353 32.777M-52.846 32.805Q-52.846 32.463-52.711 32.164Q-52.576 31.865-52.336 31.641Q-52.097 31.417-51.779 31.292Q-51.461 31.167-51.130 31.167Q-50.686 31.167-50.286 31.383Q-49.886 31.598-49.652 31.976Q-49.417 32.353-49.417 32.805Q-49.417 33.146-49.559 33.430Q-49.701 33.714-49.946 33.921Q-50.190 34.127-50.499 34.242Q-50.809 34.356-51.130 34.356Q-51.561 34.356-51.962 34.155Q-52.364 33.953-52.605 33.601Q-52.846 33.249-52.846 32.805M-51.130 34.107Q-50.528 34.107-50.304 33.729Q-50.081 33.351-50.081 32.719Q-50.081 32.107-50.315 31.748Q-50.549 31.390-51.130 31.390Q-52.183 31.390-52.183 32.719Q-52.183 33.351-51.957 33.729Q-51.731 34.107-51.130 34.107M-47.141 34.288L-48.775 34.288L-48.775 34.008Q-48.546 34.008-48.397 33.974Q-48.249 33.939-48.249 33.799L-48.249 31.950Q-48.249 31.680-48.356 31.619Q-48.464 31.557-48.775 31.557L-48.775 31.277L-47.715 31.202L-47.715 31.851Q-47.544 31.543-47.240 31.372Q-46.936 31.202-46.591 31.202Q-46.085 31.202-45.801 31.425Q-45.518 31.649-45.518 32.145L-45.518 33.799Q-45.518 33.936-45.369 33.972Q-45.220 34.008-44.995 34.008L-44.995 34.288L-46.625 34.288L-46.625 34.008Q-46.396 34.008-46.247 33.974Q-46.099 33.939-46.099 33.799L-46.099 32.159Q-46.099 31.824-46.218 31.624Q-46.338 31.424-46.652 31.424Q-46.922 31.424-47.157 31.560Q-47.391 31.697-47.529 31.931Q-47.667 32.165-47.667 32.439L-47.667 33.799Q-47.667 33.936-47.517 33.972Q-47.367 34.008-47.141 34.008\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -18.243)\">\u003Cpath d=\"M-44.083 33.447L-44.083 31.550L-44.722 31.550L-44.722 31.328Q-44.404 31.328-44.187 31.118Q-43.970 30.908-43.870 30.598Q-43.769 30.289-43.769 29.981L-43.502 29.981L-43.502 31.270L-42.425 31.270L-42.425 31.550L-43.502 31.550L-43.502 33.434Q-43.502 33.710-43.398 33.909Q-43.294 34.107-43.034 34.107Q-42.877 34.107-42.771 34.003Q-42.665 33.898-42.615 33.745Q-42.566 33.591-42.566 33.434L-42.566 33.020L-42.299 33.020L-42.299 33.447Q-42.299 33.673-42.398 33.883Q-42.497 34.093-42.682 34.225Q-42.866 34.356-43.095 34.356Q-43.533 34.356-43.808 34.119Q-44.083 33.881-44.083 33.447M-41.431 33.560Q-41.431 33.228-41.207 33.001Q-40.983 32.774-40.640 32.646Q-40.296 32.517-39.924 32.465Q-39.551 32.412-39.247 32.412L-39.247 32.159Q-39.247 31.954-39.354 31.774Q-39.462 31.595-39.643 31.492Q-39.824 31.390-40.033 31.390Q-40.440 31.390-40.675 31.482Q-40.587 31.519-40.540 31.603Q-40.494 31.687-40.494 31.789Q-40.494 31.885-40.540 31.964Q-40.587 32.042-40.667 32.087Q-40.747 32.131-40.836 32.131Q-40.986 32.131-41.087 32.034Q-41.188 31.936-41.188 31.789Q-41.188 31.167-40.033 31.167Q-39.821 31.167-39.571 31.231Q-39.322 31.294-39.120 31.413Q-38.919 31.533-38.792 31.718Q-38.666 31.902-38.666 32.145L-38.666 33.721Q-38.666 33.837-38.604 33.933Q-38.543 34.028-38.430 34.028Q-38.320 34.028-38.256 33.934Q-38.191 33.840-38.191 33.721L-38.191 33.273L-37.924 33.273L-37.924 33.721Q-37.924 33.991-38.151 34.156Q-38.379 34.322-38.659 34.322Q-38.867 34.322-39.004 34.168Q-39.141 34.015-39.165 33.799Q-39.312 34.066-39.594 34.211Q-39.876 34.356-40.200 34.356Q-40.477 34.356-40.761 34.281Q-41.045 34.206-41.238 34.027Q-41.431 33.847-41.431 33.560M-40.816 33.560Q-40.816 33.734-40.715 33.864Q-40.614 33.994-40.458 34.064Q-40.303 34.134-40.139 34.134Q-39.920 34.134-39.712 34.037Q-39.503 33.939-39.375 33.758Q-39.247 33.577-39.247 33.351L-39.247 32.623Q-39.571 32.623-39.937 32.714Q-40.303 32.805-40.559 33.017Q-40.816 33.228-40.816 33.560M-35.890 34.288L-37.442 34.288L-37.442 34.008Q-37.216 34.008-37.068 33.974Q-36.919 33.939-36.919 33.799L-36.919 31.950Q-36.919 31.762-36.967 31.678Q-37.015 31.595-37.112 31.576Q-37.210 31.557-37.422 31.557L-37.422 31.277L-36.365 31.202L-36.365 33.799Q-36.365 33.939-36.234 33.974Q-36.102 34.008-35.890 34.008L-35.890 34.288M-37.162 29.981Q-37.162 29.810-37.039 29.691Q-36.916 29.571-36.745 29.571Q-36.577 29.571-36.454 29.691Q-36.331 29.810-36.331 29.981Q-36.331 30.156-36.454 30.279Q-36.577 30.402-36.745 30.402Q-36.916 30.402-37.039 30.279Q-37.162 30.156-37.162 29.981M-33.563 34.288L-35.196 34.288L-35.196 34.008Q-34.967 34.008-34.819 33.974Q-34.670 33.939-34.670 33.799L-34.670 31.950Q-34.670 31.680-34.778 31.619Q-34.885 31.557-35.196 31.557L-35.196 31.277L-34.137 31.202L-34.137 31.851Q-33.966 31.543-33.662 31.372Q-33.358 31.202-33.012 31.202Q-32.507 31.202-32.223 31.425Q-31.939 31.649-31.939 32.145L-31.939 33.799Q-31.939 33.936-31.790 33.972Q-31.642 34.008-31.416 34.008L-31.416 34.288L-33.047 34.288L-33.047 34.008Q-32.818 34.008-32.669 33.974Q-32.520 33.939-32.520 33.799L-32.520 32.159Q-32.520 31.824-32.640 31.624Q-32.759 31.424-33.074 31.424Q-33.344 31.424-33.578 31.560Q-33.812 31.697-33.951 31.931Q-34.089 32.165-34.089 32.439L-34.089 33.799Q-34.089 33.936-33.939 33.972Q-33.788 34.008-33.563 34.008L-33.563 34.288M-30.828 34.281L-30.828 33.218Q-30.828 33.194-30.801 33.167Q-30.774 33.140-30.750 33.140L-30.640 33.140Q-30.575 33.140-30.562 33.198Q-30.466 33.632-30.220 33.883Q-29.974 34.134-29.560 34.134Q-29.218 34.134-28.966 34.001Q-28.713 33.868-28.713 33.560Q-28.713 33.403-28.807 33.288Q-28.901 33.174-29.039 33.105Q-29.177 33.037-29.345 32.999L-29.926 32.900Q-30.281 32.832-30.555 32.611Q-30.828 32.391-30.828 32.049Q-30.828 31.800-30.717 31.625Q-30.606 31.451-30.420 31.352Q-30.234 31.253-30.018 31.210Q-29.803 31.167-29.560 31.167Q-29.147 31.167-28.866 31.349L-28.651 31.174Q-28.641 31.171-28.634 31.169Q-28.627 31.167-28.617 31.167L-28.566 31.167Q-28.538 31.167-28.514 31.191Q-28.490 31.215-28.490 31.243L-28.490 32.090Q-28.490 32.111-28.514 32.138Q-28.538 32.165-28.566 32.165L-28.678 32.165Q-28.706 32.165-28.731 32.140Q-28.757 32.114-28.757 32.090Q-28.757 31.854-28.863 31.690Q-28.969 31.526-29.152 31.444Q-29.335 31.362-29.567 31.362Q-29.895 31.362-30.152 31.465Q-30.408 31.567-30.408 31.844Q-30.408 32.039-30.225 32.148Q-30.042 32.258-29.813 32.299L-29.239 32.405Q-28.993 32.453-28.779 32.581Q-28.566 32.709-28.429 32.912Q-28.292 33.116-28.292 33.365Q-28.292 33.878-28.658 34.117Q-29.024 34.356-29.560 34.356Q-30.056 34.356-30.387 34.062L-30.654 34.336Q-30.674 34.356-30.702 34.356L-30.750 34.356Q-30.774 34.356-30.801 34.329Q-30.828 34.302-30.828 34.281\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -18.243)\">\u003Cpath d=\"M-23.893 35.542L-23.862 35.430Q-23.855 35.382-23.787 35.365Q-23.441 35.365-23.318 35.324Q-23.274 35.303-23.253 35.257Q-23.233 35.211-23.206 35.122L-22.925 33.994Q-23.356 34.356-23.780 34.356Q-24.104 34.356-24.349 34.199Q-24.593 34.042-24.725 33.777Q-24.856 33.512-24.856 33.187Q-24.856 32.719-24.603 32.256Q-24.351 31.793-23.927 31.497Q-23.503 31.202-23.031 31.202Q-22.795 31.202-22.602 31.321Q-22.409 31.441-22.296 31.642Q-22.225 31.530-22.042 31.366Q-21.859 31.202-21.777 31.202Q-21.739 31.202-21.708 31.236Q-21.678 31.270-21.678 31.308L-22.645 35.170Q-22.666 35.231-22.666 35.296Q-22.666 35.365-22.225 35.365Q-22.143 35.389-22.143 35.477L-22.170 35.590Q-22.177 35.628-22.245 35.645L-23.807 35.645Q-23.838 35.645-23.865 35.609Q-23.893 35.573-23.893 35.542M-23.766 34.134Q-23.493 34.134-23.241 33.950Q-22.990 33.765-22.799 33.498L-22.430 32.018Q-22.467 31.858-22.548 31.721Q-22.628 31.584-22.754 31.504Q-22.881 31.424-23.045 31.424Q-23.253 31.424-23.440 31.548Q-23.626 31.673-23.764 31.865Q-23.903 32.056-23.988 32.258Q-24.101 32.552-24.185 32.897Q-24.269 33.242-24.269 33.492Q-24.269 33.748-24.140 33.941Q-24.012 34.134-23.766 34.134\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003Cg stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-54.685 34.288L-56.288 34.288L-56.288 34.008Q-56.062 34.008-55.913 33.974Q-55.765 33.939-55.765 33.799L-55.765 30.180Q-55.765 29.910-55.872 29.848Q-55.980 29.787-56.288 29.787L-56.288 29.506L-55.211 29.431L-55.211 33.799Q-55.211 33.936-55.061 33.972Q-54.910 34.008-54.685 34.008L-54.685 34.288M-54.131 32.753Q-54.131 32.432-54.006 32.143Q-53.881 31.854-53.656 31.631Q-53.430 31.407-53.135 31.287Q-52.839 31.167-52.521 31.167Q-52.193 31.167-51.931 31.267Q-51.670 31.366-51.494 31.548Q-51.318 31.731-51.224 31.989Q-51.130 32.247-51.130 32.579Q-51.130 32.671-51.212 32.692L-53.468 32.692L-53.468 32.753Q-53.468 33.341-53.184 33.724Q-52.900 34.107-52.333 34.107Q-52.012 34.107-51.743 33.914Q-51.475 33.721-51.386 33.406Q-51.379 33.365-51.304 33.351L-51.212 33.351Q-51.130 33.375-51.130 33.447Q-51.130 33.454-51.137 33.481Q-51.250 33.878-51.620 34.117Q-51.991 34.356-52.415 34.356Q-52.853 34.356-53.252 34.148Q-53.652 33.939-53.892 33.572Q-54.131 33.205-54.131 32.753M-53.461 32.483L-51.646 32.483Q-51.646 32.206-51.743 31.954Q-51.841 31.701-52.039 31.545Q-52.237 31.390-52.521 31.390Q-52.798 31.390-53.011 31.548Q-53.225 31.707-53.343 31.962Q-53.461 32.217-53.461 32.483M-48.744 34.288L-50.477 34.288L-50.477 34.008Q-50.251 34.008-50.103 33.974Q-49.954 33.939-49.954 33.799L-49.954 31.550L-50.542 31.550L-50.542 31.270L-49.954 31.270L-49.954 30.453Q-49.954 30.135-49.776 29.887Q-49.599 29.640-49.308 29.499Q-49.018 29.359-48.707 29.359Q-48.450 29.359-48.247 29.501Q-48.043 29.643-48.043 29.886Q-48.043 30.022-48.143 30.121Q-48.242 30.221-48.378 30.221Q-48.515 30.221-48.614 30.121Q-48.713 30.022-48.713 29.886Q-48.713 29.705-48.573 29.612Q-48.652 29.585-48.751 29.585Q-48.959 29.585-49.113 29.718Q-49.267 29.851-49.347 30.055Q-49.428 30.258-49.428 30.467L-49.428 31.270L-48.539 31.270L-48.539 31.550L-49.400 31.550L-49.400 33.799Q-49.400 34.008-48.744 34.008L-48.744 34.288M-47.538 33.447L-47.538 31.550L-48.177 31.550L-48.177 31.328Q-47.859 31.328-47.642 31.118Q-47.425 30.908-47.324 30.598Q-47.223 30.289-47.223 29.981L-46.957 29.981L-46.957 31.270L-45.880 31.270L-45.880 31.550L-46.957 31.550L-46.957 33.434Q-46.957 33.710-46.852 33.909Q-46.748 34.107-46.488 34.107Q-46.331 34.107-46.225 34.003Q-46.119 33.898-46.070 33.745Q-46.020 33.591-46.020 33.434L-46.020 33.020L-45.753 33.020L-45.753 33.447Q-45.753 33.673-45.853 33.883Q-45.952 34.093-46.136 34.225Q-46.321 34.356-46.550 34.356Q-46.987 34.356-47.262 34.119Q-47.538 33.881-47.538 33.447\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-42.276 32.753Q-42.276 32.432-42.151 32.143Q-42.026 31.854-41.800 31.631Q-41.575 31.407-41.279 31.287Q-40.984 31.167-40.666 31.167Q-40.338 31.167-40.076 31.267Q-39.815 31.366-39.639 31.548Q-39.463 31.731-39.369 31.989Q-39.275 32.247-39.275 32.579Q-39.275 32.671-39.357 32.692L-41.612 32.692L-41.612 32.753Q-41.612 33.341-41.329 33.724Q-41.045 34.107-40.478 34.107Q-40.156 34.107-39.888 33.914Q-39.620 33.721-39.531 33.406Q-39.524 33.365-39.449 33.351L-39.357 33.351Q-39.275 33.375-39.275 33.447Q-39.275 33.454-39.281 33.481Q-39.394 33.878-39.765 34.117Q-40.136 34.356-40.560 34.356Q-40.997 34.356-41.397 34.148Q-41.797 33.939-42.036 33.572Q-42.276 33.205-42.276 32.753M-41.606 32.483L-39.791 32.483Q-39.791 32.206-39.888 31.954Q-39.986 31.701-40.184 31.545Q-40.382 31.390-40.666 31.390Q-40.943 31.390-41.156 31.548Q-41.370 31.707-41.488 31.962Q-41.606 32.217-41.606 32.483M-37.005 34.288L-38.639 34.288L-38.639 34.008Q-38.410 34.008-38.261 33.974Q-38.112 33.939-38.112 33.799L-38.112 31.950Q-38.112 31.680-38.220 31.619Q-38.328 31.557-38.639 31.557L-38.639 31.277L-37.579 31.202L-37.579 31.851Q-37.408 31.543-37.104 31.372Q-36.800 31.202-36.455 31.202Q-35.949 31.202-35.665 31.425Q-35.382 31.649-35.382 32.145L-35.382 33.799Q-35.382 33.936-35.233 33.972Q-35.084 34.008-34.859 34.008L-34.859 34.288L-36.489 34.288L-36.489 34.008Q-36.260 34.008-36.111 33.974Q-35.963 33.939-35.963 33.799L-35.963 32.159Q-35.963 31.824-36.082 31.624Q-36.202 31.424-36.516 31.424Q-36.786 31.424-37.020 31.560Q-37.255 31.697-37.393 31.931Q-37.531 32.165-37.531 32.439L-37.531 33.799Q-37.531 33.936-37.381 33.972Q-37.231 34.008-37.005 34.008L-37.005 34.288M-34.271 32.777Q-34.271 32.439-34.131 32.148Q-33.990 31.858-33.746 31.644Q-33.502 31.431-33.197 31.316Q-32.893 31.202-32.569 31.202Q-32.299 31.202-32.035 31.301Q-31.772 31.400-31.581 31.578L-31.581 30.180Q-31.581 29.910-31.688 29.848Q-31.796 29.787-32.107 29.787L-32.107 29.506L-31.030 29.431L-31.030 33.615Q-31.030 33.803-30.976 33.886Q-30.921 33.970-30.820 33.989Q-30.719 34.008-30.504 34.008L-30.504 34.288L-31.611 34.356L-31.611 33.939Q-32.028 34.356-32.654 34.356Q-33.085 34.356-33.457 34.144Q-33.830 33.933-34.050 33.572Q-34.271 33.211-34.271 32.777M-32.596 34.134Q-32.387 34.134-32.201 34.062Q-32.015 33.991-31.861 33.854Q-31.707 33.717-31.611 33.539L-31.611 31.930Q-31.697 31.783-31.842 31.663Q-31.987 31.543-32.157 31.484Q-32.326 31.424-32.507 31.424Q-33.068 31.424-33.336 31.813Q-33.604 32.203-33.604 32.784Q-33.604 33.355-33.370 33.745Q-33.136 34.134-32.596 34.134\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-26.711 34.650Q-26.711 34.541-26.618 34.503L-22.544 32.538L-26.618 30.580Q-26.711 30.542-26.711 30.433Q-26.711 30.361-26.661 30.308Q-26.612 30.255-26.536 30.255Q-26.533 30.255-26.451 30.275L-22.062 32.391Q-21.977 32.439-21.977 32.538Q-21.977 32.644-22.062 32.692L-26.451 34.808Q-26.478 34.814-26.499 34.821Q-26.519 34.828-26.536 34.828Q-26.612 34.828-26.661 34.772Q-26.711 34.715-26.711 34.650\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-17.563 35.542L-17.532 35.430Q-17.525 35.382-17.457 35.365Q-17.111 35.365-16.988 35.324Q-16.944 35.303-16.923 35.257Q-16.903 35.211-16.876 35.122L-16.595 33.994Q-17.026 34.356-17.450 34.356Q-17.774 34.356-18.019 34.199Q-18.263 34.042-18.395 33.777Q-18.526 33.512-18.526 33.187Q-18.526 32.719-18.273 32.256Q-18.021 31.793-17.597 31.497Q-17.173 31.202-16.701 31.202Q-16.465 31.202-16.272 31.321Q-16.079 31.441-15.966 31.642Q-15.895 31.530-15.712 31.366Q-15.529 31.202-15.447 31.202Q-15.409 31.202-15.378 31.236Q-15.348 31.270-15.348 31.308L-16.315 35.170Q-16.336 35.231-16.336 35.296Q-16.336 35.365-15.895 35.365Q-15.813 35.389-15.813 35.477L-15.840 35.590Q-15.847 35.628-15.915 35.645L-17.477 35.645Q-17.508 35.645-17.535 35.609Q-17.563 35.573-17.563 35.542M-17.436 34.134Q-17.163 34.134-16.911 33.950Q-16.660 33.765-16.469 33.498L-16.100 32.018Q-16.137 31.858-16.218 31.721Q-16.298 31.584-16.424 31.504Q-16.551 31.424-16.715 31.424Q-16.923 31.424-17.110 31.548Q-17.296 31.673-17.434 31.865Q-17.573 32.056-17.658 32.258Q-17.771 32.552-17.855 32.897Q-17.939 33.242-17.939 33.492Q-17.939 33.748-17.810 33.941Q-17.682 34.134-17.436 34.134\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-14.309 33.868Q-14.309 33.700-14.186 33.577Q-14.063 33.454-13.888 33.454Q-13.721 33.454-13.598 33.577Q-13.475 33.700-13.475 33.868Q-13.475 34.042-13.598 34.165Q-13.721 34.288-13.888 34.288Q-14.063 34.288-14.186 34.165Q-14.309 34.042-14.309 33.868M-14.309 31.684Q-14.309 31.516-14.186 31.393Q-14.063 31.270-13.888 31.270Q-13.721 31.270-13.598 31.393Q-13.475 31.516-13.475 31.684Q-13.475 31.858-13.598 31.981Q-13.721 32.104-13.888 32.104Q-14.063 32.104-14.186 31.981Q-14.309 31.858-14.309 31.684\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -38.084)\">\u003Cpath d=\"M-8.890 34.281L-8.890 33.218Q-8.890 33.194-8.862 33.167Q-8.835 33.140-8.811 33.140L-8.702 33.140Q-8.637 33.140-8.623 33.198Q-8.527 33.632-8.281 33.883Q-8.035 34.134-7.621 34.134Q-7.280 34.134-7.027 34.001Q-6.774 33.868-6.774 33.560Q-6.774 33.403-6.868 33.288Q-6.962 33.174-7.100 33.105Q-7.239 33.037-7.406 32.999L-7.987 32.900Q-8.343 32.832-8.616 32.611Q-8.890 32.391-8.890 32.049Q-8.890 31.800-8.778 31.625Q-8.667 31.451-8.481 31.352Q-8.295 31.253-8.079 31.210Q-7.864 31.167-7.621 31.167Q-7.208 31.167-6.928 31.349L-6.712 31.174Q-6.702 31.171-6.695 31.169Q-6.688 31.167-6.678 31.167L-6.627 31.167Q-6.600 31.167-6.576 31.191Q-6.552 31.215-6.552 31.243L-6.552 32.090Q-6.552 32.111-6.576 32.138Q-6.600 32.165-6.627 32.165L-6.740 32.165Q-6.767 32.165-6.793 32.140Q-6.818 32.114-6.818 32.090Q-6.818 31.854-6.924 31.690Q-7.030 31.526-7.213 31.444Q-7.396 31.362-7.628 31.362Q-7.956 31.362-8.213 31.465Q-8.469 31.567-8.469 31.844Q-8.469 32.039-8.286 32.148Q-8.103 32.258-7.874 32.299L-7.300 32.405Q-7.054 32.453-6.840 32.581Q-6.627 32.709-6.490 32.912Q-6.353 33.116-6.353 33.365Q-6.353 33.878-6.719 34.117Q-7.085 34.356-7.621 34.356Q-8.117 34.356-8.449 34.062L-8.715 34.336Q-8.736 34.356-8.763 34.356L-8.811 34.356Q-8.835 34.356-8.862 34.329Q-8.890 34.302-8.890 34.281M-4.128 34.288L-5.711 34.288L-5.711 34.008Q-5.482 34.008-5.333 33.974Q-5.184 33.939-5.184 33.799L-5.184 30.180Q-5.184 29.910-5.292 29.848Q-5.400 29.787-5.711 29.787L-5.711 29.506L-4.631 29.431L-4.631 32.719L-3.646 31.950Q-3.441 31.813-3.441 31.663Q-3.441 31.619-3.482 31.584Q-3.523 31.550-3.568 31.550L-3.568 31.270L-2.204 31.270L-2.204 31.550Q-2.693 31.550-3.212 31.950L-3.769 32.384L-2.792 33.608Q-2.590 33.854-2.457 33.931Q-2.324 34.008-2.037 34.008L-2.037 34.288L-3.469 34.288L-3.469 34.008Q-3.281 34.008-3.281 33.895Q-3.281 33.799-3.434 33.608L-4.169 32.699L-4.651 33.078L-4.651 33.799Q-4.651 33.936-4.503 33.972Q-4.354 34.008-4.128 34.008L-4.128 34.288M0.093 34.288L-1.459 34.288L-1.459 34.008Q-1.233 34.008-1.085 33.974Q-0.936 33.939-0.936 33.799L-0.936 31.950Q-0.936 31.762-0.984 31.678Q-1.032 31.595-1.129 31.576Q-1.226 31.557-1.438 31.557L-1.438 31.277L-0.382 31.202L-0.382 33.799Q-0.382 33.939-0.251 33.974Q-0.119 34.008 0.093 34.008L0.093 34.288M-1.179 29.981Q-1.179 29.810-1.056 29.691Q-0.933 29.571-0.762 29.571Q-0.594 29.571-0.471 29.691Q-0.348 29.810-0.348 29.981Q-0.348 30.156-0.471 30.279Q-0.594 30.402-0.762 30.402Q-0.933 30.402-1.056 30.279Q-1.179 30.156-1.179 29.981M2.383 35.645L0.753 35.645L0.753 35.365Q0.982 35.365 1.130 35.330Q1.279 35.296 1.279 35.156L1.279 31.810Q1.279 31.639 1.142 31.598Q1.005 31.557 0.753 31.557L0.753 31.277L1.833 31.202L1.833 31.608Q2.055 31.407 2.342 31.304Q2.629 31.202 2.937 31.202Q3.364 31.202 3.728 31.415Q4.092 31.629 4.306 31.993Q4.519 32.357 4.519 32.777Q4.519 33.222 4.280 33.586Q4.041 33.950 3.648 34.153Q3.254 34.356 2.810 34.356Q2.544 34.356 2.296 34.256Q2.048 34.155 1.860 33.974L1.860 35.156Q1.860 35.293 2.009 35.329Q2.157 35.365 2.383 35.365L2.383 35.645M1.860 31.957L1.860 33.567Q1.993 33.820 2.236 33.977Q2.479 34.134 2.755 34.134Q3.084 34.134 3.337 33.933Q3.589 33.731 3.723 33.413Q3.856 33.095 3.856 32.777Q3.856 32.548 3.791 32.319Q3.726 32.090 3.598 31.892Q3.470 31.694 3.275 31.574Q3.080 31.455 2.848 31.455Q2.554 31.455 2.286 31.584Q2.017 31.714 1.860 31.957\" fill=\"currentColor\" stroke=\"currentColor\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003Cg fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\">\u003Cg fill=\"var(--tk-good)\" stroke=\"none\" font-size=\"7\">\u003Cg transform=\"translate(188.476 -58.077)\">\u003Cpath d=\"M-56.353 32.777Q-56.353 32.449-56.218 32.148Q-56.083 31.848-55.847 31.627Q-55.611 31.407-55.307 31.287Q-55.002 31.167-54.678 31.167Q-54.172 31.167-53.823 31.270Q-53.475 31.372-53.475 31.748Q-53.475 31.895-53.572 31.996Q-53.669 32.097-53.816 32.097Q-53.970 32.097-54.069 31.998Q-54.168 31.899-54.168 31.748Q-54.168 31.560-54.028 31.468Q-54.230 31.417-54.671 31.417Q-55.026 31.417-55.255 31.613Q-55.484 31.810-55.585 32.119Q-55.686 32.429-55.686 32.777Q-55.686 33.126-55.560 33.432Q-55.433 33.738-55.178 33.922Q-54.924 34.107-54.568 34.107Q-54.346 34.107-54.162 34.023Q-53.977 33.939-53.842 33.784Q-53.707 33.628-53.649 33.420Q-53.635 33.365-53.581 33.365L-53.468 33.365Q-53.437 33.365-53.415 33.389Q-53.393 33.413-53.393 33.447L-53.393 33.468Q-53.478 33.755-53.666 33.953Q-53.854 34.151-54.119 34.254Q-54.384 34.356-54.678 34.356Q-55.108 34.356-55.496 34.150Q-55.884 33.943-56.118 33.580Q-56.353 33.218-56.353 32.777M-52.846 32.805Q-52.846 32.463-52.711 32.164Q-52.576 31.865-52.336 31.641Q-52.097 31.417-51.779 31.292Q-51.461 31.167-51.130 31.167Q-50.686 31.167-50.286 31.383Q-49.886 31.598-49.652 31.976Q-49.417 32.353-49.417 32.805Q-49.417 33.146-49.559 33.430Q-49.701 33.714-49.946 33.921Q-50.190 34.127-50.499 34.242Q-50.809 34.356-51.130 34.356Q-51.561 34.356-51.962 34.155Q-52.364 33.953-52.605 33.601Q-52.846 33.249-52.846 32.805M-51.130 34.107Q-50.528 34.107-50.304 33.729Q-50.081 33.351-50.081 32.719Q-50.081 32.107-50.315 31.748Q-50.549 31.390-51.130 31.390Q-52.183 31.390-52.183 32.719Q-52.183 33.351-51.957 33.729Q-51.731 34.107-51.130 34.107M-47.141 34.288L-48.775 34.288L-48.775 34.008Q-48.546 34.008-48.397 33.974Q-48.249 33.939-48.249 33.799L-48.249 31.950Q-48.249 31.680-48.356 31.619Q-48.464 31.557-48.775 31.557L-48.775 31.277L-47.715 31.202L-47.715 31.851Q-47.544 31.543-47.240 31.372Q-46.936 31.202-46.591 31.202Q-46.085 31.202-45.801 31.425Q-45.518 31.649-45.518 32.145L-45.518 33.799Q-45.518 33.936-45.369 33.972Q-45.220 34.008-44.995 34.008L-44.995 34.288L-46.625 34.288L-46.625 34.008Q-46.396 34.008-46.247 33.974Q-46.099 33.939-46.099 33.799L-46.099 32.159Q-46.099 31.824-46.218 31.624Q-46.338 31.424-46.652 31.424Q-46.922 31.424-47.157 31.560Q-47.391 31.697-47.529 31.931Q-47.667 32.165-47.667 32.439L-47.667 33.799Q-47.667 33.936-47.517 33.972Q-47.367 34.008-47.141 34.008\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -58.077)\">\u003Cpath d=\"M-44.083 33.447L-44.083 31.550L-44.722 31.550L-44.722 31.328Q-44.404 31.328-44.187 31.118Q-43.970 30.908-43.870 30.598Q-43.769 30.289-43.769 29.981L-43.502 29.981L-43.502 31.270L-42.425 31.270L-42.425 31.550L-43.502 31.550L-43.502 33.434Q-43.502 33.710-43.398 33.909Q-43.294 34.107-43.034 34.107Q-42.877 34.107-42.771 34.003Q-42.665 33.898-42.615 33.745Q-42.566 33.591-42.566 33.434L-42.566 33.020L-42.299 33.020L-42.299 33.447Q-42.299 33.673-42.398 33.883Q-42.497 34.093-42.682 34.225Q-42.866 34.356-43.095 34.356Q-43.533 34.356-43.808 34.119Q-44.083 33.881-44.083 33.447M-41.431 33.560Q-41.431 33.228-41.207 33.001Q-40.983 32.774-40.640 32.646Q-40.296 32.517-39.924 32.465Q-39.551 32.412-39.247 32.412L-39.247 32.159Q-39.247 31.954-39.354 31.774Q-39.462 31.595-39.643 31.492Q-39.824 31.390-40.033 31.390Q-40.440 31.390-40.675 31.482Q-40.587 31.519-40.540 31.603Q-40.494 31.687-40.494 31.789Q-40.494 31.885-40.540 31.964Q-40.587 32.042-40.667 32.087Q-40.747 32.131-40.836 32.131Q-40.986 32.131-41.087 32.034Q-41.188 31.936-41.188 31.789Q-41.188 31.167-40.033 31.167Q-39.821 31.167-39.571 31.231Q-39.322 31.294-39.120 31.413Q-38.919 31.533-38.792 31.718Q-38.666 31.902-38.666 32.145L-38.666 33.721Q-38.666 33.837-38.604 33.933Q-38.543 34.028-38.430 34.028Q-38.320 34.028-38.256 33.934Q-38.191 33.840-38.191 33.721L-38.191 33.273L-37.924 33.273L-37.924 33.721Q-37.924 33.991-38.151 34.156Q-38.379 34.322-38.659 34.322Q-38.867 34.322-39.004 34.168Q-39.141 34.015-39.165 33.799Q-39.312 34.066-39.594 34.211Q-39.876 34.356-40.200 34.356Q-40.477 34.356-40.761 34.281Q-41.045 34.206-41.238 34.027Q-41.431 33.847-41.431 33.560M-40.816 33.560Q-40.816 33.734-40.715 33.864Q-40.614 33.994-40.458 34.064Q-40.303 34.134-40.139 34.134Q-39.920 34.134-39.712 34.037Q-39.503 33.939-39.375 33.758Q-39.247 33.577-39.247 33.351L-39.247 32.623Q-39.571 32.623-39.937 32.714Q-40.303 32.805-40.559 33.017Q-40.816 33.228-40.816 33.560M-35.890 34.288L-37.442 34.288L-37.442 34.008Q-37.216 34.008-37.068 33.974Q-36.919 33.939-36.919 33.799L-36.919 31.950Q-36.919 31.762-36.967 31.678Q-37.015 31.595-37.112 31.576Q-37.210 31.557-37.422 31.557L-37.422 31.277L-36.365 31.202L-36.365 33.799Q-36.365 33.939-36.234 33.974Q-36.102 34.008-35.890 34.008L-35.890 34.288M-37.162 29.981Q-37.162 29.810-37.039 29.691Q-36.916 29.571-36.745 29.571Q-36.577 29.571-36.454 29.691Q-36.331 29.810-36.331 29.981Q-36.331 30.156-36.454 30.279Q-36.577 30.402-36.745 30.402Q-36.916 30.402-37.039 30.279Q-37.162 30.156-37.162 29.981M-33.563 34.288L-35.196 34.288L-35.196 34.008Q-34.967 34.008-34.819 33.974Q-34.670 33.939-34.670 33.799L-34.670 31.950Q-34.670 31.680-34.778 31.619Q-34.885 31.557-35.196 31.557L-35.196 31.277L-34.137 31.202L-34.137 31.851Q-33.966 31.543-33.662 31.372Q-33.358 31.202-33.012 31.202Q-32.507 31.202-32.223 31.425Q-31.939 31.649-31.939 32.145L-31.939 33.799Q-31.939 33.936-31.790 33.972Q-31.642 34.008-31.416 34.008L-31.416 34.288L-33.047 34.288L-33.047 34.008Q-32.818 34.008-32.669 33.974Q-32.520 33.939-32.520 33.799L-32.520 32.159Q-32.520 31.824-32.640 31.624Q-32.759 31.424-33.074 31.424Q-33.344 31.424-33.578 31.560Q-33.812 31.697-33.951 31.931Q-34.089 32.165-34.089 32.439L-34.089 33.799Q-34.089 33.936-33.939 33.972Q-33.788 34.008-33.563 34.008L-33.563 34.288M-30.828 34.281L-30.828 33.218Q-30.828 33.194-30.801 33.167Q-30.774 33.140-30.750 33.140L-30.640 33.140Q-30.575 33.140-30.562 33.198Q-30.466 33.632-30.220 33.883Q-29.974 34.134-29.560 34.134Q-29.218 34.134-28.966 34.001Q-28.713 33.868-28.713 33.560Q-28.713 33.403-28.807 33.288Q-28.901 33.174-29.039 33.105Q-29.177 33.037-29.345 32.999L-29.926 32.900Q-30.281 32.832-30.555 32.611Q-30.828 32.391-30.828 32.049Q-30.828 31.800-30.717 31.625Q-30.606 31.451-30.420 31.352Q-30.234 31.253-30.018 31.210Q-29.803 31.167-29.560 31.167Q-29.147 31.167-28.866 31.349L-28.651 31.174Q-28.641 31.171-28.634 31.169Q-28.627 31.167-28.617 31.167L-28.566 31.167Q-28.538 31.167-28.514 31.191Q-28.490 31.215-28.490 31.243L-28.490 32.090Q-28.490 32.111-28.514 32.138Q-28.538 32.165-28.566 32.165L-28.678 32.165Q-28.706 32.165-28.731 32.140Q-28.757 32.114-28.757 32.090Q-28.757 31.854-28.863 31.690Q-28.969 31.526-29.152 31.444Q-29.335 31.362-29.567 31.362Q-29.895 31.362-30.152 31.465Q-30.408 31.567-30.408 31.844Q-30.408 32.039-30.225 32.148Q-30.042 32.258-29.813 32.299L-29.239 32.405Q-28.993 32.453-28.779 32.581Q-28.566 32.709-28.429 32.912Q-28.292 33.116-28.292 33.365Q-28.292 33.878-28.658 34.117Q-29.024 34.356-29.560 34.356Q-30.056 34.356-30.387 34.062L-30.654 34.336Q-30.674 34.356-30.702 34.356L-30.750 34.356Q-30.774 34.356-30.801 34.329Q-30.828 34.302-30.828 34.281\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003Cg transform=\"translate(188.476 -58.077)\">\u003Cpath d=\"M-23.893 35.542L-23.862 35.430Q-23.855 35.382-23.787 35.365Q-23.441 35.365-23.318 35.324Q-23.274 35.303-23.253 35.257Q-23.233 35.211-23.206 35.122L-22.925 33.994Q-23.356 34.356-23.780 34.356Q-24.104 34.356-24.349 34.199Q-24.593 34.042-24.725 33.777Q-24.856 33.512-24.856 33.187Q-24.856 32.719-24.603 32.256Q-24.351 31.793-23.927 31.497Q-23.503 31.202-23.031 31.202Q-22.795 31.202-22.602 31.321Q-22.409 31.441-22.296 31.642Q-22.225 31.530-22.042 31.366Q-21.859 31.202-21.777 31.202Q-21.739 31.202-21.708 31.236Q-21.678 31.270-21.678 31.308L-22.645 35.170Q-22.666 35.231-22.666 35.296Q-22.666 35.365-22.225 35.365Q-22.143 35.389-22.143 35.477L-22.170 35.590Q-22.177 35.628-22.245 35.645L-23.807 35.645Q-23.838 35.645-23.865 35.609Q-23.893 35.573-23.893 35.542M-23.766 34.134Q-23.493 34.134-23.241 33.950Q-22.990 33.765-22.799 33.498L-22.430 32.018Q-22.467 31.858-22.548 31.721Q-22.628 31.584-22.754 31.504Q-22.881 31.424-23.045 31.424Q-23.253 31.424-23.440 31.548Q-23.626 31.673-23.764 31.865Q-23.903 32.056-23.988 32.258Q-24.101 32.552-24.185 32.897Q-24.269 33.242-24.269 33.492Q-24.269 33.748-24.140 33.941Q-24.012 34.134-23.766 34.134\" fill=\"var(--tk-good)\" stroke=\"var(--tk-good)\" class=\"tikz-text\" style=\"stroke-width:0.210\"\u002F>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fg>\u003C\u002Fsvg>\u003Cfigcaption class=\"tikz-cap\">An interval-tree stabbing query. The root centre \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">m\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> holds the intervals crossing it, kept sorted by both endpoints. For a query \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.7335em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">q\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003Cspan class=\"mrel\">&lt;\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">m\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> the left-endpoint list is scanned from the left, reporting intervals whose left end is \u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.7719em;vertical-align:-0.136em;\">\u003C\u002Fspan>\u003Cspan class=\"mrel\">≤\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.625em;vertical-align:-0.1944em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\" style=\"margin-right:0.0359em;\">q\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan> and stopping at the first miss; the search then recurses into the left subtree (\u003Cspan class=\"katex\">\u003Cspan class=\"katex-html\" aria-hidden=\"true\">\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.5782em;vertical-align:-0.0391em;\">\u003C\u002Fspan>\u003Cspan class=\"mrel\">&lt;\u003C\u002Fspan>\u003Cspan class=\"mspace\" style=\"margin-right:0.2778em;\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cspan class=\"base\">\u003Cspan class=\"strut\" style=\"height:0.4306em;\">\u003C\u002Fspan>\u003Cspan class=\"mord mathnormal\">m\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>).\u003C\u002Ffigcaption>",1785117739887]