Сеть Хопфилда

>    restart;

>    with(LinearAlgebra):

>    n:=9:

>    W1:=Matrix(n):W2:=Matrix(n):

Образцы  

>    U1:=Matrix([-1,-1,1,-1,-1,1,-1,-1,1]):
U2:=Matrix([1,1,1, 1,-1,1, 1,-1,1]):

Испорченный U1

>    U3:=Matrix([-1,-1,1,1,1,1,-1,-1,1]):

Веса

>    W1:=Transpose(U1).U1: W2:=Transpose(U2).U2:

>    for i to n do W1[i,i]:=0;W2[i,i]:=0;od:

Суммарный вес

>    WW:=W1+W2:

>    U:=Transpose(U3):

Распознавание

>    U:=map(sign,WW.U):