Hi, I wonder if currently there's a cleaner way to do $x^v \cdot x^w = x^{v+w}$ in Sage, where $v, w$ are some vectors in a vector space?

Once a basis ${v_1, \cdots v_n}$ for the vector space is chosen, this can be done by identifying $x_i$ with $x^{v_i}$, and use the multivariate ring $R[x_1, \cdots, x_n]$. However, I would like to do this in an intrinsic manner, i.e. not choosing a basis.

More generally, I think for any element $m$ in any magma $M$, we should be able to define an algebra $R[x^m|m\in M]$ over any given ring $R$. Notice that this is not the same as `FreeAbelianMonoid`

generated over $M$, as in this case $x^m x^{n}$ is not the same as $x^{mn}$.

### Question

Is $R[x^m|m\in M$$ currently doable? If not, I might work on writing it.

### Application

A reason why I think it would be helpful: it can help calculating generalized characters of representations of quantum groups.