симплиальный интеграл суммирования - PullRequest
0 голосов
/ 09 апреля 2020

Я новичок в sympy, и я экспериментировал с некоторым кодом. Я пытался реализовать следующее

from sympy import *
F = Function('F')
domega = symbols('\Delta\omega', real = True , positive=True,nonzero=True)
omega = symbols('omega', real = True , positive=True,nonzero=True)
T = symbols('T', real = True , positive=True,nonzero=True)
N = symbols('N', integer = True, positive=True ,nonzero=True)
k = symbols('k', integer = True ,positive=True )
t = symbols('t', real = True, positive=True)

T = 2 * pi / N / domega

SF =  Sum(F(domega*k) * cos(t*domega*k),(k,0,N) )
integrate(SF,(t,0,T))

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

Sum( integrate(F(domega*k) * cos(t*domega*k) ,(t,0,T)),(k,0,N) )

Я чувствую, что проблема может быть связана со способом определения k, но я не могу понять, как это сделать правильно .

1 Ответ

2 голосов
/ 09 апреля 2020

Это исправлено в sympy master с момента последнего выпуска (1.5).

С 1.5:

   ...: integrate(SF,(t,0,T))                                                                                                     
Out[1]: 
     2⋅π                                                       
──────────────                                                 
N⋅\Delta\omega                                                 
      ⌠                                                        
      ⎮          N                                             
      ⎮         ___                                            
      ⎮         ╲                                              
      ⎮          ╲                                             
      ⎮          ╱   F(\Delta\omega⋅k)⋅cos(\Delta\omega⋅k⋅t) dt
      ⎮         ╱                                              
      ⎮         ‾‾‾                                            
      ⎮        k = 0                                           
      ⌡                                                        
      0 

С мастером:

   ...: integrate(SF,(t,0,T))                                                                                                     
Out[1]: 
  N                               
_____                             
╲                                 
 ╲                                
  ╲                        ⎛2⋅π⋅k⎞
   ╲  F(\Delta\omega⋅k)⋅sin⎜─────⎟
   ╱                       ⎝  N  ⎠
  ╱   ────────────────────────────
 ╱           \Delta\omega⋅k       
╱                                 
‾‾‾‾‾                             
k = 0  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...