# Sign Conventions — Physics vs Engineering

*Why the same K–K relation appears with a `+i` in one textbook and a `−i`
in the next, and how to read the sign to identify which community wrote
the formula.*

## The root of the confusion

Every statement about the Kramers–Kronig relations sits downstream of a
Fourier-transform convention. The physics and engineering literatures use
**opposite signs in the complex exponential**, and this single choice
propagates through the entire formalism: which half-plane a causal
response is analytic in, which sign Im χ(ω) takes for absorption, and
which sign appears inside the K–K integrals themselves. Nothing about the
underlying physics changes — absorption is still positive, causal
responses still decay — but every printed equation flips in a predictable
way.

## The two conventions side by side

| Item | Physics convention | Engineering convention |
|---|---|---|
| Forward Fourier kernel | `e^{−iωt}` | `e^{+jωt}` |
| Inverse transform kernel | `e^{+iωt}` | `e^{−jωt}` |
| Imaginary unit symbol | `i` | `j` (to avoid clash with current) |
| Causal signal `t > 0` → analytic in | **Upper** half ω-plane (Im ω > 0) | **Lower** half ω-plane (Im ω < 0), or Re s > 0 in Laplace |
| Typical damped oscillation | `e^{−iω₀ t} e^{−γt}`, pole at ω = ω₀ − iγ (LHP pole of χ) | `e^{+jω₀ t} e^{−γt}`, pole at ω = ω₀ + jγ (still "stable side") |
| Absorption convention | `ε = ε' + iε''` with ε'' > 0 ⇒ absorption | `ε_r = ε' − jε''` with ε'' > 0 ⇒ absorption |
| Phasor for a wave | `e^{i(kz − ωt)}` | `e^{j(ωt − γz)}` with γ = α + jβ |
| Typical texts | Jackson, Griffiths, Landau–Lifshitz, most QM/optics | Oppenheim–Schafer, Pozar, Van Valkenburg, most EE/DSP |

The rule is: **flip every `i` to `−j`** (or equivalently every `j` to
`−i`) to move between them. Any real physical observable — a power, an
absorption coefficient, a group delay — comes out the same.

## The Laplace s-plane: a 90° rotation of the ω-plane

A third complication, called out explicitly by Bechhoefer (2011,
footnote 16), is that the engineering literature usually does its
complex analysis in the **Laplace s-plane** rather than in the Fourier
ω-plane. K–K, Bode, minimum-phase and stability are all most
naturally written in *whichever* of these planes a given community has
adopted, and the two pictures are related by a 90° rotation that sends
"upper/lower half of ω" to "right/left half of s".

The Laplace transform of a causal `f(t)` is

```
F(s) = ∫₀^∞ f(t) e^{−st} dt,    s = σ + jΩ ∈ ℂ
```

with σ = Re s and Ω = Im s both real. The integral converges absolutely
when σ > 0 (because then `|e^{−st}| = e^{−σt}` decays as `t → ∞`), so
**a causal `f(t)` has `F(s)` analytic in the right half s-plane**
(Re s > 0). Restricted to the imaginary s-axis, `s = jΩ`, the Laplace
transform becomes the engineering Fourier transform with kernel
`e^{−jΩt}`, with Ω the real angular frequency.

The bridge to the ω-plane is the relation `s = jω`. Treating ω as a
complex variable `ω = ω_r + iω_i` (so `i` and `j` denote the same
imaginary unit), this gives

```
s = jω = j(ω_r + iω_i) = −ω_i + jω_r,   so  σ = −ω_i,  Ω = ω_r.
```

Multiplication by `j` is a +90° rotation of the complex plane, which is
why "ω-plane" and "s-plane" pictures of the same situation differ by a
90° turn:

| Half-plane in s | corresponds to (via s = jω) | engineering Fourier ω-plane |
|---|---|---|
| Right half (Re s > 0, σ > 0) | ↔ | Lower half (Im ω = ω_i < 0) |
| Left half  (Re s < 0, σ < 0) | ↔ | Upper half (Im ω = ω_i > 0) |
| Imaginary axis (s = jΩ) | ↔ | Real axis (ω = ω_r) |

So in **engineering**, the same statement "causal → analytic for
Re s > 0" reads as "causal → analytic in the lower half ω-plane". Both
hold simultaneously and refer to the same fact, just expressed in
coordinates rotated by 90° from one another. Stability, similarly, is
"poles in Re s < 0" (left half s) = "poles in Im ω > 0" (upper half ω,
in the engineer's sign convention).

Going from engineering to physics is then just the **kernel-sign flip**
already discussed (every `j` becomes `−i`). Under that flip the role
of the two halves of the ω-plane swap, and the canonical physics
statements emerge:

| Statement | Physics (`e^{+iωt}`) | Engineering Fourier (`e^{−jωt}` for the Laplace-compatible kernel) | Engineering Laplace |
|---|---|---|---|
| Causal → analytic in | UHP of ω (Im ω > 0) | LHP of ω (Im ω < 0) | RHP of s (Re s > 0) |
| Stable → poles in | LHP of ω (Im ω < 0) | UHP of ω (Im ω > 0) | LHP of s (Re s < 0) |
| Minimum-phase → zeros in | LHP of ω | UHP of ω | LHP of s |

Reading across the row, every "UHP of physics ω" corresponds to an
"RHP of engineering s", and every "LHP of physics ω" to an "LHP of
engineering s" — the same theorem each time, expressed in whichever
plane the writer has chosen. Bode's gain-phase theorem (Chapter 20),
in particular, is most cleanly stated in the s-plane: `log H(s)`
analytic for Re s > 0 (no RHP poles or zeros) forces a Hilbert pair
between `ln|H(jΩ)|` and `∠H(jΩ)` on the imaginary axis. Reading the
same statement back into the engineering ω-plane via `s = jΩ` recovers
the gain-phase integral on the real-frequency axis, and reading it
back into the physics ω-plane recovers the K–K relations on `log χ(ω)`
of Chapter 19.

When chasing a sign in a paper, then, ask three questions in order:
*which kernel*, *which plane (ω or s)*, *which half does the writer
call analytic*. Any two of those three pin down the third, and the
90° rotation makes the engineering ω↔s translation routine once the
kernel is known.

## K–K in each convention

In the **physics** convention, causality ⇒ χ(ω) analytic in the upper
half-plane, closure of the Cauchy contour is in the UHP, and the
relations read (principal-value `P` understood):

```
χ′(ω) = (1/π)  P ∫_{−∞}^{∞}  χ″(ω′) / (ω′ − ω) dω′
χ″(ω) = −(1/π) P ∫_{−∞}^{∞}  χ′(ω′) / (ω′ − ω) dω′
```

The minus sign in the second relation and the fact that absorption (χ″>0)
produces an odd-about-ω₀ dispersion (χ′) around a resonance both follow
from UHP analyticity.

In the **engineering** convention, the causal transfer function H(jω) is
analytic for Re s ≥ 0, i.e. the *lower* half of the ω-plane (because
s = jω means Im ω < 0 ↔ Re s > 0). Closing the Cauchy contour in the LHP
flips the sign of the integral, and the relations read:

```
Re H(jω) = −(1/π) P ∫_{−∞}^{∞}  Im H(jω′) / (ω′ − ω) dω′
Im H(jω) =  (1/π) P ∫_{−∞}^{∞}  Re H(jω′) / (ω′ − ω) dω′
```

Every sign on the right-hand side is the opposite of the physics form.
This is the **same theorem**. If you substitute the engineering
definition `ε_r = ε' − jε''` into the engineering K–K and the physics
definition `ε_r = ε' + iε''` into the physics K–K, both predict that a
Lorentzian absorption peak at ω₀ (positive ε'' in their own convention)
gives the textbook anomalous-dispersion wiggle in ε' centred on ω₀.

## Reading the sign to identify the community

A practical habit: when you open a paper and find a K–K-type integral,
**check the sign in front of the `(1/π) P ∫`** and the sign in the
decomposition `ε = ε' ± iε''`. If the text writes `ε_r = ε' − jε''` and
refers to "j" throughout, it is an engineering/microwave/DSP source and
is using `e^{+jωt}`. If it writes `ε = ε' + iε''` with "i", it is almost
certainly physics/optics/solid-state and using `e^{−iωt}`. Papers in
electrochemical impedance spectroscopy mostly follow the engineering
convention; papers in optical constants and x-ray dispersion mostly
follow the physics convention; dielectric-spectroscopy papers are
split and routinely state their convention in the first paragraph for
exactly this reason.

## The absorption-sign trap

The most dangerous manifestation of the convention choice is the **sign
of the imaginary part for a lossy material**. In the physics convention
a passive, absorbing medium has `ε'' > 0` (so that a plane wave
`e^{i(kz − ωt)}` with `k = (ω/c)√ε` decays in the +z direction). In the
engineering convention with `e^{j(ωt − γz)}`, the phasor decays in +z
when `Im{√ε_r} < 0`, which is why the convention `ε_r = ε' − jε''` with
ε'' > 0 is used: the explicit minus sign absorbs the flip so that "ε''
positive means lossy" remains the mnemonic in both communities.

A symptom of mixed conventions inside a single paper is a passive
material appearing to have a *negative* imaginary part — or, worse,
appearing to be gain medium. Nine times out of ten this is a convention
error, not new physics. The fix is to pick one convention, write the
Fourier kernel in the preamble, and stick with it.

## Passivity in each convention

The passivity constraint is convention-independent in content but
convention-dependent in form:

- Physics: `Im χ(ω) ≥ 0` for ω > 0 in an absorptive medium (typical
  K–K-compliant form). The analytic continuation χ(ω + iη) has no poles
  or zeros in Im ω > 0 for a passive, minimum-phase response.
- Engineering: `Re H(jω) ≥ 0` for a positive-real (passive) immittance
  function (Brune's condition), with poles and zeros restricted to the
  left half s-plane. The transfer function is analytic for Re s > 0.

Both conditions encode the same physical fact — no energy is produced
from nothing — and both together with causality imply K–K.

## Worked example — Lorentzian in both conventions

Take a single damped oscillator with ω₀ = 1, γ = 0.1 (units arbitrary),
and evaluate at ω = 1.2. The complex susceptibility is the same physical
quantity written two different ways.

**Physics** convention `e^{−iωt}`, poles in LHP:

```
χ_phys(ω) = 1 / (ω₀² − ω² − iγω)
          = 1 / (1 − 1.44 − i·0.1·1.2)
          = 1 / (−0.44 − 0.12 i)
          = (−0.44 + 0.12 i) / (0.44² + 0.12²)
          = (−0.44 + 0.12 i) / 0.2080
          ≈ −2.115 + 0.577 i
```

χ″ = +0.577 > 0 ⇒ absorptive (loss), as expected above resonance in a
passive medium.

**Engineering** convention `e^{+jωt}`. The same physics with the kernel
flipped gives `χ_eng(ω) = χ_phys*(ω) = 1 / (ω₀² − ω² + jγω)`:

```
χ_eng(ω) = 1 / (−0.44 + j·0.12)
         = (−0.44 − 0.12 j) / 0.2080
         ≈ −2.115 − 0.577 j
```

Now χ″_eng = −0.577, which *looks like* gain. It is not: the minus sign
is the Fourier-kernel flip, not new physics. Some engineering texts
anticipate this and define `ε = ε′ − jε″` with ε″ > 0 for loss, so the
reported number is `+0.577` in the end. Whenever you see a negative
imaginary part in a dielectric dataset, check the kernel before
calling the vendor: the same Lorentzian pole at `(ω₀, γ) = (1, 0.1)`
sits in the LHP (physics) or in the UHP (engineering), and the sign
of the imaginary part of χ at every real ω flips accordingly.

The power dissipated per unit volume in an oscillating field
`E = E₀ cos(ωt)` is

```
〈P〉 = (1/2) ε₀ ω |E₀|² · (physics ε″)
     = (1/2) ε₀ ω |E₀|² · (engineering ε″)       [with the ε″>0-for-loss convention]
```

Both conventions recover the same positive dissipation — the convention
only changes sign-keeping, never physics.

## Quantum mechanics and transmission-line phasors

Quantum mechanics universally uses `Ψ(x, t) ∝ e^{−iEt/ħ}`, i.e. the
physics convention with E playing the role of ħω, and scattering
amplitudes `f(ω)` inherit UHP analyticity and physics-convention K–K.
Transmission-line theory uses `e^{j(ωt − γz)}` with `γ = α + jβ`, and the
complex propagation constant `γ(ω)` obeys engineering-convention K–K
between attenuation α(ω) and phase β(ω) — this is the Bode gain–phase
theorem in disguise, and it is the reason minimum-phase filters have
their group delay pinned by their magnitude response.

When working across both worlds — e.g. modelling a microwave cavity that
couples to a quantum two-level system — declaring the convention once,
loudly, at the top of the calculation saves hours of sign-chasing.

## See also

- [01_introduction.md](01_introduction.md)
- [17_graphical_conventions.md](17_graphical_conventions.md)
- [18_named_quantities.md](18_named_quantities.md)
