Commit d7fd4a50 authored by Benoit Viguier's avatar Benoit Viguier
Browse files

working on talk CWG

parent 212c3c8d
This diff is collapsed.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% SLIDE 1
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[fragile]{Elliptic Curves 101}
% \newcommand{\PP}{\mathcal{P}}
% \newcommand{\KK}{\mathcal{K}}
% \newcommand{\PK}{x}
% \newcommand{\PKX}{Q}
% \newcommand{\X}{{\bf x}}
% \newcommand{\E}{\mathcal{E}}
% \newcommand{\K}{\mathcal{K}}
% \newcommand{\J}{\mathcal{J}}
\newcommand{\XX}[1]{\ensuremath{{\textbf{x}}(#1)}}
\begin{center}
\begin{tikzpicture}
\newcommand*{\xlen}{-4}
\newcommand*{\ylen}{1.5}
\coordinate (cquoops) at (\xlen, \ylen);
\coordinate (cquosca) at (\xlen, \ylen-0.8);
\coordinate (cquoadd) at (\xlen, \ylen-1.6);
\coordinate (cquoxdbladd) at (\xlen, \ylen-2.4);
\coordinate (cgroupops) at (\xlen, 3*\ylen);
\coordinate (cgroupsca) at (\xlen, 3*\ylen-0.7);
\coordinate (cgroupadd) at (\xlen, 3*\ylen-1.4);
\node [anchor=west] (groupops) at (cgroupops)
{\underline{\emph{Operations on $E: B y^2 = x^3 + A x^2 + x$}}};
\node [anchor=west] (groupsca) at (cgroupsca)
{$\textcolor{rured}{(1)}\,\,P \mapsto [2]P$};
\node [anchor=west] (groupadd) at (cgroupadd)
{$\textcolor{rured}{(2)}\,\,\big\{P,Q\big\}\mapsto P + Q$};
\visible<8->{
\node [anchor=west] (quoops) at (cquoops)
{\underline{\emph{Operations on $\mathbb{P}$}}};
\node [anchor=west] (quosca) at (cquosca)
{$\textcolor{rured}{(1)}\,\,\texttt{xDBL}:\,\XX{P} \mapsto \XX{[2]P}$};
}
\visible<16>{
\node [anchor=west] (quoadd) at (cquoadd)
{$\textcolor{rured}{(2)}\,\,\Big\{\XX{P},\XX{Q}\Big\}
\mapsto \Big\{\XX{P+Q},\XX{P-Q}\Big\}$};
}
\visible<17->{
\node [anchor=west] (quoadd) at (cquoadd)
{$\textcolor{rured}{(2)}\,\,\texttt{xADD} : \Big\{\XX{P},\XX{Q},\XX{P-Q}\Big\}
\mapsto \XX{P+Q}$};
}
\newcommand*{\aaa}{-6}
\newcommand*{\bbb}{7}
\newcommand*{\px}{-1.85}
\newcommand*{\py}{3.4305}
\newcommand*{\dfdxp}{4.2675}
\newcommand*{\dfdyp}{-2*\py}
\newcommand*{\pxd}{4.0868}
\newcommand*{\pyd}{7.4716}
\newcommand*{\qx}{0.9}
\newcommand*{\qy}{1.5261}
\newcommand*{\pqx}{1.42956}
\newcommand*{\pqy}{-1.15937}
\newcommand*{\qpx}{4.19886}
\newcommand*{\qpy}{7.4716}
\begin{axis}
[
axis x line = center,
axis line style = thick,
xlabel = $\mathbb{K}$,
axis y line = none,
ticks = none,
xmin=-4,
xmax=8,
ymin=-9,
ymax=9,
samples=200,
domain=-2.9005:5,
smooth
]
\addplot [rured,ultra thick] {sqrt(x^3+\aaa*x+\bbb)};
\addplot [rured,ultra thick] {-sqrt(x^3+\aaa*x+\bbb)};
\only<2-8>{
\addplot [msblue,ultra thick,mark=*] coordinates {(\px,sqrt(\px^3+\aaa*\px+\bbb)};
}
\only<3-8>{
\addplot [msblue,ultra thick,mark=*] coordinates {(\px,-sqrt(\px^3+\aaa*\px+\bbb)};
}
\only<4>{
\draw [thick,<-,dashed] ([yshift=0.8mm]axis cs:\px,0) -- (axis cs:\px,\py);
\draw [thick,<-,dashed] ([yshift=-0.8mm]axis cs:\px,0) -- (axis cs:\px,-\py);
}
\only<4->{
\addplot [msgreen,ultra thick,mark=*] coordinates {(\px,0)};
}
\only<5-6>{
\addplot [thick,dashed] {\py - (\dfdxp / \dfdyp) * ( x - \px )};
\addplot [msyellow,ultra thick,mark=*] coordinates {(\pxd,sqrt(\pxd^3+\aaa*\pxd+\bbb)};
}
\only<6>{
\draw [thick,<-,dashed] ([yshift=0.8mm]axis cs:\pxd,0) -- (axis cs:\pxd,\pyd);
}
\only<6-8>{
\addplot [orange,ultra thick,mark=*] coordinates {(\pxd,0)};
}
\only<7>{
\addplot [thick,dashed] {-\py - (\dfdxp / -\dfdyp) * ( x - \px )};
\addplot [msyellow,ultra thick,mark=*] coordinates {(\pxd,-sqrt(\pxd^3+\aaa*\pxd+\bbb)};
\draw [thick,<-,dashed] ([yshift=-0.8mm]axis cs:\pxd,0) -- (axis cs:\pxd,-\pyd);
}
\only<9->{
\addplot [msgreen,ultra thick,mark=*] coordinates {(\qx,0)};
}
\only<10->{
\addplot [msblue,ultra thick,mark=*] coordinates {(\px,sqrt(\px^3+\aaa*\px+\bbb)};
\addplot [msblue,ultra thick,mark=*] coordinates {(\px,-sqrt(\px^3+\aaa*\px+\bbb)};
\addplot [msblue,ultra thick,mark=*] coordinates {(\qx,sqrt(\qx^3+\aaa*\qx+\bbb)};
\addplot [msblue,ultra thick,mark=*] coordinates {(\qx,-sqrt(\qx^3+\aaa*\qx+\bbb)};
}
\only<11>{
\addplot [thick,dashed] { (\py - \qy) / (\px - \qx)*(x - \qx) + \qy};
}
\only<12>{
\addplot [thick,dashed] { (-\py + \qy) / (\px - \qx)*(x - \qx) - \qy};
}
\only<13>{
\addplot [thick,dashed] { (-\py - \qy) / (\px - \qx)*(x - \qx) + \qy};
}
\only<14>{
\addplot [thick,dashed] { (\py + \qy) / (\px - \qx)*(x - \qx) - \qy};
}
\only<11->{
\addplot [msyellow,ultra thick,mark=*] coordinates {(\pqx,sqrt(\pqx^3+\aaa*\pqx+\bbb)};
}
\only<12->{
\addplot [msyellow,ultra thick,mark=*] coordinates {(\pqx,-sqrt(\pqx^3+\aaa*\pqx+\bbb)};
}
\only<13->{
\addplot [msyellow,ultra thick,mark=*] coordinates {(\qpx,sqrt(\qpx^3+\aaa*\qpx+\bbb)};
}
\only<14->{
\addplot [msyellow,ultra thick,mark=*] coordinates {(\qpx,-sqrt(\qpx^3+\aaa*\qpx+\bbb)};
}
\only<15>{
\draw [thick,<-,dashed] ([yshift=0.8mm]axis cs:\pqx,0) -- (axis cs:\pqx,-\pqy);
\draw [thick,<-,dashed] ([yshift=-0.8mm]axis cs:\pqx,0) -- (axis cs:\pqx,\pqy);
\draw [thick,<-,dashed] ([yshift=-0.8mm]axis cs:\qpx,0) -- (axis cs:\qpx,-\qpy);
\draw [thick,<-,dashed] ([yshift=0.8mm]axis cs:\qpx,0) -- (axis cs:\qpx,\qpy);
}
\only<15->{
\addplot [orange,ultra thick,mark=*] coordinates {(\pqx,0)};
\addplot [orange,ultra thick,mark=*] coordinates {(\qpx,0)};
}
\end{axis}
\end{tikzpicture}
\end{center}
\end{frame}
%%
%% This is file `beamercolorthemeru.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% beamercolorthemeru.dtx (with options: `package')
%% ---------------------------------------------------------------------------
%% Copyright 2016 Benoit Viguier
%%
%% https://gitlab.science.ru.nl/benoit/rutheme
%%
%% the original template was based on the mtheme
%% (https://github.com/matze/mtheme) by Matthias Vogelgesang
%%
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
%% ---------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeru}[2016/11/22 Ru color theme]
\RequirePackage{pgfopts}
\pgfkeys{
/ru/color/block/.cd,
.is choice,
transparent/.code=\ru@block@transparent,
fill/.code=\ru@block@fill,
}
\pgfkeys{
/ru/color/background/.cd,
.is choice,
dark/.code=\ru@colors@dark,
light/.code=\ru@colors@light,
}
\newcommand{\ru@color@setdefaults}{
\pgfkeys{/ru/color/.cd,
background=light,
block=transparent,
}
}
\definecolor{ruDarkText}{HTML}{222222}
\definecolor{ruDarkTeal}{HTML}{B82B22}
\definecolor{ruLightTeal}{HTML}{DDDDDD}
\definecolor{ruLightBrown}{HTML}{F45709}
\definecolor{ruLightGreen}{HTML}{14B03D}
\newcommand{\ru@colors@dark}{
\setbeamercolor{normal text}{%
fg=black!2,
bg=ruLightTeal
}
\usebeamercolor[fg]{normal text}
}
\newcommand{\ru@colors@light}{
\setbeamercolor{normal text}{%
fg=ruDarkText,
bg=black!2
}
}
\setbeamercolor{title text}{%
fg=ruDarkTeal
}
\setbeamercolor{alerted text}{%
fg=ruLightBrown
}
\setbeamercolor{example text}{%
fg=ruLightGreen
}
\setbeamercolor{titlelike}{use=title text, parent=title text}
\setbeamercolor{author}{use=normal text, parent=normal text}
\setbeamercolor{date}{use=normal text, parent=normal text}
\setbeamercolor{institute}{use=normal text, parent=normal text}
\setbeamercolor{structure}{use=normal text, fg=normal text.fg}
\setbeamercolor{palette primary}{%
use=normal text,
fg=normal text.bg,
bg=ruDarkTeal
}
\setbeamercolor{frametitle}{%
fg=ruLightTeal,
bg=ruDarkTeal
}
\setbeamercolor{progress bar}{%
fg=ruLightBrown,
bg=ruLightBrown!50!black!30
}
\setbeamercolor{title separator}{
use=progress bar,
parent=progress bar
}
\setbeamercolor{progress bar in head/foot}{%
use=progress bar,
parent=progress bar
}
\setbeamercolor{progress bar in section page}{
use=progress bar,
parent=progress bar
}
\newcommand{\ru@block@transparent}{
\setbeamercolor{block title}{%
use=normal text,
fg=normal text.fg,
bg=
}
\setbeamercolor{block body}{
bg=
}
}
\newcommand{\ru@block@fill}{
\setbeamercolor{block title}{%
use=normal text,
fg=normal text.fg,
bg=ruDarkTeal!50!normal text.bg!50
}
\setbeamercolor{block body}{
use={block title, normal text},
bg=block title.bg!20!normal text.bg
}
}
\setbeamercolor{block title alerted}{%
use={block title, alerted text},
bg=block title.bg,
fg=ruDarkTeal
}
\setbeamercolor{block title example}{%
use={block title, example text},
bg=block title.bg,
fg=example text.fg
}
\setbeamercolor{block body alerted}{use=block body, parent=block body}
\setbeamercolor{block body example}{use=block body, parent=block body}
\setbeamercolor{footnote}{fg=ruDarkTeal!90}
\setbeamercolor{footnote mark}{fg=.}
\ru@color@setdefaults
\ProcessPgfPackageOptions{/ru/color}
\mode<all>
\endinput
%%
%% End of file `beamercolorthemeru.sty'.
%%
%% This is file `beamerfontthemeru.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% beamerfontthemeru.dtx (with options: `package')
%% ---------------------------------------------------------------------------
%% Copyright 2016 Benoit Viguier
%%
%% https://gitlab.science.ru.nl/benoit/rutheme
%%
%% the original template was based on the mtheme
%% (https://github.com/matze/mtheme) by Matthias Vogelgesang
%%
%% This work is licensed under a Creative Commons Attribution-ShareAlike 4.0
%% International License (https://creativecommons.org/licenses/by-sa/4.0/).
%% ---------------------------------------------------------------------------
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeru}[2017/01/23 Ru font theme]
\RequirePackage{etoolbox}
\RequirePackage{ifxetex}
\RequirePackage{ifluatex}
\RequirePackage{pgfopts}
\ifboolexpr{bool {xetex} or bool {luatex}}{
\@ifpackageloaded{fontspec}{
\PassOptionsToPackage{no-math}{fontspec}
}{
\RequirePackage[no-math]{fontspec}
}
\newcounter{fontsnotfound}
\newcommand{\checkfont}[1]{%
\suppressfontnotfounderror=1%
\font\x = "#1" at 10pt
\selectfont
\ifx\x\nullfont%
\stepcounter{fontsnotfound}%
\fi%
\suppressfontnotfounderror=0%
}
\newcommand{\iffontsavailable}[3]{%
\setcounter{fontsnotfound}{0}%
\expandafter\forcsvlist\expandafter%
\checkfont\expandafter{#1}%
\ifnum\value{fontsnotfound}=0%
#2%
\else%
#3%
\fi%
}
\iffontsavailable{Fira Sans Light,%
Fira Sans Light Italic,%
Fira Sans,%
Fira Sans Italic}%
{%
\setsansfont[ItalicFont={Fira Sans Light Italic},%
BoldFont={Fira Sans},%
BoldItalicFont={Fira Sans Italic}]%
{Fira Sans Light}%
}{%
\iffontsavailable{Fira Sans Light OT,%
Fira Sans Light Italic OT,%
Fira Sans OT,%
Fira Sans Italic OT}%
{%
\setsansfont[ItalicFont={Fira Sans Light Italic OT},%
BoldFont={Fira Sans OT},%
BoldItalicFont={Fira Sans Italic OT}]%
{Fira Sans Light OT}%
}{%
\PackageWarning{beamerthemeru}{%
Could not find Fira Sans fonts%
}
}
}
\iffontsavailable{Fira Mono, Fira Mono Bold}{%
\setmonofont[BoldFont={Fira Mono Medium}]{Fira Mono}%
}{%
\iffontsavailable{Fira Mono OT, Fira Mono Bold OT}{%
\setmonofont[BoldFont={Fira Mono Medium OT}]{Fira Mono OT}%
}{%
\PackageWarning{beamerthemeru}{%
Could not find Fira Mono fonts%
}
}
}
\AtBeginEnvironment{tabular}{%
\addfontfeature{Numbers={Monospaced}}%
}
}{%
\PackageWarning{beamerthemeru}{%
You need to compile with XeLaTeX or LuaLaTeX to use the Fira fonts%
}
}
\setbeamerfont{title}{size=\Large,%
series=\bfseries}
\setbeamerfont{author}{size=\small}
\setbeamerfont{date}{size=\small}
\setbeamerfont{section title}{size=\Large,%
series=\bfseries}
\setbeamerfont{block title}{size=\normalsize,%
series=\bfseries}
\setbeamerfont{block title alerted}{size=\normalsize,%
series=\bfseries}
\setbeamerfont*{subtitle}{size=\large}
\setbeamerfont{frametitle}{size=\large,%
series=\bfseries}
\setbeamerfont{caption}{size=\small}
\setbeamerfont{caption name}{series=\bfseries}
\setbeamerfont{description item}{series=\bfseries}
\setbeamerfont{page number in head/foot}{size=\scriptsize}
\setbeamerfont{bibliography entry author}{size=\normalsize,%
series=\normalfont}
\setbeamerfont{bibliography entry title}{size=\normalsize,%
series=\bfseries}
\setbeamerfont{bibliography entry location}{size=\normalsize,%
series=\normalfont}
\setbeamerfont{bibliography entry note}{size=\small,%
series=\normalfont}
\setbeamerfont{standout}{size=\Large,%
series=\bfseries}
\pgfkeys{
/ru/font/titleformat title/.cd,
.is choice,
regular/.code={%
\let\ru@titleformat\@empty%
\setbeamerfont{title}{shape=\normalfont}%
},
smallcaps/.code={%
\let\ru@titleformat\@empty%
\setbeamerfont{title}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\ru@titleformat\lowercase%
\setbeamerfont{title}{shape=\scshape}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat title=allsmallcaps can lead to problems%
}
},
allcaps/.code={%
\let\ru@titleformat\uppercase%
\setbeamerfont{title}{shape=\normalfont}
\PackageWarning{beamerthemeru}{%
Be aware that titleformat title=allcaps can lead to problems%
}
},
}
\pgfkeys{
/ru/font/titleformat subtitle/.cd,
.is choice,
regular/.code={%
\let\ru@subtitleformat\@empty%
\setbeamerfont{subtitle}{shape=\normalfont}%
},
smallcaps/.code={%
\let\ru@subtitleformat\@empty%
\setbeamerfont{subtitle}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\ru@subtitleformat\lowercase%
\setbeamerfont{subtitle}{shape=\scshape}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat subtitle=allsmallcaps can lead to problems%
}
},
allcaps/.code={%
\let\ru@subtitleformat\uppercase%
\setbeamerfont{subtitle}{shape=\normalfont}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat subtitle=allcaps can lead to problems%
}
},
}
\pgfkeys{
/ru/font/titleformat section/.cd,
.is choice,
regular/.code={%
\let\ru@sectiontitleformat\@empty%
\setbeamerfont{section title}{shape=\normalfont}%
},
smallcaps/.code={%
\let\ru@sectiontitleformat\@empty%
\setbeamerfont{section title}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\ru@sectiontitleformat\MakeLowercase%
\setbeamerfont{section title}{shape=\scshape}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat section=allsmallcaps can lead to problems%
}
},
allcaps/.code={%
\let\ru@sectiontitleformat\MakeUppercase%
\setbeamerfont{section title}{shape=\normalfont}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat section=allcaps can lead to problems%
}
},
}
\pgfkeys{
/ru/font/titleformat frame/.cd,
.is choice,
regular/.code={%
\let\ru@frametitleformat\@empty%
\setbeamerfont{frametitle}{shape=\normalfont}%
},
smallcaps/.code={%
\let\ru@frametitleformat\@empty%
\setbeamerfont{frametitle}{shape=\scshape}%
},
allsmallcaps/.code={%
\let\ru@frametitleformat\MakeLowercase%
\setbeamerfont{frametitle}{shape=\scshape}%
\PackageWarning{beamerthemeru}{%
Be aware that titleformat frame=allsmallcaps can lead to problems%
}
},
allcaps/.code={%
\let\ru@frametitleformat\MakeUppercase%
\setbeamerfont{frametitle}{shape=\normalfont}
\PackageWarning{beamerthemeru}{%
Be aware that titleformat frame=allcaps can lead to problems%
}
},
}
\pgfkeys{
/ru/font/.cd,
titleformattitle/.code=\pgfkeysalso{titleformat title=#1},
titleformatsubtitle/.code=\pgfkeysalso{titleformat subtitle=#1},
titleformatsection/.code=\pgfkeysalso{titleformat section=#1},
titleformatframe/.code=\pgfkeysalso{titleformat frame=#1},
}
\newcommand{\ru@font@setdefaults}{
\pgfkeys{/ru/font/.cd,
titleformat title=regular,
titleformat subtitle=regular,
titleformat section=regular,
titleformat frame=regular,
}
}
\def\ru@titleformat#1{#1}
\def\ru@subtitleformat#1{#1}
\def\ru@sectiontitleformat#1{#1}
\def\ru@frametitleformat#1{#1}
\patchcmd{\beamer@title}%
{\def\inserttitle{#2}}%
{\def\inserttitle{\ru@titleformat{#2}}}%
{}%
{\PackageError{beamerfontthemeru}{Patching title failed}\@ehc}
\patchcmd{\beamer@subtitle}%
{\def\insertsubtitle{#2}}%
{\def\insertsubtitle{\ru@subtitleformat{#2}}}%
{}%
{\PackageError{beamerfontthemeru}{Patching subtitle failed}\@ehc}
\patchcmd{\sectionentry}
{\def\insertsectionhead{#2}}
{\def\insertsectionhead{\ru@sectiontitleformat{#2}}}
{}
{\PackageError{beamerfontthemeru}{Patching section title failed}\@ehc}
\@tempswafalse
\patchcmd{\beamer@section}
{\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
{\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{%
\ru@sectiontitleformat{#1}}}}
{\@tempswatrue}
{}
\patchcmd{\beamer@section}
{\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
{\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
\noexpand\ru@sectiontitleformat{#1}}}}
{\@tempswatrue}
{}
\if@tempswa\else
\PackageError{beamerfontthemeru}{Patching section title failed}\@ehc
\fi
\@tempswafalse
\patchcmd{\beamer@subsection}
{\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
{\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{%
\ru@sectiontitleformat{#1}}}}
{\@tempswatrue}
{}
\patchcmd{\beamer@subsection}
{\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
{\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{%
\noexpand\ru@sectiontitleformat{#1}}}}
{\@tempswatrue}
{}
\if@tempswa\else
\PackageError{beamerfontthemeru}{Patching section title failed}\@ehc
\fi
\patchcmd{\beamer@@frametitle}