Ask Your Question

rfauffar's profile - activity

2014-09-22 14:05:36 +0200 received badge  Nice Answer (source)
2014-02-05 12:48:07 +0200 received badge  Self-Learner (source)
2014-02-05 12:48:07 +0200 received badge  Teacher (source)
2014-02-05 12:48:03 +0200 received badge  Student (source)
2014-01-16 14:04:02 +0200 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 +0200 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 +0200 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 +0200 received badge  Editor (source)
2014-01-15 18:28:42 +0200 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.