Module matrix_equations

Module matrix_equations 

Source
Expand description

Matrix equation solver for noncommutative algebra

Handles equations involving matrices, operators, and quaternions where multiplication order matters. Distinguishes between left and right division.

§Mathematical Background: Why Order Matters in Matrix Equations

In commutative algebra (scalars), multiplication order doesn’t matter:

  • a * b = b * a
  • a * x = b can be solved as x = b / a = b * (1/a) = (1/a) * b

But in noncommutative algebra (matrices, operators, quaternions), order is critical:

  • A * B ≠ B * A (in general)
  • Division must distinguish LEFT from RIGHT

§Left Division: A*X = B

To solve A*X = B for X, we multiply both sides by A^(-1) on the LEFT:

A*X = B
A^(-1) * (A*X) = A^(-1) * B    // Multiply left by A^(-1)
(A^(-1) * A) * X = A^(-1) * B  // Associativity
I * X = A^(-1) * B             // A^(-1)*A = I
X = A^(-1) * B                 // Solution

§Right Division: X*A = B

To solve X*A = B for X, we multiply both sides by A^(-1) on the RIGHT:

X*A = B
(X*A) * A^(-1) = B * A^(-1)    // Multiply right by A^(-1)
X * (A*A^(-1)) = B * A^(-1)    // Associativity
X * I = B * A^(-1)             // A*A^(-1) = I
X = B * A^(-1)                 // Solution

§Why We Can’t Swap Order

In general, A^(-1) * B ≠ B * A^(-1), so:

  • Solution to A*X = B is X = A^(-1)*B (NOT B*A^(-1))
  • Solution to X*A = B is X = B*A^(-1) (NOT A^(-1)*B)

§Real-World Examples

Linear Algebra: Solving A*x = b for vector x

  • A is coefficient matrix
  • x is unknown vector
  • b is result vector
  • Solution: x = A^(-1)*b (left multiplication)

Quantum Mechanics: Eigenvalue equations H*ψ = E*ψ

  • H is Hamiltonian operator
  • ψ is wavefunction (eigenstate)
  • E is energy (eigenvalue, commutative)

Quaternions: 3D rotations q*v*conj(q)

  • q is rotation quaternion
  • v is vector (as quaternion)
  • Order matters: q*v ≠ v*q

Structs§

MatrixEquationSolver
Matrix equation solver specialized for noncommutative types