Wolfram Researchfunctions.wolfram.comOther Wolfram Sites
Search Site
Function CategoriesGraphics GalleryNotationsGeneral IdentitiesAbout This Site ContributeEmail CommentsSign the Guestbook

View Related Information In
The Documentation Center
MathWorld

Download All Formulas For This Function
Mathematica Notebook
PDF File

 

Developed with Mathematica -- Download a Free Trial Version
 











variants of this functions
Hypergeometric2F1






Mathematica Notation

Traditional Notation









Hypergeometric Functions > Hypergeometric2F1[a,b,c,z] > Identities > Functional identities > Generic general cases





http://functions.wolfram.com/07.23.17.0147.01









  


  










Input Form





Hypergeometric2F1[a, b, c, z] == E^(2 I (c - a - b) Pi) (1/(1 - z))^a Hypergeometric2F1[a, -b + c, c, z/(z - 1)] - ((2 I E^(I (c - a - b) Pi) Pi Gamma[c])/(Gamma[1 + a + b - c] Gamma[-a + c] Gamma[-b + c])) Hypergeometric2F1[a, b, 1 + a + b - c, 1 - z] /; IntervalMemberQ[Interval[{1, Infinity}], z]










Standard Form





Cell[BoxData[RowBox[List[RowBox[List[RowBox[List["Hypergeometric2F1", "[", RowBox[List["a", ",", "b", ",", "c", ",", "z"]], "]"]], "\[Equal]", RowBox[List[RowBox[List[SuperscriptBox["\[ExponentialE]", RowBox[List["2", " ", "\[ImaginaryI]", " ", RowBox[List["(", RowBox[List["c", "-", "a", "-", "b"]], ")"]], " ", "\[Pi]"]]], " ", SuperscriptBox[RowBox[List["(", FractionBox["1", RowBox[List["1", "-", "z"]]], ")"]], "a"], " ", RowBox[List["Hypergeometric2F1", "[", RowBox[List["a", ",", RowBox[List[RowBox[List["-", "b"]], "+", "c"]], ",", "c", ",", FractionBox["z", RowBox[List["z", "-", "1"]]]]], "]"]]]], "-", RowBox[List[FractionBox[RowBox[List["2", " ", "\[ImaginaryI]", " ", SuperscriptBox["\[ExponentialE]", RowBox[List["\[ImaginaryI]", " ", RowBox[List["(", RowBox[List["c", "-", "a", "-", "b"]], ")"]], " ", "\[Pi]"]]], " ", "\[Pi]", " ", RowBox[List["Gamma", "[", "c", "]"]]]], RowBox[List[RowBox[List["Gamma", "[", RowBox[List["1", "+", "a", "+", "b", "-", "c"]], "]"]], " ", RowBox[List["Gamma", "[", RowBox[List[RowBox[List["-", "a"]], "+", "c"]], "]"]], " ", RowBox[List["Gamma", "[", RowBox[List[RowBox[List["-", "b"]], "+", "c"]], "]"]]]]], " ", RowBox[List["Hypergeometric2F1", "[", RowBox[List["a", ",", "b", ",", RowBox[List["1", "+", "a", "+", "b", "-", "c"]], ",", RowBox[List["1", "-", "z"]]]], "]"]]]]]]]], "/;", RowBox[List["IntervalMemberQ", "[", RowBox[List[RowBox[List["Interval", "[", RowBox[List["{", RowBox[List["1", ",", "\[Infinity]"]], "}"]], "]"]], ",", "z"]], "]"]]]]]]










MathML Form







<math xmlns='http://www.w3.org/1998/Math/MathML' mathematica:form='TraditionalForm' xmlns:mathematica='http://www.wolfram.com/XML/'> <semantics> <mrow> <mrow> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mi> b </mi> </mrow> <mo> ; </mo> <mi> c </mi> <mo> ; </mo> <mi> z </mi> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[&quot;b&quot;, Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[&quot;c&quot;, Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[&quot;z&quot;, Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> <mo> &#63449; </mo> <mrow> <mrow> <msup> <mrow> <msup> <mi> &#8519; </mi> <mrow> <mn> 2 </mn> <mo> &#8290; </mo> <mi> &#8520; </mi> <mo> &#8290; </mo> <mrow> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mi> &#960; </mi> </mrow> </msup> <mo> ( </mo> <mfrac> <mn> 1 </mn> <mrow> <mn> 1 </mn> <mo> - </mo> <mi> z </mi> </mrow> </mfrac> <mo> ) </mo> </mrow> <mi> a </mi> </msup> <mo> &#8290; </mo> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> b </mi> </mrow> </mrow> <mo> ; </mo> <mi> c </mi> <mo> ; </mo> <mfrac> <mi> z </mi> <mrow> <mi> z </mi> <mo> - </mo> <mn> 1 </mn> </mrow> </mfrac> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[RowBox[List[&quot;c&quot;, &quot;-&quot;, &quot;b&quot;]], Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[&quot;c&quot;, Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[FractionBox[&quot;z&quot;, RowBox[List[&quot;z&quot;, &quot;-&quot;, &quot;1&quot;]]], Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> </mrow> <mo> - </mo> <mrow> <mfrac> <mrow> <mn> 2 </mn> <mo> &#8290; </mo> <mi> &#8520; </mi> <mo> &#8290; </mo> <mi> &#960; </mi> <mo> &#8290; </mo> <msup> <mi> &#8519; </mi> <mrow> <mi> &#8520; </mi> <mo> &#8290; </mo> <mrow> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mi> &#960; </mi> </mrow> </msup> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mi> c </mi> <mo> ) </mo> </mrow> </mrow> <mrow> <mtext> </mtext> <mrow> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> a </mi> <mo> + </mo> <mi> b </mi> <mo> - </mo> <mi> c </mi> <mo> + </mo> <mn> 1 </mn> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> </mrow> </mrow> </mfrac> <mo> &#8290; </mo> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mi> b </mi> </mrow> <mo> ; </mo> <mrow> <mi> a </mi> <mo> + </mo> <mi> b </mi> <mo> - </mo> <mi> c </mi> <mo> + </mo> <mn> 1 </mn> </mrow> <mo> ; </mo> <mrow> <mn> 1 </mn> <mo> - </mo> <mi> z </mi> </mrow> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[&quot;b&quot;, Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[RowBox[List[&quot;a&quot;, &quot;+&quot;, &quot;b&quot;, &quot;-&quot;, &quot;c&quot;, &quot;+&quot;, &quot;1&quot;]], Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[RowBox[List[&quot;1&quot;, &quot;-&quot;, &quot;z&quot;]], Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> </mrow> </mrow> </mrow> <mo> /; </mo> <mrow> <mi> z </mi> <mo> &#8712; </mo> <mrow> <mo> ( </mo> <mrow> <mn> 1 </mn> <mo> , </mo> <mi> &#8734; </mi> </mrow> <mo> ) </mo> </mrow> </mrow> </mrow> <annotation-xml encoding='MathML-Content'> <mrow> <mrow> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mi> b </mi> </mrow> <mo> ; </mo> <mi> c </mi> <mo> ; </mo> <mi> z </mi> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[&quot;b&quot;, Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[&quot;c&quot;, Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[&quot;z&quot;, Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> <mo> &#63449; </mo> <mrow> <mrow> <msup> <mrow> <msup> <mi> &#8519; </mi> <mrow> <mn> 2 </mn> <mo> &#8290; </mo> <mi> &#8520; </mi> <mo> &#8290; </mo> <mrow> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mi> &#960; </mi> </mrow> </msup> <mo> ( </mo> <mfrac> <mn> 1 </mn> <mrow> <mn> 1 </mn> <mo> - </mo> <mi> z </mi> </mrow> </mfrac> <mo> ) </mo> </mrow> <mi> a </mi> </msup> <mo> &#8290; </mo> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> b </mi> </mrow> </mrow> <mo> ; </mo> <mi> c </mi> <mo> ; </mo> <mfrac> <mi> z </mi> <mrow> <mi> z </mi> <mo> - </mo> <mn> 1 </mn> </mrow> </mfrac> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[RowBox[List[&quot;c&quot;, &quot;-&quot;, &quot;b&quot;]], Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[&quot;c&quot;, Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[FractionBox[&quot;z&quot;, RowBox[List[&quot;z&quot;, &quot;-&quot;, &quot;1&quot;]]], Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> </mrow> <mo> - </mo> <mrow> <mfrac> <mrow> <mn> 2 </mn> <mo> &#8290; </mo> <mi> &#8520; </mi> <mo> &#8290; </mo> <mi> &#960; </mi> <mo> &#8290; </mo> <msup> <mi> &#8519; </mi> <mrow> <mi> &#8520; </mi> <mo> &#8290; </mo> <mrow> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mi> &#960; </mi> </mrow> </msup> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mi> c </mi> <mo> ) </mo> </mrow> </mrow> <mrow> <mtext> </mtext> <mrow> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> a </mi> <mo> + </mo> <mi> b </mi> <mo> - </mo> <mi> c </mi> <mo> + </mo> <mn> 1 </mn> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> a </mi> </mrow> <mo> ) </mo> </mrow> <mo> &#8290; </mo> <mrow> <mi> &#915; </mi> <mo> &#8289; </mo> <mo> ( </mo> <mrow> <mi> c </mi> <mo> - </mo> <mi> b </mi> </mrow> <mo> ) </mo> </mrow> </mrow> </mrow> </mfrac> <mo> &#8290; </mo> <semantics> <mrow> <mrow> <msub> <mo> &#8202; </mo> <mn> 2 </mn> </msub> <msub> <mi> F </mi> <mn> 1 </mn> </msub> </mrow> <mo> &#8289; </mo> <mrow> <mo> ( </mo> <mrow> <mrow> <mi> a </mi> <mo> , </mo> <mi> b </mi> </mrow> <mo> ; </mo> <mrow> <mi> a </mi> <mo> + </mo> <mi> b </mi> <mo> - </mo> <mi> c </mi> <mo> + </mo> <mn> 1 </mn> </mrow> <mo> ; </mo> <mrow> <mn> 1 </mn> <mo> - </mo> <mi> z </mi> </mrow> </mrow> <mo> ) </mo> </mrow> </mrow> <annotation encoding='Mathematica'> TagBox[TagBox[RowBox[List[RowBox[List[SubscriptBox[&quot;\[InvisiblePrefixScriptBase]&quot;, &quot;2&quot;], SubscriptBox[&quot;F&quot;, &quot;1&quot;]]], &quot;\[InvisibleApplication]&quot;, RowBox[List[&quot;(&quot;, RowBox[List[TagBox[TagBox[RowBox[List[TagBox[&quot;a&quot;, Hypergeometric2F1, Rule[Editable, True]], &quot;,&quot;, TagBox[&quot;b&quot;, Hypergeometric2F1, Rule[Editable, True]]]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[TagBox[TagBox[RowBox[List[&quot;a&quot;, &quot;+&quot;, &quot;b&quot;, &quot;-&quot;, &quot;c&quot;, &quot;+&quot;, &quot;1&quot;]], Hypergeometric2F1, Rule[Editable, True]], InterpretTemplate[Function[List[SlotSequence[1]]]]], Hypergeometric2F1, Rule[Editable, False]], &quot;;&quot;, TagBox[RowBox[List[&quot;1&quot;, &quot;-&quot;, &quot;z&quot;]], Hypergeometric2F1, Rule[Editable, True]]]], &quot;)&quot;]]]], InterpretTemplate[Function[HypergeometricPFQ[Slot[1], Slot[2], Slot[3]]]], Rule[Editable, False]], Hypergeometric2F1] </annotation> </semantics> </mrow> </mrow> </mrow> <mo> /; </mo> <mrow> <mi> z </mi> <mo> &#8712; </mo> <mrow> <mo> ( </mo> <mrow> <mn> 1 </mn> <mo> , </mo> <mi> &#8734; </mi> </mrow> <mo> ) </mo> </mrow> </mrow> </mrow> </annotation-xml> </semantics> </math>










Rule Form





Cell[BoxData[RowBox[List[RowBox[List["HoldPattern", "[", RowBox[List["Hypergeometric2F1", "[", RowBox[List["a_", ",", "b_", ",", "c_", ",", "z_"]], "]"]], "]"]], "\[RuleDelayed]", RowBox[List[RowBox[List[RowBox[List[SuperscriptBox["\[ExponentialE]", RowBox[List["2", " ", "\[ImaginaryI]", " ", RowBox[List["(", RowBox[List["c", "-", "a", "-", "b"]], ")"]], " ", "\[Pi]"]]], " ", SuperscriptBox[RowBox[List["(", FractionBox["1", RowBox[List["1", "-", "z"]]], ")"]], "a"], " ", RowBox[List["Hypergeometric2F1", "[", RowBox[List["a", ",", RowBox[List[RowBox[List["-", "b"]], "+", "c"]], ",", "c", ",", FractionBox["z", RowBox[List["z", "-", "1"]]]]], "]"]]]], "-", FractionBox[RowBox[List[RowBox[List["(", RowBox[List["2", " ", "\[ImaginaryI]", " ", SuperscriptBox["\[ExponentialE]", RowBox[List["\[ImaginaryI]", " ", RowBox[List["(", RowBox[List["c", "-", "a", "-", "b"]], ")"]], " ", "\[Pi]"]]], " ", "\[Pi]", " ", RowBox[List["Gamma", "[", "c", "]"]]]], ")"]], " ", RowBox[List["Hypergeometric2F1", "[", RowBox[List["a", ",", "b", ",", RowBox[List["1", "+", "a", "+", "b", "-", "c"]], ",", RowBox[List["1", "-", "z"]]]], "]"]]]], RowBox[List[RowBox[List["Gamma", "[", RowBox[List["1", "+", "a", "+", "b", "-", "c"]], "]"]], " ", RowBox[List["Gamma", "[", RowBox[List[RowBox[List["-", "a"]], "+", "c"]], "]"]], " ", RowBox[List["Gamma", "[", RowBox[List[RowBox[List["-", "b"]], "+", "c"]], "]"]]]]]]], "/;", RowBox[List["IntervalMemberQ", "[", RowBox[List[RowBox[List["Interval", "[", RowBox[List["{", RowBox[List["1", ",", "\[Infinity]"]], "}"]], "]"]], ",", "z"]], "]"]]]]]]]]










Date Added to functions.wolfram.com (modification date)





2007-05-02





© 1998-2014 Wolfram Research, Inc.