Jdu do práce
Former-commit-id: 445b4ba756f27d5f7388a84a5ac363ba63ea8ed2
This commit is contained in:
parent
b19213343b
commit
902bb5a9ea
|
@ -4,7 +4,7 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
static const double ln2 = 0.69314718055994531;
|
||||
static const double ln2 = 0.693147180559945309417;
|
||||
|
||||
|
||||
// general; gives an array of size xxx with TODODESC
|
||||
|
@ -41,7 +41,7 @@ complex double * hankelcoefftable_init(size_t maxn) {
|
|||
void hankelparts_fill(complex double *lrt, complex double *srt, size_t maxn,
|
||||
size_t lrk_cutoff, complex double *hct,
|
||||
unsigned kappa, double c, double x) {
|
||||
memset(lrt, 0, (maxn+1)*sizeof(complex double));
|
||||
if (lrt) memset(lrt, 0, (maxn+1)*sizeof(complex double));
|
||||
memset(srt, 0, (maxn+1)*sizeof(complex double));
|
||||
double regularisator = pow(1. - exp(-c * x), (double) kappa);
|
||||
double antiregularisator = 1. - regularisator;
|
||||
|
@ -51,13 +51,13 @@ void hankelparts_fill(complex double *lrt, complex double *srt, size_t maxn,
|
|||
for(size_t n = k; n <= maxn; ++n)
|
||||
srt[n] += ((k<lrk_cutoff) ? antiregularisator : 1)
|
||||
* xfrac * hankelcoeffs_get(hct,n)[k];
|
||||
if (k < lrk_cutoff) for (size_t n = k; n <= maxn; ++n)
|
||||
if (lrt && k < lrk_cutoff) for (size_t n = k; n <= maxn; ++n)
|
||||
lrt[n] += regularisator * xfrac * hankelcoeffs_get(hct,n)[k];
|
||||
}
|
||||
|
||||
complex double expix = cexp(I * x);
|
||||
for(size_t n = 0; n <= maxn; ++n){
|
||||
for(size_t n = 0; n <= maxn; ++n)
|
||||
srt[n] *= expix;
|
||||
if (lrt) for(size_t n = 0; n <= maxn; ++n)
|
||||
srt[n] *= expix;
|
||||
lrt[n] *= expix;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,9 +16,18 @@ hankelcoeffs_get(complex double *hankelcoefftable, size_t n){
|
|||
|
||||
|
||||
// general; target_longrange and target_shortrange are of size (maxn+1)
|
||||
// if target_longrange is NULL, only the short-range part is calculated
|
||||
void hankelparts_fill(complex double *target_longrange, complex double *target_shortrange,
|
||||
size_t maxn, size_t longrange_k_cutoff, // x**(-(k+1)-1) terms go completely to short-range part
|
||||
size_t maxn, size_t longrange_order_cutoff, // x**(-(order+1)-1) terms go completely to short-range part
|
||||
complex double *hankelcoefftable,
|
||||
unsigned kappa, double c, double x);
|
||||
unsigned kappa, double c, double x); // x = k0 * r
|
||||
|
||||
|
||||
// this declaration is general; however, the implementation
|
||||
// is so far only for kappa == ???, maxn == ??? TODO
|
||||
void lrhankel_recpart_fill(complex double *target_longrange_kspace,
|
||||
size_t maxn, size_t longrange_k_cutoff,
|
||||
complex double *hankelcoefftable,
|
||||
unsigned kappa, double c, double k0, double k);
|
||||
|
||||
#endif //BESSELS_H
|
||||
|
|
|
@ -38,6 +38,18 @@ complex double fk5q1n2l(double c, double k0, double k,
|
|||
- (e[5] - t*a[5] + t*d[5]*a[5])
|
||||
)/k0;
|
||||
}
|
||||
complex double fk5q1n3l(double c, double k0, double k,
|
||||
const complex double *a, const complex double *b, const complex double *d, const complex double *e, const complex double *ash) {
|
||||
double kk3 = 3*k*k;
|
||||
return (
|
||||
- d[0]*(kk3+4*a[0]*a[0])
|
||||
+ 5*d[1]*(kk3+4*a[1]*a[1])
|
||||
- 10*d[2]*(kk3+4*a[2]*a[2])
|
||||
+ 10*d[3]*(kk3+4*a[3]*a[3])
|
||||
- 5*d[4]*(kk3+4*a[4]*a[4])
|
||||
+ d[5]*(kk3+4*a[5]*a[5])
|
||||
)/(k0*k*k*k);
|
||||
}
|
||||
complex double fk5q2n0(double c, double k0, double k,
|
||||
const complex double *a, const complex double *b, const complex double *d, const complex double *e, const complex double *ash) {
|
||||
return (
|
||||
|
@ -184,7 +196,7 @@ int main() {
|
|||
// complex double fun(double c, double k0, double k, ccd *a, ccd *b, ccd *d, ccd *e)
|
||||
complex double result =
|
||||
//transfuns_f[kappa][qm][n](c,k0,k,a,b,d,e,ash);
|
||||
fk5q2n0s(c,k0,k,a,b,d,e,ash);
|
||||
fk5q1n3l(c,k0,k,a,b,d,e,ash);
|
||||
printf("%.16e %.16e ", creal(result), cimag(result));
|
||||
}
|
||||
printf("\n");
|
||||
|
|
|
@ -0,0 +1,380 @@
|
|||
(* Content-type: application/vnd.wolfram.mathematica *)
|
||||
|
||||
(*** Wolfram Notebook File ***)
|
||||
(* http://www.wolfram.com/nb *)
|
||||
|
||||
(* CreatedBy='Mathematica 10.0' *)
|
||||
|
||||
(*CacheID: 234*)
|
||||
(* Internal cache information:
|
||||
NotebookFileLineBreakTest
|
||||
NotebookFileLineBreakTest
|
||||
NotebookDataPosition[ 158, 7]
|
||||
NotebookDataLength[ 11519, 371]
|
||||
NotebookOptionsPosition[ 10578, 333]
|
||||
NotebookOutlinePosition[ 10914, 348]
|
||||
CellTagsIndexPosition[ 10871, 345]
|
||||
WindowFrame->Normal*)
|
||||
|
||||
(* Beginning of Notebook Content *)
|
||||
Notebook[{
|
||||
Cell[BoxData[{
|
||||
RowBox[{
|
||||
RowBox[{"rho", "[",
|
||||
RowBox[{"r_", ",", "c_", ",", "kap_"}], "]"}], ":=",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"1", "-",
|
||||
RowBox[{"Exp", "[",
|
||||
RowBox[{
|
||||
RowBox[{"-", "c"}], " ", "r"}], "]"}]}], ")"}], "^", "kap"}]}], "\n",
|
||||
RowBox[{
|
||||
RowBox[{"s", "[",
|
||||
RowBox[{"r_", ",", "k0_", ",", "q_"}], "]"}], ":=",
|
||||
RowBox[{
|
||||
RowBox[{"Exp", "[",
|
||||
RowBox[{"I", " ", "k0", " ", "r"}], "]"}], " ",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", " ", "r"}], ")"}], "^",
|
||||
RowBox[{"(",
|
||||
RowBox[{"-", "q"}], ")"}]}]}]}], "\n",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"integrand", "[",
|
||||
RowBox[{
|
||||
"r_", ",", "k_", ",", "k0_", ",", "c_", ",", "kap_", ",", "q_", ",",
|
||||
"n_"}], "]"}], ":=",
|
||||
RowBox[{
|
||||
RowBox[{"rho", "[",
|
||||
RowBox[{"r", ",", "c", ",", "kap"}], "]"}], " ",
|
||||
RowBox[{"s", "[",
|
||||
RowBox[{"r", ",", "k0", ",", "q"}], "]"}], " ", "r", " ",
|
||||
RowBox[{"BesselJ", "[",
|
||||
RowBox[{"n", ",",
|
||||
RowBox[{"k", " ", "r"}]}], "]"}]}]}],
|
||||
"\[IndentingNewLine]"}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"Lsum30", "[",
|
||||
RowBox[{"kap_", ",", "c_", ",", "k0_", ",", "k_"}], "]"}], ":=",
|
||||
RowBox[{"Sum", "[",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"-", "1"}], ")"}], "^",
|
||||
RowBox[{"(",
|
||||
RowBox[{"1", "+", "sig"}], ")"}]}], "*",
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "*",
|
||||
RowBox[{"Sqrt", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "^", "2"}], "-",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "^", "2"}]}],
|
||||
")"}], "/",
|
||||
RowBox[{"k", "^", "2"}]}], "]"}]}], "+",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "*",
|
||||
RowBox[{"ArcSin", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "/", "k"}],
|
||||
"]"}]}]}], ")"}], "*",
|
||||
RowBox[{"Binomial", "[",
|
||||
RowBox[{"kap", ",", "sig"}], "]"}]}], ")"}], "/",
|
||||
RowBox[{"k0", "^", "3"}]}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"sig", ",", "0", ",", "kap"}], "}"}]}],
|
||||
"]"}]}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"Nint30", "[",
|
||||
RowBox[{"kap_", ",", "c_", ",", "k0_", ",", "k_"}], "]"}], ":=",
|
||||
RowBox[{"NIntegrate", "[",
|
||||
RowBox[{
|
||||
RowBox[{"integrand", "[",
|
||||
RowBox[{
|
||||
"r", ",", "k", ",", "k0", ",", "c", ",", "kap", ",", "3", ",", "0"}],
|
||||
"]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"r", ",", "0", ",", "Infinity"}], "}"}]}],
|
||||
"]"}]}], "\[IndentingNewLine]",
|
||||
RowBox[{
|
||||
RowBox[{"Lsum30relerror", "[",
|
||||
RowBox[{"kappa_", ",", "c_", ",", "k0_", ",", "k_"}], "]"}], ":=",
|
||||
RowBox[{"Abs", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"NIntegrate", "[",
|
||||
RowBox[{
|
||||
RowBox[{"integrand", "[",
|
||||
RowBox[{
|
||||
"r", ",", "k", ",", "k0", ",", "c", ",", "kappa", ",", "3", ",",
|
||||
"0"}], "]"}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"r", ",", "0", ",", "Infinity"}], "}"}]}], "]"}], "-",
|
||||
RowBox[{"Lsum30", "[",
|
||||
RowBox[{"kappa", ",", "c", ",", "k0", ",", "k"}], "]"}]}], ")"}], "/",
|
||||
|
||||
RowBox[{"Lsum30", "[",
|
||||
RowBox[{"kappa", ",", "c", ",", "k0", ",", "k"}], "]"}]}],
|
||||
"]"}]}]}], "Input",
|
||||
CellChangeTimes->{{3.725113471451489*^9, 3.725113518541342*^9},
|
||||
3.72511361142743*^9, {3.7251136649255037`*^9, 3.725113665100748*^9},
|
||||
3.725113940122211*^9, {3.72511397606431*^9, 3.725114004686063*^9}, {
|
||||
3.7251140520462313`*^9, 3.725114052164033*^9}}],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Lsum30relerror", "[",
|
||||
RowBox[{"6", ",", "0.1", ",", "1", ",", "1.1"}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.7251136200622*^9, 3.7251136322203493`*^9}}],
|
||||
|
||||
Cell[BoxData["6.70650792232631`*^-12"], "Output",
|
||||
CellChangeTimes->{3.725113638647744*^9, 3.7251136705456123`*^9,
|
||||
3.725113945893931*^9}]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Lsum30relerror", "[",
|
||||
RowBox[{"2", ",", "0.1", ",", "1.8", ",", "0.7"}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.725113688094325*^9, 3.72511371089297*^9}, {
|
||||
3.725113953012788*^9, 3.725113957835388*^9}}],
|
||||
|
||||
Cell[BoxData["0.9975419499206724`"], "Output",
|
||||
CellChangeTimes->{{3.725113689091052*^9, 3.725113711464198*^9}, {
|
||||
3.72511394863025*^9, 3.725113958377577*^9}}]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Lsum30", "[",
|
||||
RowBox[{"2", ",", "0.1", ",", "1.8", ",", "0.7"}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.7251140122908077`*^9, 3.725114027355405*^9}, {
|
||||
3.7251140719110518`*^9, 3.72511408374263*^9}}],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"0.00006715230791048965`", "\[VeryThinSpace]", "+",
|
||||
RowBox[{"0.41841799501968396`", " ", "\[ImaginaryI]"}]}]], "Output",
|
||||
CellChangeTimes->{
|
||||
3.7251140276493177`*^9, {3.725114072392956*^9, 3.7251140841186037`*^9}}]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Nint30", "[",
|
||||
RowBox[{"2", ",", "0.1", ",", "1.8", ",", "0.7"}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.72511403724128*^9, 3.725114037839789*^9}, {
|
||||
3.725114078108095*^9, 3.725114082476921*^9}}],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"0.00006715230791033052`", "\[VeryThinSpace]", "+",
|
||||
RowBox[{"0.0010284870104265479`", " ", "\[ImaginaryI]"}]}]], "Output",
|
||||
CellChangeTimes->{{3.72511403840551*^9, 3.725114086040118*^9}}]
|
||||
}, Open ]],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Sum", "[",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"-", "1"}], ")"}], "^",
|
||||
RowBox[{"(",
|
||||
RowBox[{"1", "+", "sig"}], ")"}]}], "*",
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "*",
|
||||
RowBox[{"Sqrt", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "^", "2"}], "-",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "^", "2"}]}],
|
||||
")"}], "/",
|
||||
RowBox[{"k", "^", "2"}]}], "]"}]}], "+",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "*",
|
||||
RowBox[{"ArcSin", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "/", "k"}],
|
||||
"]"}]}]}], ")"}], "*",
|
||||
RowBox[{"Binomial", "[",
|
||||
RowBox[{"kap", ",", "sig"}], "]"}]}], ")"}], "/",
|
||||
RowBox[{"k0", "^", "3"}]}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"sig", ",", "0", ",", "kap"}], "}"}]}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.725113829800209*^9, 3.725113829800631*^9}}],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
UnderoverscriptBox["\[Sum]",
|
||||
RowBox[{"sig", "=", "0"}], "kap"],
|
||||
FractionBox[
|
||||
RowBox[{
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"-", "1"}], ")"}],
|
||||
RowBox[{"1", "+", "sig"}]], " ",
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", " ",
|
||||
SqrtBox[
|
||||
FractionBox[
|
||||
RowBox[{
|
||||
SuperscriptBox["k", "2"], "-",
|
||||
SuperscriptBox[
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"\[ImaginaryI]", " ", "c", " ", "sig"}]}], ")"}], "2"]}],
|
||||
SuperscriptBox["k", "2"]]]}], "+",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"\[ImaginaryI]", " ", "c", " ", "sig"}]}], ")"}], " ",
|
||||
RowBox[{"ArcSin", "[",
|
||||
FractionBox[
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"\[ImaginaryI]", " ", "c", " ", "sig"}]}], "k"], "]"}]}]}],
|
||||
")"}], " ",
|
||||
RowBox[{"Binomial", "[",
|
||||
RowBox[{"kap", ",", "sig"}], "]"}]}],
|
||||
SuperscriptBox["k0", "3"]]}]], "Output",
|
||||
CellChangeTimes->{3.7251138695080853`*^9}]
|
||||
}, Open ]],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{
|
||||
RowBox[{"Lsum30alt", "[",
|
||||
RowBox[{"kap_", ",", "c_", ",", "k0_", ",", "k_"}], "]"}], ":=",
|
||||
RowBox[{"Sum", "[",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"-", "1"}], ")"}], "^",
|
||||
RowBox[{"(",
|
||||
RowBox[{"1", "+", "sig"}], ")"}]}], "*",
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "*",
|
||||
RowBox[{"Sqrt", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"k", "^", "2"}], "-",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "^", "2"}]}],
|
||||
")"}], "/",
|
||||
RowBox[{"k", "^", "2"}]}], "]"}]}], "+",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "*",
|
||||
RowBox[{"(",
|
||||
RowBox[{
|
||||
RowBox[{"ArcSin", "[",
|
||||
RowBox[{
|
||||
RowBox[{"(",
|
||||
RowBox[{"k0", "+",
|
||||
RowBox[{"I", "*", "c", "*", "sig"}]}], ")"}], "/", "k"}],
|
||||
"]"}], "+",
|
||||
RowBox[{"I", "*", "Pi"}]}], ")"}]}]}], ")"}], "*",
|
||||
RowBox[{"Binomial", "[",
|
||||
RowBox[{"kap", ",", "sig"}], "]"}]}], ")"}], "/",
|
||||
RowBox[{"k0", "^", "3"}]}], ",",
|
||||
RowBox[{"{",
|
||||
RowBox[{"sig", ",", "0", ",", "kap"}], "}"}]}], "]"}]}]], "Input",
|
||||
CellChangeTimes->{{3.725114285602276*^9, 3.725114340572805*^9}}],
|
||||
|
||||
Cell[CellGroupData[{
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"Lsum30alt", "[",
|
||||
RowBox[{"2", ",", "0.1", ",", "1.8", ",", "0.7"}], "]"}]], "Input",
|
||||
CellChangeTimes->{{3.7251143362072897`*^9, 3.725114336572289*^9}}],
|
||||
|
||||
Cell[BoxData[
|
||||
RowBox[{"0.00006715230791043414`", "\[VeryThinSpace]", "+",
|
||||
RowBox[{"0.4184179950196838`", " ", "\[ImaginaryI]"}]}]], "Output",
|
||||
CellChangeTimes->{3.725114342830419*^9}]
|
||||
}, Open ]]
|
||||
},
|
||||
WindowSize->{1280, 758},
|
||||
WindowMargins->{{0, Automatic}, {Automatic, 0}},
|
||||
FrontEndVersion->"10.0 for Linux x86 (64-bit) (December 4, 2014)",
|
||||
StyleDefinitions->"Default.nb"
|
||||
]
|
||||
(* End of Notebook Content *)
|
||||
|
||||
(* Internal cache information *)
|
||||
(*CellTagsOutline
|
||||
CellTagsIndex->{}
|
||||
*)
|
||||
(*CellTagsIndex
|
||||
CellTagsIndex->{}
|
||||
*)
|
||||
(*NotebookFileOutline
|
||||
Notebook[{
|
||||
Cell[558, 20, 3847, 115, 231, "Input"],
|
||||
Cell[CellGroupData[{
|
||||
Cell[4430, 139, 180, 3, 32, "Input"],
|
||||
Cell[4613, 144, 140, 2, 34, "Output"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[4790, 151, 230, 4, 32, "Input"],
|
||||
Cell[5023, 157, 160, 2, 32, "Output"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[5220, 164, 226, 4, 32, "Input"],
|
||||
Cell[5449, 170, 241, 4, 32, "Output"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[5727, 179, 222, 4, 32, "Input"],
|
||||
Cell[5952, 185, 213, 3, 32, "Output"]
|
||||
}, Open ]],
|
||||
Cell[CellGroupData[{
|
||||
Cell[6202, 193, 1309, 40, 55, "Input"],
|
||||
Cell[7514, 235, 1072, 34, 94, "Output"]
|
||||
}, Open ]],
|
||||
Cell[8601, 272, 1567, 46, 99, "Input"],
|
||||
Cell[CellGroupData[{
|
||||
Cell[10193, 322, 179, 3, 32, "Input"],
|
||||
Cell[10375, 327, 187, 3, 32, "Output"]
|
||||
}, Open ]]
|
||||
}
|
||||
]
|
||||
*)
|
||||
|
||||
(* End of internal cache information *)
|
|
@ -291,6 +291,87 @@ extra
|
|||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
||||
\lang english
|
||||
According to Mathematica, the right sum with
|
||||
\begin_inset Formula $s$
|
||||
\end_inset
|
||||
|
||||
going from 0
|
||||
\begin_inset Formula
|
||||
\begin{equation}
|
||||
\frac{2^{1-q}}{k_{0}^{q}}\sqrt{\pi}\sum_{s=0}^{\infty}\left(-1\right)^{s}k^{-2+q-2s}\left(\sigma c-ik_{0}\right)^{2s}\left(-\frac{\text{Γ}\left(\frac{3-q+n}{2}\right)\left(\frac{3-q+n}{2}\right)_{s}\left(\frac{3-q-n}{2}\right)_{s}}{\text{Γ}\left(\frac{q+n-1}{2}\right)\text{Γ}\left(\frac{3}{2}+s\right)s!}\frac{\left(\sigma c-ik_{0}\right)}{k}\right)\label{eq:right sum}
|
||||
\end{equation}
|
||||
|
||||
\end_inset
|
||||
|
||||
can be written as (mathematica output)
|
||||
\begin_inset Note Note
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
\lang english
|
||||
(2^(2 - q)*k^(-3 + q)*((-I)*k0 + c*sig)*Gamma[(3 + n - q)/2]*Hypergeometric2F1[3
|
||||
/2 - n/2 - q/2, 3/2 + n/2 - q/2, 3/2, (k0 + I*c*sig)^2/k^2])/(k0^q*Gamma[(-1
|
||||
+ n + q)/2])
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Formula
|
||||
\[
|
||||
\frac{2^{2-q}k^{-3+q}\left(-ik_{0}+c\sigma\right)\text{Γ}\left(\frac{3+n-q}{2}\right)\hgf\left(\begin{array}{c}
|
||||
\frac{3-n-q}{2},\frac{3+n-q}{2}\\
|
||||
3/2
|
||||
\end{array};-\frac{\left(\sigma c-ik_{0}\right)^{2}}{k^{2}}\right)}{k_{0}^{q;}\Gamma\left(\frac{-1+n+q}{2}\right)}
|
||||
\]
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
||||
\lang english
|
||||
Similarly, the left sum
|
||||
\begin_inset Formula
|
||||
\begin{equation}
|
||||
\frac{2^{1-q}}{k_{0}^{q}}\sqrt{\pi}\sum_{s=0}^{\infty}\left(-1\right)^{s}k^{-2+q-2s}\left(\sigma c-ik_{0}\right)^{2s}\left(\frac{\text{Γ}\left(\frac{2-q+n}{2}\right)\left(\frac{2-q+n}{2}\right)_{s}\left(\frac{2-q-n}{2}\right)_{s}}{\text{Γ}\left(\frac{q+n}{2}\right)\text{Γ}\left(\frac{1}{2}+s\right)s!}\right)\label{eq:left sum}
|
||||
\end{equation}
|
||||
|
||||
\end_inset
|
||||
|
||||
gives (mathematica output)
|
||||
\begin_inset Note Note
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
\lang english
|
||||
(2^(1 - q)*k^(-2 + q)*Gamma[(2 + n - q)/2]*Hypergeometric2F1[1 - n/2 - q/2,
|
||||
1 + n/2 - q/2, 1/2, (k0 + I*c*sig)^2/k^2])/(k0^q*Gamma[(n + q)/2])
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
and is equal to
|
||||
\begin_inset Formula
|
||||
\[
|
||||
\frac{2^{1-q}k^{-2+q}\Gamma\left(\frac{2+n-q}{2}\right)\hgf\left(\begin{array}{c}
|
||||
\frac{2-n-q}{2},\frac{2+n-q}{2}\\
|
||||
1/2
|
||||
\end{array};-\frac{\left(\sigma c-ik_{0}\right)^{2}}{k^{2}}\right)}{k_{0}^{q;}\Gamma\left(\frac{n+q}{2}\right)}
|
||||
\]
|
||||
|
||||
\end_inset
|
||||
|
||||
.
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subparagraph
|
||||
|
||||
\lang english
|
||||
|
@ -393,12 +474,83 @@ so
|
|||
\begin_inset Formula
|
||||
\begin{eqnarray*}
|
||||
\pht 1{s_{3,k_{0}}^{\textup{L}\kappa>3,c}}\left(k\right) & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{\kor{2^{-2}}k}{k_{0}^{3}}\kor{\sqrt{\pi}\left(\frac{\sigma c-ik_{0}}{k}\right)}\kor 2\frac{\left(\frac{\sigma c-ik_{0}}{k}\right)\sqrt{1+\left(\frac{\sigma c-ik_{0}}{k}\right)^{2}}+\sinh^{-1}\left(\frac{\sigma c-ik_{0}}{k}\right)}{\kor{\sqrt{\pi}\left(\frac{\sigma c-ik_{0}}{k}\right)}}\\
|
||||
& = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{k}{2k_{0}^{3}}\left(\left(\frac{\sigma c-ik_{0}}{k}\right)\sqrt{1+\left(\frac{\sigma c-ik_{0}}{k}\right)^{2}}+\sinh^{-1}\left(\frac{\sigma c-ik_{0}}{k}\right)\right)
|
||||
(Hq3n1) & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{k}{2k_{0}^{3}}\left(\left(\frac{\sigma c-ik_{0}}{k}\right)\sqrt{1+\left(\frac{\sigma c-ik_{0}}{k}\right)^{2}}+\sinh^{-1}\left(\frac{\sigma c-ik_{0}}{k}\right)\right)
|
||||
\end{eqnarray*}
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\series bold
|
||||
což je prej blbě (zjisti proč – blbě opsáno nebo nesprávná větev logaritmu?);
|
||||
\series default
|
||||
správný výsledek je (mathematica kód:
|
||||
\begin_inset Note Note
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
- Sum[(-1)^sig Binomial[kap, sig] (((-I)*k0 + c*sig)*(k0*Sqrt[1 - (k0 +
|
||||
I*c*sig)^2/k^2] + I*c*sig*Sqrt[1 - (k0 + I*c*sig)^2/k^2] + k*ArcSin[(k0
|
||||
+ I*c*sig)/k]))/(2*k0^3*(k0 + I*c*sig)) , {sig, 0, kap}]
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
nebo FullSimplify
|
||||
\begin_inset Note Note
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
(((-I)*k0 + c*sig)*Sqrt[(k^2 - (k0 + I*c*sig)^2)/k^2] - I*k*ArcSin[(k0 +
|
||||
I*c*sig)/k])/(2*k0^3)
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
; snad jsem to tentokrát neopsal blbě)
|
||||
\begin_inset Formula
|
||||
\begin{eqnarray*}
|
||||
\pht 1{s_{3,k_{0}}^{\textup{L}\kappa>3,c}}\left(k\right) & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{\left(-ik_{0}+c\sigma\right)\left(k_{0}\sqrt{1+\left(\frac{\sigma c-ik_{0}}{k}\right)^{2}}+ic\sigma\sqrt{1+\left(\frac{\sigma c-ik_{0}}{k}\right)^{2}}+k\sin^{-1}\left(\frac{k_{0}+ic\sigma}{k}\right)\right)}{2k_{0}^{3}\left(k_{0}+ic\sigma\right)}\\
|
||||
\mbox{(f.simpl.)} & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{\left(-ik_{0}+c\sigma\right)\sqrt{1-\left(\frac{k_{0}+ic\sigma}{k}\right)^{2}}-ik\sin^{-1}\left(\frac{k_{0}+ic\sigma}{k}\right)}{2k_{0}^{3}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Subparagraph
|
||||
Special case
|
||||
\begin_inset Formula $q=3,n=0$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
Mathematica řiká po fullsimplify zhruba toto
|
||||
\begin_inset Note Note
|
||||
status open
|
||||
|
||||
\begin_layout Plain Layout
|
||||
Sum[((-1)^(1 + sig)*(k*Sqrt[(k^2 - (k0 + I*c*sig)^2)/k^2] + (k0 + I*c*sig)*ArcSi
|
||||
n[(k0 + I*c*sig)/k])*Binomial[kap, sig])/k0^3, {sig, 0, kap}]
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Formula
|
||||
\begin{eqnarray*}
|
||||
\pht 0{s_{3,k_{0}}^{\textup{L}\kappa>3,c}}\left(k\right) & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{k\sqrt{1-\left(\frac{k_{0}+ic\sigma}{k}\right)^{2}}+\left(k_{0}+ic\sigma\right)\sin^{-1}\left(\frac{k_{0}+ic\sigma}{k}\right)}{k_{0}^{3}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Formula $\kappa\ge2$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Paragraph
|
||||
|
|
|
@ -2700,6 +2700,79 @@ for
|
|||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Paragraph
|
||||
Case
|
||||
\begin_inset Formula $n=1,q=3$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
As shown in separate note (check whether copied correctly)
|
||||
\begin_inset Formula
|
||||
\[
|
||||
\pht 1{s_{3,k_{0}}^{\textup{L}\kappa>3,c}}\left(k\right)=-\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{\left(-ik_{0}+c\sigma\right)\sqrt{1-\left(\frac{k_{0}+ic\sigma}{k}\right)^{2}}-ik\sin^{-1}\left(\frac{k_{0}+ic\sigma}{k}\right)}{2k_{0}^{3}}
|
||||
\]
|
||||
|
||||
\end_inset
|
||||
|
||||
for
|
||||
\begin_inset Formula $\kappa\ge3$
|
||||
\end_inset
|
||||
|
||||
,
|
||||
\begin_inset Formula $k>k_{0}?$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Paragraph
|
||||
Case
|
||||
\begin_inset Formula $n=0,q=3$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
As shown in separate note (check whether copied correctly)
|
||||
\lang finnish
|
||||
|
||||
\begin_inset Note Note
|
||||
status collapsed
|
||||
|
||||
\begin_layout Plain Layout
|
||||
|
||||
\lang finnish
|
||||
Sum[((-1)^(1 + sig)*(k*Sqrt[(k^2 - (k0 + I*c*sig)^2)/k^2] + (k0 + I*c*sig)*ArcSi
|
||||
n[(k0 + I*c*sig)/k])*Binomial[kap, sig])/k0^3, {sig, 0, kap}]
|
||||
\end_layout
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset Formula
|
||||
\begin{eqnarray*}
|
||||
\pht 0{s_{3,k_{0}}^{\textup{L}\kappa>3,c}}\left(k\right) & = & -\sum_{\sigma=0}^{\kappa}\left(-1\right)^{\sigma}\binom{\kappa}{\sigma}\frac{k\sqrt{1-\left(\frac{k_{0}+ic\sigma}{k}\right)^{2}}+\left(k_{0}+ic\sigma\right)\sin^{-1}\left(\frac{k_{0}+ic\sigma}{k}\right)}{k_{0}^{3}}
|
||||
\end{eqnarray*}
|
||||
|
||||
\end_inset
|
||||
|
||||
|
||||
\lang english
|
||||
for
|
||||
\begin_inset Formula $\kappa\ge2$
|
||||
\end_inset
|
||||
|
||||
,
|
||||
\begin_inset Formula $k>k_{0}?$
|
||||
\end_inset
|
||||
|
||||
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -2964,7 +3037,7 @@ where the spherical Hankel transform
|
|||
2)
|
||||
\begin_inset Formula
|
||||
\[
|
||||
\bsht lg(k)\equiv\int_{0}^{\infty}\ud r\,r^{2}g(r)j_{l}\left(kr\right).
|
||||
\bsht lg(k)\equiv\int_{0}^{\infty}\ud r\, r^{2}g(r)j_{l}\left(kr\right).
|
||||
\]
|
||||
|
||||
\end_inset
|
||||
|
@ -2974,7 +3047,7 @@ Using this convention, the inverse spherical Hankel transform is given by
|
|||
3)
|
||||
\begin_inset Formula
|
||||
\[
|
||||
g(r)=\frac{2}{\pi}\int_{0}^{\infty}\ud k\,k^{2}\bsht lg(k)j_{l}(k),
|
||||
g(r)=\frac{2}{\pi}\int_{0}^{\infty}\ud k\, k^{2}\bsht lg(k)j_{l}(k),
|
||||
\]
|
||||
|
||||
\end_inset
|
||||
|
@ -2987,7 +3060,7 @@ so it is not unitary.
|
|||
An unitary convention would look like this:
|
||||
\begin_inset Formula
|
||||
\begin{equation}
|
||||
\usht lg(k)\equiv\sqrt{\frac{2}{\pi}}\int_{0}^{\infty}\ud r\,r^{2}g(r)j_{l}\left(kr\right).\label{eq:unitary 3d Hankel tf definition}
|
||||
\usht lg(k)\equiv\sqrt{\frac{2}{\pi}}\int_{0}^{\infty}\ud r\, r^{2}g(r)j_{l}\left(kr\right).\label{eq:unitary 3d Hankel tf definition}
|
||||
\end{equation}
|
||||
|
||||
\end_inset
|
||||
|
@ -3040,9 +3113,10 @@ where the Hankel transform of order
|
|||
|
||||
is defined as
|
||||
\begin_inset Formula
|
||||
\begin{equation}
|
||||
\pht mg\left(k\right)=\int_{0}^{\infty}\ud r\,g(r)J_{m}(kr)r\label{eq:unitary 2d Hankel tf definition}
|
||||
\end{equation}
|
||||
\begin{eqnarray}
|
||||
\pht mg\left(k\right) & = & \int_{0}^{\infty}\ud r\, g(r)J_{m}(kr)r\label{eq:unitary 2d Hankel tf definition}\\
|
||||
& = & \left(-1\right)^{m}\int_{0}^{\infty}\ud r\, g(r)J_{\left|m\right|}(kr)r
|
||||
\end{eqnarray}
|
||||
|
||||
\end_inset
|
||||
|
||||
|
|
Loading…
Reference in New Issue