My network

In[]:=
n(*numerodimodi*)=2;​​cn(*N*)=2n;
In[]:=
zero=Table[0,{i,1,cn}];

function layer

In[]:=
m11=Table[If[EvenQ[i],0,KroneckerDelta[j,(i+1)/2]],{i,1,cn},{j,1,n}];​​m22=Table[If[OddQ[i],0,KroneckerDelta[j,(i)/2]],{i,1,cn},{j,1,n}];
mybsun=FunctionLayer@Function@Block{x1,a1,imm,m,d,tbs,fibs,m1,m2,inv},m1=m11;m2=m22;tbs=NetArray["Array"->tbsi];fibs=NetArray["Array"->fibsi];m=m1.
Cos[tbs[[1]]]Cos[fibs[[1]]]
-Sin[tbs[[1]]]Cos[fibs[[2]]]
Sin[tbs[[1]]]Cos[fibs[[2]]]
Cos[tbs[[1]]]Cos[fibs[[1]]]
.Transpose[m1]+m2.
Cos[tbs[[1]]]Cos[fibs[[1]]]
-Sin[tbs[[1]]]Cos[fibs[[2]]]
Sin[tbs[[1]]]Cos[fibs[[2]]]
Cos[tbs[[1]]]Cos[fibs[[1]]]
.Transpose[m2]+m2.
-Cos[tbs[[1]]]Sin[fibs[[1]]]
Sin[tbs[[1]]]Sin[fibs[[2]]]
Sin[tbs[[1]]]Sin[fibs[[2]]]
Cos[tbs[[1]]]Sin[fibs[[1]]]
.Transpose[m1]+m1.-
-Cos[tbs[[1]]]Sin[fibs[[1]]]
Sin[tbs[[1]]]Sin[fibs[[2]]]
Sin[tbs[[1]]]Sin[fibs[[2]]]
Cos[tbs[[1]]]Sin[fibs[[1]]]
.Transpose[m2];d=zero;​​imm=Inverse[m];​​inv=imm;x1=#x.m;​​a1=Inverse[m].(d+#a);{x1,a1}
FunctionLayer
:Cannot interpret Inverse[m] & as a network.