How do you invert a non-invertable matrix with an epsilon?

107 Views Asked by At

The inverse of a Y-paramter matrix (admittance, used in RF for wave behavior) represents a Z-parameter matrix (impedance, ie, $Z=Y^{-1}$). Unfortunately the math library we are using thinks the provided Y-matrix determinant is nearly 0, and therefore non-invertible. Really it is just close to zero, but really is invertible.

I would like to "tweak" the Y matrix before and after the inversion to get the library above its threshold of floating-point "zero" (probably 1e-6).

This discussion talks about inverting a non-invertible matrix by adding an epsilon, but it doesn't extrapolate on the method. I'm guessing its something like this when $\epsilon$ is small:

$ (A + \epsilon I)^{-1} \approx A^{-1}$

Its okay if the resulting matrix is nearly singular.

Questions:

  • Can you remove $\epsilon$ after the inversion?
  • If so, how?

More background:

Often Y/Z matrices are 2x2, but could be bigger. Y and Z matrices are obtained from S-parameter matrices, typically from real-life network analyzer measurements, so there is always noise in the matrix and adding a small amount of additional error isn't a big deal if we can keep it small or remove it after the conversion.