Mathematical Foundations

VI.3 · Optimization

What can a chord promise about every minimum?

Compare an objective with straight-line interpolation between two values. Convexity is a whole-domain inequality that changes optimization guarantees, not a visual synonym for a smooth bowl.

Compare the curve with its chord

Parameter space: θ₁ and θ₂

Candidate θ ≈ (2, 1); objective ≈ 4; gradient ≈ (2, 4). Coordinates are model parameters; data inputs are held fixed. Convex: The quadratic Hessian is positive semidefinite on the full parameter space. Chord minus curve ≈ 2 at t ≈ 0.5. A negative gap is a counterexample; a nonnegative gap verifies only this chosen chord.

Loss slice: θ₂ = 0

This is a slice of the objective in parameter space, with θ₂ fixed at zero.

Candidate parameters
(2, 1)
Objective value
4
Actual gradient
(2, 4)
Hessian of the objective
(1, 0); (0, 4)
Chord height
2
Chord gap
2

≈ binary64 calculation · = analytic classification. Replay selects the same evaluated step in every view.

Convex: The quadratic Hessian is positive semidefinite on the full parameter space. Chord minus curve ≈ 2 at t ≈ 0.5. A negative gap is a counterexample; a nonnegative gap verifies only this chosen chord.

L=a2(θ1−c)2+2θ22L=\tfrac a2(\theta_1-c)^2+2\theta_2^2
L((1−t)u+tv)≤(1−t)L(u)+tL(v),0≤t≤1L((1-t)u+tv)\le(1-t)L(u)+tL(v),\quad 0\le t\le1

Evaluate the candidate

Candidate θ ≈ (2, 1); objective ≈ 4; gradient ≈ (2, 4). Coordinates are model parameters; data inputs are held fixed.

L=a2(θ1−c)2+2θ22L=\tfrac a2(\theta_1-c)^2+2\theta_2^2

from −3 to 3, up to 2 decimal places

from −3 to 3, up to 2 decimal places

from 0 to 1, up to 2 decimal places

Move the two endpoints on the y=0 loss slice and change the interpolation fraction. Compare the curve height with the chord height; a negative chord-minus-curve gap is a counterexample.

The canonical endpoints are (−2,0)(-2,0) and (2,0)(2,0) with t=1/2t=1/2. Their default quadratic losses are both 22, while the midpoint loss is 00. Predict the gap before inspecting it. Then choose the double well and compare its two zero-loss endpoints with the positive-loss midpoint.

Intuition: mixing parameters and mixing scores

Take two parameter choices and form a weighted average of their coordinates. Separately form the same weighted average of their scores. These are different operations. For a convex objective, evaluating the averaged parameters costs no more than that average score.

On a one-dimensional slice, the average score lies on the straight chord connecting the endpoint heights. A convex graph stays at or below every such chord. One chord that lies below the graph disproves convexity. Many favorable chords can illustrate the property, but the definition quantifies over every valid segment and every interpolation fraction.

Definition: convex domain, convex function, strict convexity

A domain DD is convex when it contains the full segment between any two of its points. For p,q∈Dp,q\in D and 0≤t≤10\leq t\leq1, write z=(1−t)p+tqz=(1-t)p+tq. An objective is convex on DD when

L((1−t)p+tq)≤(1−t)L(p)+tL(q)for all p,q∈D, 0≤t≤1.L((1-t)p+tq)\leq(1-t)L(p)+tL(q) \quad\text{for all }p,q\in D,\ 0\leq t\leq1.

It is strictly convex when the inequality is strict for distinct p,qp,q and 0<t<10<t<1. Equality at t=0,1t=0,1 is unavoidable, so those endpoints do not refute strict convexity. Define the chord gap as

G=(1−t)L(p)+tL(q)−L(z).G=(1-t)L(p)+tL(q)-L(z).

Convexity requires G≥0G\geq0 everywhere. The full plane and the half-plane x>0x>0 are convex domains. A formula’s domain is part of the claim: a logarithmic segment must stay inside x>0x>0.

Mechanics: a slice is evidence about one family of segments

The stage draws the slice y=0y=0. Its left and right inputs specify x coordinates u,vu,v; the interpolation fraction gives x=(1−t)u+tvx=(1-t)u+tv. Read the objective height, chord height, and their difference at that same x coordinate. The filled area above the curve is the visible portion of the slice’s epigraph, not a second objective.

For the quadratic, the explorer’s curvature control remains positive. The a=0a=0 and a<0a<0 cases below are analytic extensions for the reference code and exercises, beyond that bounded control. Moving the center cc shifts the curve but leaves its curvature and the gap for fixed endpoint separation unchanged.

A favorable slice does not establish full two-dimensional convexity. For the saddle x2−y2x^2-y^2, the horizontal slice is the convex parabola x2x^2, but the vertical slice is the concave parabola −y2-y^2. Read the whole-domain classification beside the chosen chord rather than promoting that chord into a theorem.

Derivation: an exact gap and a supporting plane

For L(x,y)=a(x−c)2/2+2y2L(x,y)=a(x-c)^2/2+2y^2, let Δ=q−p\Delta=q-p. Expanding its two squares and canceling linear terms gives

G=t(1−t)(a2Δx2+2Δy2)=t(1−t)2ΔTHΔ,H=diag⁡(a,4).G=t(1-t)\left(\frac a2\Delta_x^2+2\Delta_y^2\right) =\frac{t(1-t)}2\Delta^{\mathsf T}H\Delta, \qquad H=\operatorname{diag}(a,4).

For a≥0a\geq0 every factor makes G≥0G\geq0, proving convexity on the whole plane. For a>0a>0, distinct endpoints make the gap positive at interior tt, proving strict convexity. For a=0a=0, horizontal segments give equality. For a<0a<0, choose Δy=0\Delta_y=0 and Δx≠0\Delta_x\ne0 to obtain a negative gap and disprove convexity.

A differentiable convex objective also lies above each of its tangent planes:

L(q)≥L(p)+∇L(p)⋅(q−p).L(q)\geq L(p)+\nabla L(p)\cdot(q-p).

To see why, convexity along p+t(q−p)p+t(q-p) implies

L(p+t(q−p))−L(p)t≤L(q)−L(p),t>0.\frac{L(p+t(q-p))-L(p)}{t}\leq L(q)-L(p),\qquad t>0.

Let tt tend to zero from above. The left side becomes ∇L(p)⋅(q−p)\nabla L(p)\cdot(q-p). If ∇L(p)=0\nabla L(p)=0, the supporting-plane bound gives L(q)≥L(p)L(q)\geq L(p) for every q: the stationary point is global.

For twice continuously differentiable functions on an open convex domain, positive-semidefinite Hessians everywhere are equivalent to convexity. Along any segment the second derivative is ΔTHΔ≥0\Delta^{\mathsf T}H\Delta\geq0. A Hessian at one point cannot establish this whole-domain condition.

Worked examples: a valid chord and a violating chord

The canonical quadratic chord joins p=(−2,0)p=(-2,0) and q=(2,0)q=(2,0) at t=1/2t=1/2. Its midpoint is (0,0)(0,0), and

L(p)=L(q)=2,L((p+q)/2)=0,G=2−0=2.L(p)=L(q)=2,\qquad L((p+q)/2)=0,\qquad G=2-0=2.

The exact formula agrees: t(1−t)Δx2/2=(1/4)(16/2)=2t(1-t)\Delta_x^2/2=(1/4)(16/2)=2. The worked stage returns to these canonical endpoints so the inspector and this substitution agree.

Worked example: Compare the curve with its chord

Parameter space: θ₁ and θ₂

Candidate θ ≈ (2, 1); objective ≈ 4; gradient ≈ (2, 4). Coordinates are model parameters; data inputs are held fixed. Convex: The quadratic Hessian is positive semidefinite on the full parameter space. Chord minus curve ≈ 2 at t ≈ 0.5. A negative gap is a counterexample; a nonnegative gap verifies only this chosen chord.

Loss slice: θ₂ = 0

This is a slice of the objective in parameter space, with θ₂ fixed at zero.

Candidate parameters
(2, 1)
Objective value
4
Actual gradient
(2, 4)
Hessian of the objective
(1, 0); (0, 4)
Chord height
2
Chord gap
2

≈ binary64 calculation · = analytic classification. Replay selects the same evaluated step in every view.

Convex: The quadratic Hessian is positive semidefinite on the full parameter space. Chord minus curve ≈ 2 at t ≈ 0.5. A negative gap is a counterexample; a nonnegative gap verifies only this chosen chord.

L=a2(θ1−c)2+2θ22L=\tfrac a2(\theta_1-c)^2+2\theta_2^2
L((1−t)u+tv)≤(1−t)L(u)+tL(v),0≤t≤1L((1-t)u+tv)\le(1-t)L(u)+tL(v),\quad 0\le t\le1

Evaluate the candidate

Candidate θ ≈ (2, 1); objective ≈ 4; gradient ≈ (2, 4). Coordinates are model parameters; data inputs are held fixed.

L=a2(θ1−c)2+2θ22L=\tfrac a2(\theta_1-c)^2+2\theta_2^2

Replay the canonical quadratic midpoint: endpoint heights 2 and 2, curve height 0, chord height 2, and gap 2 at t=1/2.

In the opening explorer, change the endpoints to (0,0)(0,0) and (2,0)(2,0). Now the midpoint loss is 1/21/2, the endpoint average is 11, and the gap is 1/21/2. This is the smaller exact chord used in the first exercise.

For the double well use (−1,0)(-1,0) and (1,0)(1,0). Both endpoint losses are 00, but the midpoint loss is 11. Thus G=−1G=-1, a complete counterexample to convexity. Having two equal minima alone is not the violation: the objective must be no higher along their connecting segment if it is convex.

The tangent-plane identity also has an exact remainder for the quadratic:

L(q)−L(p)−∇L(p)⋅(q−p)=12(q−p)TH(q−p).L(q)-L(p)-\nabla L(p)\cdot(q-p) =\frac12(q-p)^{\mathsf T}H(q-p).

With p=(2,1)p=(2,1) and q=(3/2,0)q=(3/2,0), the left side is 9/8−4−(−5)=17/89/8-4-(-5)=17/8. The tangent plane underestimates the actual objective by that positive amount.

Executable reference code

The standard-library reference computes both the chord gap from loss evaluations and its independent expanded formula with Fraction. It checks literal canonical-style gaps, positive, zero, and negative curvature extensions, and the exact supporting-plane remainder. An interpolation fraction outside [0,1][0,1] is rejected because extrapolation is a different claim.

The NumPy program broadcasts several endpoint pairs over multiple fractions and cross-checks the gap identity within absolute tolerance 10−1410^{-14} on that bounded sample. It also uses eigvalsh on the constant Hessian. The algebraic gap formula and whole-domain Hessian condition justify the theorem; finite samples alone do not.

code/python/optimization_convexity.py
"""Exact chord gaps and first-order support gaps for the quadratic family."""
from fractions import Fraction as F


def quadratic(point, a=1, c=0):
    x, y = map(F, point)
    a, c = F(a), F(c)
    return a*(x-c)**2/2 + 2*y*y


def chord_gap(p, q, t, a=1, c=0):
    p, q = tuple(map(F, p)), tuple(map(F, q))
    t, a, c = F(t), F(a), F(c)
    if not 0 <= t <= 1:
        raise ValueError("A chord parameter must lie in [0,1]")
    z = tuple((1-t)*u + t*v for u, v in zip(p, q))
    gap = (1-t)*quadratic(p, a, c) + t*quadratic(q, a, c) - quadratic(z, a, c)
    formula = t*(1-t)*(a*(q[0]-p[0])**2/2 + 2*(q[1]-p[1])**2)
    assert gap == formula
    return z, gap


def support_gap(p, q, a=1, c=0):
    x, y = map(F, p)
    u, v = map(F, q)
    a, c = F(a), F(c)
    linear_change = a*(x-c)*(u-x) + 4*y*(v-y)
    return quadratic((u, v), a, c) - quadratic((x, y), a, c) - linear_change


def main():
    assert chord_gap((-2, 0), (2, 0), F(1, 2)) == ((F(0), F(0)), F(2))
    assert chord_gap((0, 0), (2, 0), F(1, 2)) == ((F(1), F(0)), F(1, 2))
    assert chord_gap((0, 0), (2, 0), F(1, 2), a=-1)[1] == F(-1, 2)
    assert chord_gap((0, 0), (2, 0), F(1, 2), a=0)[1] == 0
    for t in (F(0), F(1, 4), F(1, 2), F(1)):
        assert chord_gap((-1, 2), (3, -1), t, a=2, c=7)[1] >= 0
    assert support_gap((2, 1), (F(3, 2), 0)) == F(17, 8)
    assert support_gap((0, 0), (2, 1)) == 4
    # The double well violates the midpoint inequality between its two minima.
    endpoint_average, midpoint_loss = F(0), F(1)
    assert midpoint_loss > endpoint_average
    assert abs(F(0)) <= (abs(F(-1)) + abs(F(1))) / 2  # Convex need not be smooth.
    try:
        chord_gap((0, 0), (2, 0), F(3, 2))
    except ValueError:
        pass
    else:
        raise AssertionError("An extrapolation was accepted as a chord")
    print("Exact canonical midpoint gap:", chord_gap((0, 0), (2, 0), F(1, 2))[1])
    print("For a>=0 every quadratic chord gap is nonnegative by its formula.")
    print("a=0 is convex but not strictly convex; a<0 violates an x chord.")


if __name__ == "__main__":
    main()
code/python/optimization_convexity_numpy.py
"""Vectorized chord samples plus a Hessian-eigenvalue library cross-check."""
import numpy as np


def loss(points, a=1.0, c=0.0):
    return a*(points[..., 0] - c)**2/2 + 2*points[..., 1]**2


def main():
    p = np.array([[0, 0], [-1, 2], [-2, 0]], dtype=np.float64)
    q = np.array([[2, 0], [3, -1], [2, 0]], dtype=np.float64)
    t = np.linspace(0, 1, 9)[:, None]
    z = (1-t[..., None])*p + t[..., None]*q
    delta = q-p
    for a in (1.0, 0.0, -1.0):
        measured = (1-t)*loss(p, a) + t*loss(q, a) - loss(z, a)
        formula = t*(1-t)*(a*delta[:, 0]**2/2 + 2*delta[:, 1]**2)
        np.testing.assert_allclose(measured, formula, rtol=0, atol=1e-14)
        spectrum = np.linalg.eigvalsh(np.diag([a, 4.0]))
        if a >= 0:
            assert np.all(measured >= -1e-14) and np.all(spectrum >= 0)
        else:
            assert measured[4, 0] == -0.5 and spectrum[0] < 0
    assert loss(z[4, 0]) == 0.5
    assert ((0.0**2-1)**2) > 0.0  # Double-well midpoint vs zero endpoint losses.
    print("Binary64 chord samples agree within absolute tolerance 1e-14.")
    print("The analytic gap and constant Hessian establish the whole-domain claim.")
    print("Sampling finitely many chords alone does not prove convexity.")


if __name__ == "__main__":
    main()

Explore: local curvature can hide a global violation

Choose the double well and compare a chord around one well with the chord connecting both wells. The first can have a nonnegative gap despite the second’s negative gap. Predict which statement remains true when a selected chord passes: that segment is compatible with convexity, while the objective can still be nonconvex elsewhere.

Choose the saddle. Its y=0 slice passes the chord test; construct a vertical witness by hand using (0,−1),(0,1)(0,-1),(0,1) and their midpoint. Endpoint losses are −1-1, midpoint loss is 00, and the gap is −1-1.

For ∣x∣+y2\abs{x}+y^2, predict whether the kink breaks convexity. The triangle inequality gives ∣(1−t)x1+tx2∣≤(1−t)∣x1∣+t∣x2∣\abs{(1-t)x_1+tx_2}\leq(1-t)\abs{x_1}+t\abs{x_2}, and the square term is convex. Their sum is convex despite its missing classical derivative at x=0x=0. For the logarithmic objective, use strictly positive endpoints; an undefined chord from an invalid endpoint is not a counterexample.

Common mistakes and counterexamples

Convexity does not mean smoothness: absolute value has a kink. It does not mean a unique minimizer: the extension a=0a=0 gives L=2y2L=2y^2, whose entire line y=0y=0 minimizes it. Strict convexity gives at most one minimizer, and still does not ensure existence.

For example, −log⁡x+y2-\log x+y^2 has positive-definite Hessian diag⁡(1/x2,2)\operatorname{diag}(1/x^2,2) throughout its open convex domain x>0x>0, so it is strictly convex. Yet its loss tends to −∞-\infty along y=0,x→∞y=0,x\to\infty, and it has no minimizer. Its gradient (−1/x,2y)(-1/x,2y) never vanishes.

Every local minimum of a convex function is global, even without differentiability. If a distant point q had lower loss, convexity would make p+t(q−p)p+t(q-p) lower for every small positive t, contradicting a local minimum at p. Conversely, positive-definite curvature at the cubic’s local minimum only establishes a local fact. It does not make the cubic convex everywhere.

Numerical considerations

When the chord gap is small, subtracting two nearly equal floating heights can lose relative accuracy. The exact quadratic gap formula avoids that subtraction in the reference. In a binary64 display, a tiny gap near zero requires an error scale before its sign can be interpreted; rounded displayed equality is not exact affine behavior.

Sampled curves and chords are binary64 approximations. The 10−1410^{-14} tolerance in the NumPy check is for the bounded arithmetic it tests, not a universal definition of convexity. For logarithmic inputs close to zero, curvature becomes large and finite computations can overflow. Keep domain failure, unresolved numerical sign, and an analytic nonconvexity witness separate.

Engineering and ML connections

Least-squares fitting has a positive-semidefinite quadratic Hessian. Full column rank supplies uniqueness; rank deficiency can leave an entire set of minimizers. Adding a positive quadratic parameter penalty can supply positive curvature in previously flat directions, but it changes the objective and the fitted solution.

Convexity explains why some optimization problems admit global guarantees and why those guarantees do not transfer automatically to neural-network objectives. An algorithm name does not make a loss convex. Local and global optima provides the distinction, while gradient descent uses the gradient to move and still needs a learning-rate condition for finite-step behavior.

Exercises

State the gap convention, build a violating segment when possible, and distinguish globality, uniqueness, and existence.

calculation

Compare a point with its chord

For L=x²/2+2y², take p=(0,0), q=(2,0), and t=1/2. Give L(p), L(q), L((p+q)/2), the endpoint average, and the chord gap (average minus midpoint loss).

construction

Construct a nonconvexity witness

For L=(x²−1)²+y², use p=(−1,0), q=(1,0), t=1/2. Give the endpoint average, midpoint loss, and chord gap (average minus midpoint loss).

explanation

Convex does not mean unique

Set a=0 in L=a(x−c)²/2+2y². Which claim holds on the whole plane?

Choose one answer

explanation

Use the whole-domain guarantee

L is differentiable and convex on an open convex domain, and ∇L(p)=0. What does the supporting-plane inequality establish?

Choose one answer

explanation

Strict convexity does not ensure attainment

The objective −log x+y² is strictly convex on x>0 because its Hessian is diag(1/x²,2). Does it attain a global minimum on that domain?

Choose one answer

Summary and checkpoints

Convexity means every valid parameter mixture lies below its score chord. Check that you can derive the quadratic gap, construct the double-well violation, and use a zero gradient with a supporting plane to prove globality. Keep existence and uniqueness distinct: strict convexity limits how many minimizers there can be, and additional assumptions must ensure a minimizer is attained.

The map of the book

97 of 97 chapters written · eight Parts

demo Foundation demo Try the live vector example Open as a page

Part I

Mathematical Language

The notation and mental objects everything else uses.

9 of 9 chapters written

  1. I.1 Scalars, quantities, units, powers and roots available
  2. I.2 Coordinates and points available
  3. I.3 Vectors: components, magnitude, and direction reference chapter available
  4. I.4 Algebraic expressions, equations and inequalities available
  5. I.5 Functions as input → transformation → output available
  6. I.6 Essential function families available
  7. I.7 Sets, intervals, and relations available
  8. I.8 Indexed quantities and summation available
  9. I.9 The notation map for ML available

Part II

Linear Algebra

Matrices as transformations: the strongest foundation in the book.

19 of 19 chapters written

  1. II.1 Vector addition and subtraction available
  2. II.2 Scalar multiplication and vector scaling available
  3. II.3 Norms, magnitude, and normalization available
  4. II.4 Dot product, angle, and orthogonality available
  5. II.5 Projection and distance to a direction available
  6. II.6 Linear combinations and span available
  7. II.7 Linear independence, basis, and coordinates available
  8. II.8 Matrices as linear transformations available
  9. II.9 Matrix × vector available
  10. II.10 Matrix × matrix as composition available
  11. II.11 Transpose and orthogonality available
  12. II.12 Determinant: orientation and area/volume scaling available
  13. II.13 Linear systems as intersecting constraints available
  14. II.14 Gaussian elimination and row operations available
  15. II.15 Rank and invertibility available
  16. II.16 Inverse matrices available
  17. II.17 Eigenvalues and eigenvectors available
  18. II.18 Orthogonal bases and least-squares geometry available
  19. II.19 Singular Value Decomposition available

Part III

Calculus

Change, local approximation, and sensitivity made visible.

15 of 15 chapters written

  1. III.1 Limits through approach available
  2. III.2 Continuity and local behavior available
  3. III.3 Derivative as secant → tangent available
  4. III.4 Derivative as rate of change and local linear model available
  5. III.5 Derivative rules available
  6. III.6 Chain rule available
  7. III.7 Multivariable functions and partial derivatives available
  8. III.8 Gradient and directional derivatives available
  9. III.9 Jacobian available
  10. III.10 Computational graphs and automatic differentiation available
  11. III.11 Hessian and curvature available
  12. III.12 Integrals as accumulation available
  13. III.13 Fundamental derivative/integral connection available
  14. III.14 Numerical differentiation available
  15. III.15 Numerical integration available

Part IV

Probability

Uncertainty through sample spaces, evidence, and repetition.

16 of 16 chapters written

  1. IV.1 Random experiments, outcomes, and sample spaces available
  2. IV.2 Events and probability mass available
  3. IV.3 Counting and finite probability where needed available
  4. IV.4 Conditional probability as restricted sample space available
  5. IV.5 Independence available
  6. IV.6 Bayes' theorem as probability-mass update available
  7. IV.7 Random variables available
  8. IV.8 PMF, PDF, and CDF available
  9. IV.9 Bernoulli and Binomial distributions available
  10. IV.10 Uniform and Gaussian distributions available
  11. IV.11 Expectation available
  12. IV.12 Variance and standard deviation available
  13. IV.13 Joint, marginal, and conditional distributions available
  14. IV.14 Covariance and correlation available
  15. IV.15 Law of Large Numbers available
  16. IV.16 Central Limit Theorem available

Part V

Statistics

From observed data to estimates, intervals, and likelihood.

10 of 10 chapters written

  1. V.1 Data summaries: mean, median, mode available
  2. V.2 Spread: variance, standard deviation, robust interpretation available
  3. V.3 Population, sample, and sampling variability available
  4. V.4 Estimators and estimation available
  5. V.5 Confidence intervals through repeated sampling available
  6. V.6 Covariance matrices and multivariate spread available
  7. V.7 Regression fundamentals available
  8. V.8 Likelihood available
  9. V.9 Maximum Likelihood Estimation available
  10. V.10 Maximum A Posteriori estimation available

Part VI

Optimization

Learning as repeated parameter updates governed by an objective.

10 of 10 chapters written

  1. VI.1 Objective functions and optimization landscapes available
  2. VI.2 Local vs global optima and stationary points available
  3. VI.3 Convexity available
  4. VI.4 Gradient descent flagship chapter available
  5. VI.5 Learning rate and convergence behavior available
  6. VI.6 Momentum available
  7. VI.7 Stochastic and mini-batch gradient descent available
  8. VI.8 Adam intuition available
  9. VI.9 Constraints and projected/penalized intuition available
  10. VI.10 Numerical stopping and optimization diagnostics available

Part VII

Information Theory

Logarithms, entropy, and the loss behind token prediction.

8 of 8 chapters written

  1. VII.1 Logarithms and log probabilities in computation available
  2. VII.2 Self-information available
  3. VII.3 Entropy available
  4. VII.4 Cross entropy and negative log-likelihood available
  5. VII.5 KL divergence available
  6. VII.6 Logits and softmax available
  7. VII.7 Numerical stability: log-sum-exp and stable softmax available
  8. VII.8 From token logits to language-model loss available

Part VIII

Numerical Computing

Why equivalent expressions behave differently on real machines.

10 of 10 chapters written

  1. VIII.1 Floating-point representation available
  2. VIII.2 Rounding and representation error available
  3. VIII.3 Error propagation and conditioning available
  4. VIII.4 Catastrophic cancellation available
  5. VIII.5 Overflow and underflow available
  6. VIII.6 Stable algorithms available
  7. VIII.7 Numerical linear algebra realities available
  8. VIII.8 Sparse matrices and sparse structure available
  9. VIII.9 Vectorized computation available
  10. VIII.10 Reproducibility, random seeds, and nondeterminism available