GithubHelp home page GithubHelp logo

benruijl / forcer Goto Github PK

View Code? Open in Web Editor NEW
7.0 7.0 2.0 1.12 MB

A FORM program for the integration of four-loop massless propagator diagrams.

Visual Basic 0.01% C 38.62% C++ 2.04% Python 2.16% PLSQL 57.19%
feynman-diagrams physics quantum-field-theory

forcer's People

Contributors

benruijl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

f-feng tueda

forcer's Issues

Crash with formal expression names

Hi Ben,

if I use expression names in square brackets (e.g. [expression]) I get a crash with the following error

ReduceEdge Line 47 --> Illegal LHS for expression definition
++++Errors in Loop
ReduceEdge Line 107 --> Illegal LHS for expression definition
ReduceEdge Line 107 --> Illegal position for d3
ReduceEdge Line 107 --> Undeclared variable d3
ReduceEdge Line 115 ==> Proper syntax: #exchange expr1,expr2 or #exchange $var1
,$var2

I guess a simple fix would be to wrap the names of the temporary expressions themselves in square brackets, for instance [NAMEtmp] instead of NAMEtmp.

Table with PolyRatFun breaks using tform

I stumble upon an interesting bug while using tFORM when running the following code:

test.frm
__________________________________________________________
#--
table sparse rtop(2);
table sparse top(1);
table sparse c(2);
Auto S x;
S w,d;
CF rat,cc;

PolyRatFun rat;

* Include Transformations 
Fill rtop(1,1) = + cc(1,1)*top(2) 
                 + cc(1,2)*top(3) 
                 + cc(1,3)*top(4);
Fill rtop(2,4) = + cc(2,1)*top(3);
Fill rtop(2,2) = + cc(2,2)*top(5);
Fill rtop(3,6) = top(7);
Fill rtop(3,3) = top(5);

* Include Coefficients 
Fill c(1,1) = rat((-2*d^3+14*d^2-32*d+24),(6*d^3-69*d^2+264*d-336));
Fill c(1,2) = rat(((50*d^4-550*d^3+2248*d^2-4040*d+2688)*w-40*d^4+452*d^3-1892*d^2+3472*d-2352),
                            ((18*d^4-267*d^3+1482*d^2-3648*d+3360)*w-18*d^4+267*d^3-1482*d^2+3648*d-3360));
Fill c(1,3) = rat(((2*d^3-14*d^2+32*d-24)*w),((18*d^3-195*d^2+702*d-840)*w-18*d^3+195*d^2-702*d+840));
Fill c(2,1) = rat((-5*d+14),((d-4)*w));
Fill c(2,2) = rat((5*d-14),(3*d-10));

L F = top(1);

#do i=1,3
    id top(?a) = rtop(`i',?a);
    id cc(?a) = c(?a);
    id rtop(x1?,x2?) = top(x2);
    .sort
#enddo
print +s;
.end

The code is the minimal case I managed to extract from some reduction tables that I'm applying using FORM.

When running the code with form everything works as expected and the result is:

> form test.frm
F = + top(5)*rat(20*d^3 - 156*d^2 + 400*d - 336,9*d^3 - 102*d^2 + 384*d - 480);

Things go very wrong (on some runs) when trying to use tform

> tform -w2 test.frm
F = + top(5)*rat(4928*d^4,20160*d^4);

I don't know if this problem is related to the following but it may be.
When postponing the call for PolyRatFun rat; till after the #do loop, I get that whenever the two outputs coincide they are still represented in different ways

<        + top(5)*rat(20*d^3 - 156*d^2 + 400*d - 336,9*d^3 - 102*d^2 + 384*d - 
<       480)
---
>        + top(5)*rat( - 336 + 400*d - 156*d^2 + 20*d^3, - 480 + 384*d - 102*d^2
>        + 9*d^3)

with the first one obtained using form and the second with tform -w2.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.