คำถามติดแท็ก python

ภาษาโปรแกรมระดับสูงสำหรับวัตถุประสงค์ทั่วไปที่เน้นความง่ายในการใช้งานรหัสและความสามารถในการอ่าน

4
การสร้างโปรแกรมแก้ไข / สร้างภาพระดับโมเลกุล: การเขียนโปรแกรมเชิงวัตถุโครงสร้างข้อมูลและโมเลกุล
ฉันยังใหม่กับการเขียนโปรแกรมและฉันพยายามที่จะแก้ปัญหาใหญ่ครั้งแรกของฉันและเขียนโปรแกรมใหญ่ครั้งแรกของฉัน ฉันได้ค้นหาตัวอย่างโค้ดโอเพนซอร์ซที่จะเรียนรู้ แต่จนถึงขณะนี้มีเพียงพบรหัสในภาษาที่ฉันไม่เข้าใจอย่างสมบูรณ์หรือสิ่งที่เกี่ยวข้อง แต่ยังห่างไกลเกินไปที่ฉันจะเรียนรู้จากจริง ๆ ฉันมีปัญหาในการทำตามขั้นตอนบางอย่างที่นี่ ฉันต้องการสร้างซอฟต์แวร์ง่ายๆเพื่อสร้างดัดแปลงและต่อมาเป็นตัวแทนของโมเลกุลอินทรีย์ขนาดเล็ก นี่คือการออกกำลังกายการเรียนรู้เป็นหลัก ผู้ใช้จะให้สตริง SMILES หรือเลือกจากชุดโมเลกุลเริ่มต้นพื้นฐานและจากนั้นสามารถสร้างบนโมเลกุลนั้นทั้งแบบกราฟิกหรือผ่านไวยากรณ์อินพุตข้อความ อย่างไรก็ตามฉันยังไม่ถึงจุดที่ซับซ้อน ฉันไม่เข้าใจอย่างถ่องแท้ถึงวิธีการสร้างคลาส / วัตถุเพื่อจัดเก็บโมเลกุล ดังนั้นคำถามของฉันอย่างชัดเจน: ฉันจะใช้คลาส / วัตถุเพื่อสร้างโมเลกุลในขณะที่เก็บข้อมูลในทุกระดับได้อย่างไรและฉันควรใช้โครงสร้างข้อมูลใดเป็นคุณลักษณะของวัตถุใด และวัตถุสามารถเป็นคุณลักษณะของวัตถุอื่นได้หรือไม่? นี่คือความคิดของฉันจนถึงตอนนี้ฉันกำลังคิดว่าจะมีคลาส "โมเลกุล" จากนั้นก็เป็นคลาส / คลาสย่อย "อะตอม" และคลาสย่อย "บอนด์" และอาจเป็นคลาสย่อย "FunctionalGroup" ด้วย ดูเหมือนจะเป็นจุดเริ่มต้นที่ดี แต่บางทีฉันอาจเข้าใจผิดว่า OOP และนี่เป็นสิ่งที่ไม่ดี แต่แล้วปัญหาของฉันก็ทำให้สับสน (สำหรับฉัน) แม้ว่าฉันจะมีแนวคิด / ความคิด / ชั้นเรียนเหล่านี้ทั้งหมด แต่ฉันไม่เข้าใจอย่างเต็มที่ว่าโครงสร้างข้อมูลใดที่จำเป็นสำหรับการแทนโมเลกุล รายการของอะตอมน่าจะดี รายการนั้นอาจเป็นรายการวัตถุ Atom หรือไม่ ฉันจะต้องมีวิธีในการจัดเก็บการเชื่อมต่อ เมทริกซ์ 2D …

4
การแก้ ODE คู่กับข้อ จำกัด ค่าเริ่มต้นและค่าสุดท้าย
สาระสำคัญของคำถามของฉันมีดังต่อไปนี้: ฉันมีระบบ ODE สองระบบ หนึ่งมีข้อ จำกัด ค่าเริ่มต้นและอื่น ๆ มีข้อ จำกัด ค่าสุดท้าย สิ่งนี้สามารถคิดได้ว่าเป็นระบบเดียวที่มีข้อ จำกัด ค่าเริ่มต้นในตัวแปรบางตัวและข้อ จำกัด ค่าสุดท้ายของตัวแปรอื่น ๆ นี่คือรายละเอียด: ฉันกำลังพยายามใช้คอนโทรลเลอร์ LQR ของขอบเขตเวลาต่อเนื่องเพื่อขับเคลื่อนระบบไดนามิคเชิงเส้น ฉันต้องการใช้ระบบนิเวศของงูหลามต่อไป ระบบอยู่ในรูปแบบ , ขึ้นอยู่กับx(0)=x0x˙(t)=Ax(t)+Bu(t)x˙(t)=Ax(t)+Bu(t)\dot{x}(t) = Ax(t) + Bu(t)x(0)=x0x(0)=x0x(0)=x_0 วิธีการแก้ปัญหา LQR สร้างเมทริกซ์เช่นที่อินพุตควบคุมที่เหมาะสม U (t) เส้นตรงเป็น(t)x ( t ) u ( t ) = K ( t ) x ( t …

2
โครงสร้างข้อมูลสำหรับรหัสปริมาณ จำกัด : Array กับ Classes
ฉันต้องเขียนรหัสปริมาณ จำกัด สำหรับ Magnetohydrodynamics (MHD) ฉันเขียนโค้ดตัวเลขมาก่อน แต่ไม่ถึงระดับนี้ ฉันแค่อยากจะถามว่าจะเป็นทางเลือกที่ดีใช้โครงสร้างข้อมูล (object orientated approach) กับคลาสหรือใช้หลายอาร์เรย์สำหรับคุณสมบัติที่แตกต่างกันในแง่ของความเร็วความสามารถในการปรับขยายได้ ฯลฯ ฉันวางแผนที่จะเขียนโค้ดในไพ ธ อน ใช้ fortran สำหรับส่วนที่ต้องใช้ตัวเลข ตัวอย่างของคลาสในไพ ธ อนจะเป็น class Cell: def __init__(self, x, y, z, U): อาร์เรย์สามารถนิยามได้ง่ายๆว่า x[nx][ny][nz] y[nx][ny][nz] z[nx][ny][nz] U[nx][ny][nz] เป็นต้น

3
ประกบข้อมูลพื้นผิว 3 มิติในหลาม
ฉันมีชุดข้อมูลของจุดสามมิติที่ฉันต้องการสร้างตาข่ายโดยใช้ไพ ธ อน ซอฟต์แวร์ทั้งหมดที่ฉันเห็นต้องการให้คุณจัดเตรียมขอบ มีโปรแกรมในไพ ธ อนซึ่งใช้เป็นอินพุทเซตของจุดใน 3D และเอาท์พุทเมชหรือไม่? ถ้าเป็นไปได้ฉันต้องการให้ตาข่ายเป็นชุด

3
สมการปัวซอง: กำหนดการไล่ระดับสีแบบเต็มเป็นเงื่อนไขขอบเขตผ่านตัวคูณแบบลากรองจ์
ฉันมีปัญหาทางกายภาพที่ควบคุมโดยสมการปัวซองในสองมิติ ฉันมีการวัดองค์ประกอบการไล่ระดับสีทั้งสองและตามส่วนของขอบเขตดังนั้นต้องการกำหนด และแพร่กระจายไปยังทุ่งไกล∂ u / ∂ x ∂ u / ∂ y Γ m ∂ u−∇2u=f(x,y),inΩ−∇2u=f(x,y),inΩ -\nabla^2 u = f(x,y), \; in \; \Omega ∂u/∂x∂u/∂x\partial{u}/\partial{x}∂u/∂y∂u/∂y\partial{u}/\partial{y}ΓmΓm\Gamma_m∂u∂xi0=gm,onΓm∂u∂xi0=gm,onΓm \frac{\partial{u}}{\partial{x_i}}_0 = g_m, \; on \; \Gamma_m องค์ประกอบการไล่ระดับสีแทนเจนต์ , ฉันสามารถรวมเข้าด้วยกันแล้วบังคับใช้ผ่านเงื่อนไข Dirichlet เพื่อกำหนดองค์ประกอบปกติพร้อมกัน , ฉันรวบรวมฉันจะต้องผ่านตัวคูณลากรองจ์∫แกมมาเมตร∂ยู∂u∂x(t,0)∂u∂x(t,0)\frac{\partial{u}}{\partial{x}}_{(t,0)}∂ u∫Γm∂u∂x(t,0)ds=u0∫Γm∂u∂x(t,0)ds=u0 \int_{\Gamma_m}\frac{\partial{u}}{\partial{x}}_{(t,0)} \, ds = u_0 ∂u∂x(n,0)∂u∂x(n,0)\frac{\partial{u}}{\partial{x}}_{(n,0)} ดังนั้นฉันคิดว่ารูปแบบความแปรปรวนคือ ฉันใช้เวลานานในการพยายามรวมเข้าด้วยกันจากข้อมูลเกี่ยวกับปัญหาที่เกี่ยวข้องเช่น https: //answers.launchpad.net/fenics/+question/212434 …

2
CVXOPT VS OpenOpt
CVXOPT: http://abel.ee.ucla.edu/cvxopt/index.html OpenOpt: http://openopt.org/Welcome ความสัมพันธ์ระหว่างพวกเขาคืออะไร? อะไรคือข้อดี / ข้อเสียของพวกเขาตามลำดับ? BTW มีห้องสมุดทั่วไปที่มีคุณภาพสูงอื่น ๆ ที่มีจุดประสงค์ในการปรับให้เหมาะสมสำหรับ Python / C ++ หรือไม่?

2
คำแนะนำเกี่ยวกับ Python สำหรับการเขียนโปรแกรมแบบขนานหน่วยความจำ
ฉันมีประสบการณ์ในการเขียนรหัส OpenMP สำหรับเครื่องหน่วยความจำที่ใช้ร่วมกัน (ทั้งใน C และ FORTRAN) เพื่อทำงานง่ายๆเช่นการเพิ่มเมทริกซ์การคูณและอื่น ๆ (เพื่อดูว่ามันแข่งขันกับ LAPACK อย่างไร) ฉันรู้จัก OpenMP มากพอที่จะทำงานง่ายๆโดยไม่จำเป็นต้องดูเอกสาร เมื่อเร็ว ๆ นี้ฉันเปลี่ยนเป็น Python สำหรับโครงการของฉันและฉันไม่มีประสบการณ์ใด ๆ กับ Python เกินพื้นฐานแน่นอน ฉันมีคำถาม 2 ข้อ: มีคำแนะนำที่ดี (PDF ออนไลน์) สำหรับการอธิบายการคำนวณหน่วยความจำแบบขนานที่ใช้ร่วมกันสำหรับ Python หรือไม่? วิธีที่ดีที่สุดในการบรรลุเป้าหมายคืออะไร? ฉันเคยเห็นมาบ้างctypesแล้วและฉันก็ไม่แน่ใจว่าเป็นวิธีที่ดีที่สุดหรือไม่ (โดยที่ดีที่สุดฉันหมายถึงหนึ่งซึ่งมีการแลกเปลี่ยนที่ดีระหว่างเวลาโปรแกรมเมอร์และเวลาระบบมันไม่ควรน่าเบื่อเกินไปที่จะเขียนโค้ดและไม่ควรทำการประมวลผลที่ช้า)

1
อัลกอริทึมสำหรับการตรวจหาชุมชนสำหรับกราฟสองฝ่าย?
มีอัลกอริธึมสำหรับการตรวจหาชุมชนสำหรับกราฟสองฝ่าย (เครือข่าย 2 โหมด) ที่ใช้ในการคัดลายมือ, networkX, R หรือ Python ฯลฯ หรือไม่? โดยเฉพาะอย่างยิ่งมีการใช้งานแบบไหนที่จะ จำกัด การตรวจจับของชุมชนเพียงแค่หนึ่งในสองโหมดนี้หรือไม่?


4
แพคเกจ / อินเตอร์เฟส Python ที่ดีที่สุดสำหรับตัวแก้ปัญหาแบบเบาบางคืออะไร
กรุณาระบุแพ็คเกจ Python (Petsc4py ฯลฯ ... ) และตัวแก้ปัญหาแบบเบาบางโดยตรงที่รองรับ โปรดหนึ่งคำตอบ (community-wiki) ต่อแพ็คเกจ

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)

2
ข้อ จำกัด ของ Pandas และทางเลือกใน Python
ฉันอ่านที่ไหนสักแห่งที่Pandasได้รับการพัฒนาเป็นครั้งแรกสำหรับโลกการเงินอย่างน้อยก็ไม่ได้โดยเฉพาะอย่างยิ่งสำหรับวิทยาศาสตร์ธรรมชาติ (ฟิสิกส์ชีววิทยาและอื่น ๆ ) ดังนั้นการวิเคราะห์ข้อมูลใดที่คล้ายกัน Python แพ็คเกจ "วิทยาศาสตร์ธรรมชาติเชิง" ฉันเพิ่งเริ่มใช้ Pandas และฉันพบปัญหาสองอย่างที่ฉันไม่สามารถแก้ไขได้โดยไม่ใช้แพ็คเกจอื่นหรือวิธีแก้ปัญหาแบบโฮมเมด: จะจัดการความไม่แน่นอนได้อย่างไร จะกำหนดหน่วยข้อมูลของฉันได้อย่างง่ายดายได้อย่างไร? อาจมีปัญหาอื่น ๆ แต่ฉันไม่มีประสบการณ์ที่จะแม่นยำมากขึ้น ในตอนนี้ฉันคิดถึงแพ็คเกจความไม่แน่นอนที่จะแก้จุดแรก แต่ฉันไม่แน่ใจว่ามันจะทำงานได้ดีกับนุ่นและจะไม่ลดความเร็วในการคำนวณ ที่จริงแล้วฉันไม่ได้มองหาวิธีการคำนวณด้วยความไม่แน่นอนเพียงวิธีง่ายๆในการจัดเก็บความไม่แน่นอนพร้อมกับข้อมูลที่นำเข้าของฉัน สำหรับจุดที่สองฉันไม่พบทางออกที่ดีไปกว่าการสร้างพจนานุกรมนอกเหนือจาก DataFrame ของฉันเพื่อจัดการหน่วยที่เกี่ยวข้องกับแต่ละข้อมูล หากคุณเคยประสบปัญหาเดียวกันคุณจะแก้ไขได้อย่างไรหรือใช้แพคเกจอื่นใดในการจัดการ / จัดเก็บ / วิเคราะห์ข้อมูลใน Python ในสาขาวิทยาศาสตร์ธรรมชาติ

2
Eigenvector ของการปรับบรรทัดฐานขนาดเล็ก
ฉันมีชุดข้อมูลที่มีการเปลี่ยนแปลงอย่างช้าๆและฉันต้องติดตาม eigenvector / eigenvalues ​​ของเมทริกซ์ความแปรปรวนร่วม ฉันใช้scipy.linalg.eighแต่มันแพงเกินไปและไม่ได้ใช้ความจริงที่ว่าฉันมีการสลายตัวที่ไม่ถูกต้องเพียงเล็กน้อยเท่านั้น ใครช่วยแนะนำวิธีที่ดีกว่าในการจัดการกับปัญหานี้ได้หรือไม่?

2
ทดสอบผู้รวบรวม symplectic ลำดับที่ 3 กับลำดับที่ 4 ด้วยผลลัพธ์ที่แปลกประหลาด
ในคำตอบของฉันกับคำถามเกี่ยวกับ MSEเกี่ยวกับการจำลองฟิสิกส์ 2D มิลผมได้แนะนำการใช้ที่สูงขึ้นเพื่อบูรณาการ symplectic จากนั้นฉันคิดว่ามันเป็นความคิดที่ดีที่จะแสดงให้เห็นถึงผลกระทบของขั้นตอนเวลาที่แตกต่างกันเกี่ยวกับความแม่นยำระดับโลกของวิธีการที่มีคำสั่งต่างกันและฉันเขียนและเรียกใช้สคริปต์ Python / Pylab สำหรับการเปรียบเทียบฉันเลือก: ( leap2 ) ตัวอย่างที่ 2 สั่งวิกิพีเดีย ที่ผมคุ้นเคย แต่ฉันรู้ว่ามันภายใต้ชื่อเกมเสือข้ามห้วย , ( ruth3 ) รู ธ ที่ 3 เพื่อบูรณาการ symplectic , ( ruth4 ) รู ธ ที่ 4 สั่งบูรณาการ สิ่งที่แปลกคือไม่ว่าจะเลือกเวลาใดก็ตามวิธีเรียงลำดับที่ 3 ของ Ruth นั้นดูเหมือนจะแม่นยำกว่าในการทดสอบของฉันมากกว่าวิธีลำดับที่ 4 ของ Ruth ถึงแม้จะเรียงตามลำดับความสำคัญก็ตาม คำถามของฉันคือ: ฉันทำอะไรผิดที่นี่ รายละเอียดด้านล่าง วิธีการแฉแรงของพวกเขาในระบบที่มีการแยก …

4
การปรับใช้หน่วยความจำอย่างมีประสิทธิภาพของการแยกย่อยค่าเอกพจน์ (SVD) บางส่วน
สำหรับการลดแบบจำลองฉันต้องการคำนวณเวกเตอร์เอกพจน์ทางซ้ายที่เกี่ยวข้องกับ - พูด 20 - ค่าเอกพจน์ที่ใหญ่ที่สุดของเมทริกซ์โดยที่และ 3 น่าเสียดายเมทริกซ์ของฉันจะหนาแน่นโดยไม่มีโครงสร้างใด ๆ N ≈ 10 6 k ≈ 10 3 AA∈RN,kA∈RN,kA \in \mathbb R^{N,k}N≈106N≈106N\approx 10^6k≈103k≈103k\approx 10^3AAA หากฉันเพิ่งเรียกsvdรูทีนจากnumpy.linalgโมดูลใน Python สำหรับเมทริกซ์แบบสุ่มขนาดนี้ฉันพบข้อผิดพลาดของหน่วยความจำ เพราะนี่คือการจัดสรรสำหรับการสลายตัวVSU A = V S UV∈RN,NV∈RN,NV\in \mathbb R^{N,N}A=VSUA=VSUA = VSU มีอัลกอริธึมที่หลีกเลี่ยงหลุมพรางนี้ไหม เช่นโดยการตั้งค่าเฉพาะเวกเตอร์เอกพจน์ที่สัมพันธ์กับค่าเอกพจน์ที่ไม่ใช่ศูนย์ ฉันพร้อมที่จะแลกเปลี่ยนในเวลาและความแม่นยำในการคำนวณ

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