Creat a function based on Yi's code, pair_align_functions_expomap(). Replace computationally intensive subroutines with Rcpp code, achieving about a 10x speedup. Other code has not been modified, and is still messy, but is probably not causing any significant slowdowns in performance.
Some issues in the original code that I did not address but could be improved:
time (x) gets passed around along with the actual function values (y) as lists. This could be simplified.
The original code has many unnecessary sorting operations. I replaced most sorts with C++, but I believe most of these can be eliminated
The main function still relies heavily on Yi's original functions for basic operations. These should be integrated more tightly with existing fdasrvf package functions (e.g. replace Q and Qinv)
Creat a function based on Yi's code, pair_align_functions_expomap(). Replace computationally intensive subroutines with Rcpp code, achieving about a 10x speedup. Other code has not been modified, and is still messy, but is probably not causing any significant slowdowns in performance.
Some issues in the original code that I did not address but could be improved: