Commit cebe2dba authored by Luca's avatar Luca

minor

parent f3cf3006
...@@ -7,12 +7,6 @@ MODULE gpl_module ...@@ -7,12 +7,6 @@ MODULE gpl_module
CONTAINS CONTAINS
RECURSIVE FUNCTION factorial(n) result(res)
integer, intent(in) :: n
integer :: res
res = merge(1,n*factorial(n-1),n==0)
END FUNCTION factorial
FUNCTION zeta(n) FUNCTION zeta(n)
real(kind=prec) :: values(9), zeta real(kind=prec) :: values(9), zeta
integer :: n integer :: n
...@@ -58,7 +52,6 @@ CONTAINS ...@@ -58,7 +52,6 @@ CONTAINS
if(abs(z(i)) < zero) cycle ! skip zero values if(abs(z(i)) < zero) cycle ! skip zero values
if(abs(y) > abs(z(i))) is_convergent = .false. if(abs(y) > abs(z(i))) is_convergent = .false.
end do end do
END FUNCTION is_convergent END FUNCTION is_convergent
RECURSIVE FUNCTION G_flat(z_flat,y) result(res) RECURSIVE FUNCTION G_flat(z_flat,y) result(res)
......
! This is currently a stand alone program which will merely be used as a ! An implementation of the shuffle algebra
! guide for the implementation of the shuffle algebra for GPL functions ! in accordance with 1904.07279v1, polylogs for the masses, p.7-8
! This implementation defines words as strings of characters and shuffles them
! into sums of words.
PROGRAM shuffle_algebra PROGRAM shuffle_algebra
implicit none implicit none
......
...@@ -60,18 +60,18 @@ CONTAINS ...@@ -60,18 +60,18 @@ CONTAINS
END MODULE shuffle END MODULE shuffle
PROGRAM test ! PROGRAM test
use utils ! use utils
use shuffle ! use shuffle
implicit none ! implicit none
complex(kind=prec) :: v1(3), v2(2) ! complex(kind=prec) :: v1(3), v2(2)
integer :: amount_shuffles ! integer :: amount_shuffles
v1 = cmplx((/1,2,3/)) ! v1 = cmplx((/1,2,3/))
v2 = cmplx((/4,5/)) ! v2 = cmplx((/4,5/))
call print_matrix(shuffle_product(v1,v2)) ! call print_matrix(shuffle_product(v1,v2))
END PROGRAM test ! END PROGRAM test
...@@ -102,8 +102,8 @@ CONTAINS ...@@ -102,8 +102,8 @@ CONTAINS
end subroutine do_GPL_tests end subroutine do_GPL_tests
subroutine do_shuffle_tests() subroutine do_shuffle_tests()
integer :: v(3) = (/1,2,3/) complex(kind=prec) :: v(3) = cmplx((/1,2/))
integer :: w(2) = (/-1,-2/) complex(kind=prec) :: w(2) = cmplx((/3,4/))
call print_matrix(shuffle_product(v,w)) call print_matrix(shuffle_product(v,w))
end subroutine do_shuffle_tests end subroutine do_shuffle_tests
......
...@@ -87,7 +87,7 @@ CONTAINS ...@@ -87,7 +87,7 @@ CONTAINS
complex(kind=prec) :: res(n) complex(kind=prec) :: res(n)
res = 0 res = 0
END FUNCTION zero_array END FUNCTION zero_array
RECURSIVE FUNCTION factorial(n) result(res) RECURSIVE FUNCTION factorial(n) result(res)
integer, intent(in) :: n integer, intent(in) :: n
integer :: res integer :: res
...@@ -137,6 +137,7 @@ END MODULE utils ...@@ -137,6 +137,7 @@ END MODULE utils
! PROGRAM test ! PROGRAM test
! use globals
! use utils ! use utils
! implicit none ! implicit none
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment