Manual
Usage
This project uses ComputableDAGs.jl, which uses RuntimeGeneratedFunctions.jl. The latter requires an initialization step, so when using this project, make sure to have
using RuntimeGeneratedFunctions
RuntimeGeneratedFunctions.init(@__MODULE__)
somewhere in the preamble of your code or at the beginning of your REPL session. Otherwise the function generation will not work.
This package currently exports two functions, graph
and number_of_diagrams
. Both of these take a QEDbase.AbstractProcessDefinition
as input. graph
returns a ComputableDAGs.DAG
representing the computation of the squared matrix element for QEDcore.PhaseSpacePoint
s. number_of_diagrams
is a utility function that returns the number of valid tree-level Feynman diagrams for the given process.
For usage examples, please refer to the examples section of the docs.
Testing
This project can be tested using julia's Pkg.test()
. Additionally, the behavior can be modified via some environment variables:
TEST_<GPU> = 1
: Enables GPU tests for a GPU vendor, available areCUDA
,AMDGPU
,ONEAPI
, andMETAL
. Disabled by default. Make sure the relevant libraries are installed on the executing machine.TEST_CPU = 0
: Disables CPU tests. Useful when you only want to run GPU tests, for example in the CI. Enabled by default.LARGE_TESTS = 1
: Whether to run large tests. Some tests can be slow and can be enabled or disabled with this variable. This is set toCI
by default, which enables them locally and disables them in the CI (i.e., when theCI
environment variable is set).