2014-09-22 14:05:36 +0100 received badge ● Nice Answer (source) 2014-02-05 12:48:07 +0100 received badge ● Self-Learner (source) 2014-02-05 12:48:07 +0100 received badge ● Teacher (source) 2014-02-05 12:48:03 +0100 received badge ● Student (source) 2014-01-16 14:04:02 +0100 asked a question Define a differential form recursively I have the following code: n=3; x = list(var('x_%d' % i) for i in (1..2*n)); U = CoordinatePatch(x); F = DifferentialForms(U); w = DifferentialForm(F,2); for j in range(2*n-1): for k in range(2*n-1): w[j,k]=j+k; w;  It's supposed to define a differential form whose (j,k)th member is j+k, but this code just returns the 0 differential form. I've tried many variations using for, while, etc., but none seem to work. I suspect it's because a differential form is stored as a dictionary, but since I'm a beginner in Sage, I have no idea what to do. Any help is appreciated. 2014-01-15 20:34:01 +0100 answered a question Define differential form in n variables 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;  2014-01-15 20:17:56 +0100 commented question Define differential form in n variables 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 18:31:26 +0100 received badge ● Editor (source) 2014-01-15 18:28:42 +0100 asked a question 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.