Consider a finite set of three-dimensional Euclidean vectors with integer components. How many three-dimensional closed loops can I construct with them? How many of them are elementary, i.e., cannot be generated by joining one (or more) edges of two other loops? How can I prove that a loop is elementary?
Any helpful references? The closest structures that I am aware of are polysticks, but my searches for polysticks in three dimensions yielded no useful results.
EDIT ::
This problem occurs when trying to enumerate the elementary closed paths that particles traverse when they move on a lattice. The sense of directionality is important.
The naive search algorithm -- i.e., start with the shortest possible loops (length 3), find how many they are, then increase the length and see if the loops of this length can be decomposed into loops of shorter length sharing one or more edges -- is very ineffective and, therefore, wasteful. I was hoping to find a more elegant approach.
I found out that an answer to the first question (the total number of loops of a certain length) can be furnished by algebraic graph theory, and in particular the adjacency matrix. All one needs to do is to represent any given configuration of polysticks as a graph $G$ and then form the adjacency matrix $A_G$ of $G$. Then, the matrix $A_G^n$ (i.e., the matrix product of $n$ copies of $A_G$) has an interesting interpretation: the entry in row $i$ and column $j$ gives the number of walks of length $n$ from vertex $i$ to vertex $j$. The diagonal elements are therefore the wanted numbers of cycles (loops).