08-08-2023 02:00 PM
Hello,
I hope the questions I have are not too obvious.
I am trying to fit a DRT aka distribution of relaxation times from impedance data. It requires the use of Tikhonov (or other) techniques because it is an ill conditioned system.
However, I did some stuff, see the attached vi (with an image of the problem I am trying to solve), the results are quite OK, but the Tikhonov parameter that I need to use is much larger than what other programs do.
If you can take a look at my vi, I would be grateful if you can spot an error that leads me to this.
I was trying to calculate also an L-curve, but it's not really an L curve... I may do something wrong.
In addition, I have another question : is there a way to force the solutions to be positive ? (there is no physical meaning for a negative value)
Thanks for any clues,
Regards
Solved! Go to Solution.
08-10-2023 11:18 AM
Interesting problem. There is no direct solution for non-negative Tikhonov regularization, but it converges really fast. On my old laptop, direct takes about 500microseconds and non-negative 2.5ms for your data.
Of course your Zi is almost too clean. It would be more interesting to add a little bit of noise.
I have written a full featured version where many options can be set, but it is not public yet. Ultimately, it will go on Github. It is a core component of my program LongDistances and algorithmic details are outlined here)
Here's how it looks with your data:
Note that with e.g. 10k noise added to your Zi, the non-negative is much more stable than the plain version:
08-10-2023 11:44 AM
Hi
Thanks a lot.. To be honest I was lurking for your answer as I found, via Google, about your EPR code. The data I put is simulated, just to see how it works...
Your result is just brilliant (looks too good 🙂 ) !
Would it be possible to get your routine ? (obviously I will credit your work !)
I am working on a package for impedance analysis that is free (I can send you a link in private if you want to see it)
With regards
08-11-2023 04:06 AM
Hi
Finally, I have found a description of a method in a paper here
https://arxiv.org/abs/1307.7345
and I implemented it; it does not look as good as yours but it's better than negative probability 🙂
I have to play a bit with it, it requires an additional parameter in the Tikhonov regularization
thanks for help
Regards
08-11-2023 08:03 AM
To be honest, my formal linear algebra education is from the seventies and I always have a hard time reading these terse formulas. My method is extremely simple and fast, and since it works well for my problems, I have not really tried to improve it. In my program, Tikhonov is only used for instant guesses while the real code analysis uses Levenberg-Marquardt where I can add co-optimize additional parameters, such as background coefficients.
My nonnegative Tikhonov was mostly developed from scratch directly in LabVIEW by just playing around with some simple ideas (i.e. experimental math instead of theoretical math 😄 ) and I am not sure if it has been described elsewhere. This is one of the reasons it's not public yet.
08-11-2023 08:11 AM
well, your experimental math looks better than mine 🙂