How do spin operators work? I am currently studying statistics and 2D Ising models and noticed in my lecturer's notes the operators, acting in the spin space

The text says that this is identity $2^N\times 2^N$ matrix. I don't understand how this operator acts on the vector of spins. Usually there is only tensor convolution by index, but here are fixed spins in a row, for example:
$$\{\uparrow,\uparrow,\downarrow\ldots,\uparrow\}$$
How should I change their value if they are fixed?
Someone, please explain the action, for example, for the simple operator $\delta_{\sigma_1'\sigma_1}$ and for spin row $\{\uparrow\}$. Should it work like this?
$$\delta_{\sigma_1'\sigma_1}\{\sigma_1\}=\delta_{\sigma_1'\uparrow}\{\uparrow\}+\delta_{\sigma_1'\downarrow}\{\downarrow\}$$
What I've even got? And also how can this matrix be $2^N\times 2^N$ if the row is made of $N$ spins? I am probably too sleepy and just forgot how tensors work...
 A: Ok, probably I guessed how it should work. At first we have only one vector in our space where operator act. This is not the vector of spins ${\sigma_1,\sigma_2,\ldots,\sigma_n}$. This is the vector of all possible states (every element of this vector is spin vector) with any order that we will fix initially (equivalence class), for example for 3 spins:
$$\vec{s}=\left(\begin{array}{c}
     \{\uparrow,\uparrow,\uparrow\}  \\
     \{\uparrow,\uparrow,\downarrow\}  \\
\{\uparrow,\downarrow,\uparrow\}  \\
\{\uparrow,\downarrow,\downarrow\}  \\
\{\downarrow,\uparrow,\uparrow\}  \\
\{\downarrow,\uparrow,\downarrow\}  \\
\{\downarrow,\downarrow,\uparrow\}  \\
\{\downarrow,\downarrow,\downarrow\}  \\ 
\end{array}\right)=\left(\begin{array}{c}
     \vec{\sigma}[1]  \\
\vec{\sigma}[2]  \\
\vec{\sigma}[3]  \\
\vec{\sigma}[4]  \\
\vec{\sigma}[5]  \\
\vec{\sigma}[6]  \\
\vec{\sigma}[7]  \\
\vec{\sigma}[8]  \\
\end{array}\right)$$
And in this case matrix $2^3\times 2^3$ will correctly work:
$$\vec{s'}=E_{8\times 8}\left(\begin{array}{c}
     \{\uparrow,\uparrow,\uparrow\}  \\
     \{\uparrow,\uparrow,\downarrow\}  \\
\{\uparrow,\downarrow,\uparrow\}  \\
\{\uparrow,\downarrow,\downarrow\}  \\
\{\downarrow,\uparrow,\uparrow\}  \\
\{\downarrow,\uparrow,\downarrow\}  \\
\{\downarrow,\downarrow,\uparrow\}  \\
\{\downarrow,\downarrow,\downarrow\}  \\ 
\end{array}\right)=\left(\begin{array}{c}
     \{\uparrow,\uparrow,\uparrow\}  \\
     \{\uparrow,\uparrow,\downarrow\}  \\
\{\uparrow,\downarrow,\uparrow\}  \\
\{\uparrow,\downarrow,\downarrow\}  \\
\{\downarrow,\uparrow,\uparrow\}  \\
\{\downarrow,\uparrow,\downarrow\}  \\
\{\downarrow,\downarrow,\uparrow\}  \\
\{\downarrow,\downarrow,\downarrow\}  \\ 
\end{array}\right)=\vec{s}$$
So we numbered the sequence of states (spinvectors) and marked elements as $\vec{\sigma}[i]$. It's not the component of $\vec{\sigma}$, it's whole spinvector at the i-th place of sequence. We want to write:
$$\vec{\sigma}'[i]=\delta_{ij}\vec{\sigma}[j]$$
And then to move from terms of $\vec{\sigma}[i]$ to normal spinvectors with their own indexes. So we have to number states not by artificial order but by their own spins. In terms of components, for example, for 2 spins (sigmavector has two compoments) we can write:
$$\sigma'_{ik}=\delta_{ij}\delta_{kl}\sigma_{jl}$$
Let's check it:
$$\sigma'_{\uparrow\uparrow}=\delta_{\uparrow j}\delta_{\uparrow l}\sigma_{jl}=\sigma_{\uparrow\uparrow}$$
And the same logic with another indexes, it really works like identity operator. It can look absurd for some operators, because we can get smth like
$$\sigma'_{\uparrow\uparrow}=\uparrow\downarrow$$
but as we saw earlier the index $_{\uparrow\uparrow}$ is only necessary to mark the order of spinvectors in $\vec{s}$. It will only mean that the state where spins were  $\uparrow\uparrow$ has now spins $\uparrow\downarrow$.
May be I couldn't understand the stupid stuff but teachers notes looked like they supposed acting on spinvectors $1\times N$ and it confused me.
