trah_native Module

    Algorithm: trust-region Newton. Each macro step solves the
    subproblem  min_p  g.p + 1/2 p.H p  s.t. |p| <= Delta  by the
    Steihaug-Toint preconditioned conjugate-gradient method (preconditioner
    M = diag(h_diag)); the step is accepted/rejected and Delta updated from
    the ratio of actual to predicted energy reduction. H.p is formed matrix-
    free via calc_h_op (a Fock-like contraction); H is never built.

    Convention: calc_g_h / calc_h_op return half the true orbital gradient /
    Hessian (same as otr_interface, which scales by 2), so we scale by 2.

Note

E1 implementation (CG-Steihaug + basic trust control). Hardening of the micro-solver for pathological/negative-gap cases (Jacobi-Davidson, restarts, random trial vectors) is Phase-E2.