-- Draw the first graph in a viewport viewport1:=draw(Gamma(i), i=-4.2..4, adaptive==true, unit==[1.0,1.0]) -- Draw the second graph in a viewport viewport2:=draw(1/Gamma(i), i=-4.2..4, adaptive==true, unit==[1.0,1.0]) -- Get the Gamma graph from the first viewport and layer it on top putGraph(viewport2,getGraph(viewport1,1),2) -- Remove the points and leave the lines points(viewport2,1,"off") points(viewport2,2,"off") -- Show the combined graph makeViewport2D(viewport2)
You can construct this graph with the Axiom commands:
-- draw the graph of log(Gamma) in a viewport viewport1:=draw(log Gamma(i), i=0..8, adaptive==true, unit==[1.0,1.0]) -- turn off the points and leave the lines points(viewport1,1,"off")
This function is a special case of the polygamma function.
In particular,
-- first construct the psi function psi(x)==polygamma(0,x) -- draw the graph in a viewport viewport:=draw(psi(y),y=-3.5..4,adaptive==true) -- make the gradient obvious scale(viewport,1,0.9,22.5) -- and recenter the graph translate(viewport,1,0,-0.02) -- turn off the points and keep the line points(viewport,1,"off")
-- Set up the default viewpoint viewPhiDefault(-%pi/4) -- define the point set function gam(x,y)== g:=Gamma complex(x,y) point [x,y,max(min(real g,4),-4), argument g] -- draw the image and remember the viewport viewport:=draw(gam, -4..4,-3..3,var1Steps==100,var2Steps==100) -- set the color mapping for the image colorDef(viewport,blue(),blue()) -- and smoothly shade it drawStyle(viewport,"smooth")
You can reproduce this image from Axiom with:
-- Set up the default viewpoint viewPhiDefault(-%pi/4) -- Define the complex Gamma inverse function gaminv(x,y)== g:=1/(Gamma complex(x,y)) point [x,y,max(min(real g,4),-4), argument g] -- draw the 3D image and remember the viewport viewport:=draw(gaminv, -4..4,-3..3,var1Steps==100,var2Steps==100) -- make the image a uniform color colorDef(viewport,blue(),blue()) -- and make it pretty drawStyle(viewport,"smooth")
To get these exact images with the colored background you need to use GIMP to set the background. The steps I used are: