Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Numerator Evaluation with counterterms #30

Merged
merged 169 commits into from
Oct 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
c2ef848
split up graph to enable partial mutability
lcnbr Jul 30, 2024
0483a18
compiled evaluate is in. Mutability everywhere, will be a pain when p…
lcnbr Jul 31, 2024
607e0f9
fix(rust): :bug: fixed bench and added some files to the ignore list
lcnbr Jul 31, 2024
4caffc7
Delete physical_3L_6photons_topology_A_0numerator_asm_4294967297.cpp
lcnbr Jul 31, 2024
ffaf09f
Delete physical_3L_6photons_topology_A_0numerator_asm_scalar.cpp
lcnbr Jul 31, 2024
cf67725
feat(rust): :white_check_mark: added bench
lcnbr Jul 31, 2024
b3fec90
Merge branch 'main' into numerator
lcnbr Aug 2, 2024
71e9dd5
feat(rust): :sparkles: add jointly optimised version, but runs out of…
lcnbr Aug 5, 2024
bc80fcd
Merge branch 'main' into numerator
lcnbr Aug 5, 2024
90941b5
fix(rust): :bug: fix numerator processing
lcnbr Aug 5, 2024
ab30d77
feat: :sparkles: added 1 and 2L 6 photon graphs
lcnbr Aug 5, 2024
0554192
fix(python): :ambulance: add the generation tests
lcnbr Aug 5, 2024
d16320e
added tests for 1 and 2L, compilation eval errors with: double free o…
lcnbr Aug 5, 2024
6da19b4
fix(rust): :bug: fix numerator eval
lcnbr Aug 6, 2024
1ca7558
perf(rust): :zap: TensorNetSet->TensorSet improves things by 90%, how…
lcnbr Aug 7, 2024
c50a1fb
Merge branch 'main' into numerator
lcnbr Aug 12, 2024
25dba50
fix(rust): :bug: fix benches
lcnbr Aug 12, 2024
f0f7af8
perf(rust): :zap: hashmap the orientations for the numerator
lcnbr Aug 15, 2024
fefb41b
Merge branch 'main' into numerator
lcnbr Aug 15, 2024
e82645e
perf(rust): :zap: Now overhead is 20% of cff, should be enough
lcnbr Aug 15, 2024
27b7a36
Merge branch 'main' into numerator
lcnbr Aug 16, 2024
77909dd
Merge branch 'main' into numerator
lcnbr Aug 19, 2024
577dbf4
all parts now derive serializable, just missing compiled serialization
lcnbr Aug 19, 2024
b68039d
feat(rust): :sparkles: new numerator typestate with compiled evaluato…
lcnbr Aug 19, 2024
07068c4
feat(rust): :sparkles: typestate num is in, still need to fix python api
lcnbr Aug 20, 2024
70b0167
feat: :sparkles: python api works now
lcnbr Aug 21, 2024
c8e8a2e
fix(rust): :bug: fix serialization, by using spenso serialized evaluator
lcnbr Aug 22, 2024
bd61bdb
fix(build): :ambulance: fix toml to point to github spenso
lcnbr Aug 22, 2024
ad63872
feat(rust): :heavy_minus_sign: removed gxhash
lcnbr Aug 22, 2024
629e755
feat(rust): :sparkles: settable helicity, tests still fail because of…
lcnbr Aug 26, 2024
479fcea
if combined orientation evaluator is not loaded, evaluate single for …
lcnbr Aug 26, 2024
e9091d4
test(rust): :recycle: refactor pytest tests in rust. Now homogenized …
lcnbr Aug 28, 2024
6087b76
update spenso and symbolica
lcnbr Aug 28, 2024
87aa86d
fix build_dependencies
lcnbr Aug 28, 2024
01ca07f
fix(rust): :bug: fix library name for single eval
lcnbr Aug 28, 2024
73fa20c
fix(rust): :bug: fixed polarizations
lcnbr Aug 28, 2024
83abd42
Fix vector polarization
ValentinHirschi Aug 29, 2024
c710a65
Add test for vector pol with momenta having non zero transverse momen…
ValentinHirschi Aug 30, 2024
0c9a8a3
fix(rust): :bug: fix prefactor factorising wrongly
lcnbr Sep 2, 2024
236cf97
feat(rust): :sparkles: numerator eval takes model parameters as param…
lcnbr Sep 3, 2024
865daa7
fix(rust): :ambulance: point to github spenso
lcnbr Sep 3, 2024
4190015
feat(rust): :sparkles: iterative hornering numerator. And fixed a bun…
lcnbr Sep 5, 2024
b3a25c2
feat(rust): :sparkles: support global numerator (set by user), and se…
lcnbr Sep 6, 2024
108fba4
fix(rust): :bug: fix momentum iterator
lcnbr Sep 6, 2024
4e3b403
Remove debug printouts and add GAMMALOOP_USER as license in rust test.
ValentinHirschi Sep 7, 2024
060473b
Turn Iterative variant options into a struct to get easy serializatio…
ValentinHirschi Sep 8, 2024
71a369e
When typed variants have nested structs, this throws off my config ty…
ValentinHirschi Sep 8, 2024
143ec70
fix(rust): :bug: cp now passes for both algebra and concrete gammas.
lcnbr Sep 10, 2024
cbc7c84
fix(rust): :ambulance: point to github spenso
lcnbr Sep 10, 2024
8d93ee1
fix(rust): :bug: fix setting dependent external and compiled numerator
lcnbr Sep 11, 2024
160c2a0
perf(rust): :zap: use normal addition without structure testing
lcnbr Sep 11, 2024
e6523fd
perf(rust): :zap: much faster polarizations
lcnbr Sep 11, 2024
6c2afe3
Fix drawing of tree-level diagrams and added option None for drawing …
ValentinHirschi Sep 15, 2024
bbf74c4
pre-fermion rerouting
lcnbr Sep 17, 2024
e51e9c2
fix(rust): :bug: fix propagator orientation for antiparticle
lcnbr Sep 18, 2024
770a4b7
fix(rust): :bug: flip momentum for antiparticle on the propagator and…
lcnbr Sep 18, 2024
5eff9f1
Fix test process card for a a > a a a a.
ValentinHirschi Sep 18, 2024
674dfd4
Add two- and three-loop six photons UV-finite topology example
ValentinHirschi Sep 18, 2024
a626281
Fix 3L six photons topology definition.
ValentinHirschi Sep 18, 2024
0722faf
Add support for input graph specification in the dot format.
ValentinHirschi Sep 19, 2024
850e7bb
fix isopod
GraDje13 Sep 20, 2024
2086b1a
fix fishnet2x2
GraDje13 Sep 20, 2024
0f3cd30
Fix support for export graphs from multi-graph LU inputs
ValentinHirschi Sep 20, 2024
5bd6bff
port examples to dot
GraDje13 Sep 20, 2024
dd101e6
feat(rust): :sparkles: global data in gammaloop integrand, and Polari…
lcnbr Sep 19, 2024
ae8868d
feat(rust): :sparkles: polarization and externals rotation
lcnbr Sep 20, 2024
e6f0233
feat(rust): :sparkles: new asserteq trait, and validated rotation for…
lcnbr Sep 20, 2024
d877204
fix(rust): :bug: do not rotate spinors -> 6photons passes rotation test
lcnbr Sep 20, 2024
d3e8c5b
feat(rust): :sparkles: numerator never evaluated at rotated sample po…
lcnbr Sep 22, 2024
ebae930
fix(rust): :bug: fix default sample generation for 2x2
lcnbr Sep 22, 2024
4f35477
Merge branch 'main' into numerator
lcnbr Sep 23, 2024
538b690
fix toml
lcnbr Sep 23, 2024
eadf2de
fix(rust): :rotating_light: fix compiler errors
lcnbr Sep 23, 2024
f3fb973
fix(rust): :rotating_light: clippy errors
lcnbr Sep 23, 2024
b9471d3
most tests passing
lcnbr Sep 23, 2024
d626eea
fix(rust): :white_check_mark: only ltd with numerator missing, and tr…
lcnbr Sep 24, 2024
2d84c71
fix(rust): :rotating_light: clippy warnings
lcnbr Sep 24, 2024
163f164
fix(rust): :white_check_mark: all but trees
lcnbr Sep 24, 2024
7fee18f
fix(rust): :fire: remove compiled stuff
lcnbr Sep 24, 2024
b20f1e6
Add back support for yaml format when loading graphs.
ValentinHirschi Sep 24, 2024
83b1835
Renamed qgraph_outputs to graph_inputs
ValentinHirschi Sep 24, 2024
81f6d4e
add amplitude data
lcnbr Sep 24, 2024
f1d2da9
add amplitude.yamls
lcnbr Sep 24, 2024
f899ebf
Fix import of example card to use the new dot format
ValentinHirschi Sep 24, 2024
1766ab3
add generation tests for trees
lcnbr Sep 24, 2024
e3c7402
shorten aa_aahhttx and hh_ttxaa
lcnbr Sep 24, 2024
397b954
Fix automatic assignment of helicities
ValentinHirschi Sep 24, 2024
31a7748
delete cpp files
lcnbr Sep 24, 2024
02a1483
Add Dario and Matilde example of 2L4P and 3L4P topologies.
ValentinHirschi Sep 24, 2024
947f1e6
Fix [2|3]L4P example cards to now have a name starting with a numerical.
ValentinHirschi Sep 24, 2024
020463e
multiple graphs compiled
lcnbr Sep 24, 2024
d3e5058
remove params printout outside of debug
lcnbr Sep 24, 2024
5f4cd9b
Fix LTD sign and remove debug printout.
ValentinHirschi Sep 24, 2024
6dea8f3
progress towards numerator subtraction
GraDje13 Sep 24, 2024
4deac3e
Fix LTD sign and fixed amplitude prefactor and changed defaults to us…
ValentinHirschi Sep 24, 2024
12aaf5c
Add two_boxes example to test out multigraphs.
ValentinHirschi Sep 24, 2024
ee03473
Add option reverse_outgoing_edges_order to drawing and set it to True…
ValentinHirschi Sep 24, 2024
d945a86
fix multigraph cff
GraDje13 Sep 25, 2024
9d3eef1
fix clippy warnings
GraDje13 Sep 25, 2024
9f2691d
Add an option to import_graphs to select which graph ids to load.
ValentinHirschi Sep 25, 2024
0125a3b
fix jacobian
GraDje13 Sep 26, 2024
f5ebe69
remove manual insertion of 2-loop phase
GraDje13 Sep 27, 2024
58450bc
fix momentum sample debug info
GraDje13 Sep 27, 2024
c085fc9
change println to DEBUG_LOGGER.write
GraDje13 Sep 27, 2024
25308cd
numerator working for scalars above threshold
GraDje13 Sep 27, 2024
75bd163
Merge remote-tracking branch 'origin/dev' into numerator_subtraction
GraDje13 Sep 27, 2024
d8ff4d7
fix import
GraDje13 Sep 27, 2024
c754b32
manual hash implementation for EvalState to accomodate euler angles
GraDje13 Sep 27, 2024
db8e92e
euler angle rotation
GraDje13 Sep 30, 2024
987229b
easier yaml input, settings seem to not be respected however
GraDje13 Sep 30, 2024
0d184ab
improved initial radius guess
GraDje13 Oct 1, 2024
a1ad95e
improved stability check
GraDje13 Oct 1, 2024
2dae9d0
remove previous logfiles
GraDje13 Oct 1, 2024
8d53456
add energy cache at rstar
GraDje13 Oct 1, 2024
15fa068
energy cache printout
GraDje13 Oct 1, 2024
f1aada2
Merge pull request #29 from alphal00p/numerator_subtraction
GraDje13 Oct 1, 2024
1c321be
add derived data for integration tests
GraDje13 Oct 1, 2024
bae4717
fix box4e phase
GraDje13 Oct 1, 2024
214504c
fix triangles
GraDje13 Oct 1, 2024
288cabe
Fix typo in boxes_3L4P.dot topology and add non-euclidean benchmark i…
ValentinHirschi Oct 1, 2024
d096d8c
fix topology f
GraDje13 Oct 1, 2024
52ad0dd
fix topology h
GraDje13 Oct 1, 2024
5f6aa12
change unwrap to expect
GraDje13 Oct 1, 2024
ad0aa94
ability to run scalar_3L_6P (still fails bc wrong result)
GraDje13 Oct 2, 2024
fafaaee
fix strange silent formatting error in utils
GraDje13 Oct 2, 2024
c375f5e
allow unsorted lmbs
GraDje13 Oct 2, 2024
0c9dedd
remove unused imports
GraDje13 Oct 2, 2024
8dc42de
add sigma for integrated ct h-function
GraDje13 Oct 2, 2024
9350ebf
add width for local ct h-function
GraDje13 Oct 2, 2024
247ef35
feat(rust): :sparkles: color projectors that have match external edge…
lcnbr Oct 1, 2024
30ce6e8
github spenso
lcnbr Oct 3, 2024
af9cb18
remove prints
lcnbr Oct 3, 2024
79e8cf3
feat(rust): :sparkles: verify graph externals
lcnbr Oct 3, 2024
d98d127
feat(build):
lcnbr Oct 3, 2024
7735db5
Add architecture test before enabling inlineASM and removed unused de…
ValentinHirschi Oct 3, 2024
c550a1b
Fix incorrect suffix _OUT and _IN ind drawings.
ValentinHirschi Oct 3, 2024
05629f0
add option to force a center
GraDje13 Oct 3, 2024
fd4d5e8
feat(rust): :sparkles: overall_prefactor in settings is split into co…
lcnbr Oct 3, 2024
555435f
added output_metadata from 2A->4H
lcnbr Oct 3, 2024
1af335b
cargo update
lcnbr Oct 3, 2024
850e01a
cargo clippy fix
lcnbr Oct 3, 2024
4e3ebc1
fix additional clippy errors
lcnbr Oct 3, 2024
108c271
test(rust): :recycle: clean up tests
lcnbr Oct 3, 2024
5fdda59
test(rust): :white_check_mark: all numerator tests pass
lcnbr Oct 4, 2024
2f09c84
fix(rust): :white_check_mark: all pytests pass
lcnbr Oct 4, 2024
c3f69cd
rename color_projector to global_prefactor
lcnbr Oct 4, 2024
4657ee4
fix most python errors
lcnbr Oct 4, 2024
b885c87
update to symbolica 0.12.1
lcnbr Oct 4, 2024
1f1cf3a
update color test and utils.py
lcnbr Oct 4, 2024
3ef518e
Update CI to use python 3.12
ValentinHirschi Oct 4, 2024
9139d4f
First round of fixing python tests
ValentinHirschi Oct 4, 2024
b9502ef
lowered tolerance so tests pass
lcnbr Oct 4, 2024
5853759
crash on invalid settings
GraDje13 Oct 7, 2024
32243d3
account for new momtrop setting
GraDje13 Oct 7, 2024
710103b
Fix add_mul conventions in gammaloop,udpate new mom trop API, remove …
ValentinHirschi Oct 7, 2024
571e05c
set caching to 0
lcnbr Oct 7, 2024
5480f15
Fix symbolica version in Cargo.toml from incorrect 0.12 (minor revisi…
ValentinHirschi Oct 7, 2024
6ab457d
remove forced asm
lcnbr Oct 7, 2024
79dfc69
Fix tests marked as 'slow' before which were not addressed yet. Inste…
ValentinHirschi Oct 7, 2024
853c15e
pytest will not update the runtimes *only* if --update-runtime is sup…
ValentinHirschi Oct 7, 2024
a1c4eb8
Improved output of pytest and removed unnecessary 2x3 drawing test an…
ValentinHirschi Oct 7, 2024
e69c4ff
Update of all tests runtimes
ValentinHirschi Oct 7, 2024
aae4d86
Updated gammaloop to v0.2.0 and fix+update test_inspect for 1L 6P pho…
ValentinHirschi Oct 7, 2024
df20ec5
Update README.md
ValentinHirschi Oct 7, 2024
ef221d5
Fix pyright code analysis warning. Fix pypi wheel deployment logic by…
ValentinHirschi Oct 8, 2024
334104a
Improve pytest timing measurement so as to include their fixture setu…
ValentinHirschi Oct 8, 2024
9f5fe31
Fix harmless warnings in obsolete loop sm UFO model in test_data. Als…
ValentinHirschi Oct 8, 2024
1f0c64d
Relaxed CFF vs LTD from 1e-8 to 1e-7 to pass on certain CI machines a…
ValentinHirschi Oct 8, 2024
9aa1a22
Warn about fixtures not properly decorated for time measurement.
ValentinHirschi Oct 8, 2024
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
4 changes: 2 additions & 2 deletions .github/workflows/gamma_loop_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,10 @@ jobs:

steps:
- uses: actions/checkout@v3
- name: Set up Python 3.11
- name: Set up Python 3.12
uses: actions/setup-python@v3
with:
python-version: "3.11"
python-version: "3.12"
# - name: Install TeXlive
# run: sudo apt-get update && sudo apt-get install texlive-full texlive-publishers texlive-science latexmk cm-super feynmf
- name: Install dependencies
Expand Down
25 changes: 22 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,18 @@ logos/
*.swp

# ignore vscode repo
.vscode/
.vscode

# compiled library
*.a
*.dylib

# ignore gammaLoop cards
*.gL

# ignore dot files as they are usually for testing only
*.dot

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
Expand All @@ -69,6 +75,10 @@ ignore/

src/test_resources/gammaloop_models/*.dat

src/test_resources/trees

GL_OUTPUT*

src/test_resources/TEST_AMPLITUDE_*
# Sadly this does not work because the exclusion above is for an entire directory
!src/test_resources/TEST_AMPLITUDE_*/GL_OUTPUT/output_metadata.yaml
Expand Down Expand Up @@ -193,8 +203,17 @@ default.nix
# Ignore the local test resources
src/test_resources/qqddg/


# Ignore the local compiled numerators
/*.cpp
/*.so


# Ignore tmp compiled files:

TMP_COMPILED/
# My own process outputs
process_outputs

ignore/
# the default log file
log.glog/
log.glog/
15 changes: 15 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"editor.formatOnSave": true,
"rust-analyzer.check.command": "clippy",
"rust-analyzer.runnables.extraArgs": ["--no-default-features"],
"rust-analyzer.runnables.extraTestBinaryArgs": [
"--nocapture"
],
"conventionalCommits.scopes": ["cargo", "python", "build", "rust"],
"rust-analyzer.linkedProjects": ["./Cargo.toml"],
"github.copilot.enable": {
"*": true
},
"svg.preview.background": "white",
"workbench.activityBar.location": "top",
}
38 changes: 37 additions & 1 deletion .zed/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,41 @@
// For a full list of overridable settings, and general information on folder-specific settings,
// see the documentation: https://zed.dev/docs/configuring-zed#folder-specific-settings
{

"shell": {
"program": "bash"
},
"ui_font_family": "Iosevka-Custom-Heavy",
"buffer_font_family": "Iosevka-Custom-Heavy",
"lsp": {
"rust-analyzer": {
"initialization_options": {
"inlayHints": {
"typeHints": true,
"maxLength": null,
"lifetimeElisionHints": {
"useParameterNames": true,
"enable": "skip_trivial"
},
"closureReturnTypeHints": {
"enable": "always"
}
},
"cargo": {
"features": "all"
},
"diagnostics": {
"experimental": {
"enable": true
}
},
// To disable the checking entirely
// (ignores all cargo and check settings below)
"checkOnSave": true,
"check": {
"onSave": true,
"features": ["all"]
}
}
}
}
}
40 changes: 40 additions & 0 deletions .zed/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Static tasks configuration.
//
// Example:

[
{
"label": "Example task",
"command": "for i in {1..5}; do echo \"Hello $i/5\"; sleep 1; done",
//"args": [],
// Env overrides for the command, will be appended to the terminal's environment from the settings.
"env": { "foo": "bar" },
// Current working directory to spawn the command into, defaults to current project root.
//"cwd": "/path/to/working/directory",
// Whether to use a new terminal tab or reuse the existing one to spawn the process, defaults to `false`.
"use_new_terminal": false,
// Whether to allow multiple instances of the same task to be run, or rather wait for the existing ones to finish, defaults to `false`.
"allow_concurrent_runs": false,
// What to do with the terminal pane and tab, after the command was started:
// * `always` — always show the terminal pane, add and focus the corresponding task's tab in it (default)
// * `never` — avoid changing current terminal pane focus, but still add/reuse the task's tab there
"reveal": "always",
// What to do with the terminal pane and tab, after the command had finished:
// * `never` — Do nothing when the command finishes (default)
// * `always` — always hide the terminal tab, hide the pane also if it was the last tab in it
// * `on_success` — hide the terminal tab on task success only, otherwise behaves similar to `always`
"hide": "never",
// Which shell to use when running a task inside the terminal.
// May take 3 values:
// 1. (default) Use the system's default terminal configuration in /etc/passwd
// "shell": "system"
// 2. A program:
// "shell": {
// "program": "sh"
// }
// 3. A program with arguments:
"shell": {
"program": "bash"
}
}
]
7 changes: 7 additions & 0 deletions ARCHITECTURE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Planned features and interactions

All configuration settings (not process specific) should be settable from a file (a default is provided). It should be overridable at run time. Overriding does not modify the file.

The model file uses the ufo format. When loading, this gets converted to a yaml file. All _independent_ values (external parameters as per UFO) in this file should be overridable, and all _dependent_ values are computed and modified when the values are updated. This modifies the yaml file. When using any parameter, or derived value we avoid recomputing it and just use its value.

Ideally the run card processing should batch operations, such that setting different values are first parsed and then applied in one go. This is to avoid recomputing dependent values multiple times. Currently this is done by serializing the settings and then loading them in rust only after.
Loading