Octave int слишком большой - PullRequest
       71

Octave int слишком большой

0 голосов
/ 21 апреля 2020

Я использую символы октавы c и пытаюсь решить некоторые уравнения, но когда я пытаюсь составить матрицу из моих уравнений для функции решения, я получаю эту ошибку

error: Python exception: OverflowError: Python int too large to convert to C long
    occurred at line 29 of the Python code block:
    d = sp.solve(eqs, *symbols, dict=True)
error: called from
    python_cmd at line 179 column 7
    solve at line 174 column 9
    tuneL at line 21 column 3

и вот код, вызывающий проблему

syms b c d v;
syms E u L z real;


u=1.60217662 * 10^-18;
L=5/10^9;


z = 12799215218530416738

k=z*(E*u)^(1/2);
q=z*(E*u-u)^(1/2);

r1 = 1 + b - c - d == 0;
r2 = k - k*b - q*c + q*d == 0;
r3 = c*exp(i*q*L) + d*exp(-i*q*L) - v*exp(i*k*L) == 0;
r4 = q*c*exp(i*q*L)-q*d*exp(-i*q*L)-k*v*exp(i*k*L) == 0;

equ = [r1, r2, r3, r4];
zmi = [b, c, d, v];
s = solve(equ,zmi);

T = abs(s.v)^2;

есть ли способ обойти или мне просто нужно его отбросить? (Я не могу реально ценить другие, потому что они являются физическими константами)

...