#set document(title: "4.1 The Determinant as Area", author: "XYZ Homework") #set page(width: 8.5in, height: auto, margin: 1in) #import "@preview/cetz:0.5.2" #set text(font: ("STIX Two Text", "Libertinus Serif", "New Computer Modern"), size: 10.5pt, lang: "en") #show math.equation: set text(font: ("STIX Two Math", "New Computer Modern Math")) #set par(justify: true, leading: 0.62em, spacing: 0.9em) #set enum(spacing: 1.1em) // room between list items so tall inline fractions don't collide #set list(spacing: 1.1em) #set table(stroke: 0.5pt + rgb("#c7ccd3")) #let BLUE = rgb("#183B6F") // brand navy — section bars + example/solution labels (white on navy 11.09:1) #let ORANGE = rgb("#A94509") // brand primary-700 — AA-safe deep orange for TEXT (5.93:1 on white; raw brand #F37021 is 2.94:1 and must never carry text) #let RED = rgb("#DC2626") // brand error-600 #let GREEN = rgb("#059669") // brand success-600 (decoration only; small green text uses green-text #007942) #show heading.where(level: 1): it => block(width: 100%, above: 0pt, below: 16pt, fill: gradient.linear(BLUE, rgb("#2C5AA0")), inset: (x: 14pt, y: 12pt), radius: 3pt, text(fill: white, weight: "bold", size: 19pt, it.body)) #show heading.where(level: 2): it => block(width: 100%, above: 18pt, below: 10pt, fill: BLUE, inset: (x: 10pt, y: 6pt), radius: 2pt, text(fill: white, weight: "bold", size: 12pt, it.body)) #show heading.where(level: 3): it => text(fill: ORANGE, weight: "bold", size: 12.5pt, it.body) #show heading.where(level: 4): it => text(fill: BLUE, weight: "bold", size: 10.5pt, it.body) #let examplebox(label, title, body) = block(width: 100%, breakable: true, fill: rgb("#EFF1F5"), stroke: 0.5pt + rgb("#CFDDF0"), radius: 4pt, inset: 10pt, above: 12pt, below: 12pt)[ #block(below: 6pt)[#box(fill: BLUE, inset: (x: 6pt, y: 2pt), radius: 2pt, text(fill: white, weight: "bold", size: 8.5pt, label)) #h(0.4em) #strong[#title]] #body] // rail = decorative left rule (raw brand token); labelcolor = AA-safe label text shade #let notebox(label, rail, labelcolor, tint, body) = block(width: 100%, breakable: true, fill: tint, stroke: (left: 3pt + rail), inset: (left: 10pt, rest: 8pt), radius: (right: 4pt), above: 11pt, below: 11pt)[ #text(fill: labelcolor, weight: "bold", size: 7.5pt, tracking: 0.5pt)[#upper(label)] #linebreak() #body] #let solutionbox(body) = block(above: 4pt, below: 8pt)[ #text(fill: BLUE, weight: "bold", size: 8.5pt)[Solution] #linebreak() #body] #let figph(msg) = block(width: 100%, height: 60pt, fill: rgb("#f6f7f9"), stroke: (paint: rgb("#c7ccd3"), dash: "dashed"), radius: 4pt, inset: 10pt)[ #align(center + horizon, text(fill: rgb("#889"), style: "italic", size: 9pt, msg))] // Standardize inlined figure sizes: measure the natural CeTZ canvas, then scale to a // consistent envelope (aspect-aware; see build_typst.py FIG_* constants). Unlike the // print preamble, dimensions are FLOORED: in an editor a user can trim a figure to a // degenerate 1-D shape (a bare line), and w/h or tw/w would then divide by zero. #let _STD_W = 3.5 #let _WIDE_W = 5.6 #let _MAX_H = 3.4 #let _ASPECT_WIDE = 2.2 #let _UPSCALE_MAX = 1.15 #let stdfig(body) = context { let m = measure(body) let w = calc.max(m.width / 1in, 0.01) let h = calc.max(m.height / 1in, 0.01) let tw = if w / h > _ASPECT_WIDE { _WIDE_W } else { _STD_W } let s = calc.min(tw / w, _MAX_H / h, _UPSCALE_MAX) align(center, box(scale(x: s * 100%, y: s * 100%, reflow: true, body))) } #show figure: set block(breakable: false) #set figure(gap: 8pt) #show figure.caption: set text(size: 8.5pt, fill: rgb("#555")) == 4.1#h(0.6em)The Determinant as Area #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ #emph[Objectives] - Compute the determinant ad - bc of a 2-by-2 matrix and interpret its absolute value as an area scale factor. - Interpret the sign of the determinant as orientation, and determinant zero as collapse. - Connect determinant zero to linearly dependent columns and to the loss of invertibility. ] The #strong[determinant] of the #math.equation(block: false, alt: "2 times 2")[$2 × 2$] matrix with columns #math.equation(block: false, alt: "open parenthesis a , c close parenthesis")[$( a , c )$] and #math.equation(block: false, alt: "open parenthesis b , d close parenthesis")[$( b , d )$] is the number #math.equation(block: false, alt: "det equals a d minus b c")[$det = a d − b c$]. The definition earns its keep through two facts you can watch. First, #math.equation(block: false, alt: "| det |")[$| det |$] is the area of the image of the unit square — and therefore the factor by which the transformation multiplies the area of #emph[any] region, since any region is well approximated by a fine mosaic of little squares, each of which is scaled by the same factor. Second, the sign of #math.equation(block: false, alt: "det")[$det$] records whether the plane kept its orientation or was flipped over. The figure below is built to be driven through the interesting event. It starts at #math.equation(block: false, alt: "a equals 2")[$a = 2$], #math.equation(block: false, alt: "b equals 1")[$b = 1$], #math.equation(block: false, alt: "c equals 1")[$c = 1$], #math.equation(block: false, alt: "d equals 1")[$d = 1$], where #math.equation(block: false, alt: "det equals 2 times 1 minus 1 times 1 equals 1")[$det = 2 · 1 − 1 · 1 = 1$]: a sheared parallelogram with exactly the area of the gray unit square beneath it. {"camera":{"fov":50,"position":\[1.2,-2.8,4.5\],"projection":"perspective","target":\[0.8,0.6,0\]},"grid":{"axisColors":{"x":"\#ef4444","y":"\#22c55e","z":"\#3b82f6"},"divisions":10,"gridColor":"\#e5e7eb","showAxes":true,"showLabels":true,"size":10,"visible":true},"id":"24d95122-7a01-4c0f-bd51-ec2a2b691d5a","metadata":{"alt\_text":"A flat parallelogram in the xy-plane with its two origin edges drawn in red (first matrix column) and blue (second column), over a faint gray unit square. Four sliders a, b, c, d set the matrix entries: dragging them changes the parallelogram's area, collapses it to a segment when ad - bc reaches zero, and turns it inside out when ad - bc goes negative.","created\_at":"2026-08-01T00:00:00.000Z","description":"Book scene: area and orientation of det. The unit square under the matrix with columns (a, c) and (b, d), defaults a = 2, b = 1, c = 1, d = 1 (det = 1), with column-edge segments and a gray reference square. Built to be driven through ad - bc = 0 and into negative determinants.","tags":\["book","linear-algebra","determinant","area","orientation"\],"updated\_at":"2026-08-01T00:00:00.000Z"},"objects":\[{"id":"cb87715f-d265-4416-9d6f-ae351628e213","kind":"parameter","label":{"text":"a (first column, x-part)","visible":true},"max":2,"min":-2,"name":"a","step":0.05,"value":2,"visible":true},{"id":"6f21ed7c-5ab2-4cc7-8d81-eac1563bcaec","kind":"parameter","label":{"text":"b (second column, x-part)","visible":true},"max":2,"min":-2,"name":"b","step":0.05,"value":1,"visible":true},{"id":"1c5ea09c-e12b-4ad8-920e-902293740a32","kind":"parameter","label":{"text":"c (first column, y-part)","visible":true},"max":2,"min":-2,"name":"c","step":0.05,"value":1,"visible":true},{"id":"ef3b80ad-b738-4b00-9e64-9e03211643d8","kind":"parameter","label":{"text":"d (second column, y-part)","visible":true},"max":2,"min":-2,"name":"d","step":0.05,"value":1,"visible":true},{"id":"d6ee91fa-19d5-4626-85f8-1c22e5a71e63","kind":"parametric-surface","label":{"text":"image parallelogram","visible":true},"resolution":16,"style":{"colormap":"coolwarm","doubleSided":true,"opacity":0.8,"wireframe":false,"wireframeColor":"\#000000"},"uDomain":\[0,1\],"vDomain":\[0,1\],"visible":true,"xExpr":"a\*u + b\*v","yExpr":"c\*u + d\*v","zExpr":"0"},{"id":"97459c2e-430d-4f00-a922-e9e81cce3964","kind":"parametric-surface","label":{"text":"the unit square (reference)","visible":true},"resolution":8,"style":{"colormap":"grayscale","doubleSided":true,"opacity":0.3,"wireframe":false,"wireframeColor":"\#000000"},"uDomain":\[0,1\],"vDomain":\[0,1\],"visible":true,"xExpr":"u","yExpr":"v","zExpr":"-0.02"},{"id":"2f481622-d12a-45e1-84d0-c3f84fa771ce","kind":"parametric-curve","label":{"text":"first column (a, c)","visible":true},"samples":50,"style":{"color":"\#ef4444","dash":\[\],"lineWidth":4},"tDomain":\[0,1\],"visible":true,"xExpr":"a\*t","yExpr":"c\*t","zExpr":"0.02"},{"id":"9ea14475-95c8-44f3-8421-fd9a931ea150","kind":"parametric-curve","label":{"text":"second column (b, d)","visible":true},"samples":50,"style":{"color":"\#3b82f6","dash":\[\],"lineWidth":4},"tDomain":\[0,1\],"visible":true,"xExpr":"b\*t","yExpr":"d\*t","zExpr":"0.02"}\],"title":"The determinant as area","version":1} The image parallelogram with red edge #math.equation(block: false, alt: "open parenthesis a , c close parenthesis")[$( a , c )$] and blue edge #math.equation(block: false, alt: "open parenthesis b , d close parenthesis")[$( b , d )$], over a faint gray unit square for scale. The starting entries #math.equation(block: false, alt: "a equals 2")[$a = 2$], #math.equation(block: false, alt: "b equals 1")[$b = 1$], #math.equation(block: false, alt: "c equals 1")[$c = 1$], #math.equation(block: false, alt: "d equals 1")[$d = 1$] give determinant #math.equation(block: false, alt: "1")[$1$]; dragging #math.equation(block: false, alt: "d")[$d$] downward drives the determinant through zero and out the other side. === Explore the figure + At the defaults, compare the parallelogram with the gray unit square. The shapes differ, but the areas match: #math.equation(block: false, alt: "det equals 1")[$det = 1$]. A matrix can distort violently while preserving area exactly. + Drag #math.equation(block: false, alt: "d")[$d$] up to #math.equation(block: false, alt: "2")[$2$]. Now #math.equation(block: false, alt: "det equals 2 times 2 minus 1 times 1 equals 3")[$det = 2 · 2 − 1 · 1 = 3$]; judge by eye that the parallelogram holds about three gray squares. + Drag #math.equation(block: false, alt: "d")[$d$] slowly down to #math.equation(block: false, alt: "0.5")[$0.5$]. Watch the parallelogram thin and die: at #math.equation(block: false, alt: "d equals 0.5")[$d = 0.5$] the blue edge #math.equation(block: false, alt: "open parenthesis 1 , 0.5 close parenthesis")[$( 1 , 0.5 )$] is exactly half the red edge #math.equation(block: false, alt: "open parenthesis 2 , 1 close parenthesis")[$( 2 , 1 )$], the columns are dependent, and #math.equation(block: false, alt: "det equals 2 open parenthesis 0.5 close parenthesis minus 1 equals 0")[$det = 2 ( 0.5 ) − 1 = 0$]. + Keep going to #math.equation(block: false, alt: "d equals 0")[$d = 0$]. The parallelogram reopens — but flipped. Before the collapse, sweeping from the red edge to the blue edge went one way around; now it goes the other. Here #math.equation(block: false, alt: "det equals minus 1")[$det = − 1$]: area #math.equation(block: false, alt: "1")[$1$] again, orientation reversed. === Sign is orientation Why does the sign change mean a flip? For edge vectors #math.equation(block: false, alt: "open parenthesis a , c close parenthesis")[$( a , c )$] and #math.equation(block: false, alt: "open parenthesis b , d close parenthesis")[$( b , d )$], the quantity #math.equation(block: false, alt: "a d minus b c")[$a d − b c$] is positive exactly when the second edge lies counterclockwise from the first — the same relative position #math.equation(block: false, alt: "𝐞 sub 2")[$𝐞_(2)$] holds to #math.equation(block: false, alt: "𝐞 sub 1")[$𝐞_(1)$]. A positive-determinant matrix moves both basis vectors while preserving that relative arrangement; a negative determinant means the images are in the #emph[reversed] arrangement, which no amount of rotating or stretching within the plane can produce — the plane must have been turned over. And because your slider moved continuously, the only route from #math.equation(block: false, alt: "det equals 1")[$det = 1$] to #math.equation(block: false, alt: "det equals minus 1")[$det = − 1$] passed through #math.equation(block: false, alt: "det equals 0")[$det = 0$]: you cannot flip a page without, at some instant, seeing it edge-on. Determinant zero is the same event Chapter 2 called dependence and Chapter 3 called collapse, viewed once more. Dependent columns span a line instead of a plane; the transformation crushes two dimensions of input into one dimension of output; distinct points are forced to share images, so no inverse transformation can exist. #strong[A matrix is invertible exactly when its determinant is nonzero] — a numerical test for a geometric catastrophe. #examplebox("Example 1")[Locate the collapse exactly][ With #math.equation(block: false, alt: "a equals 2")[$a = 2$], #math.equation(block: false, alt: "b equals 1")[$b = 1$], #math.equation(block: false, alt: "c equals 1")[$c = 1$] held fixed, find every value of #math.equation(block: false, alt: "d")[$d$] at which the image parallelogram degenerates to a segment, and compute the area scale factor at #math.equation(block: false, alt: "d equals 2")[$d = 2$] and at #math.equation(block: false, alt: "d equals 0")[$d = 0$]. The determinant is #math.equation(block: false, alt: "det equals a d minus b c equals 2 d minus 1")[$det = a d − b c = 2 d − 1$], which vanishes only at #math.equation(block: false, alt: "d equals 0.5")[$d = 0.5$]. There the columns are #math.equation(block: false, alt: "open parenthesis 2 , 1 close parenthesis")[$( 2 , 1 )$] and #math.equation(block: false, alt: "open parenthesis 1 , 0.5 close parenthesis equals 0.5 open parenthesis 2 , 1 close parenthesis")[$( 1 , 0.5 ) = 0.5 ( 2 , 1 )$] — dependent, so the image is the segment of the line through #math.equation(block: false, alt: "open parenthesis 2 , 1 close parenthesis")[$( 2 , 1 )$], matching the collapse seen on the slider. At #math.equation(block: false, alt: "d equals 2")[$d = 2$]: #math.equation(block: false, alt: "det equals 3")[$det = 3$], so every region's area is tripled, orientation preserved. At #math.equation(block: false, alt: "d equals 0")[$d = 0$]: #math.equation(block: false, alt: "det equals minus 1")[$det = − 1$], so areas are preserved in size but the plane is flipped; a shape and its image are mirror versions of each other. Note the two settings #math.equation(block: false, alt: "d equals 2")[$d = 2$] and #math.equation(block: false, alt: "d equals 0")[$d = 0$] both give #math.equation(block: false, alt: "| det | greater than or equal to 1")[$| det | ≥ 1$], yet only one of them can be continuously undone without a collapse along the way. ] #notebox("Note", rgb("#8a94a6"), rgb("#556666"), rgb("#f7f8fa"))[ One number, three readings: #math.equation(block: false, alt: "| det |")[$| det |$] is the universal area scale factor, #math.equation(block: false, alt: "sign open parenthesis det close parenthesis")[$op("sign") ( det )$] tells whether the plane was flipped, and #math.equation(block: false, alt: "det equals 0")[$det = 0$] flags dependent columns and a lost inverse. In the next chapter the determinant changes roles — from measuring a single matrix to #emph[hunting] inside a family of them, as we search #math.equation(block: false, alt: "det open parenthesis A minus λ I close parenthesis equals 0")[$det ( A − λ I ) = 0$] for the values #math.equation(block: false, alt: "λ")[$λ$] where a related matrix collapses. ]