Как я могу неоднократно обновлять переменную в суммировании симпи?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу неоднократно обновлять переменную в суммировании симпи?

Сообщение Anonymous »

У меня есть симпатичное суммирование в Python, и в настоящее время я использую переменную, которая постоянно обновляется каждый раз, когда я это говорю. Это называется результатом.
При суммировании я хочу иметь возможность выполнять это действие, при котором переменная обновляется при каждом запуске, но на каждом этапе суммирования. Я покажу вам, о чем говорю.
Я использую следующий код:

Код: Выделить всё

from sympy import symbols, summation, Piecewise, invert

x = symbols("n")

def add(P1_c, P2_c, p, k):
if P1_c == 0:
return P2_c  # P1 is the point at infinity
if P2_c == 0:
return P1_c  # P2 is the point at infinity
x1 = P1_c % k
y1 = P1_c // k
x2 = P2_c % k
y2 = P2_c // k
if x1 == x2 and y1 != y2:
return 0
if x1 == x2 and y1 == y2:
m = (3 * x1**2 * invert(2 * y1, p)) % p
else:
m = ((y2 - y1) * invert(x2 - x1, p)) % p
x3 = (m**2 - x1 - x2) % p
y3 = (m * (x1 - x3) - y1) % p
# Return combined number
return x3 + k * y3

def multiply(P_c, scalar, p, k, n):
result = 0  # Point at infinity (neutral element)
current = P_c
result = add(result, current, p, k)
result = add(result, current, p, k)
result = add(result, current, p, k)
# result = point_add(result,current,p,k)
# uncomment to see different results
m = Piecewise((result, True))
return result

k = 2**256
p = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F
Gx, Gy = (
0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798,
0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8)

G_c = Gx + k * Gy
logic = multiply(G_c, x, p, k, x)

result2 = summation(logic, (x, 1, 1))
print(result2)
Как видите, в моем коде в функции Multiply переменная результата должна быть указана несколько раз, чтобы ее можно было обновить. Я хочу иметь возможность автоматически обновлять его на каждом этапе суммирования.
Я хочу, чтобы вы помогли мне использовать кусочную функцию Multiply, которая выполняет это поведение за меня. p>
Я хочу, чтобы переменная результата неоднократно обновлялась по одному для каждого шага моего суммирования, вместо того, чтобы указывать это явно, как я это делал в функции умножения.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -summation
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»