automl21/scs_neural/solver/neural_scs_batched.py [667:682]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        x_expand, y_expand = x.unsqueeze(2), y.unsqueeze(2)
        prim_res = (A @ x_expand).squeeze() + s - b
        dual_res = (A.transpose(1, 2) @ y_expand).squeeze() + c

        orig_b, orig_c = b, c

        if multi_instance.scaled:
            D, E, sigma, rho = multi_instance.D, multi_instance.E, \
                multi_instance.sigma, multi_instance.rho
            prim_res = (D * prim_res) / sigma
            dual_res = (E * dual_res) / rho
            orig_b = multi_instance.orig_b
            orig_c = multi_instance.orig_c

        prim_res = prim_res / (1 + orig_b.norm(dim=1).unsqueeze(1))
        dual_res = dual_res / (1 + orig_c.norm(dim=1).unsqueeze(1))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



automl21/scs_neural/solver/neural_scs_batched.py [742:757]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        x_expand, y_expand = x.unsqueeze(2), y.unsqueeze(2)
        prim_res = (A @ x_expand).squeeze() + s - b
        dual_res = (A.transpose(1, 2) @ y_expand).squeeze() + c

        orig_b, orig_c = b, c

        if multi_instance.scaled:
            D, E, sigma, rho = multi_instance.D, multi_instance.E, \
                multi_instance.sigma, multi_instance.rho
            prim_res = (D * prim_res) / sigma
            dual_res = (E * dual_res) / rho
            orig_b = multi_instance.orig_b
            orig_c = multi_instance.orig_c

        prim_res = prim_res / (1 + orig_b.norm(dim=1).unsqueeze(1))
        dual_res = dual_res / (1 + orig_c.norm(dim=1).unsqueeze(1))
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



