Scattering Matrix Calculator

Advanced S-matrix tool for multi-channel scattering problems online. Supports reflection, transmission, and phase shift outputs. Download tables, plots, and reports in one click instantly.

Calculator

Choose a physics model or analyze a supplied matrix.
Applies to complex formatting and numeric outputs.
Complex input format
Use a+bi, a-bi, a, or bi. Example: 0.8-0.05i.
Rectangular barrier inputs
W>0 introduces absorption and non-unitarity.
Use 1 for an electron; adjust for effective mass.
What you get
Complex amplitudes r, t, full S-matrix, eigenvalues, and checks.
Custom 2×2 S-matrix inputs
This mode reports eigenvalues, determinant, and unitarity/reciprocity measures.
Reset

Example data table

Sample barrier case (electron, simple tunneling). Run it to reproduce similar outputs.
E (eV)V0 (eV)W (eV)a (nm)m/me Expected RExpected T
1.52.00.00.51.0 HighLow
3.02.00.00.51.0 ModerateModerate
3.02.00.20.51.0 ModerateModerate
Note: With W>0, the absorption term becomes nonzero and unitarity residual grows.

Formula used

The scattering matrix maps incoming complex wave amplitudes to outgoing amplitudes:

b = S a, where S = [[S11, S12],[S21, S22]].

For the rectangular barrier model (same medium on both sides), we compute the complex reflection and transmission amplitudes for a particle of mass m with energy E encountering a barrier of height V0, width a, and optional loss W:

  • k = sqrt(2 m E) / ħ
  • q = sqrt(2 m (E - (V0 - iW))) / ħ
  • D = cos(q a) - i * ((k² + q²)/(2 k q)) * sin(q a)
  • t = exp(-i k a) / D
  • r = -i * ((k² - q²)/(2 k q)) * sin(q a) / D

For a symmetric barrier, the 2-port S-matrix is:

S = [[r, t],[t, r]].

Unitarity is checked using the Frobenius norm ||S†S − I||. With loss (W>0) the matrix becomes non-unitary and R + T < 1.

How to use this calculator

  1. Select a mode: barrier model for physics inputs, or custom matrix for analysis.
  2. Enter values using the indicated units and complex format.
  3. Click Compute S-matrix to generate amplitudes and checks.
  4. Review the matrix, eigenvalues, and unitarity metrics in the Results section.
  5. Use Download CSV or Download PDF to export.
Tip
If you expect a lossless system, set W = 0 and confirm ||S†S − I|| is near zero.

Scattering Matrix Insights

1) What the S-matrix represents

The scattering matrix (S-matrix) is the compact bookkeeping for how waves interact with a region that mixes channels. With the convention b = S a, the vector a stores incoming amplitudes and b stores outgoing amplitudes. In quantum mechanics, entries carry probability-flow information; in RF and optics they carry power-wave ratios.

2) Two-port interpretation for practical systems

This calculator focuses on a 2×2 matrix because many experiments and devices are effectively two-port: left/right incidence, forward/backward propagation, or two coupled modes. For a symmetric structure, you often expect S11 = S22 and S12 = S21. Deviations flag asymmetry, biasing fields, or measurement calibration issues.

3) Barrier model parameters and useful ranges

In the rectangular barrier mode, inputs use electron-volts and nanometers, which are convenient for nanoscale tunneling. For example, widths around 0.1–5 nm and barrier heights 0.5–5 eV cover thin oxides and semiconductor heterostructures. The mass ratio m/me lets you mimic effective-mass materials without changing the equations.

4) Reading reflection, transmission, and absorption

For the symmetric barrier, the calculator reports amplitudes r and t and their intensities R = |r|^2, T = |t|^2. In the custom matrix mode it reports port-resolved values like |S11|^2 and |S21|^2. When the loss term W > 0, absorption appears as 1 − R − T.

5) Unitarity residual as a quality metric

Lossless, properly normalized scattering should satisfy S†S = I. The calculator quantifies violations using the Frobenius residual ||S†S − I||F. Values near 10−6–10−3 are typical of rounding and mild numerical sensitivity; larger values suggest absorption, gain, or inconsistent normalization of the input matrix.

6) Eigenvalues and phase shifts from S

For two channels, eigenvalues summarize the “eigenchannels” that scatter independently. In a unitary case, eigenvalues lie close to the unit circle, so |λ|≈1, and their arguments encode phase shifts. Tracking arg(λ) versus energy is a standard way to identify resonances, where phases change rapidly over narrow parameter intervals.

7) Reciprocity, symmetry, and reporting workflow

Reciprocal passive systems typically satisfy S12 = S21. This tool reports |S12 − S21| as a direct diagnostic and |S11 − S22| as a symmetry indicator. After computation, use CSV for spreadsheet workflows and the PDF report for sharing quick summaries. A practical pattern is to sweep energy externally, paste spot-check matrices here, and use the unitarity residual to separate physical loss from formatting errors.

FAQs

1) What does a “unitary” S-matrix mean here?

Unitarity means probability or power is conserved: outgoing flux equals incoming flux. Mathematically, S†S = I. The calculator shows a residual value; smaller numbers indicate closer agreement with conservation.

2) Why can R + T be less than 1?

If the barrier uses W > 0, the model includes absorption (loss). Then some flux is removed inside the region, so R + T < 1 and the remainder is reported as absorption.

3) Can I enter measured S-parameters from a network analyzer?

Yes. Use custom mode and enter complex values for S11, S12, S21, and S22. Ensure your values use the same reference impedance and normalization used in your measurement setup.

4) What complex format is accepted?

Use a+bi, a-bi, a, or bi. Scientific notation is supported, like 1.2e-3-4e-4i.

5) How should I interpret the eigenvalues?

Eigenvalues correspond to independent eigenchannels. For lossless scattering, |λ| stays near 1 and arg(λ) gives phase information. If |λ| differs from 1, the system has loss or gain.

6) What does |S12 − S21| tell me?

It is a reciprocity indicator. Many passive reciprocal devices have S12 = S21. A nonzero value can indicate nonreciprocal physics, experimental asymmetry, or inconsistent calibration between forward and reverse measurements.

7) Why do results change when I increase decimal places?

Decimal places only change formatting, not the internal calculation. If your inputs are rounded heavily, re-enter with higher precision. Large sensitivity can also occur near resonances, where small parameter changes strongly affect phases.

Related Calculators

markov chain monte carlometropolis monte carlokinetic monte carlodiscrete element methodconjugate heat transferquantum monte carlomultibody dynamicsstiff ode solveradaptive mesh refinementparticle in cell

Important Note: All the Calculators listed in this site are for educational purpose only and we do not guarentee the accuracy of results. Please do consult with other sources as well.