In [1]:
%display latex
In [2]:
R7 = Manifold(7, 'R^7', r'\mathbb{R}^7', start_index=1);
cart.<x_1,x_2,x_3,x_4,x_5,x_6,x_7> = R7.chart() ; cart
Out[2]:
In [3]:
phi1=R7.diff_form(3,name='phi1',latex_name='\phi_1');
phi1[1,2,3],phi1[1,4,5],phi1[1,6,7],phi1[2,4,6],phi1[2,5,7],phi1[3,4,7],phi1[3,5,6]=1,1,1,1,-1,-1,-1;
phi1.display()
Out[3]:
In [4]:
var('a1,a2,a3,a4,a5,a6,a7');
va = R7.tensor_field(1,0,name='va',latex_name='v_a');
va[1],va[2],va[3],va[4],va[5],va[6],va[7]=a1,a2,a3,a4,a5,a6,a7;
In [5]:
form=phi1
vec=va
res=form['_ijk']*vec['^i']
res_coef=[]
for ind in res.comp().non_redundant_index_generator():
    if res[ind]!=0:
        res_coef.append(res[ind].expr()**2)
In [6]:
res_coef
Out[6]:
In [7]:
set(res_coef)
Out[7]:
In [8]:
uniq(res_coef)
Out[8]:
In [9]:
v=[a1,a2,a1]
In [10]:
w=[i**2 for i in v]
In [11]:
w
Out[11]:
In [12]:
uniq(w)
Out[12]:
In [13]:
list(set(w))
Out[13]:
In [ ]: