JavedA's picture
init
a67ae61
%%% Preamble Requirements %%%
% \usepackage{geometry}
% \usepackage{amsfonts}
% \usepackage{amsmath}
% \usepackage{amssymb}
% \usepackage{tikz}
% Optional packages such as sfmath set through python interface
% \usepackage{sfmath}
% \usetikzlibrary{arrows,chains,positioning,scopes,shapes.geometric,shapes.misc,shadows}
%%% End Preamble Requirements %%%
\input{"/home/jav/.local/lib/python3.8/site-packages/pyxdsm/diagram_styles"}
\begin{tikzpicture}
\matrix[MatrixSetup]{
%Row 0
\node [DataIO] (output_theta) {$\begin{array}{c}\text{tracked state}$$\,(\vec{\beta})$$\end{array}$};&
&
&
&
&
&
\\
%Row 1
\node [Function] (theta) {$\begin{array}{c}$$ \boldsymbol \theta \, (\vec{\beta}) $$\end{array}$};&
\node [DataInter] (theta-linear) {$\begin{array}{c}$$ \boldsymbol \theta \, (\vec{\beta}) $$\end{array}$};&
\node [DataInter] (theta-pysindy) {$\begin{array}{c}$$ \boldsymbol \theta \, (\vec{\beta}) $$\end{array}$};&
\node [DataInter] (theta-elastic) {$\begin{array}{c}$$ \boldsymbol \theta \, (\vec{\beta}) $$\end{array}$};&
&
&
\\
%Row 2
&
\node [Function] (linear) {$\begin{array}{c}\text{Linear}\end{array}$};&
&
&
\node [DataInter] (linear-comp) {$\begin{array}{c}$$ md_{lin} $$\end{array}$};&
&
\\
%Row 3
&
&
\node [Function] (pysindy) {$\begin{array}{c}\text{pySindy}\end{array}$};&
&
\node [DataInter] (pysindy-comp) {$\begin{array}{c}$$ md_{pysind} $$\end{array}$};&
&
\\
%Row 4
&
&
&
\node [Function] (elastic) {$\begin{array}{c}\text{Elastic net}\end{array}$};&
\node [DataInter] (elastic-comp) {$\begin{array}{c}$$ md_{elast} $$\end{array}$};&
&
\\
%Row 5
&
&
&
&
\node [Function] (comp) {$\begin{array}{c}\text{compare}\end{array}$};&
&
\node [DataIO] (right_output_comp) {$\begin{array}{c}\text{save: best modesl}\end{array}$};\\
%Row 6
&
&
&
&
&
&
\\
};
% XDSM process chains
{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (theta);
\chainin (linear) [join=by ProcessHVA];
\end{pgfonlayer}
}{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (theta);
\chainin (pysindy) [join=by ProcessHVA];
\end{pgfonlayer}
}{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (theta);
\chainin (elastic) [join=by ProcessHVA];
\end{pgfonlayer}
}{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (elastic);
\chainin (comp) [join=by ProcessHVA];
\end{pgfonlayer}
}{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (linear);
\chainin (comp) [join=by ProcessHVA];
\end{pgfonlayer}
}{ [start chain=process]
\begin{pgfonlayer}{process}
\chainin (pysindy);
\chainin (comp) [join=by ProcessHVA];
\end{pgfonlayer}
}
\begin{pgfonlayer}{data}
\path
% Horizontal edges
(theta) edge [DataLine] (theta-linear)
(theta) edge [DataLine] (theta-pysindy)
(theta) edge [DataLine] (theta-elastic)
(linear) edge [DataLine] (linear-comp)
(pysindy) edge [DataLine] (pysindy-comp)
(elastic) edge [DataLine] (elastic-comp)
(comp) edge [DataLine] (right_output_comp)
% Vertical edges
(theta-linear) edge [DataLine] (linear)
(theta-pysindy) edge [DataLine] (pysindy)
(theta-elastic) edge [DataLine] (elastic)
(linear-comp) edge [DataLine] (comp)
(pysindy-comp) edge [DataLine] (comp)
(elastic-comp) edge [DataLine] (comp)
(theta) edge [DataLine] (output_theta);
\end{pgfonlayer}
\end{tikzpicture}