Summary
Mathematica code
based on this code:
but it doesn't support newer version of Mathematica.
The modification is as follows, it can run on Mathematica 11:
Options [ PlotComplex ] = { Mesh -> None , MeshStyle -> Automatic ,
WorkingPrecision -> MachinePrecision , PlotPoints -> 240 };
PlotComplex [ fz_ , { z_ , min_ , max_ }, OptionsPattern []] :=
Module [{ fn }, fn [ gx_ ] := fz /. z -> gx ;
RegionPlot [ x ^ 2 y ^ 2 > 0 , { x , min , max }, { y , min , max },
ColorFunction ->
Function [{ x , y },
Hue [ Mod [ Arg [
fn [ - max + max x - min x + I ( - max + max y - min y )]],
2 \ [ Pi ]] / ( 2 \ [ Pi ]),
1 / ( 1 + 0.3 Log [
Abs [ fn [ - max + max x - min x +
I ( - max + max y - min y )]] + 1 ]),
1 - 1 / ( 1.1 +
5 Log [ Abs [
fn [ - max + max x - min x + I ( - max + max y - min y )]] +
1 ])]], PlotPoints -> OptionValue [ PlotPoints ],
Mesh -> OptionValue [ Mesh ], MeshStyle -> OptionValue [ MeshStyle ],
WorkingPrecision -> OptionValue [ WorkingPrecision ]]];
Inverse gamma function is modified from Afacc.cin , Fac.cin in mizugadro.mydns.jp , and changed into a Mathematica program as follows:
facp [ x_ ] := ( \ ! \ (
\ * SubscriptBox [ \ ( \ [ PartialD ] \ ), \ ( y \ )] \ \ ( Factorial [ y ] \ ) \ )) /. y -> x ;
afacb [ zl_ ] := Module [{
z0 = 0.461632144968362341262659542325721328468196204 ,
F0 = -0.12148629053584960809551455717769158215135617313 ,
c2 = 0.483836122723810585213722380854825370205628608 ,
p = 0.2090973242496979633924701135209125815611056 ,
q = 0.0565790271828431799463572817754001404669620 ,
A = 0.0008685913050832152753870514845664790993724 ,
B = 0.0002046727298252365296379380008904113017495
}, Module [{
t = ( Log [ zl ] - F0 ) / c2 ,
}, Module [{
v = Sqrt [ t ]
}, v * ( 1.0 + v * ( p + A * t )) / ( 1. + v * ( q + B * t )) + z0 ]]];
afacc [ z_ ] := Module [{ a , c , d },
a = afacb [ z ];
d = facp [ a ]; c = z - Factorial [ a ]; a = a + c / d ;
If [ Abs [ c ] < 10 ^ ( -16 ), a ,
d = facp [ a ]; c = z - Factorial [ a ]; a = a + c / d ;
If [ Abs [ c ] < 10 ^ ( -16 ), a ,
d = facp [ a ]; c = z - Factorial [ a ]; a = a + c / d ;
If [ Abs [ c ] < 10 ^ ( -16 ), a ,
d = facp [ a ]; c = z - Factorial [ a ]; a = a + c / d ;
If [ Abs [ c ] < 10 ^ ( -16 ), a , a ]]]]
];
(Note that this program call by Plot may require more than 64GB of RAM.)
This function is the inverse of factorial. We can use the following relationship between the factorial function and the Gamma function:
Γ
(
n
)
=
(
n
−
1
)
!
{\displaystyle \Gamma (n)=(n-1)!}
to plot the inverse Gamma function.
Γ
−
1
(
n
)
=
F
a
c
t
o
r
i
a
l
−
1
(
n
)
+
1
{\displaystyle \Gamma ^{-1}(n)=\mathrm {Factorial} ^{-1}(n)+1}
plot = PlotComplex [ afacc [ z ] + 1 , { z , -8 , 8 }, PlotPoints -> 4000 ];
Show [ plot , ImageSize -> { 4000 , 4000 }]
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
You are free:
to share – to copy, distribute and transmit the work
to remix – to adapt the work
Under the following conditions:
attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original. https://creativecommons.org/licenses/by-sa/4.0 CC BY-SA 4.0 Creative Commons Attribution-Share Alike 4.0 true true English Add a one-line explanation of what this file represents
Chinese (Taiwan) 反伽瑪函數的複變函數圖形