Skip to main content
1 of 2
Marc Kjerland
  • 163
  • 1
  • 2
  • 10

The log transform turns scalar multiplication into addition. Is there an analogous transformation for matrix-vector multiplication?

Napier's method of logarithms and corresponding tables of logarithms provided a important tool to simplify hand computation by converting multiplication and division to equivalent problems of addition and subtraction.

Suppose I have a linear equation for $x$:

$$ a x = b $$

While it would be overkill, if I wanted to avoid division by $a$ I could log transform both sides and use the convenient property converting products to sums

$$ \log(a) + \log(x) = \log(b) $$

then subtract $\log(a)$ and express the solution as

$$ x = \exp(\log(b) - \log(a)) .$$

Consider the matrix equation

$$ A X = B $$

where $A, X, B$ are square matrices. Under certain conditions we can compute logarithms of square matrices; the convenient products-to-sums property only holds for matrices which commute, but if A commutes with both X and C then we have

$$ \log(A) + log(X) = \log(B) $$

$$ X = \exp(\log(B) - \log(A)) $$

What about when $x$ is a vector? Is there an analogous method to solve the system $$ A \vec{x} = \vec{b} \ \ \ ?$$

I don't believe it's possible to exponentiate a vector, let alone take its logarithm. Eigenvalue decomposition would be a natural choice to separate the equations, but then you still have to divide. Perhaps there is another transformation that can be applied, something between the simple logarithm and the Laplace/Fourier/etc transforms so useful in differential equations.

I'm aware of iterative methods to solve linear equations without computing $A^{-1}$. I'm looking for a pre-processing transformation (which might itself be very complicated!) to convert the equation into something trivially easy to solve (say, for a black box computer which only knows addition & subtraction), after which I can apply the inverse transformation to solve the original equation.

Marc Kjerland
  • 163
  • 1
  • 2
  • 10