# generate_n_vectors¶

gala.dynamics.generate_n_vectors(N_max, dx=1, dy=1, dz=1, half_lattice=True)[source]

Generate integer vectors, $$\boldsymbol{n}$$, with $$|\boldsymbol{n}| < N_{\rm max}$$.

If half_lattice=True, only return half of the three-dimensional lattice. If the set N = {(i,j,k)} defines the lattice, we restrict to the cases such that (k > 0), (k = 0, j > 0), and (k = 0, j = 0, i > 0).

Todo

Return shape should be (3,N) to be consistent.

Parameters: N_max : int Maximum norm of the integer vector. dx : int Step size in x direction. Set to 1 for odd and even terms, set to 2 for just even terms. dy : int Step size in y direction. Set to 1 for odd and even terms, set to 2 for just even terms. dz : int Step size in z direction. Set to 1 for odd and even terms, set to 2 for just even terms. half_lattice : bool (optional) Only return half of the 3D lattice. vecs : numpy.ndarray A 2D array of integers with $$|\boldsymbol{n}| < N_{\rm max}$$ with shape (N,3).