qpms/notes/tftests.lyx

470 lines
9.8 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#LyX 2.1 created this file. For more info see http://www.lyx.org/
\lyxformat 474
\begin_document
\begin_header
\textclass article
\begin_preamble
\usepackage{unicode-math}
% Toto je trik, jimž se z fontspec získá familyname pro následující
\ExplSyntaxOn
\DeclareExpandableDocumentCommand{\getfamilyname}{m}
{
\use:c { g__fontspec_ \cs_to_str:N #1 _family }
}
\ExplSyntaxOff
% definujeme novou rodinu, jež se volá pomocí \MyCyr pro běžné použití, avšak pro účely \DeclareSymbolFont je nutno získat název pomocí getfamilyname definovaného výše
\newfontfamily\MyCyr{CMU Serif}
\DeclareSymbolFont{cyritletters}{EU1}{\getfamilyname\MyCyr}{m}{it}
\newcommand{\makecyrmathletter}[1]{%
\begingroup\lccode`a=#1\lowercase{\endgroup
\Umathcode`a}="0 \csname symcyritletters\endcsname\space #1
}
\count255="409
\loop\ifnum\count255<"44F
\advance\count255 by 1
\makecyrmathletter{\count255}
\repeat
\renewcommand{\lyxmathsym}[1]{#1}
\end_preamble
\use_default_options true
\maintain_unincluded_children false
\language czech
\language_package default
\inputencoding auto
\fontencoding global
\font_roman TeX Gyre Pagella
\font_sans default
\font_typewriter default
\font_math default
\font_default_family default
\use_non_tex_fonts true
\font_sc false
\font_osf true
\font_sf_scale 100
\font_tt_scale 100
\graphics default
\default_output_format pdf4
\output_sync 0
\bibtex_command default
\index_command default
\paperfontsize 10
\spacing single
\use_hyperref true
\pdf_title "Accelerating lattice mode calculations with T-matrix method"
\pdf_author "Marek Nečada"
\pdf_bookmarks true
\pdf_bookmarksnumbered false
\pdf_bookmarksopen false
\pdf_bookmarksopenlevel 1
\pdf_breaklinks false
\pdf_pdfborder false
\pdf_colorlinks false
\pdf_backref false
\pdf_pdfusetitle true
\papersize a5paper
\use_geometry true
\use_package amsmath 1
\use_package amssymb 1
\use_package cancel 1
\use_package esint 1
\use_package mathdots 1
\use_package mathtools 1
\use_package mhchem 1
\use_package stackrel 1
\use_package stmaryrd 1
\use_package undertilde 1
\cite_engine basic
\cite_engine_type default
\biblio_style plain
\use_bibtopic false
\use_indices false
\paperorientation portrait
\suppress_date false
\justification true
\use_refstyle 1
\index Index
\shortcut idx
\color #008000
\end_index
\leftmargin 2cm
\topmargin 2cm
\rightmargin 2cm
\bottommargin 2cm
\secnumdepth 3
\tocdepth 3
\paragraph_separation indent
\paragraph_indentation default
\quotes_language german
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\html_math_output 0
\html_css_as_file 0
\html_be_strict false
\end_header
\begin_body
\begin_layout Standard
\begin_inset FormulaMacro
\newcommand{\svecp}[1]{#1}
\end_inset
\begin_inset FormulaMacro
\newcommand{\svect}[1]{#1}
\end_inset
\begin_inset FormulaMacro
\newcommand{\vect}[1]{\mathbf{#1}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\FoR}[1]{\mathfrak{#1}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\ud}{\mathrm{d}}
\end_inset
\begin_inset FormulaMacro
\newcommand{\WignerD}{\mathcal{D}}
\end_inset
\end_layout
\begin_layout Title
Testování numerické správnosti QPMS
\end_layout
\begin_layout Author
Marek Nečada
\end_layout
\begin_layout Abstract
Všeliké poznámky vztahující se k psaní testů knihovny QPMS.
\end_layout
\begin_layout Section
Operátor přesunu
\end_layout
\begin_layout Standard
Rozmohl se mi takový nešvar, že souměrné soustavy (například vůči zrcadlení
\begin_inset Formula $y\leftrightarrow-y$
\end_inset
) dávají nesouměrné výsledky např.
pro účinný průřez.
Zdá se, že k chybě dochází v některém z kroků výpočtu operátoru přesunu
\begin_inset Formula $S(b\leftarrow a)$
\end_inset
.
Ověřme jeho výpočtem v různě otočených či převrácených soustavách souřadnic.
Buďtež tedy
\begin_inset Formula $\FoR F$
\end_inset
,
\begin_inset Formula $\FoR G$
\end_inset
dvě různé soustavy souřadnic v euklidovském navzájem otočené či převrácené,
a pakliže vyjádření vektoru
\begin_inset Formula $\vect v$
\end_inset
v soustavě
\begin_inset Formula $\FoR F$
\end_inset
je
\begin_inset Formula $\vect v_{j}^{\FoR F}$
\end_inset
, pak jeho vyjádření v soustavě
\begin_inset Formula $\FoR G$
\end_inset
budiž
\begin_inset Formula $\vect v_{j}^{\FoR G}=\Psi_{ji}\vect v_{i}^{\FoR F}$
\end_inset
, kde
\begin_inset Formula $\Psi\in O(3)$
\end_inset
.
Odpovídající transformace kulového vektoru (např.
vyzařovaných kulových el.
vln) jest
\begin_inset Formula
\[
\svect A_{l'm'}^{\FoR G}=\WignerD_{l'm'\leftarrow lm}^{(\Psi)}\svect A_{lm}^{\FoR F}.
\]
\end_inset
Pakliže se jedná o kombinovaný kulový vektor-pseudovektor (jako třeba vyzařovaný
ch kulových elektrických a magnetických vln), dostáváme (OVĚŘ)
\begin_inset Formula
\[
\svecp A_{t'l'm'}^{\FoR G}=\WignerD_{t'l'm'\leftarrow tlm}^{(\Psi)}\svecp A_{tlm}^{\FoR F}=\left(\det\Psi\right)^{\left(t'-t\right)}\WignerD_{l'm'\leftarrow lm}^{(\Psi)}\svecp A_{tlm}^{\FoR F}.
\]
\end_inset
\end_layout
\begin_layout Standard
Vezměmež elementární případ dílčího rozptylu částice v bodě
\begin_inset Formula $b$
\end_inset
záření vyzařovaného částicí v bodě
\begin_inset Formula $a$
\end_inset
.
Nezávisle na soustavě:
\begin_inset Formula
\[
P^{(b)}=S_{b\leftarrow a}T^{(a)}P^{(a)}
\]
\end_inset
\end_layout
\begin_layout Standard
V soustavě
\begin_inset Formula $\FoR F$
\end_inset
:
\begin_inset Formula
\[
P^{(b)\FoR F}=S_{(b\leftarrow a)^{\FoR F}}^{\FoR F}T^{(a)\FoR F}P^{(a)\FoR F}.
\]
\end_inset
V soustavě
\begin_inset Formula $\FoR G$
\end_inset
(pro jednoduchost píši
\begin_inset Formula $\WignerD\equiv\WignerD^{(\Psi)}$
\end_inset
atd.):
\begin_inset Formula
\begin{eqnarray*}
P^{(b)\FoR G} & = & \WignerD P^{(b)\FoR F}=\WignerD S_{(b\leftarrow a)^{\FoR F}}^{\FoR F}T^{(a)\FoR F}P^{(a)\FoR F}\\
& = & \underbrace{\WignerD S_{(b-a)^{\FoR F}}^{\FoR F}\WignerD^{-1}}_{S_{(b-a)^{\FoR F}}^{\FoR G}=S_{\Psi^{-1}(b-a)^{\FoR G}}^{\FoR G}???}\underbrace{\WignerD T^{(a)\FoR F}\WignerD^{-1}}_{T^{(a)\FoR G}}\underbrace{\WignerD P^{(a)\FoR F}}_{P^{(a)\FoR G}}.
\end{eqnarray*}
\end_inset
\end_layout
\begin_layout Standard
Nemá první svorka býti
\begin_inset Formula $S_{\left(b-a\right)^{\FoR G}}^{\FoR G}$
\end_inset
?!
\end_layout
\begin_layout Standard
Test správnosti tedy může vypadat následovně:
\end_layout
\begin_layout Enumerate
Vytvoř náhodně vektor přesunu
\begin_inset Formula $\vect v$
\end_inset
(což bude naše
\begin_inset Formula $(b-a)^{\FoR G}$
\end_inset
) a transformaci
\begin_inset Formula $\Psi\in O(3)$
\end_inset
.
\end_layout
\begin_layout Enumerate
TODO
\end_layout
\begin_layout Subsection
Nalezené nesrovnalosti
\end_layout
\begin_layout Standard
Xuovy vzorce ve starší práci
\begin_inset CommandInset citation
LatexCommand cite
after "(7780)"
key "xu_calculation_1996"
\end_inset
a v novější práci
\begin_inset CommandInset citation
LatexCommand cite
after "(6365, ...)"
key "xu_efficient_1998"
\end_inset
pro koefficienty
\begin_inset Formula $B_{mn\mu\nu}$
\end_inset
se lišejí v několika ohledech:
\end_layout
\begin_layout Enumerate
Ve starší práci suma začíná na
\begin_inset Formula $q=0$
\end_inset
, kdežto v novější práci až na
\begin_inset Formula $q=1$
\end_inset
.
Ovšem členy s
\begin_inset Formula $q=0$
\end_inset
jsou identicky nulové, takže je zbytečné začínat na nule.
(Ověřeno numericky i tam jsou to přesně nuly.)
\end_layout
\begin_layout Enumerate
Ve starší práci je poslední člen sumy
\begin_inset Formula $q=\min\left(n+1,\nu,\frac{n+\nu+1-\left|\mu-m\right|}{2}\right)$
\end_inset
, zatímco v novější je to
\begin_inset Formula $q=\min\left(n,\nu,\frac{n+\nu+1-\left|\mu-m\right|}{2}\right)$
\end_inset
.
Tyto hodnoty se pochopitelně mohou lišit, například pro
\begin_inset Formula $\left(m,n,\mu,\nu\right)=\left(-1,1,-1,3\right)$
\end_inset
.
Numericky ověřeno, že „přebytečné“ členy ze starší práce jsou nulové (avšak
vypočtené hodnoty nejsou přesně nuly, něco zbude kvůli zaokrouhlovacích
chyb).
\end_layout
\begin_layout Enumerate
!!! Některé hodnoty nesedějí, například pro
\begin_inset Formula $\left(m,n,\mu,\nu\right)=\left(0,1,-1,1\right)$
\end_inset
!!! (Při numerickém srovnání Xuových vzorců
\begin_inset CommandInset citation
LatexCommand cite
after "(7780)"
key "xu_calculation_1996"
\end_inset
ve staré práci a cruzanovských vzorců
\begin_inset CommandInset citation
LatexCommand cite
after "(5961, ...)"
key "xu_efficient_1998"
\end_inset
.)
\end_layout
\begin_layout Enumerate
A nakonec samotné vzorce pro sčítance mají poněkud jiný tvar.
\end_layout
\begin_layout Subsection
Možné zdroje nepřesností
\end_layout
\begin_layout Standard
I po opravě na Cruzanovy/Xuovy vzorce dochází k tomu, že posunuté vlny mají
chybu řádově v procentech a více.
Přitom hodnota se nezlepšuje se zvýšením lMax.
Možné zdroje nepřesností, jež je třeba vyloučit:
\end_layout
\begin_layout Itemize
Odčítání podobných hodnot.
Řešení: nahradit všechny podezřelé součty Kahanovým sčítáním.
\end_layout
\begin_layout Itemize
Nepřesnosti v implementaci GSL.
Otestovat a porovnat s
\end_layout
\begin_deeper
\begin_layout Itemize
Legendreovy polynomy,
\end_layout
\begin_layout Itemize
Besselovy funkce nepřesné jak sviňa zejména u derivací besselových funkcí
prvního druhu.
Nutno zvolit jinou implementaci.
\end_layout
\end_deeper
\begin_layout Itemize
Vzorce v Xu blbě? To by bylo blbé, ale byl ještě jeden článek v jakémsi
obskurním plátku.
\end_layout
\begin_layout Standard
\end_layout
\begin_layout Standard
\begin_inset CommandInset bibtex
LatexCommand bibtex
bibfiles "/l/necadam1/repo/qpms/Electrodynamics"
options "plain"
\end_inset
\end_layout
\end_body
\end_document