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

[FTheoryTools] Added more checks for G4 fluxes #4044

Merged
merged 3 commits into from
Sep 9, 2024

Conversation

emikelsons
Copy link
Collaborator

@emikelsons emikelsons commented Aug 26, 2024

  • Added verticality check for G4 fluxes
  • Changed zero_section method to now return a cohomology class in the toric ambient space. Old version of the method is now under zero_section_coordinates(this is outdated, see below)
  • Added D3-tadpole cancellation check for G4 fluxes.

Copy link

codecov bot commented Aug 26, 2024

Codecov Report

Attention: Patch coverage is 97.77778% with 1 line in your changes missing coverage. Please review.

Project coverage is 84.61%. Comparing base (f777526) to head (30ae7fd).
Report is 4 commits behind head on master.

Files with missing lines Patch % Lines
...perimental/FTheoryTools/src/G4Fluxes/properties.jl 96.87% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4044   +/-   ##
=======================================
  Coverage   84.61%   84.61%           
=======================================
  Files         612      612           
  Lines       83156    83200   +44     
=======================================
+ Hits        70359    70402   +43     
- Misses      12797    12798    +1     
Files with missing lines Coverage Δ
...heoryTools/src/AbstractFTheoryModels/attributes.jl 99.59% <100.00%> (+<0.01%) ⬆️
.../FTheoryTools/src/AbstractFTheoryModels/methods.jl 74.92% <100.00%> (+0.53%) ⬆️
...heoryTools/src/AbstractFTheoryModels/properties.jl 100.00% <100.00%> (ø)
.../FTheoryTools/src/LiteratureModels/constructors.jl 93.81% <100.00%> (+0.04%) ⬆️
...perimental/FTheoryTools/src/G4Fluxes/properties.jl 97.82% <96.87%> (-2.18%) ⬇️

@HereAround
Copy link
Member

I have just merged #3979. It seems this leads to to merge conflicts (see below the CI test results). @emikelsons , could you please rebase to the current master.

@HereAround
Copy link
Member

I would think that the two test failures are unrelated to your changes, but we could see this more clearly once the tests are executed with your PR rebase to the current master.

@emikelsons emikelsons force-pushed the MyChanges branch 3 times, most recently from b47d807 to 3ac3986 Compare August 29, 2024 11:29
numb = integrate(cohomology_class(ambient_space(m), twist_g4 * cy * c_ds[i] * c_ds[j]); check = false)
numb = integrate(cohomology_class(ambient_space(m), twist_g4 * c_ds[i] * c_ds[j] * cy); check = false)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose this an unrelated change? Is it critical?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really critical. This happened as a result of some testing, but I left it as it made sense to me to have the hyperplane class at the end so that the expression is more readily comparable to the doc description.

Comment on lines 62 to 63
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4^4*u^3+s2*e1*e2^2*e3^2*e4^2*u^2*v+s3*e2^2*e3^3*u*v^2+s5*e1^2*e2*e4^3*u^2*w+s6*e1*e2*e3*e4*u*v*w+s9*e1*v*w^2",
"zero_section": "v"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the zero section for this model really v? I do not recall it at the top of my head, just want to double-check. (Probably you already did that.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I saw it mentioned in the paper, it passed all of the tests and that was good enough for me

Copy link
Member

@lgoettgens lgoettgens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found two missing ensure_artifacts_installed. Please make sure to always include this line in doctests accessing the QSMDB: As the order of doctests in non-deterministic, any doctest might be the first one accessing the QSMDB. And if this setup is then missing, it will make the doctest fail. See e.g. of such an instance.

@HereAround
Copy link
Member

I found two missing ensure_artifacts_installed. Please make sure to always include this line in doctests accessing the QSMDB: As the order of doctests in non-deterministic, any doctest might be the first one accessing the QSMDB. And if this setup is then missing, it will make the doctest fail. See e.g. of such an instance.

Thank you for catching this @lgoettgens !

@emikelsons emikelsons marked this pull request as ready for review August 31, 2024 10:17
@HereAround
Copy link
Member

Thank you for working on this @emikelsons . This looks good to me!

Copy link
Member

@HereAround HereAround left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I approve this PR modulo the above changes to the used references.

@emikelsons please adjust these references and ping me once you have done. Then this can be merged.

@@ -63,7 +63,7 @@ end
@doc raw"""
passes_verticality_checks(gf::G4Flux)

G4-fluxes are subject to verticality conditions described in [Lin16](@cite).
G4-fluxes are subject to verticality conditions described in [Lin16](@cite) and [KMW12](@cite).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would suggest to link to Timo Weigand F-theory TASI lectures instead. Maybe in fact, replace those two references with this?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@apturner also suggests to reference instead of Ling's thesis the historically first paper that ever talked about these conditions. For this, just check which papers the above Tasi lectures reference.

Comment on lines 1493 to 1505
@Article{KMW12,
author = {Krause, Sven and Mayrhofer, Christoph and Weigand, Timo},
title = {Gauge fluxes in F-theory and type IIB orientifolds},
journal = {Journal of High Energy Physics},
volume = {2012},
number = {8},
publisher = {Springer Science and Business Media LLC},
year = {2012},
month = {8},
doi = {10.1007/jhep08(2012)119},
eprint = {1202.3138}
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Presumably we do not need this reference? See comment below.

@@ -1245,7 +1248,7 @@ function euler_characteristic(m::AbstractFTheoryModel; check::Bool = true)

# Check if the answer is known
if has_attribute(m, :euler_characteristic)
return get_attribute(m, :euler_characteristic)::CohomologyClass
return get_attribute(m, :euler_characteristic)::Int
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a great change. We need this!

@HereAround
Copy link
Member

HereAround commented Sep 4, 2024

Another point raised just now is about the global naming scheme within FTheoryTools:

  • zero_section: Returns a vector with coordinates (currently strings, but at some point polynomials, rational functions or wilder beasts yet...).
  • zero_section_class: Return a cohomology class S in the toric ambient space s.t. S|Y4 is the cohomology class in Y4 of the zero section locus.

Bonus points:
When calling zero_section on a (partially) resolved model, we should get the zero section of the partially resolved model. Maybe we can obtain this by keeping track of it during the sequence of blowups? (If cannot be done easily within this PR, then let us open an issue/add this to our ToDo-List, so we do not forget about it.)

Comment on lines +1237 to +1239
julia> h = euler_characteristic(qsm_model; check = false)
378

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
julia> h = euler_characteristic(qsm_model; check = false)
378

these three lines are already there right below

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added these lines twice on purpose to function as an additional test

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to elaborate a bit: Once euler_characteristic is called for the 2nd time, it fetches the saved value of the attribute. This process failed in the past, because of the wrong type cast. Now this will be tested.

@emikelsons
Copy link
Collaborator Author

I have changed the references though I was not able to find the historically first paper that mentions the verticality conditions. I also reverted back to zero_section for the original zero_section and introduced the method zero_section_class that return the cohomology class. @HereAround @apturner

@HereAround
Copy link
Member

The historically first paper regarding the verticality conditions seems to be https://arxiv.org/abs/1111.1232 (cf. https://arxiv.org/pdf/1806.01854, page 86, below equation 9.8).

Copy link
Member

@HereAround HereAround left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this @emikelsons . This looks good to me now.

@HereAround HereAround merged commit 6f7dca7 into oscar-system:master Sep 9, 2024
27 of 28 checks passed
@emikelsons emikelsons deleted the MyChanges branch September 10, 2024 07:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants