Reference
Conventions
None of these is correct. A convention is a decision about how to write physics down, not a claim about physics, and every entry below has a widely used alternative that predicts exactly the same numbers. That is what makes them worth stating carefully: a convention mismatch does not announce itself as a disagreement, it announces itself as a sign you cannot account for — and the natural first assumption is that you made an arithmetic mistake.
8 of the 12 are recovered from the engine rather than asserted here. The value shown is what that recovery returned.
Stating a convention is only half of it. The ladder at the foot of this page is the other half — every place a lesson reads another book alongside this one and works out what, if anything, has to be carried across.
Witnessed by the engine
Each of these is recovered from the code that does the physics — the γ-matrices the traces use, the loop integral the lessons derive — and the value below is what that recovery returned. If the engine changed convention, this page would change with it or the test suite would fail.
- Metric signature
(+,−,−,−)recovered from the enginedirac.ts — the γ-matrices the spin traces use, contracted through {γ^μ, γ^ν} = 2g^{μν}·𝟙
How the books write it Work Theirs Peskin & Schroeder same locator unconfirmed Tong same read Srednicki differs read Tancredi same read Bjorken & Drell same not read Weinberg differs not read Ellis & Zanderighi same read Schwartz same not read Why this choice, and where it bites
- Why this one
Mostly-minus puts a real particle on shell at and gives a propagator denominator that reads , so the mass appears with the sign a reader expects from . Peskin and Tong use it, and those are the two sources this course leans on hardest.
- Where it bites
In the mostly-plus signature the same physics is written with propagators : every denominator inverts and every bare metric tensor flips sign. Mandelstam variables are unaffected — , and come out numerically the same either way — so a result quoted in can be compared directly while the expression it came from cannot.
- Also written up as
- Two metric signatures are in wide use, and they flip the sign of every propagator denominator.
- Dimensional regulator
d = 4 − 2εrecovered from the enginemaster.ts — SPACETIME_D, the exact Laurent series the d-dimensional algebra multiplies by
How the books write it Work Theirs Peskin & Schroeder same locator unconfirmed Srednicki differs read Tancredi same read Denner same read Ellis & Zanderighi same read Why this choice, and where it bites
- Why this one
The factor of two is chosen so that comes out clean, which is the combination that actually appears — every Γ-function and every in the master formula is written in , not .
- Where it bites
Sources that continue to instead — Srednicki among them — get every pole residue differing from this course by a factor of two, and their coupling carries where this one carries . There is no visual tell: both conventions produce formulas of exactly the same shape, so the check has to be made deliberately before any coefficient is compared.
- Also written up as
- Sources continue to or to , and every pole residue differs by a factor of two between them.
- Pole prescription
below the real axisrecovered from the enginecontour.ts — feynmanPoles(ω, ε), the poles lesson 3.2’s instrument actually integrates around
Why this choice, and where it bites
- Why this one
One sign, applied everywhere, rather than a rule remembered per diagram. It is what selects the time-ordered propagator out of the four Green’s functions the same differential equation admits, and lesson 3.2 earns it as a contour statement rather than asserting it.
- Where it bites
The prescription decides which pole a contour closure catches, and therefore which time ordering survives. Reverse it and the propagator becomes anti-time-ordered: the answer is still finite, still Lorentz invariant, and wrong. Above a threshold it also decides the SIGN of an imaginary part, which is where it stops being bookkeeping and starts moving physics.
- Also written up as
- “Causal” is not what the iε buys you — it buys time-ordering.
- Spinor normalization
2mrecovered from the enginehelicity.ts — an explicit u-spinor for a moving electron, contracted with its own bar
How the books write it Work Theirs Bjorken & Drell differs not read Why this choice, and where it bites
- Why this one
The relativistic normalization: states are normalized to per unit volume, so the spinor bilinear carries and the flux and phase-space factors are written to match. It keeps every expression manifestly Lorentz covariant, with no floating through the algebra.
- Where it bites
The older non-covariant normalization — Bjorken & Drell — makes each amplitude differ from this course’s by a factor of per external fermion, and compensates in the flux and phase-space factors so that every cross section agrees exactly. This is the convention difference most worth understanding, because it is not the metric, it is not an overall constant, and both books are right.
- Photon polarization
−1recovered from the enginehelicity.ts — an explicit circular polarization vector, contracted with its conjugate
How the books write it Work Theirs Srednicki differs read Why this choice, and where it bites
- Why this one
Spacelike unit normalization, which is what makes the polarization sum come out with the minus sign this course writes. The sign is the signature’s, not a separate choice.
- Where it bites
In the mostly-plus signature the same physical state has and the replacement rule reads . Lesson 2.5 cites a source where exactly this happens, and one sign is the whole difference.
- Also written up as
- Σεε* = −g^{μν} is a licensed replacement, not the completeness relation.
- Loop measure
1/157.913670417recovered from the enginemaster.ts — the residue of the scalar bubble, the n = 2 case of the master formula
How the books write it Work Theirs Denner differs read Ellis & Zanderighi differs read Why this choice, and where it bites
- Why this one
The measure carries its own and the scale enters as , so that a one-loop integral produces out front and inside — the combination that makes the logarithm one of a physical scale ratio, and the reason can never appear alone in a finite answer.
- Where it bites
The Passarino–Veltman literature normalizes differently — and not all of it in the same way, which is the part that costs people numbers. Denner divides by and carries ; against this measure that is exactly , with no in it, because the powers of cancel. That cancellation is the whole reason he wrote rather than . Ellis and Zanderighi divide by — which IS -dependent — and additionally remove , so their crossing carries and is -dependent. An -dependent factor multiplying a pole leaves a residue in the FINITE part, so that one cannot be done by scaling the answer at the end — and since the poles agree in either convention, nothing warns you before the number is wrong.
- What the pole carries
1.95380858207recovered from the enginemaster.ts — the bubble’s finite part at μ² = Δ, where the logarithm collapses and only the scheme constant survives
How the books write it Work Theirs Tancredi differs read Denner same read Ellis & Zanderighi differs read Why this choice, and where it bites
- Why this one
No scheme is chosen in the engine. The that dimensional regularization always produces is carried explicitly rather than folded into a redefined , because absorbing a constant into a scale is a convention, and a convention adopted silently is indistinguishable from a fact. Lesson 3.6 makes that choice deliberately, and it can only make it if the constant is still there to drop.
- Where it bites
Most published loop results are quoted in , where the constant is already gone. Comparing a finite part against one of those without putting it back gives a discrepancy of — a pure number, easy to mistake for an algebra error, and entirely a matter of which scheme the two sides are in.
- Also written up as
- Sources continue to or to , and every pole residue differs by a factor of two between them.
- Who chooses a branch
refused by the routine, chosen negative by the amplituderecovered from the engineexpand.ts — powEpsExpansion refuses a negative base; vacuum-polarization.ts — imPi makes the choice from the iε
Why this choice, and where it bites
- Why this one
Above a threshold goes negative and stops being defined: the logarithm is multivalued there, and picking a value means picking which side of a cut the answer sits on. That is a physics decision — it fixes the SIGN of an imaginary part, and therefore whether a rate comes out positive — so the engine refuses to make it in any module general enough not to know the physics. `powEpsExpansion` throws on a negative base and the master integrals throw with it; the vacuum-polarization amplitude, which does know, makes the choice explicitly from the it has carried since lesson 3.2.
- Where it bites
A library that silently returns the principal value here would be wrong half the time and never say so. The two candidate answers differ by — the discontinuity across the cut, which is intrinsic and survives wherever you choose to draw the cut — and only one of them corresponds to a photon decaying into a pair rather than the time-reverse. Sources routinely write for and leave the prescription implicit, so a reader comparing against one has to recover which side was taken before comparing anything else.
- Also written up as
- Where the branch cut goes is a free choice with no physics in it. Which SIDE of it you are on is fixed by the , and it changes an observable.
Stated, and why nothing can witness them
Two conventions leave no fingerprint in this engine, and both for the same reason: it never carries the quantity that would show the difference. That is worth knowing rather than hiding — it tells you exactly when the choice can and cannot bite you.
- Gauge, and the parameter’s name
The choice IS visible in what the course renders — math/render.ts writes the photon propagator as −i g_{μν}/q² with no ξ anywhere — but it cannot be witnessed by a number, and that is the physics rather than a gap in the engine. Every kernel in library/ returns a gauge-invariant observable, so no cross section this course computes could come out differently in any other gauge. A convention that no observable can detect is exactly the kind that has to be stated.
How the books write it Work Theirs Tong differs read Why this choice, and where it bites
- Why this one
Feynman gauge makes the photon propagator — no term to carry through every contraction — which is why every amplitude in this course is written in it. The parameter itself is called , with Feynman and Landau.
- Where it bites
Tong writes the same parameter as and other sources as , and some define it inverted, so in one book can be a different gauge in another — check which value the source calls Feynman before comparing any propagator. A result computed in a general gauge also carries terms that vanish against a conserved current: if a source’s intermediate expression has them and this course’s does not, that is the gauge, not an error.
- Also written up as
- The gauge parameter is called ξ, α or λ depending on the source — and sometimes it is the inverse.
- Where the coupling sits in a gauge transformation
A gauge transformation is a redundancy of the description: it changes no physical configuration, so by construction there is no quantity in this engine — or in any correct one — whose value depends on which form is used. The only thing that could witness it is a symbolic expression, and this course’s symbolic layer renders amplitudes rather than Lagrangians.
How the books write it Work Theirs Tong differs read Why this choice, and where it bites
- Why this one
Keeping out of the phase makes the transformation of the same one a reader met for a global symmetry, so the step from global to local is visibly the act of letting depend on and nothing else. The coupling then appears where it is doing work — in the shift of the potential.
- Where it bites
Tong puts the coupling in the phase instead, with . The two are the same transformation with , and every downstream formula agrees — but the covariant derivative and the field-strength normalization look different on the page, and a factor of appearing or not appearing is not obviously a relabelling.
- Also written up as
- Sources differ on where the coupling e sits in a gauge transformation. The physics is identical.
- Units
There is no ℏ and no c anywhere in the engine to read back — that is precisely what the convention means. What can be witnessed is its consequence: the GeV⁻²-to-nanobarn conversion exists as a documented constant, and constants.test.ts recomputes it from the defining SI values rather than trusting the digits.
Why this choice, and where it bites
- Why this one
Every mass, momentum and energy in the engine is a number of GeV, and every cross section is a number of GeV until the moment it is quoted, when converts it to nanobarns. Carrying and symbolically would add two factors to every expression and tell a reader nothing.
- Where it bites
Nothing, inside this course. It bites when comparing against a source that quotes a cross section in cm² or a length in fermi, where the conversion is the whole difference — which is why the conversion factor is documented as a constant in its own right rather than inlined.
- Coupling and units of charge
The engine carries α and never carries e. Every kernel in library/ takes the fine-structure constant directly, so no number computed anywhere in this course could distinguish from — the choice is invisible here by construction. It becomes visible the moment a formula is written with an explicit , which is why the lessons write α.
How the books write it Work Theirs Particle Data Group same read Why this choice, and where it bites
- Why this one
Heaviside–Lorentz rationalized units, in which the sits in the definition of α rather than in Maxwell’s equations. It is what makes the QED vertex factor carry no stray , and it is the convention every source this course cites uses.
- Where it bites
In Gaussian units instead, so a formula written in terms of rather than α differs by powers of — while the same formula written in terms of α is identical in both. That is the reason to quote results in α, and the reason this choice cannot reach any number below.
- Also written up as
- A value of α is meaningless without a scale, and above the Thomson limit, without a scheme.
Carrying a result across
Every place a lesson reads another book alongside this one and has to decide what, if anything, to do about the difference. In course order, and hardest last — 6 ask for a real conversion, 5 turn out to need none, and one is a translation this course refused. Each is worked where it arises; this is the whole ladder in one place.
- Declined 1.2 · Propagators
Srednicki is the best open route this course has, and lesson 1.2 declines it — because it inverts the one thing the lesson is about.
Srednicki writesthis course writes- Why we declined
The carry itself is trivial — send in every denominator and the two agree — and that is exactly why it was refused. In a lesson whose entire subject is what those denominators mean, a route that inverts all of them asks the reader to perform a sign flip on the object they are still learning to read. The cost is not the algebra, it is that a beginner cannot yet tell their own error from the convention. The right time to translate is after you can read the expression, not while you are learning to. Lesson 2.5 revisits the same source, where the clash sits further from the material and is worth paying.
- How to catch it
Find how the source writes the on-shell condition for a real particle. and are the same physics and they tell you, before you compare a single formula, which of the two worlds a book lives in.
p² = 0.01103 here, −0.01103 thererecovered from the enginetranslate.ts — dot vs dotMostlyPlus on one on-shell momentum, m = 0.105 GeV
Written up in general as - Carry it across 2.2 · Crossing & Mandelstam
A source whose momentum-transfer variable is positive in the scattering region is quoting , not — and the signature has nothing to do with it.
Particle Data Group writesthis course writes- The move
Negate. That is the whole of it — but the reason matters more than the move, because there are two different ways a sign can differ here and only one of them is a convention about the metric. is a relabelling, adopted wherever a positive variable is wanted (form factors, deep inelastic scattering, anything plotted on a log axis), and it survives unchanged into either signature. This course keeps , so that reads without a sign bookkeeping rule attached to one term.
- How to catch it
Evaluate the source’s variable in the physical region for the scattering it describes. If it comes out positive there, it is ; is negative throughout the -channel physical region and cannot be anything else. Do NOT reach for the metric first — check the sign of the variable before checking the signature, because the metric leaves all three invariants where they were.
each book's own s = 100.00 GeV²recovered from the enginetranslate.ts — mandelstam() on the same back-to-back pair in both signatures
Written up in general as - Nothing to carry 2.5 · Propagating fermions & photon polarization
The Compton kernel is written in invariants, so the opposite signature reaches none of it — and that is checkable rather than hopeful.
both books write- Why it is free
Nothing. Each book defines and by contracting with its OWN metric, so each arrives at the same positive number for its own invariant — and every place a signature could enter this expression it enters twice, squared or paired. The formula is character-for-character the same in both books, which is why it is the one this course checks its kernel against. This is the case worth learning first: the reason it is free is not that the difference is small, it is that the expression was built from objects the difference cannot reach.
- How to catch it
Look at what the expression is MADE of before deciding whether to translate it. Slashed momenta and a bare carry the signature; Mandelstam invariants and masses do not. A result quoted entirely in invariants ports between signatures untouched, and one quoted with a loose metric tensor almost never does.
(m²−s)² agrees to machine precisionrecovered from the enginetranslate.ts — mandelstam() in both signatures, at √s = 10 GeV
Written up in general as - Carry it across 2.5 · Propagating fermions & photon polarization
The polarization substitution reads there and here: one sign, once per external photon.
Srednicki writesthis course writes- The move
One factor of per replacement, and the replacement happens once per external photon. Compton has two, so the two factors multiply to and the SQUARED amplitude is untouched — which is why the kernel comparison one rung above is free. The intermediate line is not: a reader following the substitution rule term by term meets the flip immediately, in the rule itself, well before anything has cancelled. Both the rule and its licence are otherwise identical, and no step of the gauge argument depends on the sign.
- How to catch it
Count the replacements before you worry about the sign. A signature flip that enters once per external photon cancels in any process with an even number of them, so the question is never "does this book differ" but "how many times does the difference apply here". The place it always shows, whatever the count, is the statement of the rule.
g^{00} = 1, g^{11} = −1 — so −g^{μν} is +1 in the spatial entriesrecovered from the enginedirac.ts — the metric the spin traces actually contract with
- Nothing to carry 3.3 · Evaluating a loop integral
The Feynman-parameter identity is algebra on positive real numbers, so both of this book’s convention flips miss it entirely.
both books write- Why it is free
Nothing, and for the strongest reason available: there is no metric and no anywhere in the statement. and are two positive numbers, the identity is proved by partial fractions, and it would hold in a book with no spacetime in it at all. The conventions only reach the identity once you say what and ARE — and that happens in the next line, not this one.
- How to catch it
Ask what the symbols in the statement are allowed to be. If the claim is true for arbitrary positive reals, no convention about spacetime can touch it, and you can lift it from any source in any signature without a second thought. The boundary is where physical objects get substituted in.
There is no engine quantity here whose value could depend on either convention, because neither convention appears in the claim. Manufacturing a witness would mean substituting propagator denominators for and — which is a different statement, one line later, and one that is NOT free. The absence of a number here is the argument, not a gap in it.
- Nothing to carry 3.3 · Evaluating a loop integral
The licence to shift is one-dimensional calculus about a convergent integral — free of both flips, in a book that carries both.
Srednicki writesthis course writes- Why it is free
Nothing. The argument is about whether a shift of integration variable costs a boundary term, which is a question about convergence at infinity — it never contracts an index and never counts a dimension. Worth knowing where in Srednicki this sits: he states it while deriving the CHIRAL ANOMALY, because the surface term a forced shift costs IS that anomaly. The result stands entirely free of that context, and of both his conventions.
- How to catch it
A convergence argument is almost always convention-free. Signature decides what an expression MEANS; it does not decide whether an integral converges, because convergence is a statement about magnitudes. When a source’s claim is "this vanishes at infinity", you can take it as written.
The claim is that a difference is ZERO, and nothing about that zero depends on a metric or on — so there is no value for the engine to read back. The honest witness is the one rung 7 provides, where the same book’s conventions do reach the algebra.
- Carry it across 3.3 · Evaluating a loop integral
Two conventions collide in one paragraph: is the signature, and beside it is the regulator.
Srednicki writesthis course writes- The move
Two moves, and they are independent — one acts on the sign, the other on the variable, so the order you apply them in does not matter. Flip the sign of the contraction: mostly-plus gives where mostly-minus gives , and the identity is otherwise the same Clifford algebra. Halve the ε: his is twice ours, so a residue quoted from him is DOUBLE what this course would write for the same physics, while the finite part is untouched. That the pole grows rather than shrinks is the part to check rather than reason about at speed.
- How to catch it
Two tells, and you need both — this is the rung where one is not enough. The signature announces itself in the on-shell condition; the regulator announces itself wherever the source first writes , which is usually a single line near the start of the chapter and never repeated. Finding one and assuming the other is the specific mistake this paragraph invites, because both differences land in the same sentence and a reader who has accounted for one will read the leftover discrepancy as their own algebra error.
pole × 2.00, finite part unchangedrecovered from the enginetranslate.ts — toSrednickiEpsilon on the n = 2 scalar master, Δ = 3
- Nothing to carry 3.4 · Vacuum polarization
The minus sign on a closed fermion loop is a statement about anticommuting operators — neither the metric nor appears in it.
both books write- Why it is free
Nothing. The sign comes from reordering fermion field operators inside a time-ordered product — it is combinatorics on anticommutators, and the derivation contains no contracted index and no dimension. It is a rule about the shape of a diagram rather than about the value of anything in it.
- How to catch it
Trace where the claim comes FROM, not just what it says. A rule derived from operator algebra, from a symmetry, or from counting is convention-free; a rule derived by evaluating a contraction is not. This one arrives before any integral has been written down, which is the clue that no convention about integrals can have reached it.
A sign that is fixed by anticommutation has nothing for the engine to recompute under a change of convention — the same comes out of any signature and any , so a witness would print the same character twice and prove nothing. Rung 9 is where the metric genuinely enters this lesson and cancels, and that one IS witnessed.
Written up in general as - Nothing to carry 3.4 · Vacuum polarization
The transverse structure survives a signature flip because BOTH of its terms are separately invariant — the subtlest free case in the course.
Srednicki writesthis course writes- Why it is free
Nothing — and unlike the free cases above, this one is free by a CANCELLATION rather than by an absence. The metric is genuinely here, twice. Under a change of signature and , so the product is unchanged; carries upper indices and no contraction, so it is unchanged too. Both terms of the structure are separately signature-invariant, and the formula is character-for-character the same in either book.
- How to catch it
Count the metrics. A signature flip multiplies an expression by where is the number of times the metric is used to contract — so an expression that contracts an EVEN number of times is invariant however complicated it looks, and one that contracts an odd number of times flips however simple it looks. That is a rule you can apply by inspection, and it is stronger than checking the special cases one at a time.
all four entries of q²g agree, q² = 1.490 vs −1.490recovered from the enginedirac.ts + translate.ts — q²g^{μν} rebuilt componentwise in both signatures
Written up in general as - Carry it across 3.4 · Vacuum polarization
His residue for this very diagram is twice ours, and the finite part beneath it is identical — the factor lands entirely on the pole.
Srednicki writesthis course writes- The move
Multiply the residue by two going his way, halve it coming back. Nothing else moves: , so a coefficient at order scales by and the term — the finite part, which is what a reader most often wants to compare — scales by . The intuition that "everything picks up a factor of two" is wrong in exactly the place it matters most.
- How to catch it
Never compare a residue between sources without first finding how each writes . There is no visual tell here the way an inverted propagator denominator gives away a signature — both conventions produce formulas of identical shape, so the discrepancy arrives looking like an arithmetic mistake in your own work. It is one line to check and it is the only way to catch it.
residue −0.000774 → −0.001549, finite part unchangedrecovered from the enginevacuum-polarization.ts — piBare at q² = −1 GeV², carried through toSrednickiEpsilon
Written up in general as - Carry it across 3.5 · The one-loop masters
One constant, , with no in it — the rare loop crossing you CAN apply to a finished number.
Denner writesthis course writes- The move
Multiply his function by . That is the whole move, and the surprise is that it is a constant: the powers of cancel between his and this course’s , leaving with no anywhere in it.
That cancellation is not luck. Writing instead of is a choice, and it is the choice that makes this crossing survivable — which is worth noticing, because the source sitting next to his in this same library made the other choice and pays for it on the next rung.
- How to catch it
Read the measure, and read what is DIVIDED OUT of it, before reading a single result. The tell that a crossing will be free of is that every -dependent factor is a power of the same thing your own measure carries — here raised to against raised to . The moment you see a , or a ratio of gamma functions removed by hand, the exponent no longer cancels and the crossing has moved into the finite part.
0.039706 vs 0.039706 — identicalrecovered from the enginepv.ts and master.ts — A₀(4) at μ² = 1, carried across and compared with the course’s own tadpole
Written up in general as - Carry it across 3.5 · The one-loop masters
The same object, from a source just as standard, needs an -DEPENDENT factor — and it moves the finite part while leaving the pole alone.
Ellis & Zanderighi writesthis course writes- The move
Multiply by , where . Their carries the dimension, so unlike the previous rung the exponent does not cancel and survives.
Expand it: . Against an object with a pole, the order- term meets the pole and lands at order — so the FINITE PART shifts by per unit of residue, and the pole itself does not move at all.
Which means the factor cannot be applied to a number you have already finished. It has to ride along while the series still has an in it.
- How to catch it
The pole agreeing is not evidence that the conventions agree. That is the whole trap: check a divergence between two sources in these two conventions and it matches, every time, because an -dependent factor of the form cannot touch a residue. The disagreement is waiting one order down, in the number you were actually trying to compare, and it arrives looking exactly like an arithmetic slip of your own.
The positive tell: count what has been divided out. A source that removes , or absorbs into a redefined scale, has made the same kind of decision by two different routes — and is the size of both.
finite −0.672777 → 1.281031, pole 1.000000 → 1.000000recovered from the enginepv.ts — B₀(−3; 1, 2) in their convention, carried across by (4π)^ε r_Γ, against ours
Written up in general as