Hi guys, as mentioned in this post 1 I have some tensor operations and a vector among them contains  the parameters I want to optimise.
That said, I’m having troubles in propagating the requires_grad through these simple operations.
Every time the forward is called v is computed as:
 v = self.sym @ self.v_short + self.fixed
where self.v_short is a torch.nn.Parameter() vector and it’s exactly what I want to train, while self.sym and self.fixed are  torch.tensor(), respectively a constant matrix and a constant vector (hence, no gradient and training needed). As I was expecting, self.sym and self.fixed have requires_grad=False, while  self.v_short has requires_grad=True.
However, for some reasons that I cannot figure out, v has requires_grad=False.
In the trying of figuring out what the problem was, I came across multiple posts -like this one- where was said that:

if a leaf node  requires_grad , all subsequent nodes computed from it will automatically also  require_grad

which makes sense! And I’m wondering if you could explain why this is not happening for me?
Thx in advance for helping!