The Cramér-Rao bound (CRB) is a fundamental bound in estimation theory. "Estimation" refers here to finding the parameters of a random process.
The CRB shows that for estimators (algorithms) that on average estimate a the correct value (unbiased estimators), there is a lower bound on the accuracy. Accuracy refers here to the variance (or equivalently to the mean squared error).
So, whatever fancy unbiased algorithm you will come up with, its average variance cannot be lower than the CRB.
So, the CRB tells you something about your measurement setup at hand. It can even show possibilities to improve estimation of certain parameters without being specific about the used algorithm.
The multi-parameter CRB gives a kind of "minimal" covariance matrix whose uncertainty ellipsoid is always inside the uncertainty ellipsoid of any unbiased multi-parameter estimator.
I am using type hints in Python as much as possible for my hand-coding. And it catches a lot of bugs (especially during code refactoring) that I would not have noticed so easily.
> And it catches a lot of bugs (especially during code refactoring) that I would not have noticed so easily.
Can you give me an example of a recent experience with this? I've been working without type annotations for many, many years, and I keep finding that every time I find a bug I just don't feel like type annotations would have helped catch it, at least not to an extent that justifies the effort to put them in in the first place.
I'm not sure how many bugs type hinting in Python finds.
But it is another guardrail that you are giving AI. When you have the AI use ty (and it runs almost instantaneously) after every edit, you are stacking the odds in you favor. There's no reason not to do this.
If you define frequency as the derivative of the phase with respect to time, then you also have an instantaneous frequency which (at least formally) also has Hz as unit - even though it does not necessarily describe some real periodicity.
To measure discrete events, I would prefer as unit "events per second" instead of Hz.
Yeah, that is really something that bothers me from time to time. For instance, in communications we count symbols per second and people still use the unit Hz. But, as it was said before, Hz is revelations per second.
There is a problem in general: Units do not refer to what they count. For instance, when you have dashed road markings and you want to quantify the length of the dashes per road length you get as unit "meters per meters". And then people go and say this is unitless since the units "cancel". But for me, they do not: It stays "dash meter per road meter".
If one needs to describe (and maybe compress) functions or data on a sphere, spherical harmonics are really a thing.
An alternative would be to construct a new function (or matrix) that is not only periodic in azimuth, but also in elevation (i.e., extend elevation to a full circle -pi to +pi). Then, one can simply compute two independent Fourie r transforms: along azimuth and along elevation. [1]
The same idea works on matrices using the Discrete Fourier transform (DFT/FFT).
However, you then have to accept things like that your data points are all equal at the poles.
The "zero copy substring" in C is in general not a valid C string since it is not guaranteed to be zero-terminated. For both languages one could define a string view as a struct with a pointer plus size information. So, I do not see why Pascal is worse in this regard than C.
Because you may have fun working in a scientific environment and doing research.
I liked my job at the university - independent of the final PhD. I enjoyed what I was doing. Most of the time I also enjoyed writing my dissertation, since I was given the opportunity to write about my stuff. And mostly I could write it in a way how I felt things are supposed to be explained.
The CRB shows that for estimators (algorithms) that on average estimate a the correct value (unbiased estimators), there is a lower bound on the accuracy. Accuracy refers here to the variance (or equivalently to the mean squared error).
So, whatever fancy unbiased algorithm you will come up with, its average variance cannot be lower than the CRB.
So, the CRB tells you something about your measurement setup at hand. It can even show possibilities to improve estimation of certain parameters without being specific about the used algorithm.
The multi-parameter CRB gives a kind of "minimal" covariance matrix whose uncertainty ellipsoid is always inside the uncertainty ellipsoid of any unbiased multi-parameter estimator.