การคำนวณปริพันธ์ Cauchy ใน Sage Math

ฉันค่อนข้างใหม่ต่อการวิเคราะห์ที่ซับซ้อน และฉันกำลังพยายามเขียนอินทิกรัลต่อไปนี้ใน Sage Math:

ลิงก์รูปภาพ Cauchy Integral

ถ้า S(m,n) เป็นอนุกรมกำลังแบบเป็นทางการ = (1-t^2)^m / (1-t)^n แล้วอินทิกรัลของ Cauchy จะเป็น:

I(k) = 1/2ipi * int_o(S(m,n)t^(k+1) dt)

นี่มาจากรายงานที่สามารถพบได้ที่: http://magali.bardet.free.fr/Publis/ltx43BF.pdf เส้นขอบคือวงกลมรอบจุดกำเนิดที่มีรัศมีน้อยกว่า 1

อินทิกรัลของ Cauchy จะสร้างสัมประสิทธิ์อันดับที่ k เป็น $S(n)$ ฉันลองทำสิ่งต่อไปนี้:

def deg_reg_Cauchy(k, n, m):
    R.<t> = PowerSeriesRing(CC, 't')
    constant_term = 1/(2*I*pi)
    s = (1-t**2)**m / (t**(k+1)*(1-t)**n)
    s1 = constant_term * s.integral()
    return s1

ฉันตระหนักดีว่านี่อาจมากผิด ใครมีคำแนะนำเกี่ยวกับวิธีการดำเนินการเรื่องนี้บ้าง โปรดหน่อยเถอะ

ArithmeticError: The integral of is not a Laurent series since t^-1 has a nonzero coefficient.

ขอบคุณ!


person João Duarte    schedule 29.06.2019    source แหล่งที่มา
comment
คุณเคยลองถามใน AskSage หรือ คณิตศาสตร์โอเวอร์โฟลว์?   -  person rpanai    schedule 30.06.2019
comment
ฉันมี แต่ไม่มีการตอบกลับดังนั้นฉันจึงลองเสี่ยงโชคที่นี่   -  person João Duarte    schedule 30.06.2019
comment
มันบอกว่ามีเทอมลอการิทึมในอินทิกรัล คุณอาจต้องปฏิบัติต่อมันแยกกันและลบคำนั้นออกจากชุดข้อมูล Laurent   -  person Davis Herring    schedule 01.07.2019
comment
ตามบริบทแล้ว คำถามนี้อาจใช้ได้กับ [math.stackexchange](math.stackexchange.com) แต่อาจไม่ใช่ MO   -  person kcrisman    schedule 03.07.2019
comment
ลิงก์ไปยังโพสต์ข้าม   -  person kcrisman    schedule 03.07.2019


คำตอบ (1)


คุณอาจต้องกำหนดพารามิเตอร์โดเมนการรวมของคุณ (วงกลม ที่นี่) หรือใช้ทฤษฎีบทประเภทสารตกค้างของ Cauchy ตามที่ที่นี่

ต่อไปนี้คือตัวอย่างเซลล์ Sage ที่น่าสนใจโดย Jason Grout และ Ben Woodruff ที่อาจช่วยให้คุณเริ่มต้นคำนวณบางส่วนได้ น่าเสียดายที่บางครั้งอินทิกรัลเหล่านี้ยุ่งยากมากในการทำให้ถูกต้อง ดูชุดข้อความสนับสนุนผู้รอบรู้นี้ เพื่อดูตัวอย่างที่ง่ายขึ้น แม้ว่าสุดท้ายแล้วฉันก็ไม่คิดว่ามันจะทำงานได้อย่างสมบูรณ์เพราะข้อผิดพลาดของ Maxima

รหัสที่เกี่ยวข้อง:

f(x,y)=9-x^2-y^2
r(t)=(2*cos(t), 3*sin(t))
trange=(t,0,2*pi)

ds=r.diff(t).norm()
dA=f(*r(t))*ds(t)

def line_integral(integrand):
    return RR(numerical_integral(integrand, trange[1], trange[2])[0])

A = line_integral(dA)
integrate(dA, trange)

สองบรรทัดสุดท้ายให้ผลลัพธ์ที่เป็นตัวเลขและแน่นอน (ถ้าเป็นไปได้) ตามลำดับ

person kcrisman    schedule 03.07.2019