32f27225

By: ValentinHirschi <valentin.hirschi@gmail.com>

complete d-dimensional UV algebra in both Vakint input modes

Preserve the conservative Laurent depth, reject analytic gamma5 before cancellation, and finish projector-induced Dirac contractions before scalar integration truncates the result. Add projected and whole-numerator routes with shared dimensional closure and exact parity tests.

User instructions (verbatim):

Also note tha tin general my statement about the numerator not being expanded always has the one exception of that of the subgraph being integrated over analytically, there the expansion is necessary and desired precisely because it needs to be done in d-dimension, not 4, so it's necessary.

the tensor reduction in vaking is done in d-dimension, but any trace of a closed fermion loop for instance, would need to be done by gammaloop before supplying the input to vakint, and that trace will need to be computed in d-dimension!

Ok, use multiple subagent to thoroughly edit and vet the d-dimensional algebra needed within the complete analytically integrated subgraph. Numerator expansion is ok there, but we must really never afford to drop a d-dimensional term, i.e. the complete epsilon-expansion must be fully resolved before any truncation happen.
If a gamma5 is found anywhere in the UV subgraph being analytically integrated over for now, error cleanly (this is out of scope for now)

The complete numerator of the UV subgraph being integrated over by vaking can be expanded, it's fine, it needs to because it must be done in d-dimension. Any gamma5 within that UV subgraph should error cleanly for now (out of scope).
I believe there is no guarantee for now that he whole algebra is done in (d=4-2eps)-dimension within that subgraph, in particular after injecting vakint's result in there.
Fix and review this thoroughly with subagents, and also tell me why in the first place in this PR did you change the way you supplied the inputs to vakint (no longer one monolithic input).

I don't want you to tune the depth of vakint epsilon order asked for, just always set it to the more conservative value; even if there is an order-epsilon prefactor, it's ok to overshoot the target; it's ok the truncation will eventually take care of this. So there was a conservative bound before which you should keep as-is now. Confirm you understand.

Also I actually fear that you do something wrong here, so I want you to add a new generation mode in the uv settings, called "project_onto_tensor_integrals" (set to true by default, in which case you do what you're doing now), but then when set to false, you should do essentially the equivalent of what was done before (look into the branch you're based on to verify how it was done), i.e. pass the whole integrand at once to vakint at once.
In both cases I want you to make sure d-dimensional algebra is done consistently, and also add a couple tests to verify that both modes agree.

Continue as planned, but rename the option "`project_onto_tensor_integrals`" to "`project_integrated_uv_cts_onto_tensor_integrals`"

Also make sure you have all local gates passing before commiting+pushing and monitoring the PR at a 30min interval rate.

Continue as planned, but make sure that the pySecDec tests are really just run now because you modified something related to them, but they will not appear in CI or in any automatic test coverage in the future.