forked from mkompan/rggraph
-
Notifications
You must be signed in to change notification settings - Fork 0
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
Untitled #1
Open
yanok
wants to merge
71
commits into
yanok:master
Choose a base branch
from
mkompan:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Untitled #1
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This patch adds Theory module with Theory datatype defined. This type will contain all theory-specific data. For now it's stub implementation has only one field: number of tails in significant subgraphs. Also sample definition for phi3 theory added.
This patch changes the definition of signSubgraphs function to get a desired numbers of tails from theory definition instead of passing them directly.
Also function to check if cycle set are acceptable added but it's not complete (we should also check if our cycles cover all edges in the diagram).
Edges representation of cycles changed to the list of edges in the form ((node,node),index) where index is used to distinguish different edges that connect the same pair of nodes.
Make functions cycleLiesIn, cycleIntersects (and subgraphInternalCycles, subgraphExternalCycles, subgraphExternalCycles', cyclesAcceptable and cyclesAcceptable' as a consequence) treat their argument cycles represented as pair of vertex and edge representation instead of just vertex representation. Function cycleCoverGraph now expects paired cycle representation instead of just edges.
Fix cycleLiesIn so that cycle going through the 0 node (external moment path) will be counted as external even for the whole diagram.
Added support for calculating optimal set of independent cycles. Weights for penalties are hardcoded into penaltyForSubgraph function for now.
Moments are stored as a list of triples (sign,nr of basic moment,list of multipliers).
Added fields for dimension of the space and for method to get divergence index of diagram elements. Added these fields to Phi3 instance. Phi4 intentionally left unchanged!!
…te derivative by mu^2
and some helper functions. This version has a bug in dMuSquare: nultilines are deleted.
Added functions to multiply all coefficients in a sum by fixed factor, to factorize the result and to build the expression for J' we expect to find.
Also functions to zero external moment and set stretch parameter to 1.
…ments (including angles)
For now symbollic representation is very schematic: vertices are translated into vert(squared_moment,list of modifiers) terms and lines are translated into prop() terms with the same arguments. You have to use zeroP action first now because we don't handle angles with the external moment for now.
function diagramStrProcess (find better name for me!!) takes string signature for diagram \gamma and returns some kind of symbollic representation for N\gamma.
actually this function not only puts dots but does everything what needs to be done before.
jacobian.hs is standalone program that just calls printJacobian phi3 with it's argument and prints result. Compile it with ghc --make jacobian.hs jacobian.py is a simple SymPy program to get needed Taylor series coefficients for the Jacobian. It needs number of loops to be passed as an argument. jacobian.sh is a simple shell script that calls jacobian first and that jacobian.py. It needs two arguments: diagram signature and it's number of loops (it's weird but let it be so for now).
Generic nrLoops function based on calculation of cycle basis in the diagram turned to be slow and buggy, so for the time beeing we are going to use simple version that works for phi3 theory: NrLoops = NrEdges - NrVertices + 1
Take four arguments: int-file jac-file out-directory (should exist) and number of loops.
This script gets signature and number of loops as it's arguments calls expand.sh and jacobian.sh to get integrand and finally calls makec.py to produce C-sources.
fix final Jacobian: part with sinuses are common and should not be dubbed for each loop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.