Skip to content

Conversation

@jodavies
Copy link
Collaborator

@jodavies jodavies commented Nov 21, 2025

With this change, the diagram filtering is compatible with qgraf's output.

This passes many tests (to come, for the test suite) of single keywords.

Currently there is a difference, to be resolved, when specifying both of a "dual option". For example, specifying "onepi + onepr" in qgraf results in 0 diagrams. In FORM the options cancel each other, and everything is generated. A change to grcc is required to resolve this.

Also to discuss:

  • what should WITHSYMMETRIZE do? GRCC has both GRCC_OPT_SymmInitial and GRCC_OPT_SymmFinal flags

2aba64b itself reverted diawrap.cc to an older
version. Undo those changes.

Additionally remove all diagrams tests, these will be replaced later. But for
now we need a commit which passes the test suite.
@jodavies
Copy link
Collaborator Author

jodavies commented Nov 26, 2025

Updated:

  • print an error and terminate, if conflicting options are specified, for eg `onepi_'+`onepr_'
  • "external" particles set the `CHECKEXTERN' flag (and it is not available as a pre-processor variable), the result passes some comparisons with qgraf

Still to do:

  • should `withsymmetrize_' enable both GRCC_OPT_SymmInitial and GRCC_OPT_SymmFinal? Should we have two FORM keywords to control them separately?
  • test floop
  • due to the way the options are passed, one has to be careful not to give, eg, `onepi_' + `onepi_' -- I am not sure there is an easy way to avoid this issue without changing how the options work completely.
  • `withonepisets_', `withblocks_' "work" in that they change the output, but I don't know if it is correct
  • `withedges_' presumably can be easily crosschecked against qgraf

I have validated against qgraf at 0,1,2,3 loops, with all pairs of non-conflicting filtering keywords, for:
Phi34:

  • phi - phi
  • phi - phi phi
  • phi phi - phi phi

Qcd:

  • qua - qua
  • glu - glu
  • gho - gho
  • qua - qua glu
  • glu - glu glu
  • glu glu - glu glu

@coveralls
Copy link

coveralls commented Nov 26, 2025

Coverage Status

coverage: 53.147% (-4.0%) from 57.118%
when pulling 2fc5602 on jodavies:qgraf-keywords
into a405343 on form-dev:master.

@jodavies jodavies force-pushed the qgraf-keywords branch 2 times, most recently from 11d6102 to 81522af Compare December 3, 2025 11:54
@jodavies
Copy link
Collaborator Author

jodavies commented Dec 3, 2025

Small update:

  • remove `withsymmetrize_', introduce `withsymmetrizei_' and `withsymmetrizef_' to independently control GRCC_OPT_SymmInitial and GRCC_OPT_SymmFinal
  • tested: vacuum graphs can be generated at >=2 loops by supplying empty sets for incoming and outgoing, and the number of topologies generated agree with FeynGraph for "PHI3456" at 2-6 loops.
  • many of the above stated tests also pass at 4 loops, some take too long and timed out. None which finish, fail.

Qgraf has the dual option "notfloop": we could add this also, with a small change to grcc.cc. There is no reason not to do this, I suppose, just in case someone wants it.

I noticed that generating 6 loop vacuum graphs takes a surprisingly long time. Much longer than 6L propagators, for eg. Below 6 loops there is no obvious difference.

These pass a large number of comparisons with qgraf, using
@tueda's "qgraf.frm" comparison procedures.
@jodavies
Copy link
Collaborator Author

jodavies commented Dec 4, 2025

Update:

  • added notfloop_

Now there are open questions regarding exposing GRCC_OPT_Block in the FORM interface and what exactly it corresponds to in Qgraf, and signs assigned when graphs have four-fermion vertices.

But I would say that those questions can be for another PR, and this is now ready to merge so @tueda can add tests to the testsuite using these filtering keywords.

@jodavies jodavies requested a review from tueda December 4, 2025 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants