The Householder Convention
Alston Householder was one of the early founders of numerical linear algebra.
The variable naming scheme that he used in the book
Principles of Numerical Analysis
proved to be widely useful and has become a
de facto standard. The book is now
available from Dover Publications.
[For anyone not in mathematical areas of study, "Dover" means "Really Cheap" so it's
worthwhile to occasionally check their publication lists. Three times I've found books that
cost over $120 twenty years ago, but are now less than $15. And no, I don't get a kickback
from them for this free advertising.]
In general the "Householder convention" is:
- lower case Greek letters for scalars: α β γ, ...
- lower case Roman letters (e.g., x, y, u, v) for vectors
- upper case Roman letters (e.g., G, B, C) for matrices
- vertically symmetric upper case Roman letters (e.g., A, H, I)
for symmetric matrices
However, sometimes modifications and contravention of the standard
are useful, especially on the web where some dinosaurs are still using IE6 to
check up on the latest comet reports.
Because some browsers aren't up to snuff, Greek letters will be used sparingly or
spelled out. E.g., alpha = x(3)*A(2,11).
I'll also violate the convention
- for integer indices and array dimensions, typically
m, n, i, j, k, l ← (that last one
is an el, not the number 1). Usually I reserve those letters for this use, so will
not define a vector named n. However, when the application is classical and uses
something like n to be a unit normal vector perpendicular to a surface, I follow
the application schema.
- for block indices and dimensions, upper-case Roman letters from the set
{I, J, K, L, M, N}. A block index is a vector containing natural numbers.
- duplicated lower-case Roman letters
(like ii, jj, kk) are used for
non-unit stride loops, with each lower case letter corresponding to the upper-case
Roman letter for the block
- whenever I feel like it: if there's a new moon, or my cat tells me to do so, ....
If there's any question about what a particular variable is,
check the dimensionality: if A is an m × n matrix and
x is an n × 1 vector, then there's only one possible set of dimensions
for the vector y when y = A*x.
- Last Modified: Mon 04 Nov 2019, 07:01 AM