Let $G\leq \mathrm{GL}_n(\mathbb{C})$ be a linear algebraic group. Assume we know its defining ideal $$\mathcal{I}(G)=\langle f_\alpha \mid \alpha \in S\rangle \subseteq \mathbb{C}[x_{i,j}, 1/\mathrm{det}\mid 1\leq i,j\leq n]$$ for some finite set $S$.
Now I am interested in generators of the group $$X(G)= \{\chi\colon G\rightarrow \mathbb{C}^* \mid \forall g,h\in G\colon \chi(gh)=\chi(g)\chi(h)\}$$ of multiplicative characters.
(By that I mean: $\chi_1,\ldots,\chi_r$ are generators of $X(G)$ if and only if for every $\chi\in X(G)$ there exists $a_1,\ldots,a_r\in \mathbb{Z}$ such that $\chi= \chi_1^{a_1}\cdots\chi_r^{a_r}$.)
Is there any algorithm to compute them?
For example, characters correspond to grouplike elements in Hopfalgebras. So if we take an arbitrary element $$f=\lambda_0 + \lambda_{1}x_1+\ldots+\lambda_n x_n+\lambda_{20\ldots 0}x_1^2 +\lambda_{110\ldots 0}x_1x_2+\ldots \in \mathbb{C}[G]$$ up to an arbitary, but fixed degree, we can compute conditions on the coefficients $\lambda$, such that $f$ satisfies: $$\Delta(f) = f\otimes f \text{ and } \epsilon(f)=1$$ Hence is a group-like element and thus gives a character. This would yield all characters up to a given degree. But then the question is, what degree is high enough to generate $X(G)$?