i wish to define a nilpotent adjacency matrix.
example vertex adjacency matrix of a graph ($K_4$ minus an edge) is
A=
[0 1 1 0]
[1 0 1 1]
[1 1 0 1]
[0 1 1 0]
where N=4 vertices
so for all entries $A_{ij}$ i wish to define a function to replace the 1's by $b_j$
so for the example above i get a nilpotent matrix
B=
[0 $b_2$ $b_3$ 0]
[$b_1$ 0 $b_3$ $b_4$]
[$b_1$ $b_2$ 0 1]
[0 $b_2$ $b_3$ 0]
where the $b_j$ where $i,j\in${1,2,3,4} obey the following rules of multiplication:
$b_jb_i=b_ib_j$ and $b_j^2=0$ (so i also need to define a function for these rules)
so for the nilpotent adjacency matrix i can define matrix multiplication using the above rules for its entries i.e. $B^N$
i'd like the function to be something like nil(B,k) and for it to print the trace of $B^k$
e.g. $nil(B,2)=2b_1b_2+2b_1b_3+2b_2b_3+2b_2b_4+2b_3b_4$
i'll try to work on this myself too in the meantime, but this is probably the most complicated function i've had to do.. mainly due to redefining the adjacency matrix