code: def rsdl_rn(self, AX, Y):
          
  
          # The primal residual normalisation term is
          # max( ||A x^(k)||_2, ||B y^(k)||_2 ) and B = -(I I I ...)^T.
          # The scaling by sqrt(Nb) of the l2 norm of Y accounts for the
          # block replication introduced by multiplication by B
          return max((np.linalg.norm(AX), np.sqrt(self.Nb) * np.linalg.norm(Y)))
docs: Compute primal residual normalisation term.