If you use Integral() instead of integrate() it will keep the integral unevaluated. Otherwise, it will try to compute it, and if it cannot compute a closed-form expression, it will return an Integral object.
Aaron Meurer On Tue, May 2, 2017 at 6:16 PM, Carlos Bouthelier Madre < [email protected]> wrote: > Thanks for your message, Aaron! > I restarted my computer and it worked, not having changed a thing, so.... > problem solved! > > I have another problem though, I have a function f(x) which I know has no > primitive, but I want to define its integral from 0 to 2*pi, would python > know what integrate(f(x),(x,0,2*pi)) means? Or, conversely, would it keep > trying to get a primitive expression "indefinitely"? (I think this is what > is happening) If so, does anybody know if there is another way to do this? > > In fact , what I have is f(x1,x2,...xi,xi+1,....xn,Beta) and I want to > define the integral of that function in the xi variables from i=1 to n > iteratively (n is a value, like 10) from i=1 to N, obtaining an expression > exclusively on Beta (I say this just in case it makes harder the use of an > hypothetic method that could solve my problem ) > > Thanks in advance!! > > El domingo, 30 de abril de 2017, 3:16:11 (UTC+2), Aaron Meurer escribió: >> >> Matrices can have expressions as elements. What does the code do when you >> run it? It doesn't run for me because kron is not defined. >> >> Aaron Meurer >> >> On Sat, Apr 29, 2017 at 7:52 AM, Carlos Bouthelier Madre < >> [email protected]> wrote: >> >>> Hi, I have just started using sympy and I don't really know how to make >>> this work. I've got functions that should return a matrix (I don't know if >>> that is possible) whose elements are expressions of symbolic variables. >>> This is my code, I've made a logical analysis of it (in pseudo-code) and >>> it should do what I want to, the issue is that I am neither used to sympy >>> variables nor to python syntaxis, so I would really appreciate your help. >>> >>> from sympy import * >>> from sympy import cos >>> from sympy.tensor.array import Array >>> from sympy import I, Matrix, symbols >>> from sympy import init_printing >>> from sympy import init_session >>> >>> >>> from IPython.display import display, Math, Latex >>> >>> >>> var('Tita1 Tita2 Tita3 Tita4 Tita5 Tita6 Beta eps', real=True) >>> def delta(n): >>> f='Tita'+str(n) >>> return sqrt(cos(f)*cos(f)*eps*eps+1) >>> >>> def EF(i): >>> return Matrix([[0,0],[0,2*delta(i)]]) >>> >>> ID=Matrix([[1,0],[0,1]]) >>> >>> def ExtDim(X,n): >>> if n==1: >>> return X >>> else: >>> return kron(ExtDim(X,n-1),ID) >>> >>> def n_energy(n): >>> if n==1: >>> return EF(n) >>> else: >>> return kron(ID,n_energy(n-1))+ExtDim(EF(n),n) #This should be a >>> matrix >>> >>> >>> Thanks in advance! >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "sympy" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/sympy. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/sympy/ea805a03-ad40-44e9-8b44-f9957536e192%40googlegroups.com >>> <https://groups.google.com/d/msgid/sympy/ea805a03-ad40-44e9-8b44-f9957536e192%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/sympy. > To view this discussion on the web visit https://groups.google.com/d/ > msgid/sympy/59614cf0-8cc3-43c5-946a-af3058c7f770%40googlegroups.com > <https://groups.google.com/d/msgid/sympy/59614cf0-8cc3-43c5-946a-af3058c7f770%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6KxYvXbg1sPAhWW6JdB_dp36A2Ww%3DEO4_PAL3Wy0sWRFA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
