<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Linear Algebra for Programmers</title>
    <link>https://www.linearalgebraforprogrammers.com/</link>
    <description>An interactive, open-source guide to linear algebra for programmers, with runnable Python and visuals you can interact with.</description>
    <atom:link href="https://www.linearalgebraforprogrammers.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Block scaling in MXFP4 and NVFP4</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/3_block_scaling_in_mxfp4_and_nvfp4</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/3_block_scaling_in_mxfp4_and_nvfp4</guid>
      <description>How MXFP4 and NVFP4 multiply 4-bit E2M1 values by a shared block scale, and NVFP4 by a tensor scale too, to get the stored numbers.</description>
      <pubDate>Thu, 05 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Adding two floating point numbers</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/4_adding_two_floats</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/4_adding_two_floats</guid>
      <description>How two floats are added, step by step: align the exponents, add the bits, normalize, round, with a made-up 3-bit mantissa.</description>
      <pubDate>Thu, 05 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Why floating point addition isn't associative</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/5_why_fp_addition_is_not_associative</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/5_why_fp_addition_is_not_associative</guid>
      <description>Each floating point addition rounds its exact sum, so the order of additions can change the result. The three ways a sum loses bits, shown in FP8 E5M2.</description>
      <pubDate>Thu, 05 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Exponentiation by squaring</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/6_exponentiation_by_squaring</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/6_exponentiation_by_squaring</guid>
      <description>The binary digits of n say which squares of x multiply to x to the n, so x to the n takes about log2(n) multiplications instead of n − 1. Shown step by step, then used for Fibonacci numbers.</description>
      <pubDate>Thu, 05 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Binary representations of integers</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/1_binary_representations_of_integers</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/1_binary_representations_of_integers</guid>
      <description>uint, two's complement, one's complement and biased integers seen as one formula, a dot product of bits and weights plus a bias.</description>
      <pubDate>Mon, 02 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Anatomy of a floating point number</title>
      <link>https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/2_anatomy_of_floating_point</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/integer_and_floating_point_representations/2_anatomy_of_floating_point</guid>
      <description>How a floating point value is calculated from its bits, how inf and NaN are represented, what normal and subnormal modes are, and why they matter.</description>
      <pubDate>Mon, 02 Nov 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A simpler derivation of continuous normalizing flows and its interpretation</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/continuous_normalizing_flow</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/continuous_normalizing_flow</guid>
      <description>A shorter proof of the instantaneous change of variables theorem from the Neural ODEs paper, and why it is the continuity equation in disguise.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Paper: A Flag Decomposition for Hierarchical Datasets</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/flag_decomposition</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/flag_decomposition</guid>
      <description>The key idea of the flag decomposition paper by Mankovich et al., a QR-like factorization that keeps the hierarchy of nested data subspaces.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inverse of a block of a matrix and Schur Complement</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/inverse_matrix_block</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/inverse_matrix_block</guid>
      <description>Given a matrix and its inverse, compute the inverse of a square block after removing k rows and columns, using the Schur complement.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Inverse of a matrix after a row-and-column removal</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/inverse_row_col_removed</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/inverse_row_col_removed</guid>
      <description>Update a known matrix inverse after removing one row and column, a trick from the Optimal Brain Compression paper, and when it beats re-inverting.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Nice Jacobians for normalizing flows</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/jacobians_for_nf</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/jacobians_for_nf</guid>
      <description>Autoregressive, affine and channel-wise transformations used in normalizing flows, and why their Jacobian determinants are easy to compute.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The Khatri-Rao Product Visualized</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/khatri_rao_product</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/khatri_rao_product</guid>
      <description>The Khatri-Rao product as a column-wise Kronecker product, its row-wise variant, and three properties with proofs, including the Hadamard Gram matrix.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The Kronecker Product Visualized</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/kronecker_product</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/kronecker_product</guid>
      <description>A visual guide to the Kronecker product, its lesser-known properties, its link to bilinear forms and products like CXBᵀ, and an unusual application.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Three interpretations of matrix products</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/matmul_animations</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/matmul_animations</guid>
      <description>Animations of three ways to read a matrix product: weighted sums of columns or rows, dot products, and a sum of outer products.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Relationship between AAᵀ and AᵀA</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/matrix_transpose_product</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/matrix_transpose_product</guid>
      <description>How the eigenvalues and eigenvectors of AAᵀ and AᵀA relate, derived from the SVD of A, with applications.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Minimization of squared norm of a vector sum</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/minimize_norm_of_vector_sum</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/minimize_norm_of_vector_sum</guid>
      <description>Find the x that minimizes the squared norm of a + Mx, with a visual example and a step-by-step solution.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A new solution to GPTQ quantization algorithm</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/new_proof_gptq</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/new_proof_gptq</guid>
      <description>A different, more geometric derivation of the GPTQ and Optimal Brain Compression weight update for post-training quantization, shown to be equivalent.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Permutation matrices - from shuffle to symmetry</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/permutation_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/permutation_matrices</guid>
      <description>How permutation matrices shuffle rows and columns, why their inverse is their transpose, and how they form a group, with animations.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Another proof of Fibonacci sequence in classic probability puzzle</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/proof_fibonacci_sequence_in_stick_lengths</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/proof_fibonacci_sequence_in_stick_lengths</guid>
      <description>A linear algebra proof that the chance no three of n random sticks form a triangle is the product of 1/Fᵢ over the Fibonacci numbers.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>SINQ — Sinkhorn-like iterations for quantization</title>
      <link>https://www.linearalgebraforprogrammers.com/blog/sinq</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/blog/sinq</guid>
      <description>The key idea in the SINQ paper, which normalizes rows and columns of a weight matrix in Sinkhorn-like iterations before quantization.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Introduction to an interactive linear algebra eBook</title>
      <link>https://www.linearalgebraforprogrammers.com/la/0_intro</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/0_intro</guid>
      <description>What this free eBook covers, who it is for, and how its runnable Python and interactive canvas help programmers learn linear algebra.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Weighted sums and weighted means</title>
      <link>https://www.linearalgebraforprogrammers.com/la/1_weighted_means</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/1_weighted_means</guid>
      <description>Linear algebra starts with weighted sums. See how scaling and adding numbers shows up in indexing, expected values, rotation and polynomials.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Vectors and the geometry of weighted sums</title>
      <link>https://www.linearalgebraforprogrammers.com/la/2_spacewalk</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/2_spacewalk</guid>
      <description>An array of numbers becomes a vector with a length and a direction. Scaling and adding vectors leads to matrix-vector multiplication.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>A matrix as a function on vectors</title>
      <link>https://www.linearalgebraforprogrammers.com/la/3_mat_vec_mul</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/3_mat_vec_mul</guid>
      <description>See a matrix as a function that maps vectors to vectors, turning lines into lines and circles into ellipses, with interactive visuals.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Matrix rank, linear independence and the inverse</title>
      <link>https://www.linearalgebraforprogrammers.com/la/4_rank_and_reversibility</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/4_rank_and_reversibility</guid>
      <description>What the rank of a matrix means, how it relates to linearly independent vectors, and when a matrix can be inverted, including the 2-by-2 inverse.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Barycentric coordinates and the point-in-triangle test</title>
      <link>https://www.linearalgebraforprogrammers.com/la/5_barycentric_coordinates</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/5_barycentric_coordinates</guid>
      <description>Use barycentric coordinates and a matrix inverse to check whether a point lies inside a triangle, then extend the idea to polygons.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Matrix-matrix multiplication, visualized</title>
      <link>https://www.linearalgebraforprogrammers.com/la/6_matrix_matrix_multiplication</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/6_matrix_matrix_multiplication</guid>
      <description>How to multiply two matrices, why it is associative but usually not commutative, and how to see it as composing and factorizing transformations.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Linear transformations and change of basis</title>
      <link>https://www.linearalgebraforprogrammers.com/la/7_linear_transformations</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/7_linear_transformations</guid>
      <description>Reach the same point with two different sets of vectors, see matrices as encoders and decoders, and learn how a change of basis works.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Polynomials are vectors in disguise</title>
      <link>https://www.linearalgebraforprogrammers.com/la/8_polynomial_curves</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/8_polynomial_curves</guid>
      <description>A polynomial is defined by its coefficients, so it is a vector. See how adding and scaling polynomials looks as curves.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Bezier curves with linear algebra</title>
      <link>https://www.linearalgebraforprogrammers.com/la/9_bezier_curves</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/9_bezier_curves</guid>
      <description>Build quadratic and cubic Bezier curves from polynomial vectors, and see why they stay inside the convex hull of their control points, in 2D and 3D.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>The dot product, angles and projections</title>
      <link>https://www.linearalgebraforprogrammers.com/la/10_dot_product</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/10_dot_product</guid>
      <description>The dot product of two vectors, how it encodes the angle between them, when it is zero, and its role in projections and matrix-vector multiplication.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Matrix transpose, row space and column space</title>
      <link>https://www.linearalgebraforprogrammers.com/la/11_matrix_transpose</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/11_matrix_transpose</guid>
      <description>What the transpose of a matrix is, how rows and columns each explain matrix multiplication, and how to visualize the row space and column space.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Rotation matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/la/12_rotations</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/12_rotations</guid>
      <description>Derive the 2D rotation matrix, see why its columns are perpendicular unit vectors, and why the transpose of a rotation matrix is its inverse.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Transforming normal vectors with a matrix</title>
      <link>https://www.linearalgebraforprogrammers.com/la/13_normal_vectors</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/13_normal_vectors</guid>
      <description>Why a normal vector stops being perpendicular when you transform it with the same matrix, and which matrix keeps it perpendicular.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Eigenvectors and eigenvalues, visualized</title>
      <link>https://www.linearalgebraforprogrammers.com/la/14_eigenvectors_eigenvalues</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/14_eigenvectors_eigenvalues</guid>
      <description>What happens when a matrix maps a vector to the same direction. The algebra and geometry of Ax = λx, with interactive 2-by-2 examples.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Eigendecomposition of a matrix</title>
      <link>https://www.linearalgebraforprogrammers.com/la/15_eigendecomposition</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/15_eigendecomposition</guid>
      <description>How a matrix with n distinct eigenvectors factors as VDV⁻¹, what that means geometrically, and how it makes powers of a matrix easy.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Eigenvectors of symmetric matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/la/16_eigenvectors_symmetric_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/16_eigenvectors_symmetric_matrices</guid>
      <description>Why a symmetric matrix has real eigenvalues and perpendicular eigenvectors, with a visual of eigenvectors as a matrix becomes symmetric.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Powers of a matrix and power iteration</title>
      <link>https://www.linearalgebraforprogrammers.com/la/17_powers_of_a_matrix</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/17_powers_of_a_matrix</guid>
      <description>Power iteration finds the largest eigenvalue and its eigenvector by applying a matrix again and again. See when and why it converges.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Fibonacci numbers with matrices and Binet's formula</title>
      <link>https://www.linearalgebraforprogrammers.com/la/18_fibonacci_numbers</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/18_fibonacci_numbers</guid>
      <description>Write the Fibonacci recurrence as a matrix, derive Binet's closed-form formula from its eigenvalues, and generalize to linear recurrences.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Markov matrices and stationary distributions</title>
      <link>https://www.linearalgebraforprogrammers.com/la/19_markov_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/19_markov_matrices</guid>
      <description>Model a Markov process as a matrix, find its stationary distribution, and see what the eigenvalues and eigenvectors of a Markov matrix tell you.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Projection matrix onto a subspace</title>
      <link>https://www.linearalgebraforprogrammers.com/la/20_projection_matrix</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/20_projection_matrix</guid>
      <description>Project a vector onto a line, a plane and any subspace, derive the projection matrix, and see why it is idempotent.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Symmetric matrix-vector product as projections</title>
      <link>https://www.linearalgebraforprogrammers.com/la/21_symmetric_matrix_vector_product</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/21_symmetric_matrix_vector_product</guid>
      <description>Multiplying a vector by a symmetric matrix is a weighted sum of projections onto its eigenvectors, shown with the eigendecomposition and a visual.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Positive semi-definite (PSD) matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/la/22_psd_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/22_psd_matrices</guid>
      <description>Symmetric positive semi-definite matrices have non-negative eigenvalues. Their properties, the meaning of xᵀMx, and uses in optimization.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Singular value decomposition (SVD), visualized</title>
      <link>https://www.linearalgebraforprogrammers.com/la/23_svd</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/23_svd</guid>
      <description>SVD answers one question: can a matrix map perpendicular vectors to perpendicular vectors? Derive and visualize it for matrices of any shape.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Dimension reduction with SVD and the covariance matrix</title>
      <link>https://www.linearalgebraforprogrammers.com/la/24_dimension_reduction</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/24_dimension_reduction</guid>
      <description>Store n-dimensional data points with fewer dimensions by taking the SVD of the covariance matrix, worked through on a small dataset.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>What to learn after this linear algebra eBook</title>
      <link>https://www.linearalgebraforprogrammers.com/la/25_what_next</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/la/25_what_next</guid>
      <description>Topics this eBook did not cover, such as solving linear equations and LU decomposition, and directions to learn and build more.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Linear operator</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/0_linear_operator</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/0_linear_operator</guid>
      <description>Matrix calculus starts with a small change in output for a small change in input. Linear operators, the product and chain rules, and worked examples.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Gradient of a function</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/1_gradient</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/1_gradient</guid>
      <description>The gradient of a scalar-valued function of a vector or matrix, the Frobenius inner product, trace identities, and gradients of the norm and determinant.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Jacobian of a function</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/2_jacobian</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/2_jacobian</guid>
      <description>The Jacobian of a vector-valued function, the Jacobian of a composition of functions, the Jacobian determinant and the Jacobian inverse.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Key matrix derivatives</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/3_key_derivatives</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/3_key_derivatives</guid>
      <description>Derivatives of singular values, elementwise functions, softmax and row-wise vector functions, each checked in Python.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Function is a DAG</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/4_function_as_dag</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/4_function_as_dag</guid>
      <description>View a function as a directed acyclic graph (DAG) with Jacobians on its edges, the idea behind how autodiff systems compute gradients.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Autodiff on a DAG</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/5_autodiff_on_dag</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/5_autodiff_on_dag</guid>
      <description>The chain rule on a computation graph, forward and reverse ways to compute gradients, and why full Jacobians are overkill for autodiff.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>VJP and JVP</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/6_vjp_and_jvp</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/6_vjp_and_jvp</guid>
      <description>Vector-Jacobian products (VJP) and Jacobian-vector products (JVP), directional derivatives, and forward-mode autodiff, with Python code.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Hessian and the bilinear form</title>
      <link>https://www.linearalgebraforprogrammers.com/series/matrix_calculus/7_hessian</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/matrix_calculus/7_hessian</guid>
      <description>Compute a full Jacobian matrix with batching, then the Hessian, why it is symmetric, its bilinear form, and how to calculate it in PyTorch.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Overview and permutation cycles</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/0_permutation_cycles</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/0_permutation_cycles</guid>
      <description>An overview of the series from permutations to Sinkhorn distances, starting with how to decompose a permutation into cycles.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Permutation spectra</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/1_permutation_spectra</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/1_permutation_spectra</guid>
      <description>The eigenvalues and eigenvectors of a permutation matrix come from its cycles, with each cycle adding roots of unity.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Circulant matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/2_circulant_matrix</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/2_circulant_matrix</guid>
      <description>Circulant matrices, their eigenvalues and eigenvectors, and their link to circular convolution and the convolution theorem.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Birkhoff polytope</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/3_birkhoff_polytope</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/3_birkhoff_polytope</guid>
      <description>The Birkhoff polytope is the convex hull of all n-by-n permutation matrices. Its edges, faces, and the points inside it.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Doubly stochastic matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/4_doubly_stochastic_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/4_doubly_stochastic_matrices</guid>
      <description>Properties of doubly stochastic matrices, majorization, and Muirhead's inequality, with Python checks.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Birkhoff-von-Neumann algorithm</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/5_birkhoff_von_neumann</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/5_birkhoff_von_neumann</guid>
      <description>An algorithm that writes any doubly stochastic matrix as a convex sum of permutation matrices, based on counting its zeros, with an example.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Matrix scaling</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/6_matrix_scaling</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/6_matrix_scaling</guid>
      <description>Sinkhorn's theorem that any positive matrix scales to a doubly stochastic one, proof of existence and uniqueness, and Sinkhorn iteration in Python.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Sinkhorn distance</title>
      <link>https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/7_sinkhorn</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/permutation_sinkhorn/7_sinkhorn</guid>
      <description>A derivation of dual Sinkhorn distances for entropy-regularized optimal transport, using Lagrange multipliers.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>Rotation is linear</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/0_intro</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/0_intro</guid>
      <description>Start of a series on rotations, from 2D rotation matrices to quaternions and Lie algebra. Why rotation is linear and preserves lengths and angles.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>2D rotations</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/2d_rotations</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/2d_rotations</guid>
      <description>Describe a 2D rotation with a rotation matrix or with complex numbers and the complex exponential.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>2. 3D rotation matrices</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/3d_rotation_matrices</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/3d_rotation_matrices</guid>
      <description>Why 3D rotations do not commute, intrinsic and extrinsic rotations, and Euler angles, with Python examples using scipy.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>5. Geometric algebra (aka Clifford algebra)</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/geometric_algebra</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/geometric_algebra</guid>
      <description>The geometric product and bivectors, and how geometric algebra describes reflections and rotations in 2D and 3D, with the Python clifford library.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>6. Lie groups and Lie algebra</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/lie_algebra</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/lie_algebra</guid>
      <description>Rotations form the Lie group SO(n). Derive its Lie algebra of skew-symmetric matrices for 2D and 3D rotations, with Python code.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>3. Quaternions</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/quaternions</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/quaternions</guid>
      <description>Quaternion algebra, how to rotate a vector with a quaternion, visuals of quaternion rotations, and the matrix form of a quaternion.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
    <item>
      <title>4. Thinking of rotations in terms of reflections</title>
      <link>https://www.linearalgebraforprogrammers.com/series/rotations/rotation_as_reflections</link>
      <guid isPermaLink="true">https://www.linearalgebraforprogrammers.com/series/rotations/rotation_as_reflections</guid>
      <description>Reflection matrices around lines and hyperplanes, and how any rotation is two reflections, shown algebraically and in 2D and 3D.</description>
      <pubDate>Sat, 24 Oct 2026 00:00:00 GMT</pubDate>
    </item>
  </channel>
</rss>
