In my application I am using a few complex-values matrices. Working in Linux I am using the armadillo library for the matrix operations.
The operations are basically simple, just matrix - matrix additions and multiplications and some matrix-vector multiplications.
The real complex operation, only once per activation of the module, is taking the inverse of a complex-valued matrix (order app 60).
In armadillo there is a simple function to do that, as far as I can see
inverting a matrix with complex elements is far more complex that
inverting a real-values matrix
There is a reference to computing the inverse with real-valued
matrices, (A + jB)^-1 = (A + B * A^-1 * B)^-1 - j (B + A * B ^-1 * A)^-1),
but for whatever reason, the results I get in my application are less than
when using armadillo and do not give the right results
While armadillo is - more or less - a standard package in common Linux distros, there does not seem to be a useable 32 bit dll for use with windows.
My application - something to do with software defined radio - runs obviously under Linux and is cross compiled for Windows (mingw64-32), (I do not develop
under Windows). I distribute the software (it is free, GPL-V2), for Linux the
source code, for Windows an installer. The installer would contain the
required dll's.
The multiplication and addition, transposition etc are straightforward, so I do not need a library for that, only for the inversion.
So, the question is
a. is there a precompiled library with a dll for use under 32 bits windows that provides some Linear Algebra functions, such as matrix inversion, but for
matrices with complex elements. The order of the matrices is depending on
input and configuration, around 60 to 70.
b. otherwise is there functioning C or C++ code to do such operation?
Any pointers, links, code to solve the problem is appreciated
Thanks in advance
jan
What I have tried:
As said, under Linux I am using armadillo, For windows I need either (a link to) sources for an inverter for complex-valued matrices, or a link to a dll that implements an inverter for complex-valued matrices