vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
982 stars 118 forks source link

FORM Output from CalcHEP: Undeclared variable propDen #372

Open osiloscop opened 3 years ago

osiloscop commented 3 years ago

Hi, I'm learning to use CalcHEP, and it gives Mathematica, Reduce and FORM output for calculating squares of transition matrix. I want to use FORM because of it has licensed under GPLv3. I get FORM output from CalcHEP but I'm getting two errors when I try to run FORM code.

These FORM files is attached: sum1.frm and usr1.frm. sum1.frm:

*    ==============================
*    *  CalcHEP  3.8.7 *
*    ==============================

** propDen(p,m)= 1/(m^2 -p.p) 

vector p1,p2,p3,p4,p5,p6;

Symbols
  EE
 ,SW
 ,MW
 ,wZ
 ;
CFunction den;
Symbol factor;
#include usr1.frm

*Diagrama number 1-1;
Local FACTOR1 = (8*EE^4)/(1);
Local ANS1 = FACTOR1*(2*p1.p3^2-2*p1.p3*p1.p2+p1.p2^2)*propDen(-p1-p2,0)^2;

#call userWork{1}

*Diagrama number 1-2;
Local FACTOR2 = (2*EE^4)/(CW^2*SW^2);
Local ANS2 = FACTOR2*(16*p1.p3^2*SW^4-8*p1.p3^2*SW^2+p1.p3^2-16*p1.p3*p1.p2*
 SW^4+8*p1.p3*p1.p2*SW^2-2*p1.p3*p1.p2+8*p1.p2^2*SW^4-4*p1.p2^2*SW^2+p1.p2^2
 )*propDen(-p1-p2,0)*propDen(-p1-p2,MZ);

#call userWork{2}

*Diagrama number 1-3;
Local FACTOR3 = (EE^4)/(4*CW^4*SW^4);
Local ANS3 = FACTOR3*(64*p1.p3^2*SW^8-64*p1.p3^2*SW^6+32*p1.p3^2*SW^4-8*
 p1.p3^2*SW^2+p1.p3^2-64*p1.p3*p1.p2*SW^8+64*p1.p3*p1.p2*SW^6-48*p1.p3*
 p1.p2*SW^4+16*p1.p3*p1.p2*SW^2-2*p1.p3*p1.p2+32*p1.p2^2*SW^8-32*p1.p2^2*SW^
 6+24*p1.p2^2*SW^4-8*p1.p2^2*SW^2+p1.p2^2)*propDen(-p1-p2,MZ)^2;

#call userWork{3}
*

usr1.fm:

#-
CFunction Sqrt;
#procedure userWork(nnn)

id CW=sqrt(1-SW^2) % cos of the Weinberg angle;
id MZ=MW/CW % Z boson mass;

id p4 = +p1+p2-p3;
id p1.p1  = 0^2;
id p2.p2  = 0^2;
id p3.p3  = 0^2;
id p2.p3 = -1*(0^2-0^2-0^2-0^2-2*p1.p2+2*p1.p3)/2;
#if 'nnn' == 3
.end
#endif
#endprocedure

And the FORM output:

$ ~/form421_work/bin/form sum1.frm 
FORM 4.2.1 (Nov 21 2018, v4.2.1) 64-bits         Run: Mon Dec 14 14:46:50 2020
    *    ==============================
    *    *  CalcHEP  3.8.7 *
    *    ==============================

    ** propDen(p,m)= 1/(m^2 -p.p) 

    vector p1,p2,p3,p4,p5,p6;

    Symbols
      EE
     ,SW
     ,MW
     ,wZ
     ;
    CFunction den;
    Symbol factor;
    #include usr1.frm

    #-

    *Diagrama number 1-1;
    Local FACTOR1 = (8*EE^4)/(1);
    Local ANS1 = FACTOR1*(2*p1.p3^2-2*p1.p3*p1.p2+p1.p2^2)*propDen(-p1-p2,0)^2;
sum1.frm Line 21 --> Undeclared variable propDen

    #call userWork{1}
sum1.frm Line 24 ==> LocateFile: Cannot find file userWork1.prc
Program terminating at sum1.frm Line 21 --> 
  0.00 sec out of 0.00 sec

How can we solve this problem?

vermaseren commented 3 years ago

Hi,

You better discuss this with the author(s) of CalcHEP. Clearly you are missing a declaration and a file. In other words: either the CalcHEP program is missing something or you failed to copy some files.

Cheers

Jos

On 14 Dec 2020, at 13:07, osiloscop notifications@github.com wrote:

Hi, I'm learning to use CalcHEP, and it gives Mathematica, Reduce and FORM output for calculating squares of transition matrix. I want to use FORM because of it has licensed under GPLv3. I get FORM output from CalcHEP but I'm getting two errors when I try to run FORM code.

These FORM files is attached: sum1.frm and usr1.frm. sum1.frm:

  • ==============================
    • CalcHEP 3.8.7 *
  • ==============================

** propDen(p,m)= 1/(m^2 -p.p)

vector p1,p2,p3,p4,p5,p6;

Symbols EE ,SW ,MW ,wZ ; CFunction den; Symbol factor;

include usr1.frm

Diagrama number 1-1; Local FACTOR1 = (8EE^4)/(1); Local ANS1 = FACTOR1(2p1.p3^2-2p1.p3p1.p2+p1.p2^2)*propDen(-p1-p2,0)^2;

call userWork{1}

Diagrama number 1-2; Local FACTOR2 = (2EE^4)/(CW^2SW^2); Local ANS2 = FACTOR2(16p1.p3^2SW^4-8p1.p3^2SW^2+p1.p3^2-16p1.p3p1.p2 SW^4+8p1.p3p1.p2SW^2-2p1.p3p1.p2+8p1.p2^2SW^4-4p1.p2^2SW^2+p1.p2^2 )propDen(-p1-p2,0)propDen(-p1-p2,MZ);

call userWork{2}

Diagrama number 1-3; Local FACTOR3 = (EE^4)/(4CW^4SW^4); Local ANS3 = FACTOR3(64p1.p3^2SW^8-64p1.p3^2SW^6+32p1.p3^2SW^4-8 p1.p3^2SW^2+p1.p3^2-64p1.p3p1.p2SW^8+64p1.p3p1.p2SW^6-48p1.p3 p1.p2SW^4+16p1.p3p1.p2SW^2-2p1.p3p1.p2+32p1.p2^2SW^8-32p1.p2^2SW^ 6+24p1.p2^2SW^4-8p1.p2^2SW^2+p1.p2^2)*propDen(-p1-p2,MZ)^2;

call userWork{3}

* usr1.fm:

-

CFunction Sqrt;

procedure userWork(nnn)

id CW=sqrt(1-SW^2) % cos of the Weinberg angle; id MZ=MW/CW % Z boson mass;

id p4 = +p1+p2-p3; id p1.p1 = 0^2; id p2.p2 = 0^2; id p3.p3 = 0^2; id p2.p3 = -1(0^2-0^2-0^2-0^2-2p1.p2+2*p1.p3)/2;

if 'nnn' == 3

.end

endif

endprocedure

And the FORM output:

$ ~/form421_work/bin/form sum1.frm FORM 4.2.1 (Nov 21 2018, v4.2.1) 64-bits Run: Mon Dec 14 14:46:50 2020

  • ==============================
    • CalcHEP 3.8.7 *
  • ==============================

    ** propDen(p,m)= 1/(m^2 -p.p)

    vector p1,p2,p3,p4,p5,p6;

    Symbols EE ,SW ,MW ,wZ ; CFunction den; Symbol factor;

    include usr1.frm

    -

    Diagrama number 1-1; Local FACTOR1 = (8EE^4)/(1); Local ANS1 = FACTOR1(2p1.p3^2-2p1.p3p1.p2+p1.p2^2)*propDen(-p1-p2,0)^2; sum1.frm Line 21 --> Undeclared variable propDen

    call userWork{1}

    sum1.frm Line 24 ==> LocateFile: Cannot find file userWork1.prc Program terminating at sum1.frm Line 21 --> 0.00 sec out of 0.00 sec

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vermaseren/form/issues/372, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJPCEQ7I45PMTRNNPMXQV3SUX5WVANCNFSM4U2UTIFQ.

tueda commented 3 years ago

After some googling, I found a similar question in the CalcHEP Launchpad page (but no definite answer): https://answers.launchpad.net/calchep/+question/669522.

osiloscop commented 3 years ago

Thank for your reply.

@vermaseren, in my opinion, they have stopped generating FORM code support.

@tueda, yes, I saw the discussion, but I wanted to try my chance in FORM community:)