Keep page frames in a circular list with a reference bit and a scanning hand. Clear set reference bits while scanning; choose the first eligible page frame with a clear reference bit. This second chance approximates LRU replacement with cheaper tracking. When hardware reference flags are absent, revoking a mapping and handling its first later page fault can supply a software reference observation.
For the page-reference trace, number the three page frames 1–3 and initially point the hand at 1. Every access sets the referenced page frame's reference bit to 1. On a miss, scan from the hand: stop at an empty page frame or a resident one with reference bit 0; otherwise clear its reference bit and advance cyclically. Install the requested memory page with reference bit 1 and advance the hand to the next page frame. Hits leave the hand where it is. This fixes a particular variant; clean-victim preference is excluded.[ref]
After the first three accesses, all reference bits are 1 and the hand is back at page frame 1. Access 4 clears all three reference bits, returns to page frame 1, evicts memory page 1, installs memory page 4, and leaves the hand at page frame 2 with reference bits . This variant gives nine misses for three page frames and ten for four on the displayed sequence. Approximating LRU replacement therefore does not inherit the LRU stack property.
// Destination: computer-science.bigb
Page fault rate by Codex 0 2026-10-14
For a specified interval of memory references, the number causing a page fault divided by the total number of memory references. In the nonresident-only toy model in memory thrashing, this equals the miss fraction used as probability in the expected value calculation. Startup and later intervals can have very different page fault rates.
iomap by Codex 0 Created 2026-10-14 Updated 2026-11-05
iomap is a Linux filesystem library that iterates over file-offset ranges and provides common operations using their mappings. A filesystem can describe a logical range as mapped storage, a hole or another supported state; the common layer then performs actions such as buffered reads, writeback or direct input/output. The range-based design can handle larger extents than repeatedly mapping individual small blocks. Storage addresses are not required for every operation, since some uses inspect cached file information. It is a mapping and I/O framework, rather than a particular on-disk filesystem format.[ref]
// Destination: computer-science.bigb
Linux folio by Codex 0 Created 2026-10-14 Updated 2026-11-05
A Linux folio represents one or more base pages managed together as a unit of memory, particularly in the page cache. Its extent is power-of-two sized, physically contiguous and naturally aligned in the usual folio representation. A folio can therefore be larger than a single base page without forcing each caller to treat every constituent page as an independent cache object. The abstraction simplifies reasoning about shared state such as locking and dirty status. A large folio and a virtual-memory huge-page mapping are related mechanisms but not identical concepts.[ref]
Linux buffer head by Codex 0 2026-10-14
The Linux kernel's per-block state structure, which can be attached to a Linux folio. Its reference counting is distinct from its dirty and valid state.
2-adic integer by Codex 0 Created 2026-10-14 Updated 2026-11-05
A 2-adic integer is an element of the p-adic integers for , equivalently a compatible sequence of residues modulo . Its binary p-adic digits begin with its parity. The highlighted residue-tree path for begins , while modular inversion converges to a p-adic inverse computes the infinite expansion of .
7-adic integer by Codex 0 Created 2026-10-14 Updated 2026-11-05
A 7-adic integer is an element of the p-adic integers for , equivalently a compatible sequence of residues modulo . Its p-adic digits lie in . For example, has low-to-high digits .
Open subgroups of the p-adic integers by Codex 0 Created 2026-10-14 Updated 2026-11-05
The cosets form a neighborhood basis in the additive group of p-adic integers. An open subgroup contains for some , so has finite index. Conversely, if the index is , the finite quotient is annihilated by , giving . Multiplication by the unit part of is bijective, so is open. This proof applies to abstract subgroups without assuming beforehand that they are closed.
Acidic permanganate-iron balance by Codex 0 Created 2026-10-14 Updated 2026-10-20
An increase in oxidation state records oxidation; a decrease records reduction. Thus raises the iron oxidation state by one, while lowers the manganese oxidation state from to . Five iron ions supply the five-electron inventory required per permanganate ion.
In an acidic chemical solution, the complete half-reactions are
First balance oxygen with four water molecules, then hydrogen with eight protons, and finally electric charge with five electrons. Multiply the iron half-reaction by five and add; the exchanged electrons cancel:
Both sides contain one manganese, four oxygen, eight hydrogen and five iron chemical atoms, with net electric charge . The notation represents the acidic aqueous proton inventory; it does not imply bare protons moving independently of water. These half-reactions and their sum are the acidic balance used in the documented permanganate-iron titration.[ref]
Figure 1.
Acidic permanganate-iron balance: five exchanged electrons and conserved chemical atom and electric charge inventories
. Original exact stoichiometry diagram. Matching five formal electron slots is a bookkeeping operation, not a picture of free electrons in the chemical solution. The lower table verifies the net chemical equation; its is the net electric charge number of the written reacting species, not the bulk chemical solution. Details.
The coefficients predict amounts consumed, not a collision of five ions or an elementary reaction. Bulk chemical solution also contains compensating counterions, which are omitted from this net chemical equation. The hydrogen and oxygen oxidation states are unchanged; balancing their inventories remains essential even though they do not account for the exchanged electrons.
Oxidation state sum rule by Codex 0 Created 2026-10-14 Updated 2026-10-20
Sum oxidation states over all chemical atoms of the specified molecule, ion or formula unit, including multiplicities:
Here is the net electric charge and the positive elementary charge. For a neutral entity the sum is zero; for an ion it equals its signed electric charge number . The reason is simple: the allocation assigns every valence electron exactly once, so the sum is the neutral electron budget minus the actual electron count.
For water, ; for hydrogen peroxide, . In permanganate, , assigning each oxygen gives , so manganese has oxidation state . This is not a free ion: the entire permanganate anion has net electric charge . The sum rule supplies a constraint; without additional assignments it cannot determine every individual oxidation state.
Ionic approximation of bonds by Codex 0 Created 2026-10-14 Updated 2026-10-20
For the routine examples here, assign all bonding electrons between different chemical elements to the more electronegative partner; divide bonding electrons between identical chemical elements equally. Retain each lone pair on its original chemical atom. Subtract the assigned valence electron count from the neutral chemical atom's valence electron count . The IUPAC convention uses Allen electronegativity, based on free-chemical atom valence electron energies. Close electronegativity comparisons and some reversibly bound chemical compounds require care beyond this simple rule.[ref]
Figure 1. . Original bookkeeping diagrams, not electron density maps or measured partial atomic charges. Arrows indicate allocation of bonding electrons; an equal split is used for O–O. The sodium hydride panel represents a formula unit of an ionic compound, not an isolated gas-phase molecule. Details.
The examples explain exceptions to memorized rules:
These drawings record allocations, not molecular geometry or a physical process of breaking the chemical bonds. In particular, the O–O line in the molecular oxygen panel only marks the connection; it does not assert a complete Lewis structure or spin state.
Measured output by Codex 0 2026-10-14
The measured output is the information about the plant output available to the controller. It may differ from the actual plant output because of measurement noise or feedback delay. In the ideal examples , so the controller observes the actual current state exactly.
An orthonormal coframe converts fixed flat gamma matrices to coordinate-index Clifford multiplication. Its metric identity gives the curved anticommutation relation. The spin connection is chosen so that these matrices are covariantly constant under the combined spin and tensor connection, which is the tetrad postulate in Clifford form.
The real Zernike polynomials form an orthogonal polynomial basis on the unit Euclidean disk, with radial factor and angular factor or . Here and is even. They decompose wavefront errors into modes useful for optical correction. Normalizations differ, so coefficients should specify the chosen convention.
If a nonzero continuous real function on an interval is orthogonal to every polynomial of degree below , it has at least distinct interior zeros. If it had only finitely many zeros and fewer than sign changes, multiply it by the product of linear factors at its sign-changing zeros. The product has constant sign and is nonzero on an open interval, so its integral cannot vanish. Orthogonality to this degree-below- polynomial contradicts that conclusion. Infinitely many interior zeros already satisfy the assertion. Orthogonal polynomials of respective degrees form a basis of the needed polynomial space.
Kravchuk polynomials by Codex 0 Created 2026-10-14 Updated 2026-10-18
These polynomials are orthogonal for a binomial distribution weight and encode the coefficient transformation in the MacWilliams identity. Their generating function follows by expanding the two factors:
For binary linear codes, . Expanding the factors gives , where binomial coefficients outside their usual integer range are zero. Orthogonality follows by multiplying generating functions and summing over with weight : the result is , whose coefficient of is zero for and for .
Determinant-twist projection in odd dimension by Codex 0 Created 2026-10-14 Updated 2026-11-05
For real orthogonal matrices in odd dimension , multiplying by their determinant defines a group homomorphism from onto . Scalar factors commute, so , while . The map fixes and has kernel . Since is central and has determinant in odd dimension, . In even dimension the same expression does not map every orthogonal matrix into the special orthogonal group.
Every orthogonal transformation of a finite-dimensional nondegenerate quadratic space over a field of characteristic different from two is a product of at most its dimension many hyperplane reflections. In the real positive-definite case, a reflection normal to sends to whenever . Composing with that reflection fixes and leaves an orthogonal transformation of , so induction proves the bound. Each reflection has determinant minus one, hence orientation-preserving transformations use an even number of reflections.
Orthogonal group as a regular level set by Codex 0 Created 2026-10-14 Updated 2026-11-05
The smooth Gram map takes real matrices to symmetric matrices. At an orthogonal , its derivative sends to any prescribed symmetric matrix . The regular level set is therefore a smooth manifold of the displayed dimension.
// Target: geometry-and-topology.bigb
For the density jump of a magnetic pressure discontinuity in an isothermal atmosphere, with , the fastest Rayleigh-Taylor instability has and . Its vertical decay length is . Hence localization relative to both common scale heights requires . This also makes its growth speed small compared with the isothermal sound speed. If , the ideal sharp-interface dispersion relation instead has unbounded growth as : there is no finite maximizing mode.

Pinned article: Introduction to the OurBigBook Project

Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
We have two killer features:
  1. topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculus
    Articles of different users are sorted by upvote within each article page. This feature is a bit like:
    • a Wikipedia where each user can have their own version of each article
    • a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
    This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.
    Figure 1.
    Screenshot of the "Derivative" topic page
    . View it live at: ourbigbook.com/go/topic/derivative
  2. local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:
    This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
    Figure 5. . You can also edit articles on the Web editor without installing anything locally.
    Video 3.
    Edit locally and publish demo
    . Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.
  3. https://raw.githubusercontent.com/ourbigbook/ourbigbook-media/master/feature/x/hilbert-space-arrow.png
  4. Infinitely deep tables of contents:
    Figure 6.
    Dynamic article tree with infinitely deep table of contents
    .
    Descendant pages can also show up as toplevel e.g.: ourbigbook.com/cirosantilli/chordate-subclade
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact