Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
fcd8218
optimise pure gluon amplitudes by unrolling the 4-gluon vertex
oliviermattelaer Aug 4, 2026
5c9cdb3
record why the quartic currents cannot be summed as they stand
oliviermattelaer Aug 4, 2026
1c1722a
drop the auxiliary line generation, keep the diagram set intact
oliviermattelaer Aug 4, 2026
98d288f
add reroot_diagram, turning a diagram around its final vertex
oliviermattelaer Aug 4, 2026
3b3ed9e
add the plan for the pure gluon amplitude optimisation
oliviermattelaer Aug 4, 2026
25fc6d1
enforce the seed rule inside diagram generation
oliviermattelaer Aug 4, 2026
7da06ba
reconstruct the full diagram set by unrolling the seed
oliviermattelaer Aug 4, 2026
0ad9327
leave the seed rule off for decay chains
oliviermattelaer Aug 5, 2026
18fa381
record what steps 1-5 measured, and why the current sum is blocked
oliviermattelaer Aug 5, 2026
8e634cf
sum the quartic current into the cubic one instead of the amplitude
oliviermattelaer Aug 5, 2026
d8f21b6
record that the current sum lands at the amplitudes
oliviermattelaer Aug 5, 2026
bfbf910
measure what the second substitution would really be worth
oliviermattelaer Aug 5, 2026
29b0c67
carry the current sum into madevent
oliviermattelaer Aug 5, 2026
06ad287
record the madevent port and what it does to AMP2
oliviermattelaer Aug 5, 2026
ceba0c4
measure the integration both ways: no effect either side
oliviermattelaer Aug 5, 2026
e93dfa1
carry the current sum into madmatrix
oliviermattelaer Aug 5, 2026
1ae5c34
record the madmatrix port and the slot cost it exposes
oliviermattelaer Aug 5, 2026
5b421bc
recycle the slots the current sums take
oliviermattelaer Aug 5, 2026
5210b17
record the slot recycling and what is left for madmatrix
oliviermattelaer Aug 5, 2026
34486c0
measure memory and speed for g g > N g, N=2..5, in both backends
oliviermattelaer Aug 5, 2026
fefb115
drop the unit test output that got committed by mistake
oliviermattelaer Aug 5, 2026
7c446c2
measure what the diagram order is worth, and why it is not shipped yet
oliviermattelaer Aug 5, 2026
cd18597
add the madmatrix seven gluon row
oliviermattelaer Aug 5, 2026
65c457f
check the colour structure when pairing a quartic current with a cubi…
oliviermattelaer Aug 5, 2026
2c34b7c
find why the reordering breaks madmatrix: an antisymmetric current me…
oliviermattelaer Aug 5, 2026
d80a7a0
table the memory and speed across the three states of the branch
oliviermattelaer Aug 5, 2026
c5624c1
build the unrolled vertices with their legs in a canonical order, and…
oliviermattelaer Aug 5, 2026
473d04f
update the tables for the canonical leg order and the reordering
oliviermattelaer Aug 5, 2026
4be9871
search the diagram order for the slot count, and keep the simple one
oliviermattelaer Aug 5, 2026
5e5d7b3
turn the four gluon switch into a set option, and add the slots mode
oliviermattelaer Aug 5, 2026
7f50f03
let each output pick the diagram order, from the me exporter
oliviermattelaer Aug 5, 2026
b4aecfd
record why auto cannot be the default yet: it breaks fks
oliviermattelaer Aug 5, 2026
5a2bb1d
make the four gluon merging safe for NLO, and keep it opt-in
oliviermattelaer Aug 5, 2026
15cb14e
record the scan for a fourth consumer, and what it bounds
oliviermattelaer Aug 6, 2026
f128aa6
measure all three modes on both series, memory included
oliviermattelaer Aug 11, 2026
f7e3e03
gate the seed rule on the multiplicity, for auto
oliviermattelaer Aug 11, 2026
fbb5d2b
recycle the AMP array, the way the wavefunctions already are
oliviermattelaer Aug 11, 2026
e23e413
re-measure the sweep now that the AMP array is recycled
oliviermattelaer Aug 11, 2026
78a801f
check the sweep against a process with little to merge
oliviermattelaer Aug 11, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -79,3 +79,6 @@ nsqso_born.inc
docs/build/
tests/input_files/IOTestsComparison_BackUp/
tests/input_files/IOTestsComparison/**/*.BackUp

# output of ./tests/test_manager.py
UNITTEST_proc/
40 changes: 40 additions & 0 deletions aloha/template_files/aloha_functions.f
Original file line number Diff line number Diff line change
Expand Up @@ -1923,3 +1923,43 @@ subroutine CombineAmpS(nb, ihels, iwfcts, W1, Wall, Amp)
enddo
return
end

subroutine sumw_1(w1, w2, wout)
c
c Sum two currents standing for the same off shell line: the four
c gluon current and the pair of three gluon vertices it factorises
c into carry the same colour factor, so the amplitude reading the sum
c gets both contributions from a single call. See
c HelasMatrixElement.get_quartic_current_sums.
c
c The two share their momentum, so only the wavefunction is added and
c everything else is taken over from the first one.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) + w2%W(:)

return
end


subroutine subw_1(w1, w2, wout)
c
c As sumw_1, for the contributions which enter with a minus sign.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) - w2%W(:)

return
end
40 changes: 40 additions & 0 deletions aloha/template_files/aloha_functions_fd.f
Original file line number Diff line number Diff line change
Expand Up @@ -2240,3 +2240,43 @@ subroutine define_gauge_dir(q, n)
end



subroutine sumw_1(w1, w2, wout)
c
c Sum two currents standing for the same off shell line: the four
c gluon current and the pair of three gluon vertices it factorises
c into carry the same colour factor, so the amplitude reading the sum
c gets both contributions from a single call. See
c HelasMatrixElement.get_quartic_current_sums.
c
c The two share their momentum, so only the wavefunction is added and
c everything else is taken over from the first one.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) + w2%W(:)

return
end


subroutine subw_1(w1, w2, wout)
c
c As sumw_1, for the contributions which enter with a minus sign.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) - w2%W(:)

return
end
40 changes: 40 additions & 0 deletions aloha/template_files/aloha_functions_loop.f
Original file line number Diff line number Diff line change
Expand Up @@ -3042,3 +3042,43 @@ subroutine olxxxx(p,ffmass,nhel,nsf,fo)
c
return
end

subroutine sumw_1(w1, w2, wout)
c
c Sum two currents standing for the same off shell line: the four
c gluon current and the pair of three gluon vertices it factorises
c into carry the same colour factor, so the amplitude reading the sum
c gets both contributions from a single call. See
c HelasMatrixElement.get_quartic_current_sums.
c
c The two share their momentum, so only the wavefunction is added and
c everything else is taken over from the first one.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) + w2%W(:)

return
end


subroutine subw_1(w1, w2, wout)
c
c As sumw_1, for the contributions which enter with a minus sign.
c
use ALOHA_OBJECT
implicit none
type(aloha) w1
type(aloha) w2
type(aloha) wout

wout = w1
wout%W(:) = w1%W(:) - w2%W(:)

return
end
Loading
Loading