OpenMath Content Dictionary: hypergeo0
Canonical URL:
http://www.math.kobe-u.ac.jp/OCD/
CD File:
hypergeo0.ocd
CD as XML Encoded OpenMath:
hypergeo0.omcd
Defines:
beta , gamma , pochhammer
Date:
2002-11-29
Version:
0
(Revision 1)
Review Date:
2017-12-31
Status:
experimental
Author: Yasushi Tamura
This CD defines some basic hypergeometric integrals and
symbols necessary to define hypergeometric functions.
These functions are described in the following books.
(1) Handbook of Mathematical Functions, Abramowitz, Stegun
(2) Higher transcendental functions. Vol. III. Krieger Publishing Co., Inc., Melbourne, Fla., 1981, Erdlyi, Arthur; Magnus, Wilhelm; Oberhettinger, Fritz; Tricomi, Francesco G.
(3) From Gauss to Painleve, Vieweg, Katsunori Iwasaki, Hironobu Kimura, Shun Shimomura, Masaaki Yoshida
Description:
Euler's gamma function
Commented Mathematical property (CMP):
gamma(z)=\int_0^{+\infty} t^{z-1} e^{-z} dt (Re(z)>0)
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="logic1" name="implies"/>
<OMA><OMS cd="relation1" name="gt"/>
<OMA><OMS cd="complex1" name="real"/>
<OMV name="z"/>
</OMA>
<OMI> 0 </OMI>
</OMA>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMV name="z"/>
</OMA>
<OMA><OMS cd="calculus1" name="defint"/>
<OMA><OMS cd="interval1" name="interval"/>
<OMI> 0 </OMI>
<OMS cd="nums1" name="infinity"/>
</OMA>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="t"/>
</OMBVAR>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="arith1" name="power"/>
<OMV name="t"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="z"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMS cd="nums1" name="e"/>
<OMA><OMS cd="arith1" name="unary_minus"/>
<OMV name="z"/>
</OMA>
</OMA>
</OMA>
</OMBIND>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="relation1">gt</csymbol>
<apply><csymbol cd="complex1">real</csymbol><ci>z</ci></apply>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="hypergeo0">gamma</csymbol><ci>z</ci></apply>
<apply><csymbol cd="calculus1">defint</csymbol>
<apply><csymbol cd="interval1">interval</csymbol>
<cn type="integer">0</cn>
<csymbol cd="nums1">infinity</csymbol>
</apply>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>t</ci></bvar>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="arith1">power</csymbol>
<ci>t</ci>
<apply><csymbol cd="arith1">minus</csymbol><ci>z</ci><cn type="integer">1</cn></apply>
</apply>
<apply><csymbol cd="arith1">power</csymbol>
<csymbol cd="nums1">e</csymbol>
<apply><csymbol cd="arith1">unary_minus</csymbol><ci>z</ci></apply>
</apply>
</apply>
</bind>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
complex1.real($z) > 0 ==> hypergeo0.gamma($z) = calculus1.defint(interval1.interval(0, nums1.infinity), fns1.lambda[$t -> $t ^ ($z - 1) * nums1.e ^ -($z)])
Rendered Presentation MathML
real
(
z
)
>
0
⇒
gamma
(
z
)
=
∫
0
∞
t
(
z
-
1
)
e
-
z
d
t
Example:
gamma(n) = (n-1)! (n \in N)
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="logic1" name="implies"/>
<OMA><OMS cd="set1" name="in"/>
<OMV name="n"/>
<OMS cd="setname1" name="N"/>
</OMA>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMV name="n"/>
</OMA>
<OMA><OMS cd="integer1" name="factorial"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="n"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="set1">in</csymbol><ci>n</ci><csymbol cd="setname1">N</csymbol></apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="hypergeo0">gamma</csymbol><ci>n</ci></apply>
<apply><csymbol cd="integer1">factorial</csymbol>
<apply><csymbol cd="arith1">minus</csymbol><ci>n</ci><cn type="integer">1</cn></apply>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
set1.in($n, setname1.N) ==> hypergeo0.gamma($n) = integer1.factorial($n - 1)
Rendered Presentation MathML
n
∈
N
⇒
gamma
(
n
)
=
(
n
-
1
)
!
Signatures:
sts
Description:
Euler's beta function
Commented Mathematical property (CMP):
beta(p,q)=\frac{gamma(p)gamma(q)}{gamma(p+q)}(p,q \not\in Z_{<=0})
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="logic1" name="implies"/>
<OMA><OMS cd="logic1" name="and"/>
<OMA><OMS cd="set1" name="notin"/>
<OMA><OMS cd="arith1" name="unary_minus"/>
<OMV name="p"/>
</OMA>
<OMS cd="setname1" name="N"/>
</OMA>
<OMA><OMS cd="set1" name="notin"/>
<OMA><OMS cd="arith1" name="unary_minus"/>
<OMV name="q"/>
</OMA>
<OMS cd="setname1" name="N"/>
</OMA>
</OMA>
<OMA><OMS cd="arith1" name="divide"/>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMV name="p"/>
</OMA>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMV name="q"/>
</OMA>
</OMA>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="p"/>
<OMV name="q"/>
</OMA>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="logic1">and</csymbol>
<apply><csymbol cd="set1">notin</csymbol>
<apply><csymbol cd="arith1">unary_minus</csymbol><ci>p</ci></apply>
<csymbol cd="setname1">N</csymbol>
</apply>
<apply><csymbol cd="set1">notin</csymbol>
<apply><csymbol cd="arith1">unary_minus</csymbol><ci>q</ci></apply>
<csymbol cd="setname1">N</csymbol>
</apply>
</apply>
<apply><csymbol cd="arith1">divide</csymbol>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="hypergeo0">gamma</csymbol><ci>p</ci></apply>
<apply><csymbol cd="hypergeo0">gamma</csymbol><ci>q</ci></apply>
</apply>
<apply><csymbol cd="hypergeo0">gamma</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>p</ci><ci>q</ci></apply>
</apply>
</apply>
</apply>
</math>
Prefix
Popcorn
set1.notin( -($p), setname1.N) and set1.notin( -($q), setname1.N) ==> (hypergeo0.gamma($p) * hypergeo0.gamma($q)) / hypergeo0.gamma($p + $q)
Rendered Presentation MathML
-
p
∉
N
∧
-
q
∉
N
⇒
gamma
(
p
)
gamma
(
q
)
gamma
(
p
+
q
)
Example:
beta(p,q)=\int_0^1 t^{p-1} (1-t)^{q-1} dt (Re(p),Re(q)>0)
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="logic1" name="implies"/>
<OMA><OMS cd="logic1" name="and"/>
<OMA><OMS cd="relation1" name="gt"/>
<OMA><OMS cd="complex1" name="real"/>
<OMV name="p"/>
</OMA>
<OMI> 0 </OMI>
</OMA>
<OMA><OMS cd="relation1" name="gt"/>
<OMA><OMS cd="complex1" name="real"/>
<OMV name="q"/>
</OMA>
<OMI> 0 </OMI>
</OMA>
</OMA>
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="hypergeo0" name="beta"/>
<OMV name="p"/>
<OMV name="q"/>
</OMA>
<OMA><OMS cd="calculus1" name="defint"/>
<OMA><OMS cd="interval1" name="interval"/>
<OMI> 0 </OMI>
<OMI> 1 </OMI>
</OMA>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="t"/>
</OMBVAR>
<OMA><OMS cd="arith1" name="times"/>
<OMA><OMS cd="arith1" name="power"/>
<OMV name="t"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="p"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
<OMA><OMS cd="arith1" name="power"/>
<OMA><OMS cd="arith1" name="minus"/>
<OMI> 1 </OMI>
<OMV name="t"/>
</OMA>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="q"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
</OMA>
</OMBIND>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="logic1">implies</csymbol>
<apply><csymbol cd="logic1">and</csymbol>
<apply><csymbol cd="relation1">gt</csymbol>
<apply><csymbol cd="complex1">real</csymbol><ci>p</ci></apply>
<cn type="integer">0</cn>
</apply>
<apply><csymbol cd="relation1">gt</csymbol>
<apply><csymbol cd="complex1">real</csymbol><ci>q</ci></apply>
<cn type="integer">0</cn>
</apply>
</apply>
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="hypergeo0">beta</csymbol><ci>p</ci><ci>q</ci></apply>
<apply><csymbol cd="calculus1">defint</csymbol>
<apply><csymbol cd="interval1">interval</csymbol>
<cn type="integer">0</cn>
<cn type="integer">1</cn>
</apply>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>t</ci></bvar>
<apply><csymbol cd="arith1">times</csymbol>
<apply><csymbol cd="arith1">power</csymbol>
<ci>t</ci>
<apply><csymbol cd="arith1">minus</csymbol><ci>p</ci><cn type="integer">1</cn></apply>
</apply>
<apply><csymbol cd="arith1">power</csymbol>
<apply><csymbol cd="arith1">minus</csymbol><cn type="integer">1</cn><ci>t</ci></apply>
<apply><csymbol cd="arith1">minus</csymbol><ci>q</ci><cn type="integer">1</cn></apply>
</apply>
</apply>
</bind>
</apply>
</apply>
</apply>
</math>
Prefix
implies
(
and
(
gt
(
real
(
p )
, 0 )
,
gt
(
real
(
q )
, 0 )
)
,
eq
(
beta
(
p ,
q )
,
defint
(
interval
( 0 , 1 )
,
lambda
[
t
] .
(
times
(
power
(
t ,
minus
(
p , 1 )
)
,
power
(
minus
( 1 ,
t )
,
minus
(
q , 1 )
)
)
)
)
)
)
Popcorn
complex1.real($p) > 0 and complex1.real($q) > 0 ==> hypergeo0.beta($p, $q) = calculus1.defint(interval1.interval(0, 1), fns1.lambda[$t -> $t ^ ($p - 1) * (1 - $t) ^ ($q - 1)])
Rendered Presentation MathML
real
(
p
)
>
0
∧
real
(
q
)
>
0
⇒
beta
(
p
,
q
)
=
∫
0
1
t
(
p
-
1
)
(
1
-
t
)
(
q
-
1
)
d
t
Signatures:
sts
Description:
Pochhammer symbol
Commented Mathematical property (CMP):
pochhammer(a,n) = gamma(a+n)/gamma(a)
Formal Mathematical property (FMP):
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="hypergeo0" name="pochhammer"/>
<OMV name="alpha"/>
<OMV name="n"/>
</OMA>
<OMA><OMS cd="arith1" name="divide"/>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="alpha"/>
<OMV name="n"/>
</OMA>
</OMA>
<OMA><OMS cd="hypergeo0" name="gamma"/>
<OMV name="alpha"/>
</OMA>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="hypergeo0">pochhammer</csymbol><ci>alpha</ci><ci>n</ci></apply>
<apply><csymbol cd="arith1">divide</csymbol>
<apply><csymbol cd="hypergeo0">gamma</csymbol>
<apply><csymbol cd="arith1">plus</csymbol><ci>alpha</ci><ci>n</ci></apply>
</apply>
<apply><csymbol cd="hypergeo0">gamma</csymbol><ci>alpha</ci></apply>
</apply>
</apply>
</math>
Prefix
Popcorn
hypergeo0.pochhammer($alpha, $n) = hypergeo0.gamma($alpha + $n) / hypergeo0.gamma($alpha)
Rendered Presentation MathML
pochhammer
(
alpha
,
n
)
=
gamma
(
alpha
+
n
)
gamma
(
alpha
)
Example:
pochhammer(a,n) = \prod_0^{n-1} (a+i)
OpenMath XML (source)
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMA><OMS cd="relation1" name="eq"/>
<OMA><OMS cd="hypergeo0" name="pochhammer"/>
<OMV name="a"/>
<OMV name="n"/>
</OMA>
<OMA><OMS cd="arith1" name="product"/>
<OMA><OMS cd="interval1" name="integer_interval"/>
<OMI> 0 </OMI>
<OMA><OMS cd="arith1" name="minus"/>
<OMV name="n"/>
<OMI> 1 </OMI>
</OMA>
</OMA>
<OMBIND>
<OMS cd="fns1" name="lambda"/>
<OMBVAR>
<OMV name="i"/>
</OMBVAR>
<OMA><OMS cd="arith1" name="plus"/>
<OMV name="a"/>
<OMV name="i"/>
</OMA>
</OMBIND>
</OMA>
</OMA>
</OMOBJ>
Strict Content MathML
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply><csymbol cd="relation1">eq</csymbol>
<apply><csymbol cd="hypergeo0">pochhammer</csymbol><ci>a</ci><ci>n</ci></apply>
<apply><csymbol cd="arith1">product</csymbol>
<apply><csymbol cd="interval1">integer_interval</csymbol>
<cn type="integer">0</cn>
<apply><csymbol cd="arith1">minus</csymbol><ci>n</ci><cn type="integer">1</cn></apply>
</apply>
<bind><csymbol cd="fns1">lambda</csymbol>
<bvar><ci>i</ci></bvar>
<apply><csymbol cd="arith1">plus</csymbol><ci>a</ci><ci>i</ci></apply>
</bind>
</apply>
</apply>
</math>
Prefix
Popcorn
hypergeo0.pochhammer($a, $n) = arith1.product(interval1.integer_interval(0, $n - 1), fns1.lambda[$i -> $a + $i])
Rendered Presentation MathML
pochhammer
(
a
,
n
)
=
∏
i
=
0
n
-
1
a
+
i
Signatures:
sts