Jdu do práce

Former-commit-id: 445b4ba756f27d5f7388a84a5ac363ba63ea8ed2
This commit is contained in:
Marek Nečada 2018-01-23 05:38:02 +00:00
parent b19213343b
commit 902bb5a9ea
6 changed files with 643 additions and 16 deletions

View File

@ -4,7 +4,7 @@
#include <stdio.h> #include <stdio.h>
#include <string.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 // 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, void hankelparts_fill(complex double *lrt, complex double *srt, size_t maxn,
size_t lrk_cutoff, complex double *hct, size_t lrk_cutoff, complex double *hct,
unsigned kappa, double c, double x) { 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)); memset(srt, 0, (maxn+1)*sizeof(complex double));
double regularisator = pow(1. - exp(-c * x), (double) kappa); double regularisator = pow(1. - exp(-c * x), (double) kappa);
double antiregularisator = 1. - regularisator; 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) for(size_t n = k; n <= maxn; ++n)
srt[n] += ((k<lrk_cutoff) ? antiregularisator : 1) srt[n] += ((k<lrk_cutoff) ? antiregularisator : 1)
* xfrac * hankelcoeffs_get(hct,n)[k]; * 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]; lrt[n] += regularisator * xfrac * hankelcoeffs_get(hct,n)[k];
} }
complex double expix = cexp(I * x); 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; srt[n] *= expix;
lrt[n] *= expix;
}
} }

View File

@ -16,9 +16,18 @@ hankelcoeffs_get(complex double *hankelcoefftable, size_t n){
// general; target_longrange and target_shortrange are of size (maxn+1) // 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, 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, 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 #endif //BESSELS_H

View File

@ -38,6 +38,18 @@ complex double fk5q1n2l(double c, double k0, double k,
- (e[5] - t*a[5] + t*d[5]*a[5]) - (e[5] - t*a[5] + t*d[5]*a[5])
)/k0; )/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, 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) { const complex double *a, const complex double *b, const complex double *d, const complex double *e, const complex double *ash) {
return ( 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 fun(double c, double k0, double k, ccd *a, ccd *b, ccd *d, ccd *e)
complex double result = complex double result =
//transfuns_f[kappa][qm][n](c,k0,k,a,b,d,e,ash); //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("%.16e %.16e ", creal(result), cimag(result));
} }
printf("\n"); printf("\n");

380
notes/BesselTFq3n0test.nb Normal file
View File

@ -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 *)

View File

@ -291,6 +291,87 @@ extra
. .
\end_layout \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 \begin_layout Subparagraph
\lang english \lang english
@ -393,12 +474,83 @@ so
\begin_inset Formula \begin_inset Formula
\begin{eqnarray*} \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)}}\\ \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{eqnarray*}
\end_inset \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 \end_layout
\begin_layout Paragraph \begin_layout Paragraph

View File

@ -2700,6 +2700,79 @@ for
\end_inset \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 \end_layout
\begin_layout Standard \begin_layout Standard
@ -2964,7 +3037,7 @@ where the spherical Hankel transform
2) 2)
\begin_inset Formula \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 \end_inset
@ -2974,7 +3047,7 @@ Using this convention, the inverse spherical Hankel transform is given by
3) 3)
\begin_inset Formula \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 \end_inset
@ -2987,7 +3060,7 @@ so it is not unitary.
An unitary convention would look like this: An unitary convention would look like this:
\begin_inset Formula \begin_inset Formula
\begin{equation} \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{equation}
\end_inset \end_inset
@ -3040,9 +3113,10 @@ where the Hankel transform of order
is defined as is defined as
\begin_inset Formula \begin_inset Formula
\begin{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} \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} & = & \left(-1\right)^{m}\int_{0}^{\infty}\ud r\, g(r)J_{\left|m\right|}(kr)r
\end{eqnarray}
\end_inset \end_inset