For convenience, unless otherwise stated, in the following text G (or sometimes H) represents a finite abelian multiplicative group, S = {x_1, x_2, ..., x_m} is a generating set (not necessarily minimal) of G, o or o_G is the identity and ord() is the order of an element in G. Theorem 1. S is a MIS if and only if the mapping f(e_1, e_2, ..., e_m) = Sum_{i=1..m} (e_i)*(x_i) is bijective from {(e_1, e_2, ..., e_m) | 0 <= e_i < ord(x_i), i = 1..m} and G. Proof. "=>": By the definition of "generating sets", f is surjective. If f is not injective, then there exists two arrays (e_1, e_2, ..., e_m), (e'_1, e'_2, ..., e'_m) such that Product_{i=1..m} (x_i)^(e_i) = Product_{i=1..m} (x_i)^(e'_i) and at least one pair of (e_j, e'_j) is not congruent modulo ord(x_j), so Product_{i=1..m} (x_i)^(e_i - e'_i) = o but (x_j)^(e_j - e'_j) != o, which contradicts with the definition of a MIS. "<=": Since that f is bijective, the solutions (e_1, e_2, ..., e_m) to Product_{i=1..m} (x_i)^(e_i) = o should have e_i == 0 (mod ord(x_i)), i = 1..m, so (e_i)^(x_i) = o, i = 1..m. Corollary 1. If S is a MIS, then Product_{i=1..m} ord(x_i) = |G|. Note that the converse is not true. Theorem 2. If S = {x_1, x_2, ..., x_m} is a MIS of G, T = {y_1, y_2, ..., y_k} is a MIS of H, then a MIS of G X H is given by U = {x'_1, x'_2, ..., x'_m, y'_1, y'_2, ..., y'_k}, where x'_i = (x_i, o_H) for i = 1..m, y'_j = (o_G, y_j) for j = 1..k. Proof. Every element in G X H can be written as (a, b) where a is in G and b is in H. To solve Product_{i=1..m} (x'_i)^(e_i) * Product_{j=1..k} (y'_j)^(f_j) = (a, b) is equivalent to solve Product_{i=1..m} (x'_i)^(e_i) = (a, o_H) and Product_{j=1..k} (y'_j)^(f_j) = (o_G, b) separately, which are immediately reduced to Product_{i=1..m} (x_i)^(e_i) = a and Product_{j=1..k} (y_j)^(f_j) = b. Since that S is a MIS of G and T is a MIS of H, U must be a MIS of G X H. Note. Use this result and induction, we can show that if S(n) is defined as: S(p^e) = {the least primitive root modulo p^e} if p is an odd prime; S(2) = the empty set, S(4) = {3}, S(2^e) = {5, 2^e - 1} for e >= 3. If gcd(m_1, m_2) = 1, then S((m_1)*(m_2)) = {1 <= x <= (m_1)*(m_2) : x belongs to S(m_1) and x == 1 (mod m_2), or x belongs to S(m_2) and x == 1 (mod x_1)}, then S(n) is a MIS of the multiplicative group of integers modulo n that is minimal. See A323021. Theorem 3. Let G = C_(k_1) X C_(k_2) X ... X C_(k_m) where C_(k_i) is a cyclic group with identity denoted by o_i and an generator denoted by g_i, then all the arrays (x_1, x_2, ... x_m) such that {x_1, x_2, ..., x_m} is a MIS of G and ord(x_i) = k_i, i = 1..m (we will say these arrays satisfy property P) are given by (f(g_1, o_2, o_3, ..., o_m), f(o_1, g_2, o_3, ..., o_m), f(o_1, o_2, o_3, ..., g_m)), where f is any automorphic mapping. Proof. If (x_1, x_2, ... x_m) satisfy P, then every element s in G can be uniquely represented as a = Product_{i=1..m} (e_i)^(x_i) with 0 <= e_i < k_i by Theorem 1. So the corresponding automorphic mapping can be chosen as f(e_1*g_1, e_2*g_2, ..., e_m*g_m) = a for every a in G. If f is an automorphic mapping, then by Theorem 2, ((g_1, o_2, o_3, ..., o_m), (o_1, g_2, o_3, ..., o_m), (o_1, o_2, o_3, ..., g_m)) satisfies P, so its image in the mapping f also satisfies P. Corollary 3. The number of MISs of G that are minimal is |Aut(G)| * #{(k_1, k_2, ..., k_r) | G = C_(k_1) X C_(k_2) X ... X C_(k_r)} / r!, where r = rank(G). This is because the elements in a set are unordered. Theorem 4. Let D(G) be the set of multiplicative functions f: G -> {z belong to C : |z| = 1} (that is, f(xy) = f(x)*f(y) for all x, y in G). Then the statement "f is an element in D(G) if and only if there exists an array (d_1, d_2, ..., d_m) in {(d_1, d_2, ..., d_m) | 0 <= d_j < ord(x_j), j = 1..m} such that f(x_j) = exp(2*Pi*(d_j)*i/ord(x_i))" is true if and only if S is a MIS, where i is the imaginary unit. Proof. If S is a MIS. "<=": Every element s in G can be uniquely represented as a = Product_{j=1..m} (e_j)^(x_j) with 0 <= e_j < ord(x_j) by Theorem 1. So the function f can be defined as f(a) = exp(2*Pi*i*Sum_{j=1..m} (e_j)*(d_j)*i/ord(x_i)). "=>": It is easy to show that f(o) = 1, then 1 = f((x_j)^ord(x_j)) = f(x_j)^ord(x_j), so f(x_j) = exp(2*Pi*d_j*i/ord(x_i)) for some 0 <= d_j < ord(x_j). If S is not a MIS, then Product_{i=1..m} (x_i)^(e_i) = o does not imply (x_i)^(e_i) = o for i = 1..m. Suppose (x_1)^(e_1) != o. Let (d_1, d_2, ..., d_m) = (1, 0, 0, ..., 0), we have f(o) = f(Product_{i=1..m} (x_i)^(e_i)) = Product_{i=1..m} f(x_i)^(e_i) = f(x_1) = exp(2*Pi*i/ord(x_i)) != 1, a contradiction. Corollary 4.1. The number of elements in D(G) is Product_{i=1..m} ord(x_i) = |G|. Corollary 4.2. There is a one-to-one mapping from D(G X H) to D(G) X D(H). = {f : f(a, b) := g(a)*h(b) for every a in G and b in H, where g belongs to D(G) and h belongs to D(H)}. Proof. We first show that every element f in D(G X H) corresponds to a pair of functions (g, h) such that g is in D(G) and h is in D(H). Let S = {x_1, x_2, ..., x_m} be a MIS of G, T = {y_1, y_2, ..., y_k} be a MIS of H, by Theorem 2, a MIS of G X H is given by U = {x'_1, x'_2, ..., x'_m, y'_1, y'_2, ..., y'_k}, where x'_i = (x_i, o_H) for i = 1..m, y'_j = (o_G, y_j) for j = 1..k. By Theorem 4, every element f in D(G X H) is fully determined by f(x'_1), f(x'_2), ..., f(x'_m), f(y'_1), f(y'_2), ..., f(y'_k). Since that ord(x'_i) = lcm(ord(x_i), ord(o_H)) = lcm(ord(x_i), 1) = ord(x_i), i = 1..m, we can set g(x_i) = f(x'_i), i = 1..m. For the same reason we can set h(y_i) = f(y'_i). Then the two functions g and h are both well-defined, and g belongs to D(G) and h belongs to D(H). Every element in G X H can be written as (a, b) where a is in G and b is in H, so for any element g in G and any element h in H, define f(a, b) := g(a)*h(b), then f is in D(G X H). Note. If G = (Z/kZ)* is the multiplicative group of integers modulo k, then D(G) is isomorphic to the set of Dirichlet characters modulo k. So if gcd(m_1, m_2) = 1, then every Dirichlet character modulo (m_1)*(m_2) can be written as the product of a character modulo m_1 and a character modulo m_2.