x @ R_p will apply a matrix multiplication with the shapes:
[128, 2] @ [2, 2] = [128, 2]

which are the expected shapes.
However, L_p @ x tries to execute:
[1, 1] @ [128, 2]

which is invalid for a matmul.
I’m not sure what the expected output shape is, but assuming that you would like to broadcast L_p in the batch dimension, you could use:
out = L_p.expand(x.size(0), 1, -1) @ x.unsqueeze(1)

which would create an output of [128, 1, 2].