-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
39 changed files
with
1,308 additions
and
405 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
|
||
.PHONY: documenter images | ||
|
||
all: images documenter | ||
|
||
documenter: | ||
julia --color=yes --project=. make.jl | ||
|
||
images: | ||
$(MAKE) all -C src/tikz | ||
|
||
clean: | ||
$(MAKE) empty -C src/tikz | ||
rm -Rf build | ||
rm -Rf src/tutorial |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
@article{brantner2023generalizing, | ||
title={Generalizing Adam To Manifolds For Efficiently Training Transformers}, | ||
author={Brantner, Benedikt}, | ||
journal={arXiv preprint arXiv:2305.16901}, | ||
year={2023} | ||
} | ||
|
||
@article{jin2020sympnets, | ||
title={SympNets: Intrinsic structure-preserving symplectic networks for identifying Hamiltonian systems}, | ||
author={Jin, Pengzhan and Zhang, Zhen and Zhu, Aiqing and Tang, Yifa and Karniadakis, George Em}, | ||
journal={Neural Networks}, | ||
volume={132}, | ||
pages={166--179}, | ||
year={2020}, | ||
publisher={Elsevier} | ||
} | ||
|
||
@article{jin2022optimal, | ||
title={Optimal unit triangular factorization of symplectic matrices}, | ||
author={Jin, Pengzhan and Lin, Zhangli and Xiao, Bo}, | ||
journal={Linear Algebra and its Applications}, | ||
year={2022}, | ||
publisher={Elsevier} | ||
} | ||
|
||
@book{hairer2006geometric, | ||
title={Geometric Numerical integration: structure-preserving algorithms for ordinary differential equations}, | ||
author={Hairer, Ernst and Lubich, Christian and Wanner, Gerhard}, | ||
year={2006}, | ||
publisher={Springer} | ||
} | ||
|
||
|
||
@book{leimkuhler2004simulating, | ||
title={Simulating hamiltonian dynamics}, | ||
author={Leimkuhler, Benedict and Reich, Sebastian}, | ||
number={14}, | ||
year={2004}, | ||
publisher={Cambridge university press} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#References | ||
|
||
```@bibliography | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
pdf: | ||
xelatex -shell-escape adam_optimizer | ||
xelatex -shell-escape general_optimization | ||
xelatex -shell-escape general_optimization_with_boundary | ||
xelatex -shell-escape transformer_encoder | ||
xelatex -shell-escape third_degree_spline | ||
xelatex -shell-escape sympnet_architecture | ||
xelatex -shell-escape structs_visualization | ||
xelatex -shell-escape logo | ||
|
||
png: | ||
pdftocairo -png -r 150 -transp -singlefile adam_optimizer.pdf adam_optimizer | ||
pdftocairo -png -r 150 -transp -singlefile general_optimization.pdf general_optimization | ||
pdftocairo -png -r 150 -transp -singlefile general_optimization_with_boundary.pdf general_optimization_with_boundary | ||
pdftocairo -png -r 150 -transp -singlefile transformer_encoder.pdf transformer_encoder | ||
pdftocairo -png -r 150 -transp -singlefile third_degree_spline.pdf third_degree_spline | ||
pdftocairo -png -r 150 -transp -singlefile sympnet_architecture.pdf sympnet_architecture | ||
pdftocairo -png -r 150 -transp -singlefile structs_visualization.pdf structs_visualization | ||
pdftocairo -png -r 150 -transp -singlefile logo.pdf logo | ||
|
||
logo: | ||
xelatex -shell-escape logo_with_name | ||
xelatex -shell-escape logo_with_name_dark | ||
|
||
pdftocairo -png -r 500 -transp -singlefile logo_with_name.pdf logo_with_name | ||
pdftocairo -png -r 500 -transp -singlefile logo_with_name_dark.pdf logo_with_name_dark | ||
|
||
cp logo_with_name.png ../assets/logo.png | ||
cp logo_with_name_dark.png ../assets/logo_dark.png | ||
|
||
clean: | ||
rm -f *.aux | ||
rm -f *.fdb_latexmk | ||
rm -f *.fls | ||
rm -f *.log | ||
rm -f *.pdf | ||
rm -f *.xdv | ||
|
||
empty: clean | ||
rm -f *.png | ||
rm -f *.svg | ||
rm -f ../assets/*.png | ||
|
||
all: pdf png logo clean |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
\documentclass[tikz]{standalone} | ||
|
||
\definecolor{morange}{RGB}{255,127,14} | ||
\definecolor{mblue}{RGB}{31,119,180} | ||
\definecolor{mred}{RGB}{214,39,40} | ||
\definecolor{mpurple}{RGB}{148,103,189} | ||
\definecolor{mgreen}{RGB}{44,160,44} | ||
|
||
\usepackage{neuralnetwork} | ||
|
||
\newcommand{\symplecticlayer}[1][] { \layer[bias=true,nodeclass={symplectic neuron},#1] } | ||
\newcommand{\autoencoderlayer}[1][] { \layer[bias=true,nodeclass={autoencoder neuron},#1] } | ||
|
||
\newcommand{\xin}[2]{$x_#2$} | ||
\newcommand{\xout}[2]{$\hat x_#2$} | ||
|
||
\begin{document} | ||
|
||
\begin{neuralnetwork}[height=8, layertitleheight=30, toprow=true] | ||
|
||
\tikzstyle{input neuron}=[neuron, fill=morange]; | ||
\tikzstyle{hidden neuron}=[neuron, fill=mred]; | ||
\tikzstyle{output neuron}=[neuron, fill=mgreen]; | ||
\tikzstyle{symplectic neuron}=[neuron, fill=mblue]; | ||
\tikzstyle{autoencoder neuron}=[neuron, fill=mpurple]; | ||
|
||
\inputlayer[count=8, bias=false, text=\xin]%, title=Input Layer | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title=$\psi^1_\mathrm{symp}$] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$A_\mathrm{Stiefel}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\hiddenlayer[count=2, bias=false]%, title=\vspace{4cm}\\{Reduced Basis}] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$\tilde{\psi}^1_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\outputlayer[count=8, text=\xout]%, title=Output Layer | ||
\linklayers%[title=$\tilde{\psi}^2_\mathrm{symp}$] | ||
\end{neuralnetwork} | ||
\end{document} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
\documentclass[tikz]{standalone} | ||
|
||
\definecolor{morange}{RGB}{255,127,14} | ||
\definecolor{mblue}{RGB}{31,119,180} | ||
\definecolor{mred}{RGB}{214,39,40} | ||
\definecolor{mpurple}{RGB}{148,103,189} | ||
\definecolor{mgreen}{RGB}{44,160,44} | ||
|
||
\usepackage{neuralnetwork} | ||
|
||
% for bigger font size | ||
\usepackage{mathptmx} | ||
|
||
\newcommand{\symplecticlayer}[1][] { \layer[bias=true,nodeclass={symplectic neuron},#1] } | ||
\newcommand{\autoencoderlayer}[1][] { \layer[bias=true,nodeclass={autoencoder neuron},#1] } | ||
|
||
\newcommand{\xin}[2]{$x_#2$} | ||
\newcommand{\xout}[2]{$\hat x_#2$} | ||
|
||
\begin{document} | ||
|
||
\begin{neuralnetwork}[height=8, layertitleheight=30, toprow=true] | ||
|
||
\tikzstyle{input neuron}=[neuron, fill=morange]; | ||
\tikzstyle{hidden neuron}=[neuron, fill=mred]; | ||
\tikzstyle{output neuron}=[neuron, fill=mgreen]; | ||
\tikzstyle{symplectic neuron}=[neuron, fill=mblue]; | ||
\tikzstyle{autoencoder neuron}=[neuron, fill=mpurple]; | ||
|
||
\inputlayer[count=8, bias=false, text=\xin]%, title=Input Layer | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title=$\psi^1_\mathrm{symp}$] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$A_\mathrm{Stiefel}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\hiddenlayer[count=2, bias=false]%, title=\vspace{4cm}\\{Reduced Basis}] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$\tilde{\psi}^1_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\outputlayer[count=8, text=\xout]%, title=Output Layer | ||
\linklayers%[title=$\tilde{\psi}^2_\mathrm{symp}$] | ||
|
||
\node[xshift=10cm, yshift=-10cm] (gml) {\fontsize{50}{30} \texttt{{\color{morange}G}eometric{\color{mblue}M}achine{\color{mred}L}earning.{\color{mpurple}j}{\color{mgreen}l}}}; | ||
\end{neuralnetwork} | ||
\end{document} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
\documentclass[tikz]{standalone} | ||
|
||
\definecolor{morange}{RGB}{255,127,14} | ||
\definecolor{mblue}{RGB}{31,119,180} | ||
\definecolor{mred}{RGB}{214,39,40} | ||
\definecolor{mpurple}{RGB}{148,103,189} | ||
\definecolor{mgreen}{RGB}{44,160,44} | ||
|
||
\usepackage{neuralnetwork} | ||
|
||
% for bigger font size | ||
\usepackage{mathptmx} | ||
|
||
\newcommand{\symplecticlayer}[1][] { \layer[bias=true,nodeclass={symplectic neuron},#1] } | ||
\newcommand{\autoencoderlayer}[1][] { \layer[bias=true,nodeclass={autoencoder neuron},#1] } | ||
|
||
\newcommand{\xin}[2]{$x_#2$} | ||
\newcommand{\xout}[2]{$\hat x_#2$} | ||
|
||
\begin{document} | ||
|
||
\begin{neuralnetwork}[height=8, layertitleheight=30, toprow=true] | ||
|
||
\tikzstyle{input neuron}=[neuron, fill=morange]; | ||
\tikzstyle{hidden neuron}=[neuron, fill=mred]; | ||
\tikzstyle{output neuron}=[neuron, fill=mgreen]; | ||
\tikzstyle{symplectic neuron}=[neuron, fill=mblue]; | ||
\tikzstyle{autoencoder neuron}=[neuron, fill=mpurple]; | ||
|
||
\inputlayer[count=8, bias=false, text=\xin]%, title=Input Layer | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title=$\psi^1_\mathrm{symp}$] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$A_\mathrm{Stiefel}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\hiddenlayer[count=2, bias=false]%, title=\vspace{4cm}\\{Reduced Basis}] | ||
\linklayers%[title=$\psi^2_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=4, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\autoencoderlayer[count=4, bias=false] | ||
\linklayers%[title=$\tilde{\psi}^1_\mathrm{symp}$] | ||
|
||
\symplecticlayer[count=8, bias=false] | ||
\linklayers%[title={$\tilde{A}_\mathrm{Stiefel}$}] | ||
|
||
\outputlayer[count=8, text=\xout]%, title=Output Layer | ||
\linklayers%[title=$\tilde{\psi}^2_\mathrm{symp}$] | ||
|
||
\node[xshift=10cm, yshift=-10cm] (gml) {\fontsize{50}{30} \texttt{{\color{morange}G}{\color{white}eometric}{\color{mblue}M}{\color{white}achine}{\color{mred}L}{\color{white}earning.}{\color{mpurple}j}{\color{mgreen}l}}}; | ||
\end{neuralnetwork} | ||
\end{document} |
Oops, something went wrong.