article: all tensor to one order tensor
This commit is contained in:
@@ -0,0 +1,453 @@
|
||||
\documentclass[a4paper,11pt]{report}
|
||||
%\usepackage[utf8]{inputenc}
|
||||
|
||||
\usepackage[cal=boondox,scr=boondoxo]{mathalfa} %%% endrikan'ny mathcal sy mathscr
|
||||
|
||||
\usepackage[a4paper,bindingoffset=0cm,%
|
||||
left=2cm,right=2cm,top=2cm,bottom=2cm,%
|
||||
footskip=0.8cm]{geometry}
|
||||
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[french]{babel}
|
||||
|
||||
\frenchbsetup{StandardLists=true} % àinclure si on utilise \usepackage[french]{babel}
|
||||
\usepackage{cite} % pour les citations multiples
|
||||
\usepackage{enumitem}
|
||||
|
||||
%\bibliographystyle{fr-plain}
|
||||
|
||||
|
||||
\usepackage{amsmath, amsthm} % tr`es bon mode mathÂ?ematailletique
|
||||
\usepackage{amsfonts,amssymb}% permet la definition des ensembles
|
||||
\usepackage{mathtools}
|
||||
|
||||
\usepackage{centernot}
|
||||
|
||||
%\usepackage{tikz3d-fr}
|
||||
|
||||
\usepackage{tikz,tkz-tab}
|
||||
\usetikzlibrary{3d}
|
||||
|
||||
%\usepackage{pgfplots}
|
||||
%\usetikzlibrary{decorations.pathreplacing}
|
||||
|
||||
\newtheorem{theorem}{Theorem}[section]
|
||||
\newtheorem{definition}{Definition}[section]
|
||||
|
||||
\begin{document}
|
||||
\section{Goal: Write any tensor as vector !!}
|
||||
|
||||
\begin{definition}
|
||||
A dimension of a tensor $T$ is a vector $d\in \left(\mathbb{N}^*\right)^k$ $(k<\infty)$. We have $$T=(a)_d=(a)_{d_1,\ldots,d_k} =(a_{i_1,\ldots,i_k}^{\{k\}})_{0\le i_1<d_1, \ldots , 0\le i_k< d_k} $$
|
||||
$$ a_{i_1,\ldots,i_k}^{\{k\}}\in \mathbb{K} \ \ / \ \ 0\le i_j<d_j $$
|
||||
\end{definition}
|
||||
|
||||
$\mathbb{K}$ is a field( for e.g $\mathbb{R}$ )\\
|
||||
$k>0$ is the order.\\
|
||||
The size of the Tensor is $d_1 \times \cdots \times d_k=\prod_{i=1}^kd_i$
|
||||
|
||||
% Here $\mathbb{K} = \mathbb{R}$ to simplify but it works for all filds.
|
||||
|
||||
|
||||
We can write $$T\in \mathbb{K}^{d_1 \times d_2 \times \cdots \times d_k}$$
|
||||
|
||||
|
||||
\section{Bijection}
|
||||
|
||||
For a given $d_1,\ldots,d_k\in \mathbb{N}^*$, there exists a bijective application between a set of tensor order 1 of size $n=d_1\cdot d_2 \cdots d_k$ $\mathbb{K}^{d_1\times d_2 \times \cdots \times d_k}$ and the set of tensor of order $k$ of the size $n= d_1\cdot d_2 \cdots d_k$ $\mathbb{K}^{d_1\times d_2 \times \cdots \times d_k}$.
|
||||
|
||||
Little endian
|
||||
$$
|
||||
\begin{array}{ccc}
|
||||
\mathbb{K}^{d_1\times d_2 \times \cdots \times d_k} & \longrightarrow & \mathbb{K}^{d_1\cdot d_2\cdots d_k} \\
|
||||
\left(a_{(i_1,\ldots,i_k)_k}\right) & \longmapsto & \left(a_{\left(i_1+i_2\cdot d_1+\ldots+i_k \prod_{j=1}^{k-1}d_j\right)_1}\right)
|
||||
\end{array}
|
||||
$$
|
||||
|
||||
Big endian
|
||||
|
||||
$$
|
||||
\begin{array}{ccc}
|
||||
\mathbb{K}^{d_1\times d_2 \times \cdots \times d_k} & \longrightarrow & \mathbb{K}^{d_1\cdot d_2\cdots d_k} \\
|
||||
\left(a_{(i_1,\ldots,i_k)_k}\right) & \longmapsto & \left(a_{\left(i_1 \prod_{j=2}^kd_j+i_2\prod_{j=3}^k d_j+\ldots +i_{k-1} d_k +i_k \right)_1}\right)
|
||||
\end{array}
|
||||
$$
|
||||
For $a,b\in \mathbb{N}$, we note $ [\![ a,b ]\!] = [a.. b]=[a,b]\cap \mathbb{N}$
|
||||
|
||||
and $ [\![ a,b [\![ = [\![ a,b ) = [a.. b) = [a.. b[=[a,b[\cap \mathbb{N}$
|
||||
|
||||
If $a=0$ we note $[b]=[\![0,b]\!]$ and $[b)=[\![0,b[\![$ so here we defined a bijection of indexe, i.e,
|
||||
|
||||
\begin{align*}
|
||||
f:[d_1)\times[d_2)\times\cdots\times [d_k) & \longrightarrow [d_1\cdot d_2\cdots d_k)\\
|
||||
(i_1,i_2,\ldots,i_k)_k & \longrightarrow f(i_1,i_2,\ldots,i_k)=(i)_1
|
||||
\end{align*}
|
||||
If little endian
|
||||
\begin{align*}
|
||||
i & =i_1 +i_2d_1+\cdots+i_k\prod_{j=1}^{k-1} d_j \\
|
||||
&=\sum_{j=1}^ki_j\prod_{l=1}^{j-1}d_l
|
||||
\end{align*}
|
||||
If big endian
|
||||
\begin{align*}
|
||||
i & =i_1 \prod_{j=2}^kd_j+i_2\prod_{j=3}^k d_j+\ldots +i_{k-1} d_k +i_k \\
|
||||
&=\sum_{j=1}^ki_j\prod_{l=i+1}^kd_l
|
||||
\end{align*}
|
||||
|
||||
$ $
|
||||
|
||||
|
||||
\section{Inverse indexes}
|
||||
The inverse of Little endian :
|
||||
|
||||
For any $i\in \mathbb{N} , i<n=\prod_{j=1}^kd_j \exists! (i_1, \ldots, i_k) / \forall 1 \le j \le k, 0\le i_j<d_j$ and $$ i=\sum_{j=1}^{k} i_j\left( \prod_{l=1}^{j-1} d_l \right) $$
|
||||
|
||||
|
||||
The inverse of big endian :
|
||||
|
||||
For any $i\in \mathbb{N} , i<n=\prod_{j=1}^kd_j \exists! (i_1, \ldots, i_k) / \forall 1 \le j \le k, 0\le i_j<d_j$ and $$ i=\sum_{s=j}^k i_s\left( \prod_{l=s+1}^k d_l \right) $$
|
||||
|
||||
Proof of the inverse of big endian, the Little endian is almost the same:
|
||||
|
||||
By reccurence:
|
||||
by Euclide division $\exists ! (r_1,i_1)\in \mathbb{N}^2 / r_1 < \prod_{l=2}^k d_l $ and $i=i_1*\prod_{l=2}^k d_l + r_1$.
|
||||
|
||||
And so on, there exists $(r_2, i_2)\in\mathbb{N}^2$ such that $r_2<\prod_{l=3}^k d_l$ and $r_1 = i_2*\prod_{l=3}^k d_l + r_2$.
|
||||
Suppose, for all $2<j< k$ there exists $(r_j,i_j)\in\mathbb{N}^2$ such that $r_j<\prod_{l=j+1}^kd_l$ and $r_{j-1}=i_j\prod_{l=j+1}^k d_l + r_j $
|
||||
|
||||
By Euclide disvision on $r_j$ and $\prod_{l=j+2}^kd_l$ there exists $(r_{j+1}, i_{j+1})\in\mathbb{N}^2$ such that $r_j<\prod_{l=j+2}^k d_l$ and $r_j=i_{j+1}\prod_{l=j+2}^k d_l + r_{j+1}$
|
||||
|
||||
|
||||
|
||||
One of the advantages using order 1 tensor than larger order only one loop to browse all elements of the tensor.
|
||||
|
||||
\section{Operations on tensors}
|
||||
|
||||
We prove below that all operations like tensor contraction and tensor multiplication work with these bijections.
|
||||
|
||||
|
||||
Let $T_{\alpha}^{\{k\}}\in\mathbb{R}^{d_{1}\times\cdots\times d_{k}}$ and $T_{\beta}^{\{q\}}\in\mathbb{R}^{b_{1}\times\cdots\times b_{q}}$ and $T_{\alpha}^{\{1\}}\in\mathbb{R}^{d_{1}\cdots d_{k}}$ and $T_{\beta}^{\{1\}}\in\mathbb{R}^{b_{1}\cdots b_{q}}$ such that
|
||||
|
||||
$T_{\alpha}^{\{k\}}=\left(\alpha_{\left(i_{1},\ldots,i_{k}\right)_k}\right)_{0\le i_{j}<d_{j} / 1\le j\le k} $
|
||||
and $T_{\beta}^{\{q\}}=\left(\beta_{\left(i_{1},\ldots,i_{q}\right)_q}\right)_{0\le i_{j}<b_{j} / 1\le j\le q} $
|
||||
|
||||
and $T_{\alpha}^{\{1\}}=\left(\alpha_{\left(i_1\right)_1}\right)_{0\le i_1 < \prod_{j=1}^k d_{j}}$
|
||||
|
||||
and $T_{\beta}^{\{1\}}=\left(\beta_{\left(i_1\right)_1}\right)_{0\le i_1 < \prod_{j=1}^{q} b_{j}}$
|
||||
|
||||
Here we use little endian so
|
||||
|
||||
$\alpha_{\left(\sum_{j=1}^k i_j\left(\prod_{l=1}^{j-1}d_{l}\right)\right)_1}=\alpha_{\left(i_1,\ldots,i_k\right)_k}$ $\,\, /\,\, i_j\in[d_{j}) \,\,/\,\, 1\le j\le k$
|
||||
|
||||
and
|
||||
|
||||
$\beta_{\left(\sum_{j=1}^{q} i_j\left(\prod_{l=1}^{j-1}b_{l}\right)\right)_1}=\beta_{\left(i_1,\ldots,i_{q}\right)_q}$ $\,\, /\,\, i_j\in [b_{j}) \,\,/\,\, 1\le j\le q$
|
||||
|
||||
\subsection{Tensor multiplication}
|
||||
|
||||
tensor multiplication of $T_{\alpha}^{\{k\}} \times T_{\beta}^{\{q\}} = T_{\gamma}^{\{k+q\}}=\left(\gamma_{\left(i_{1},\ldots,i_{k+q}\right)_{k+q}}\right)\in \mathbb{R}^{d_{1}\times\cdots\times d_{k}\times b_{1}\times\cdots\times b_{q}}$ such that
|
||||
$$\gamma_{\left(i_{1},\ldots, i_{k},i_{k+1},\ldots,i_{k+q}\right)_{k+q}}=\alpha_{\left(i_{1},\ldots,i_{k}\right)_k} \cdot \beta_{\left(i_{k+1},\ldots,i_{k+q}\right)_q} $$
|
||||
|
||||
|
||||
So the correspondant one order tensor of $T_c^{k+q}$ is $T_c^1=({\gamma}_{i}^{k+q})\in\mathbb{R}^{d_{(1,a)}\cdots d_{(k,a)}\cdot d_{(1,b)}\cdots d_{(q,b)}}$ such that
|
||||
|
||||
\begin{align*}
|
||||
{\gamma}_{i_{(1,c)},\ldots, i_{(k,c)},i_{(k+1,c)}}^{k+q}&={\gamma}_{\sum_{j=1}^{k+q} i_{(j,c)}\prod_{l=1}^{j-1}d_{i_{(l,c)}} }^{1}\\
|
||||
&={\gamma}_{\sum_{j=1}^{k} i_{(j,c)}\prod_{l=1}^{j-1}d_{i_{(l,c)}} + \sum_{j=k+1}^{k+q} i_{(j,c)}\prod_{l=1}^{j-1}d_{i_{(l,c)}} }^{1}\\
|
||||
&=a_{\sum_{j=1}^{k} i_{(j,c)}\prod_{l=1}^{j-1}d_{i_{(l,c)}}}^1 \cdot b_{ \sum_{j=k+1}^{k+q} i_{(j,c)}\prod_{l=1}^{j-1}d_{i_{(l,c)}} }^{1}\\
|
||||
&=a_{i_{(1,c)},\ldots,i_{(k,c)}}^k \cdot b_{ i_{(k+1,c)},\ldots,{(k+q,c)} }^{q}\\
|
||||
\end{align*}
|
||||
|
||||
|
||||
\subsection{tensor contraction}
|
||||
Let $T_a^k\in\mathbb{R}^{d_{(1,a)}\times\cdots\times d_{(k,a)}}$ and $T_b^{q}\in\mathbb{R}^{d_{(1,b)}\times\cdots\times d_{(q,b)}}$ and $T_a^1\in\mathbb{R}^{d_{(1,a)}\cdots d_{(k,a)}}$ and $T_b^1\in\mathbb{R}^{d_{(1,b)}\cdots d_{(q,b)}}$ such that there exists $0<k_0 \le \min(k,q)$.
|
||||
|
||||
tensor $k_0$ contraction of $T_a^{k}$ and $T_b^{q}$ is $T_c^{k+q-2\cdot k_0}\in\mathbb{R}^{d_{(1,a)}\times\cdots\times d_{(k-k_0-1,c)} \times d_{(k_0+1+q,c)}\times\cdots\times d_{(k+q,c)} }$ such that:
|
||||
\begin{align*}
|
||||
d_{(i,c)}&=d_{(i,a)} &\forall 1\le i\le k- k_0\\
|
||||
d_{(i,c)}&=d_{(i-k,b)} &\forall k_0+k< i \le k+q\\
|
||||
d_{(i,a)}&=d_{(i-k+k_0,b)} &\forall i\in [k-k_0+1, k]\cap \mathbb{N}\\
|
||||
\end{align*}
|
||||
and
|
||||
\begin{align*}
|
||||
{\gamma}_{i_{(1,c)},\ldots,i_{k+q-2\cdot k_0,c}}^{k+q-2\cdot k_0}&={\gamma}_{i_{(1,a)},\ldots,i_{(k-k_0-1,a)},i_{(k_0+1,b)},\ldots,i_{(q,b)}}^{k+q-2\cdot k_0} \\
|
||||
&=\sum_{l_{1}=0}^{d_{(1,b)}-1}\sum_{l_{2}=0}^{d_{(1,b)}-1}\cdots \sum_{l_{k_0}=0}^{d_{k_0}-1} a_{i_{(1,a)},\ldots,i_{(k-k_0-1,a)},l_{1},l_{2},\ldots,l_{k_0}}^k b_{l_{1},l_{2},\ldots,l_{k_0},i_{(k_0+1,b)},i_{(k_0,b)},\ldots,i_{(q,b)}}^{q} \\
|
||||
\end{align*}
|
||||
For example in little endian transformation:
|
||||
\begin{align*}
|
||||
a_{i_{(1,a)},\ldots,i_{(k-k_0,a)},l_{1},l_{2},\ldots,l_{k_0}}^k &= a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{j=k-k_0+1}^{k}l_{(j-k+k_0)}\prod_{s=1}^{j-1}d_{(s,a)}}^1\\
|
||||
b_{l_{1},l_{2},\ldots,l_{k_0},i_{(k_0+1,b)},i_{(k_0,b)},\ldots,i_{(q,b)}}^{q} &= b_{\sum_{j=1}^{k_0}l_j\prod_{s=1}^{j-1}d_{(s,b)}+\sum_{j=k_0+1}^{k}b_{(j,b)}\prod_{s=1}^{j-1}d_{(s,b)}}^1\\
|
||||
\end{align*}
|
||||
We have to sum these terms $
|
||||
\forall l_{1}\in [0,d_{(1,b)}[\cap \mathbb{N}, \forall l_{2}\in [0,d_{(1,b)}[\cap\mathbb{N}\cdots \forall l_{k_0}\in[0,d_{(k_0,b)}[\cap\mathbb{N}
|
||||
$
|
||||
|
||||
So
|
||||
\begin{align*}
|
||||
0 \le l_{j} &\le d_{(j,b)}-1 \, \, , \forall 1 \le j \le k_0\\
|
||||
0 \prod_{s=1}^{j-1}d_{(s,b)} \le l_{j} \prod_{s=1}^{j-1}d_{(s,b)} & \le (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)}\, \, , \forall 1 \le j \le k_0\\
|
||||
0 \le l_{j} \prod_{s=1}^{j-1}d_{(s,b)} & \le (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)}\, \, , \forall 1 \le j \le k_0\\
|
||||
\sum_{j=1}^{k_0} 0 \le \sum_{j=1}^{k_0} l_{j} \prod_{s=1}^{j-1}d_{(s,b)} & \le \sum_{j=1}^{k_0} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)}\\
|
||||
0 \le \sum_{j=1}^{k_0} l_{j} \prod_{s=1}^{j-1}d_{(s,b)} & \le \sum_{j=1}^{k_0} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)} = M_{k_0}\\
|
||||
% \sum_{l_j=0}^{d_{(j,b)}-1} 0 \le \sum_{l_j=0}^{d_{(j,b)}-1} l_{j} \prod_{s=1}^{j-1}d_{(s,b)} &< \sum_{l_j=0}^{d_{(j,b)}-1} \prod_{s=1}^{j}d_{(s,b)} \\
|
||||
% 0 \le \sum_{l_j=0}^{d_{(j,b)}-1} l_{j} \prod_{s=1}^{j-1}d_{(s,b)} &< d_{(j,b)} \prod_{s=1}^{j-1}d_{(s,b)}=\prod_{s=1}^{j}d_{(s,b)} \\
|
||||
% 0 \le \sum_{l_j=0}^{d_{(j,b)}-1} l_{j} \prod_{s=1}^{j-1}d_{(s,b)} &< \prod_{s=1}^{j}d_{(s,b)} \\
|
||||
\end{align*}
|
||||
|
||||
if $k_0=1$
|
||||
$M_1+1 = (d_{(1,b)}-1) +1 = d_{(1,b)} $
|
||||
|
||||
Suppose $M_{k_0-1}+1=\prod_{j=1}^{k_0-1}d_{(j,b)}$
|
||||
|
||||
%$M_{k_0}+1 = \sum_{j=1}^{k_0} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)} +1$
|
||||
|
||||
\begin{align*}
|
||||
M_{k_0}+1 &= \sum_{j=1}^{k_0} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)} +1 \\
|
||||
&= \left(\sum_{j=1}^{k_0-1} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)} \right) + (d_{(k_0,b)}-1) \prod_{s=1}^{k_0-1}d_{(s,b)} +1 \\
|
||||
&= \left(\sum_{j=1}^{k_0-1} (d_{(j,b)}-1) \prod_{s=1}^{j-1}d_{(s,b)} \right) +1 + (d_{(k_0,b)}-1) \prod_{s=1}^{k_0-1}d_{(s,b)} \\
|
||||
&=M_{k_0-1} + 1 + (d_{(k_0,b)}-1) \prod_{s=1}^{k_0-1}d_{(s,b)} \\
|
||||
&=\prod_{j=1}^{k_0-1}d_{(j,b)} + (d_{(k_0,b)}-1) \prod_{s=1}^{k_0-1}d_{(s,b)}\\
|
||||
&= \prod_{s=1}^{k_0-1}d_{(s,b)} \left( (d_{(k_0,b)}-1) + 1\right) = d_{(k_0,b)} \prod_{s=1}^{k_0-1}d_{(s,b)}\\
|
||||
&= \prod_{s=1}^{k_0}d_{(s,b)} \\
|
||||
\end{align*}
|
||||
|
||||
So when $l_j$ browses $[0,d_{(j,b)}[\cap \mathbb{N}$ for all $1\le j\le k_0$ the indexe $\sum_{j=1}^{k_0} l_{j} \prod_{s=1}^{j-1}d_{(s,b)}$ browses $$\left[0,\prod_{j=1}^{k_0}d_{(j,b)}\right[\cap\mathbb{N}$$
|
||||
\begin{align*}
|
||||
&a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{j=k-k_0+1}^{k}l_{(j-k+k_0)}\prod_{s=1}^{j-1}d_{(s,a)}}^1 \\
|
||||
&=a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{j=k-k_0+1}^{k}l_{(j-k+k_0)}\prod_{s=1}^{k-k_0}d_{(s,a)}\prod_{s=k-k_0+1}^{j-1}d_{(s,a)}}^1\\
|
||||
& ( t=j-k+k_0 \Rightarrow j=t+k-k_0 )\\
|
||||
&(j=k-k_0+1\Rightarrow t=1; j=k\Rightarrow t=k_0)\\
|
||||
&= a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{t=1}^{k_0}l_{t}\prod_{s=k-k_0+1}^{k-k_0+t-1}d_{(s,a)} \left(\prod_{s=1}^{k-k_0}d_{(s,a)}\right)}^1 \\
|
||||
\end{align*}
|
||||
But $d_{(s,a)} = d_{(s-k+k_0,b)} \, \, \forall s\in[k-k_0+1,k]\cap\mathbb{N}$
|
||||
|
||||
\begin{align*}
|
||||
&a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{t=1}^{k_0}l_{t}\prod_{s=k-k_0+1}^{k-k_0+t-1}d_{(s,a)} \left(\prod_{s=1}^{k-k_0}d_{(s,a)}\right)}^1\\
|
||||
&= a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{t=1}^{k_0}l_{t}\prod_{s=k-k_0+1}^{k-k_0+t-1}d_{(s-k+k_0,b)} \left(\prod_{s=1}^{k-k_0}d_{(s,a)}\right)}^1 \\
|
||||
& (u=s-k+k_0 \Leftrightarrow s=u+k-k_0)\\
|
||||
& (s=k-k_0+1 \Rightarrow u=1)\\
|
||||
& (s=k-k_0+t-1 \Rightarrow u=t-1)\\
|
||||
&= a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\sum_{t=1}^{k_0}l_{t}\prod_{u=1}^{t-1}d_{(u,b)} \left(\prod_{s=1}^{k-k_0}d_{(s,a)}\right)}^1 \\
|
||||
&= a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{s=1}^{j-1}d_{(s,a)}+\left(\prod_{s=1}^{k-k_0}d_{(s,a)}\right)\sum_{t=1}^{k_0}l_{t}\prod_{u=1}^{t-1}d_{(u,b)} }^1 \\
|
||||
\end{align*}
|
||||
|
||||
|
||||
as below
|
||||
$ \sum_{t=1}^{k_0}l_{t}\prod_{u=1}^{t-1}d_{(u,b)}$ browse $ \left[0,\prod_{j=1}^{k_0}d_{(j,b)}\right[\cap\mathbb{N}$ when $l_j$ browses $[0,d_{(j,b)}[\cap\mathbb{N}$ for all $1\le j\le k_0$
|
||||
|
||||
As $l_j\in[0,d_{(j,b)}[\cap\mathbb{N} \forall 1\le j\le k_0$ and
|
||||
$$card([0,d_{(j,b)}[\cap\mathbb{N})=d_{(j,b)}$$
|
||||
also
|
||||
$$card\left(\prod_{j=1}^{k_0}[0,d_{(j,b)}[\cap\mathbb{N}\right)=\prod_{j=1}^{k_0}d_{(j,b)}$$
|
||||
|
||||
then
|
||||
|
||||
\begin{align*}
|
||||
&\sum_{l_{1}=0}^{d_{(1,b)}-1}\sum_{l_{2}=0}^{d_{(1,b)}-1}\cdots \sum_{l_{k_0}=0}^{d_{k_0}-1} a_{i_{(1,a)},\ldots,i_{(k-k_0,a)},l_{1},l_{2},\ldots,l_{k_0}}^k b_{l_{1},l_{2},\ldots,l_{k_0},i_{(k_0+1,b)},i_{(k_0,b)},\ldots,i_{(q,b)}}^{q}\\
|
||||
&= \sum_{l=0}^{\prod_{t=1}^{k_0}d_{(t,b)}} a_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{u=1}^{j-1}d_{(u,a)}+l\cdot\prod_{s=1}^{k-k_0}d_{(s,a)}}^1 b_{l+\sum_{j=k_0+1}^k i_{(j,b)}\prod_{u=1}^{j-1}d_{(u,b)}}^1 \\
|
||||
&= {\gamma}_{\sum_{j=1}^{k-k_0}i_{(j,a)}\prod_{u=1}^{j-1}d_{(u,a)}+\sum_{j=k_0+1}^k i_{(j,b)}\prod_{u=1}^{j-1}d_{(u,b)}}^1 \\
|
||||
&={\gamma}_{i_{(1,a)},i_{(2,a)},\ldots,i_{(k-k_0,a)},i_{(k_0+1,b)},i_{(k_0+2,b)},\ldots,i_{(q,b)}}^{k+q-2\cdot k_0}
|
||||
\end{align*}
|
||||
|
||||
\section{Advantages using tensor order one}
|
||||
The most advantage is computation, only one loop to browse all tensor elements! If we can compute in parallele, as we know the size and it is on a line, each threads or compute units available can have the same number of elements to compute!
|
||||
|
||||
|
||||
\section{Examples}
|
||||
\hrule
|
||||
\vspace{1cm}
|
||||
Big endian $k=2$
|
||||
\begin{align*}
|
||||
\left( \left( a_{(0,0)}^{[0]},a_{(0,1)}^{[d_2]},\ldots, a_{(0,d_1-1)}^{[(d_1-1)d_2]} \right)\right. \\
|
||||
\left( a_{(1,0)}^{[1]},a_{(1,1)}^{[d_2+1]},\ldots, a_{(1,d_1-1)}^{[(d_1-1)d_2+1]} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left( a_{(d_2-1,0)}^{[d_2-1]},a_{(d_2-1,1)}^{[2d_2-1]},\ldots, a_{(d_2-1,d_1-1)}^{[(d_2-1)d_1 +d_1-1]} \right) \\
|
||||
\end{align*}
|
||||
|
||||
\hrule
|
||||
\vspace{1cm}
|
||||
little endian $k=2$
|
||||
\begin{align*}
|
||||
\left( \left( a_{(0,0)}^{[0]},a_{(0,1)}^{[1]},\ldots, a_{(0,d_1-1)}^{[d_1-1]} \right)\right. \\
|
||||
\left( a_{(1,0)}^{[d_1]},a_{(1,1)}^{[d_1+1]},\ldots, a_{(1,d_1-1)}^{[2d_1-1]} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left( a_{(d_2-1,0)}^{[(d_2-1)d_1]},a_{(d_2-1,1)}^{[(d_2-1)d_1+1]},\ldots, a_{(d_2-1,d_1-1)}^{[(d_2-1)d_1 +d_1-1]} \right) \\
|
||||
\end{align*}
|
||||
|
||||
\hrule
|
||||
\vspace{1cm}
|
||||
little endian $k=3$
|
||||
\begin{align*}
|
||||
\left( \left( \left(a_{(0,0,0)}^{[0]},a_{(0,0,1)}^{[1]},\ldots,a_{(0,0,d_1-1)}^{[d_1-1]} \right) \right. \right.\\
|
||||
\left(a_{(0,1,0)}^{[d_1]},a_{(0,1,1)}^{[d_1+1]},\ldots,a_{(0,1,d_1-1)}^{[2d_1-1]} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left(a_{(0,d_2-1,0)}^{[(d_2-1)d_1]},a_{(0,d_2-1,1)}^{[(d_2-1)d_1+1]},\ldots,a_{(0,d_2-1,d_1-1)}^{[d_1 d_2-1]} \right) \right) \\
|
||||
\left( \left(a_{(1,0,0)}^{[d_1 d_2]},a_{(1,0,1)}^{[d_1 d_2+1]},\ldots,a_{(1,0,d_1-1)}^{[d_1 d_2+d_1-1]} \right) \right. \\
|
||||
\left(a_{(1,1,0)}^{[d_1 d_2+d_1]},a_{(1,1,1)}^{[d_1 d_2+d_1+1]},\ldots,a_{(1,1,d_1-1)}^{[d_1 d_2+2d_1-1]} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left(a_{(1,d_2-1,0)}^{[d_1 d_2+(d_2-1)d_1]},a_{(1,d_2-1,1)}^{[d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(1,d_2-1,d_1-1)}^{[d_1 d_2+(d_2-1)d_1+d_1-1]} \right) \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left( \left(a_{(d_3-1,0,0)}^{[(d_3-1)d_1 d_2]},a_{(d_3-1,0,1)}^{[(d_3-1)d_1 d_2+1]},\ldots,a_{(d_3-1,0,d_1-1)}^{[(d_3-1)d_1 d_2+d_1-1]} \right) \right. \\
|
||||
\left(a_{(d_3-1,1,0)}^{[(d_3-1)d_1 d_2+d_1]},a_{(d_3-1,1,1)}^{[(d_3-1)d_1 d_2+d_1+1]},\ldots,a_{(1,1,d_1-1)}^{[(d_3-1)d_1 d_2+2d_1-1]} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left. \left(a_{(d_3-1,d_2-1,0)}^{[(d_3-1)d_1 d_2+(d_2-1)d_1]},a_{(d_3-1,d_2-1,1)}^{[(d_3-1)d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(d_3-1,d_2-1,d_1-1)}^{[(d_3-1)d_1 d_2+(d_2-1)d_1+d_1-1]} \right)\right) \right) \\
|
||||
\end{align*}
|
||||
|
||||
\hrule
|
||||
\vspace{1cm}
|
||||
little endian $k=4$
|
||||
|
||||
\begin{align*}
|
||||
& \left( \left( \left( \left(a_{(0,0,0,0)}^{[0]},a_{(0,0,0,1)}^{[1]},\ldots,a_{(0,0,0,d_1-1)}^{[d_1-1]} \right) \right. \right. \right. \\
|
||||
& \left(a_{(0,0,1,0)}^{[d_1]},a_{(0,0,1,1)}^{[d_1+1]},\ldots,a_{(0,0,1,d_1-1)}^{[2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(0,0,d_2-1,0)}^{[(d_2-1)d_1]},a_{(0,0,d_2-1,1)}^{[(d_2-1)d_1+1]},\ldots,a_{(0,0,d_2-1,d_1-1)}^{[d_1 d_2-1]} \right) \right) \\
|
||||
& \left( \left(a_{(0,1,0,0)}^{[d_1 d_2]},a_{(0,1,0,1)}^{[d_1 d_2+1]},\ldots,a_{(0,1,0,d_1-1)}^{[d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(0,1,1,0)}^{[d_1 d_2+d_1]},a_{(0,1,1,1)}^{[d_1 d_2+d_1+1]},\ldots,a_{(0,1,1,d_1-1)}^{[d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(0,1,d_2-1,0)}^{[d_1 d_2+(d_2-1)d_1]},a_{(0,1,d_2-1,1)}^{[d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(0,1,d_2-1,d_1-1)}^{[d_1 d_2+(d_2-1)d_1+d_1-1]} \right) \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left( \left(a_{(0,d_3-1,0,0)}^{[(d_3-1)d_1 d_2]},a_{(0,d_3-1,0,1)}^{[(d_3-1)d_1 d_2+1]},\ldots,a_{(0,d_3-1,0,d_1-1)}^{[(0,d_3-1)d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(0,d_3-1,1,0)}^{[(d_3-1)d_1 d_2+d_1]},a_{(0,d_3-1,1,1)}^{[(d_3-1)d_1 d_2+d_1+1]},\ldots,a_{(0,1,1,d_1-1)}^{[(d_3-1)d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
%\\
|
||||
& \left( \left( \left(a_{(1,0,0,0)}^{[d_1 d_2 d_3]},a_{(1,0,0,1)}^{[d_1 d_2 d_3+1]},\ldots,a_{(1,0,0,d_1-1)}^{[d_1 d_2 d_3+d_1-1]} \right) \right. \right.\\
|
||||
& \left(a_{(1,0,1,0)}^{[d_1 d_2 d_3+d_1]},a_{(1,0,1,1)}^{[d_1 d_2 d_3+d_1+1]},\ldots,a_{(1,0,1,d_1-1)}^{[d_1 d_2 d_3+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(1,0,d_2-1,0)}^{[d_1 d_2 d_3+(d_2-1)d_1]},a_{(1,0,d_2-1,1)}^{[d_1 d_2 d_3+(d_2-1)d_1+1]},\ldots,a_{(1,0,d_2-1,d_1-1)}^{[d_1 d_2 d_3+d_1 d_2-1]} \right) \right) \\
|
||||
& \left( \left(a_{(1,1,0,0)}^{[d_1 d_2 d_3+d_1 d_2]},a_{(1,1,0,1)}^{[d_1 d_2 d_3+d_1 d_2+1]},\ldots,a_{(1,1,0,d_1-1)}^{[d_1 d_2 d_3+d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(1,1,1,0)}^{[d_1 d_2 d_3+d_1 d_2+d_1]},a_{(1,1,1,1)}^{[d_1 d_2 d_3+d_1 d_2+d_1+1]},\ldots,a_{(1,1,1,d_1-1)}^{[d_1 d_2 d_3+d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(1,1,d_2-1,0)}^{[d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1]},a_{(1,1,d_2-1,1)}^{[d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(1,1,d_2-1,d_1-1)}^{[d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1+d_1-1]} \right) \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\end{align*}
|
||||
|
||||
\begin{align*}
|
||||
& \left( \left(a_{(1,d_3-1,0,0)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2]},a_{(1,d_3-1,0,1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+1]},\ldots,a_{(1,d_3-1,0,d_1-1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(1,d_3-1,1,0)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1]},a_{(1,d_3-1,1,1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1+1]},\ldots,a_{(1,1,1,d_1-1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left. \left(a_{(1,d_3-1,d_2-1,0)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1]},a_{(1,d_3-1,d_2-1,1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(1,d_3-1,d_2-1,d_1-1)}^{[d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1+d_1-1]} \right)\right) \right) \\
|
||||
%\\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
%\\
|
||||
& \left( \left( \left(a_{(d_4-1,0,0,0)}^{[(d_4-1)d_1 d_2 d_3]},a_{(d_4-1,0,0,1)}^{[(d_4-1)d_1 d_2 d_3+1]},\ldots,a_{(d_4-1,0,0,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+d_1-1]} \right) \right. \right.\\
|
||||
& \left(a_{(d_4-1,0,1,0)}^{[(d_4-1)d_1 d_2 d_3+d_1]},a_{(d_4-1,0,1,1)}^{[(d_4-1)d_1 d_2 d_3+d_1+1]},\ldots,a_{(d_4-1,0,1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(d_4-1,0,d_2-1,0)}^{[(d_4-1)d_1 d_2 d_3+(d_2-1)d_1]},a_{(d_4-1,0,d_2-1,1)}^{[(d_4-1)d_1 d_2 d_3+(d_2-1)d_1+1]},\ldots,a_{(d_4-1,0,d_2-1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2-1]} \right) \right) \\
|
||||
& \left( \left(a_{(d_4-1,1,0,0)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2]},a_{(d_4-1,1,0,1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+1]},\ldots,a_{(d_4-1,1,0,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(d_4-1,1,1,0)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+d_1]},a_{(d_4-1,1,1,1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+d_1+1]},\ldots,a_{(d_4-1,1,1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left(a_{(d_4-1,1,d_2-1,0)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1]},a_{(d_4-1,1,d_2-1,1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1+1]},\ldots,a_{(d_4-1,1,d_2-1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+d_1 d_2+(d_2-1)d_1+d_1-1]} \right) \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left( \left(a_{(d_4-1,d_3-1,0,0)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2]},a_{(d_4-1,d_3-1,0,1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+1]},\ldots,a_{(d_4-1,d_3-1,0,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1-1]} \right) \right. \\
|
||||
& \left(a_{(d_4-1,d_3-1,1,0)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1]},a_{(d_4-1,d_3-1,1,1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+d_1+1]},\ldots,a_{(d_4-1,1,1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+2d_1-1]} \right) \\
|
||||
& \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
& \left. \left. \left. \left(a_{(d_4-1,d_3-1,d_2-1,0)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1]},
|
||||
%a_{(d_4-1,d_3-1,d_2-1,1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1+1]},
|
||||
\ldots,
|
||||
%\right.\right.\right.\\
|
||||
%&\ldots,\left.\left.\left.
|
||||
a_{(d_4-1,d_3-1,d_2-1,d_1-1)}^{[(d_4-1)d_1 d_2 d_3+(d_3-1)d_1 d_2+(d_2-1)d_1+d_1-1]} \right)\right) \right) \right) \\
|
||||
\end{align*}
|
||||
\hrule
|
||||
|
||||
|
||||
\iffalse
|
||||
|
||||
\begin{align*}
|
||||
\left( \left( \left( a_{(0,0,0,0)},a_{(0,0,0,1)},\ldots,a_{(0,0,0,d_1-1)} \right) \right. \right. \\
|
||||
\left( a_{(0,0,1,0)},a_{(0,0,1,1)},\ldots,a_{(0,0,1,d_1-1)} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left( a_{(0,0,d_2-1,0)},a_{(0,0,d_2-1,1)},\ldots,a_{(0,0,d_2-1,d_1-1)} \right) \right) \\
|
||||
\left( \left( a_{(0,1,0,0)},a_{(0,1,0,1)},\ldots,a_{(0,1,0,d_1-1)} \right) \right. \\
|
||||
\left( a_{(0,1,1,0)},a_{(0,1,1,1)},\ldots,a_{(0,1,1,d_1-1)} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left( a_{(0,1,d_2-1,0)},a_{(0,1,d_2-1,1)},\ldots,a_{(0,1,d_2-1,d_1-1)} \right) \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left( \left( a_{(0,d_3-1,0,0)},a_{(0,d_3-1,0,1)},\ldots,a_{(0,d_3-1,0,d_1-1)} \right) \right. \\
|
||||
\left( a_{(0,d_3-1,1,0)},a_{(0,d_3-1,1,1)},\ldots,a_{(0,d_3-1,1,d_1-1)} \right) \\
|
||||
\vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \hspace{1cm} \vdots \\
|
||||
\left. \left( a_{(0,d_3-1,d_2-1,0)},a_{(0,d_3-1,d_2-1,1)},\ldots,a_{(0,d_3-1,d_2-1,d_1-1)} \right) \right) \\
|
||||
\end{align*}
|
||||
\fi
|
||||
|
||||
|
||||
\iffalse
|
||||
\begin{EnvTikzEspace}
|
||||
\draw[->,>=latex] (0,0,0)--(1,0,0) node[right] {$\vec{\imath}$} ;
|
||||
\draw[->,>=latex] (0,0,0)--(0,1,0) node[right] {$\vec{\jmath}$} ;
|
||||
\draw[->,>=latex] (0,0,0)--(0,0,1) node[above] {$\vec{k}$} ;
|
||||
\end{EnvTikzEspace}
|
||||
|
||||
\begin{EmpilementCubes}
|
||||
\BlocPetitsCubes{1,2,3,4,5 / 0,2,1,1,3 / 0,2,1,1,2 / 1,1,1,1,3}
|
||||
\end{EmpilementCubes}
|
||||
\fi
|
||||
|
||||
\iffalse
|
||||
\begin{tikzpicture}
|
||||
\draw (0,0,0)--(1,0,0)--(1,1,0)--(0,1,0)--cycle; % face arrière
|
||||
\draw (0,0,1)--(1,0,1)--(1,1,1)--(0,1,1)--cycle; % face avant
|
||||
% arêtes horizontales, de l’arrière vers l’avant
|
||||
\draw (0,0,0) -- (0,0,1); % bas gauche
|
||||
\draw (1,0,0) -- (1,0,1); % bas droit
|
||||
\draw (1,1,0) -- (1,1,1); % haut droit
|
||||
\draw (0,1,0) -- (0,1,1); % haut gauche
|
||||
\end{tikzpicture}
|
||||
|
||||
\newcommand{\xangle}{13} %{15}
|
||||
\newcommand{\yangle}{160}%{153}
|
||||
\newcommand{\zangle}{90}
|
||||
|
||||
\newcommand{\xlength}{1}
|
||||
\newcommand{\ylength}{1}
|
||||
\newcommand{\zlength}{1}
|
||||
|
||||
\newcommand{\dimension}{1}% actually dimension-1
|
||||
|
||||
\pgfmathsetmacro{\xx}{\xlength*cos(\xangle)}
|
||||
\pgfmathsetmacro{\xy}{\xlength*sin(\xangle)}
|
||||
\pgfmathsetmacro{\yx}{\ylength*cos(\yangle)}
|
||||
\pgfmathsetmacro{\yy}{\ylength*sin(\yangle)}
|
||||
\pgfmathsetmacro{\zx}{\zlength*cos(\zangle)}
|
||||
\pgfmathsetmacro{\zy}{\zlength*sin(\zangle)}
|
||||
|
||||
\begin{tikzpicture}
|
||||
[ x={(\xx cm,\xy cm)},
|
||||
y={(\yx cm,\yy cm)},
|
||||
z={(\zx cm,\zy cm)},
|
||||
]
|
||||
\foreach \a in {0,...,\dimension}
|
||||
{ \foreach \b in {0,...,\dimension}
|
||||
{ \pgfmathsetmacro{\c}{100-\a*7-\b*7}
|
||||
\draw[canvas is xy plane at z=\a, black!\c] (\b,0) -- (\b,\dimension) (0,\b) -- (\dimension,\b);
|
||||
\draw[canvas is xz plane at y=\a, black!\c] (\b,0) -- (\b,\dimension) (0,\b) -- (\dimension,\b);
|
||||
\draw[canvas is yz plane at x=\a, black!\c] (\b,0) -- (\b,\dimension) (0,\b) -- (\dimension,\b);
|
||||
}
|
||||
}
|
||||
\pgfmathsetmacro{\dim}{\dimension-1}
|
||||
\foreach \a in {0,...,\dimension}
|
||||
{ \foreach \b in {0,...,\dimension}
|
||||
{ \foreach \c in {0,...,\dimension}
|
||||
{
|
||||
\pgfmathsetmacro{\d}{\c+\b*\dimension+\a*\dimension*\dimension}
|
||||
% \fill (\a,\b,\c) circle (0.05cm);
|
||||
\node (1) at (\a,\b,\c) {$\d$};
|
||||
}
|
||||
}
|
||||
}
|
||||
\end{tikzpicture}
|
||||
\fi
|
||||
|
||||
\end{document}
|
||||
Reference in New Issue
Block a user