วิทยาศาสตร์การคำนวณ

ถามตอบสำหรับนักวิทยาศาสตร์ที่ใช้คอมพิวเตอร์เพื่อแก้ปัญหาทางวิทยาศาสตร์

2
การรายงานผลลัพธ์แบบโค้งในกระดาษวิทยาศาสตร์
(ฉันหวังว่าคำถามนี้เหมาะกับเว็บไซต์นี้ถ้าไม่ยอมรับคำขอโทษของฉัน) ฉันรันการจำลองบางอย่างและมีอนุกรมเวลา y (t), t = 0, 1, ... 20. หลังจากลองฟังก์ชั่นบางอย่างฉันพบว่า: y(t) =~ 1 / (A t + B) เมื่อ A และ B เป็นสัมประสิทธิ์ฉันคำนวณโดยใช้การถดถอยเชิงเส้นด้วย R ^ 2> 0.99 วิธีมาตรฐานในการรายงานผลลัพธ์ดังกล่าวในรายงานทางวิทยาศาสตร์คืออะไร? โดยเฉพาะ: A. ฉันไม่มีคำอธิบายเชิงเหตุผลว่าทำไมผลลัพธ์ที่ออกมาเป็นแบบนี้ (ฉันรู้ว่ามันควรจะลดลงและมันถูก จำกัด จากด้านล่าง แต่ไม่มากไปกว่านั้น) มันเป็นเพียงการคาดเดาที่ประสบความสำเร็จ ฉันควรอธิบายการเดาที่ไม่ประสบความสำเร็จอื่น ๆ ทั้งหมดที่ฉันพยายามหรือไม่ B. เมื่อใดก็ตามที่ฉันรันสถานการณ์จำลองฉันจะได้รับค่าแตกต่างกันเล็กน้อยจาก A และ B ฉันควรรายงานการวิ่งแบบสุ่มหรือฉันควรจะทำการจำลองหลายครั้งและเฉลี่ยผลลัพธ์? ถ้าเป็นเช่นนั้นกี่ครั้งก็เพียงพอแล้ว

2
FEM: ภาวะเอกฐานของเมทริกซ์ความแข็ง
ฉันกำลังแก้สมการอนุพันธ์ กับเงื่อนไขเริ่มต้นยู (0) u = (1) = 0 , U '' (0) u = '' (1) = 0 ที่นี่\ sigma (x) \ geqslant \ sigma_ {0}> 0เป็นพารามิเตอร์ ในรูปแบบโอเปอเรเตอร์เราสามารถเขียนสมการเชิงอนุพันธ์เป็นAu = fโดยที่โอเปอเรเตอร์Aนั้นเป็นค่าบวกแน่นอน(σ2(x)u′′(x))′′=f(x),0⩽x⩽1(σ2(x)u″(x))″=f(x),0⩽x⩽1 \left( \sigma^{2}(x) u ''(x) \right)'' = f(x), \;\;\; 0 \leqslant x \leqslant 1 U " ( 0 ) = U …

3
อัลกอริทึมแบบขนานสำหรับระบบ eigensystem ของเมทริกซ์สามเหลี่ยม
ฉันกำลังทำเส้นทแยงมุม Lanczos ของเมทริกซ์กระจัดกระจายขนาดใหญ่ (ประมาณ 2 ล้านองค์ประกอบ) เกือบทุกขั้นตอนในอัลกอริธึม Lanzcos ทำขนานกับ GPU ยกเว้น diagonalizing Lanczos matrix เพื่อตรวจสอบลู่เข้า เพื่อที่ฉันได้ใช้อัลกอริทึม TQLI จากสูตรตัวเลข มีวิธีในการค้นหาระบบ eigensystem ของเมทริกซ์ tridiagonal ที่ขนานหรือขนานได้ง่ายหรือไม่? TQLI รุ่นขนานมีอยู่จริงหรือไม่?

3
วิธีการใช้ฟังก์ชั่นการจัดทำดัชนีที่มีประสิทธิภาพสำหรับการรวมสองอนุภาค <ij | kl>
นี่เป็นปัญหาการแจงนับสมมาตรอย่างง่าย ฉันให้พื้นฐานเต็มรูปแบบที่นี่ แต่ไม่จำเป็นต้องมีความรู้เกี่ยวกับเคมีควอนตัม อินทิกรัลสองอนุภาค⟨ i j | k l ⟩⟨ผมJ|kล.⟩\langle ij|kl\rangleคือ: ⟨ i j | k l ⟩ = ∫ψ* * * *ผม( x ) ψ* * * *J( x') ψk( x ) ψล.( x')| x - x'|d3xd3x'⟨ผมJ|kล.⟩=∫ψผม* * * *(x)ψJ* * * *(x')ψk(x)ψล.(x')|x-x'|d3xd3x' \langle ij|kl\rangle = \int {\psi_i^*({\bf x})\psi_j^*({\bf …

2
ต้นทุนการคำนวณของการดำเนินงาน mpi_allgather เปรียบเทียบกับการดำเนินการรวบรวม / กระจายอย่างไร
ฉันกำลังทำงานกับปัญหาที่สามารถทำให้ขนานได้โดยใช้การดำเนินงาน mpi_allgather เดียวหรือหนึ่ง mpi_scatter และหนึ่งการดำเนินงาน mpi_gather การดำเนินการเหล่านี้จะถูกเรียกภายในวงขณะที่ดังนั้นพวกเขาอาจจะเรียกหลายครั้ง ในการนำไปใช้กับรูปแบบ MPI_allgather ฉันกำลังรวบรวมเวกเตอร์แบบกระจายสู่กระบวนการทั้งหมดสำหรับการแก้เมทริกซ์ที่ซ้ำกัน ในการใช้งานอื่น ๆ ฉันรวบรวมเวกเตอร์ที่กระจายไปยังโปรเซสเซอร์เดียว (โหนดรูท) แก้ไขระบบเชิงเส้นบนโปรเซสเซอร์นี้จากนั้นกระจายเวกเตอร์โซลูชันกลับสู่กระบวนการทั้งหมด ฉันอยากรู้ว่าค่าใช้จ่ายในการดำเนินการของตัวรวบรวมทั้งหมดมากกว่าการกระจายและรวมการปฏิบัติการเข้าด้วยกันอย่างมีนัยสำคัญหรือไม่ ความยาวของข้อความมีบทบาทสำคัญในความซับซ้อนหรือไม่ มันแตกต่างกันระหว่างการใช้งานของ MPI หรือไม่ แก้ไข:

1
เรียงลำดับเมฆตามจุดที่เกี่ยวกับตาข่ายที่ไม่มีโครงสร้างของเซลล์ hexahedral
คำถาม คุณจะจัดเรียงคะแนนเมฆอย่างไรเทียบกับตาข่ายที่ไม่มีโครงสร้างของเซลล์รูปหกเหลี่ยม? แต่ละเซลล์มีศูนย์กลางและป้ายกำกับที่ไม่ซ้ำกันเพื่อเป็นตัวแทน มีจุดเมฆสองจุดโดยทั่วไป (จุดเมฆดั้งเดิมและจุดเมฆของศูนย์เซลล์) แต่ข้อมูลเรขาคณิตของเซลล์ (กล่องขอบเขต) อาจใช้งานได้ฉันไม่แน่ใจ ผล ฉันได้ถามไปแล้วและค้นหาจากวรรณกรรม: ถ้าตาข่ายเป็นรูปหกเหลี่ยมและไม่มีโครงสร้างปัญหาจะลดลงเป็นการค้นหาช่วงมุมฉาก เพื่อจุดประสงค์นี้ต้นไม้ kd มักจะใช้ หากมีการปรับปรุงตาข่ายตามโครงสร้างข้อมูลแปดตัวอัลกอริทึมการค้นหาช่วงสามารถสร้างขึ้นรอบ ๆ มัน เป้าหมายคือเพื่อหลีกเลี่ยงการจัดการกับเรขาคณิตตาข่ายโดยตรงและมุ่งเน้นไปที่จุดเมฆความสัมพันธ์เมฆ A - จุด B. เมฆจุด A: จุดสอบถามเมฆจุด B: ศูนย์เซลล์ตาข่าย

4
การค้นหาสแควร์รูทของเมทริกซ์ Laplacian
สมมติว่าเมทริกซ์ต่อไปจะได้รับ [ 0.500 - 0.333 - ภายในเวลา 0.167 - 0.500 0.667 - ภายในเวลา 0.167 - 0.500 - 0.333 0.833 ] กับ transpose ของT ผลิตภัณฑ์A T A = Gให้ผลตอบแทน [ 0.750 - 0.334 - 0.417 - 0.334 0.667 - 0.333 - 0.417 - 0.333 0.750 ] ,AAA⎡⎣⎢0.500−0.500−0.500−0.3330.667−0.333−0.167−0.1670.833⎤⎦⎥[0.500−0.333−0.167−0.5000.667−0.167−0.500−0.3330.833] \left[\begin{array}{ccc} 0.500 & -0.333 …

1
การคำนวณข้อผิดพลาดมาตรฐานสำหรับปัญหาการถดถอยเชิงเส้นโดยไม่คำนวณค่าผกผัน
มีวิธีที่เร็วกว่าในการคำนวณข้อผิดพลาดมาตรฐานสำหรับปัญหาการถดถอยเชิงเส้นมากกว่าการสลับกลับหรือไม่? ที่นี่ฉันคิดว่าเรามีการถดถอย:X′XX′XX'X y=Xβ+ ε ,y=Xβ+ε,y=X\beta+\varepsilon, โดยที่คือn × k matrix และyคือn × 1เวกเตอร์XXXn × kn×kn\times kYYyn × 1n×1n\times 1 สำหรับการหาวิธีแก้ปัญหากำลังสองน้อยที่สุดนั้นไม่สามารถทำได้ด้วยคุณสามารถใช้การย่อยสลาย QR หรือ SVD บนเมทริกซ์Xโดยตรง หรืออีกวิธีหนึ่งคุณสามารถใช้วิธีการไล่ระดับสี แต่ข้อผิดพลาดมาตรฐานคืออะไร เราต้องการเพียงแค่เส้นทแยงมุมของ( X ′ X ) - 1 (และวิธีการแก้ปัญหา LS ตามธรรมชาติเพื่อคำนวณการประมาณการข้อผิดพลาดมาตรฐานของ ) มีวิธีการเฉพาะสำหรับการคำนวณข้อผิดพลาดมาตรฐานหรือไม่?X'XX'XX'XXXX(X′X)−1(X′X)−1(X'X)^{-1}εε\varepsilon

1
วิธีการสร้างว่าวิธีการวนซ้ำสำหรับระบบเชิงเส้นขนาดใหญ่เป็นคอนเวอร์เจนซ์ในทางปฏิบัติ?
ในวิทยาศาสตร์การคำนวณเรามักจะพบกับระบบเชิงเส้นขนาดใหญ่ซึ่งเราจำเป็นต้องแก้ปัญหาด้วยวิธีการที่มีประสิทธิภาพบางอย่างเช่นโดยวิธีโดยตรงหรือวนซ้ำ หากเรามุ่งเน้นไปที่หลังเราจะกำหนดได้อย่างไรว่าวิธีการวนซ้ำสำหรับการแก้ระบบเชิงเส้นขนาดใหญ่นั้นได้มาบรรจบกันในทางปฏิบัติ เป็นที่ชัดเจนว่าเราสามารถทำการทดลองและวิเคราะห์ข้อผิดพลาด (เปรียบเทียบทำไมตัวแก้ปัญหาเชิงเส้นแบบวนซ้ำของฉันจึงไม่มาบรรจบกัน ) และพึ่งพาวิธีการวนซ้ำซึ่งรับประกันการบรรจบกันโดยการพิสูจน์หรือมีฐานประสบการณ์เสียง (เช่น สำหรับระบบสมมาตรและไม่สมมาตรตามลำดับ) แต่สิ่งที่สามารถทำได้เพื่อสร้างการบรรจบกันในทางปฏิบัติ? และทำอะไร

3
ฉันควรอ่านตำราพีชคณิตเชิงเส้นก่อนเรียนพีชคณิตเชิงเส้นเชิงตัวเลขหรือไม่
สมมติว่าเราต้องการศึกษาพีชคณิตเชิงเส้นเชิงตัวเลขในเชิงลึก (และติดตามวารสารเกี่ยวกับพีชคณิตเชิงเส้นเชิงตัวเลขและทฤษฎีเมทริกซ์) ซึ่งจะเป็นหลักสูตรที่ดีกว่า / หนังสือดีกว่าที่จะใช้ในตอนแรก: ด้วย Hoffman และ Kunze พร้อมบทพิสูจน์และความเข้มงวด (ฉันไม่มีปัญหากับคณิตศาสตร์ที่เข้มงวด) หรือ ด้วยหนังสือของ Prof. Strang ที่มีการพิสูจน์ที่ไม่เข้มงวดหรือวิธีการ "ระบุโดยไม่มีข้อพิสูจน์" แต่หนักในการใช้งานและปัญหา "โลกแห่งความจริง" หรือ อื่น ๆ ที่คุณอยากจะแนะนำ? (แล้วหนังสือของ Gene Golub ล่ะ) ฉันรู้บางส่วนและบางส่วนของหนังสือของ Strang (เสริมด้วยการบรรยายออนไลน์ของเขา) และบางส่วนของพีชคณิตเชิงเส้นเชิงตัวเลขจาก Trefethen และ Bau แต่ฉันต้องการมีความเข้าใจอย่างละเอียดมากขึ้นในเรื่องนี้ ฉันจะศึกษาหนังสือด้วยตัวเองเป็นส่วนใหญ่

1
ห้องสมุดสำหรับการแปลงฟูริเยร์บนโครงตาข่ายรูปสามเหลี่ยม
ฉันกำลังมองหาการใช้งาน Fourier transform (DFT) แบบไม่ต่อเนื่องอย่างรวดเร็วพอสมควรบนโครงตาข่ายรูปสามเหลี่ยมสองมิติหรือหกเหลี่ยม ฉันขอขอบคุณตัวชี้ไปยังการใช้งาน (โดยเฉพาะอย่างยิ่งคนที่ใช้งานได้ง่ายจาก Python หรือ Mathematica) และคำอธิบายถึงวิธีการลดปัญหานี้เป็น 1D DFT ซึ่งสร้างขึ้นในหลาย ๆ ระบบ

1
ฉันจะคำนวณพื้นฐานสำหรับพีชคณิตเมทริกซ์ที่ให้ชุดกำเนิดแบบ จำกัด ได้อย่างไร
ได้รับการตั้งค่าโดยพลการของ (ตัวเลข) การฝึกอบรมที่ซับซ้อนตาราง= { 1 , 2 , ⋯ , เมตร } , ฉันสนใจในการคำนวณพีชคณิตจริงเมทริกซ์ที่สร้างขึ้นโดยเรียกว่าL นั่นคือฉันต้องการพื้นฐานสำหรับ L = s พีn R { B : B ∈ ∪ ∞ k = 1 C k } ที่C kถูกกำหนดให้เป็นซ้ำA={A1,A2,⋯,Am}A={A1,A2,⋯,Am}\mathcal{A}=\{A_1,A_2,\cdots,A_m\}AA\mathcal{A}LALA\mathcal{L_\mathcal{A}}LA=spanR{B:B∈∪∞k=1Ck}LA=spanR{B:B∈∪k=1∞Ck} \mathcal{L_\mathcal{A}} = \mathbb{span_R}\{B:B\in\cup_{k=1}^{\infty}\mathcal{C}_k\} CkCk\mathcal{C}_k C k + 1 ={[X,Y]:X,Y∈ ∪ k J = 1 C …

4
Runge-Kutta และการนำ Datapoints กลับมาใช้ใหม่
ฉันกำลังพยายามใช้วิธี Runge-Kutta ลำดับที่สี่สำหรับการแก้ลำดับ ODE อันดับแรกใน Python เช่น) ฉันเข้าใจวิธีการทำงาน แต่พยายามเขียนอัลกอริธึมที่มีประสิทธิภาพซึ่งจะลดจำนวนครั้งที่f(x,y)ถูกคำนวณเนื่องจากค่าใช้จ่ายค่อนข้างสูง ฉันได้รับแจ้งว่ามีความเป็นไปได้ที่จะนำจุดข้อมูลมาใช้ใหม่ซึ่งคำนวณมาก่อนหน้านี้เมื่อคุณเพิ่มขั้นตอน แต่ไม่สามารถดูได้ ไม่มีใครรู้วิธีการทำเช่นนี้หรือเป็นไปไม่ได้?dydx=f(x,y)dydx=f(x,y)\frac{dy}{dx} = f(x,y)f(x,y)f(x,y)f(x,y)

1
วิธีการหนึ่งที่สามารถทำให้ขนานหลายวิธีสำหรับการแก้ระบบสมการเชิงเส้น?
ตามที่ฉันเข้าใจวิธี multigrid แก้ปัญหาระบบเชิงเส้นโดยการแก้ไขปัญหาแบบเดียวกันของ coarser (โดยการกำจัดข้อผิดพลาดความถี่ต่ำ) จากนั้นฉายกลับไปที่กริดที่ดีเพื่อลดข้อผิดพลาดความถี่สูง สำหรับระบบที่มีขนาดใหญ่ฉันสามารถดูว่าวิธีการวนซ้ำสามารถนำมาใช้ในการขนานในแต่ละระดับ วิธีนี้มีขนาดที่ดีในแบบคู่ขนานหรือไม่? มีแหล่งที่มาของการเกิดขึ้นพร้อมกันในอัลกอริทึมที่หนึ่งสามารถใช้ประโยชน์ในแบบคู่ขนาน?

4
เลขชี้กำลังเมทริกซ์ของเมทริกซ์แบบเอียง - เฮอร์มีเชียนที่มี Fortran 95 และ LAPACK
ฉันเพิ่งเข้าสู่ Fortran 95 สำหรับการจำลองกลศาสตร์ควอนตัม สุจริตฉันถูกนิสัยเสียโดย Octave ดังนั้นฉันจึงได้รับการยกกำลังเมทริกซ์สำหรับการรับ ที่กำหนด (ขนาดเล็ก ) ลาดเมทริกซ์ -Hermitian ขนาดn × nสิ่งที่เป็นวิธีที่มีประสิทธิภาพมากที่สุดของการใช้ LAPACK ที่จะแก้ปัญหานี้หรือไม่ ฉันไม่ได้ใช้เครื่องห่อหุ้ม LAPACK95 เพียงโทรไปที่ LAPACK โดยตรงn ≤ 36n≤36n\leq 36n × nn×nn\times n
11 fortran  lapack 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.