def get_Llamba(E2, basis_RS, dom_weights, lamba_combi, select, n):
result = list()
if select == 1:
N = n
elif select == 2:
N = 2
elif select == 3:
N = 1
elif select == 4:
N = 2
for i in xrange(len(E2)):
tmp = 0
cps = 0
for j in xrange(len(dom_weights)):
tmp = (get_norma(scalar_vp(dom_weights[j], N)))**2
tmp = tmp/((get_norma(scalar_vp(basis_RS[j], N)))**2)
cps = cp(scalar_vp(dom_weights[j], N), minus_vp(scalar_vp(lamba_combi, N), scalar_vp(E2[i], N)))
tmp = tmp*cps
print tmp
print check_cp(tmp)
print "------------------------"
return result
#проверяет число целое и c>=0
def check_cp(c):
if int(c) == c and c>=0:
return 1
else:
return 0
результат подаю в функцию check_cp. Она чекает является ли число целым и больше ли оно нуля. ну так вот результат совсем неожиданный!!!
результат:
4.0
0
------------------------
4.0
1
------------------------
4.0
0
------------------------
2.0
0
------------------------
2.0
1
------------------------
2.0
0
------------------------
2.0
0
------------------------
0.0
1
------------------------
0.0
1
------------------------
2.0
0
------------------------
0.0
1
------------------------
-2.0
0
------------------------
0.0
1
------------------------
0.0
1
------------------------
0.0
1