# Define differential form in n variables

I'd like to define a differential form in n variables (where n is defined beforehand, and I'd like for it to be able to be arbitrarily big. For this reason I'd like to write a code for general n). My first idea is to write something of the sort:

n=var('n');
n=3;
x = list(var('x_%d' % i) for i in (1..n));
U = CoordinatePatch(x);
F = DifferentialForms(U);
w = DifferentialForm(F,2);
[w[i,2]=3 for i in range(0,n-1)]


The value w[i,2]=3 is obviously arbitrary. I don't know why the code doesn't work, it says that there's a syntax error with w[i,2]=3.

edit retag close merge delete

does w[i][2] do what you want?

( 2014-01-15 19:57:50 +0200 )edit

Unfortunately, no. Usually, without the for, w[i,2] works. For example if I just put w[1,2]=3 then it defines the form dx1/\dx2 to be 3. I don't know why it won't let me use for.

( 2014-01-15 20:17:56 +0200 )edit

Sort by ยป oldest newest most voted

Ok, I fixed it with the following code:

for i in range(0,2*n-1):
for j in range(0,2*n-1):
w[i,j]=3;

more