hi, great job! But I have two concern: 1. detach torch.abs(f) maybe more faster and reasonable? 3. f_hat is a discontinuous function. How does it work?