csaps-cpp icon indicating copy to clipboard operation
csaps-cpp copied to clipboard

support for complex numbers data smoothing

Open montanaviking opened this issue 2 years ago • 1 comments

I was wondering if one can use csaps-cpp to smooth an array of complex numbers (for the y-data)? I believe one could split the complex data type y-arrays into two arrays, real and imaginary parts (doubles), and smooth them independently, but, it would likely be more convenient and performant to be able to just define the y-array as an Eigen::ArrayXcd (array of complex) if that were possible. Could this be done by templating some of your methods and adding an alias to Eigen::ArrayXcd in your code?

By the way, thanks so much for this code! Also many thanks for building your data types upon Eigen3. I find it MUCH easier to use libraries which are either build on the C++ STL for arrays or something nearly standard such as Boost or Eigen3 and your code apparently fits this.

montanaviking avatar Mar 09 '23 16:03 montanaviking

Hello @montanaviking,

csaps-cpp is not currently being actively developed. Python version uses vectorization for multivariate smoothing. Currently, csaps-cpp can only do univariate smoothing, not multivariate with vectorization support.

For now, I have no plans to develop the C++ version of the package. In any case, contributions are welcome.

espdev avatar Mar 11 '23 18:03 espdev