2017-11-15 18:43:53 -0500 received badge ● Student (source) 2017-11-14 12:50:18 -0500 commented question Exterior algebra error Thanks for the response FredericC. The documentation says that ExteriorAlgebra can take as input R a free module over a base ring. Can I get sage to treat $V3$ as a free module (vector space)? It knows that $V3$ lies in the category of vector spaces with basis over $\mathbb{Q}$. If not, can you think of any other way to create an exterior algebra with bi-indexed basis, such that $w_{i,j} = w_{j,i}$? 2017-11-13 22:42:23 -0500 asked a question Exterior algebra error Hi, I'm new to Sage, and I've been having a lot of trouble constructing a particular algebra. I want to construct the exterior algebra (over $\mathbb{Q}$) on generators $w_{i,j} = w_{j,i}$ where $1 \le i < j \le n$ for some $n$ (for concreteness, say $n = 6$). I want this particular generating set so that I can define an $S_n$ action, but that's the next challenge. I've been attempting the following rough outline: Construct a vector space $V \cong \mathbb{Q}^n$, with basis ${v_i}$. Take a tensor product $V \otimes V$, with basis $w_{i,j} = v_i \otimes v_j$. Take a quotient to impose relations $w_{i,i} = 0$ and $w_{i,j} = w_{j,i}$. Take the exterior algebra on the quotient. Several possible data structures for $V$ (FiniteRankFreeModule, VectorSpace, FreeModule) seem to fail at step 2. Are tensor products implemented for these? The most promising structure, CombinatorialFreeModule, fails at step 4 for an unknown reason. I get an error "base must be a ring or a subcategory of Rings()", even though the base is $\mathbb{Q}$. Here's the specific code I've tried. indices = range(1,7) V = CombinatorialFreeModule(QQ, indices) V2 = tensor((V,V)) w = V2.basis() relations = [] for i in indices: relations.append(w[i,i]) for j in range(i+1,7) relations.append(w[i,j] - w[j,i]) R = V2.submodule(relations) V3 = V2.quotient_module(R) A = ExteriorAlgebra(V3)  The last line gives an error, "base must be a ring or a subcategory of Rings()". The command V2.base() in Rings() returns true, but I can't get around the error. Any help would be appreciated, either in fixing this error or approaching the construction in a different way.