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

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

1
วิธีการค้นหา Lyapunov เลขชี้กำลังสำหรับระบบคู่
คำตอบ ให้ซอฟต์แวร์สำหรับการคำนวณเลขชี้กำลัง Lyapunov แบบมีเงื่อนไข (CLE) สำหรับออสซิลเลเตอร์คู่ในการซิงโครไนซ์ความวุ่นวาย อย่างไรก็ตามมันยากที่จะติดตามและไม่มีเอาต์พุตกราฟิกของพล็อต (และอยู่ใน C ซับซ้อนกว่า) ไม่มีใครรู้วิธีการแก้ไขLET Toolboxซึ่งดีมากสำหรับระบบที่ไม่ได้แยกกัน แต่ฉันไม่เข้าใจวิธีการทำงานกับระบบที่ซิงโครไนซ์เพื่อรองรับ CLE ฉันมีความสับสนเกี่ยวกับวิธีการรวมสัญญาณไดรเวอร์ในขณะที่การคำนวณเมทริกซ์จาโคเบียนสำหรับ CLE เนื่องจากทฤษฎีบอกว่าพบ CLE สำหรับระบบการตอบสนองดังนั้นเราไม่จำเป็นต้องค้นหา Jacobian สำหรับไดรเวอร์เช่นเดียวกับระบบตอบสนองสำหรับ ออสซิลเลเตอร์ที่คล้ายกัน (ไดรฟ์และการตอบสนอง) หรือเราควรพิจารณาทั้งไดรฟ์และระบบตอบกลับในซอฟต์แวร์และดำเนินการต่อราวกับว่าเป็นระบบเดียว วิธีการรองรับการบังคับภายนอกเช่นกระบวนการสุ่มในสมการสถานะหากมีใน CLE มีการใช้งานอื่นสำหรับ CLE หรือไม่ ขอบคุณ

1
การแก้ระบบด้วยการอัพเดทแนวทแยงอันดับเล็ก ๆ
สมมติว่าฉันมีระบบ linear ขนาดใหญ่แบบดั้งเดิม: Ax0=ข0Ax0=b0A\textbf{x}_0=\textbf{b}_0. ตอนนี้ฉันไม่มีA- 1A−1A^{-1} เนื่องจาก A ใหญ่เกินไปที่จะแยกตัวประกอบหรือแยกย่อยใด ๆ ของ AAAแต่สมมติว่าฉันมีทางออก x0x0\textbf{x}_0 พบกับการแก้ซ้ำ ๆ ตอนนี้ฉันต้องการใช้การอัปเดตอันดับเล็กน้อยกับเส้นทแยงมุมของ A (เปลี่ยนรายการเส้นทแยงมุมเล็กน้อย): ( A + D )x1=ข0(A+D)x1=b0(A+D)\textbf{x}_1=\textbf{b}_0 ที่ไหน DDDเป็นเมทริกซ์แนวทแยงที่มีค่า 0 ส่วนใหญ่เป็นเส้นทแยงมุมและค่าที่ไม่เป็นศูนย์ ถ้าฉันมีA- 1A−1A^{-1}ฉันจะสามารถใช้ประโยชน์จากสูตร Woodbury เพื่อใช้การอัปเดตกับสิ่งที่ตรงกันข้าม อย่างไรก็ตามฉันไม่มีสิ่งนี้ มีอะไรบ้างที่ฉันทำได้เพียงแค่แก้ไขปัญหาระบบทั้งหมดซ้ำแล้วซ้ำอีก? มีวิธีใดบ้างที่ฉันจะได้รับสิ่งที่จำเป็นก่อนMMM ซึ่งง่ายต่อการกลับด้าน \ ง่ายเช่นนั้น MA1≈A0MA1≈A0MA_1 \approx A_0ดังนั้นฉันจะต้องทำทั้งหมดถ้ามี x0x0\textbf{x}_0 ถูกนำไปใช้ M- 1M−1M^{-1} และวิธีการวนซ้ำจะมาบรรจบกันในการทำซ้ำสองสามครั้ง?

3
ฉันจะรู้ได้อย่างไรว่าโค้ดของฉันถูกแปลงเป็น vectorized โดยคอมไพเลอร์?
ดังที่อธิบายโดย Jed Brown คำตอบของต้นทุนการค้นหาและการคำนวณโดยใช้ vectorized vs non-vectorized floating point จะส่งผลให้เกิดโค้ดที่เร็วขึ้น คอมไพเลอร์สมัยใหม่หลายคนอ้างว่าพวกเขาสามารถทำการ vectorization อัตโนมัติได้ ฉันจะกำหนดส่วนของรหัสของฉันให้สำเร็จได้อย่างไร

1
จัดอันดับโครงสร้างในส่วนประกอบของ Schur
ฉันกำลังทำการวิจัยเกี่ยวกับโครงสร้างใน Schur เติมเต็มและค้นหาปรากฏการณ์ที่น่าสนใจ: สมมติว่า A มาจาก 5 - pt laplacian ถ้าฉันใช้การเรียงลำดับการผ่าแบบซ้อนและวิธีการหลายหน้าเพื่อคำนวณการแยกตัวประกอบ LU และจากนั้นตรวจสอบบล็อกเสริม Schur สุดท้ายมันมีระดับต่ำสำหรับบล็อกนอกแนวทแยงมุม แต่เมื่อฉันใช้วิธีเดียวกันเพื่อแยกตัวประกอบ A - λ ฉันA−λIA - \lambda Iที่ไหน λλ\lambda เป็นค่าบวกใกล้กับค่าลักษณะเฉพาะของ A ดังนั้นส่วนประกอบสุดท้ายของ schur จะไม่มีคุณสมบัติระดับต่ำ ฉันไม่ทราบว่าจะไม่มีการเปลี่ยนแปลงโครงสร้างในส่วนประกอบ schur หรือไม่ ใครสามารถให้การอ้างอิงบางอย่างสำหรับหัวข้อนี้

2
วิธีการสร้างเพื่อนบ้านในอัลกอริทึมการปีนเขา?
การปีนเขาเป็นเครื่องมือที่ทรงพลังมากในการเพิ่มประสิทธิภาพ อย่างไรก็ตามวิธีการสร้าง "เพื่อนบ้าน" ของการแก้ปัญหามักจะทำให้ฉันงงอยู่เสมอ ตัวอย่างเช่นผมกำลังเพิ่มประสิทธิภาพการแก้ปัญหาx_3) นี่อยู่ในช่วง ,อยู่ในช่วง ,อยู่ในช่วง1000000) วิธีที่ดีที่สุดในการสร้าง "เพื่อนบ้าน" คืออะไร? ฉันไม่สามารถจริงๆเลือกขนาด "ขั้นตอน" ที่นี่เพราะมีขนาดขั้นตอนที่ 1 เป็นอย่างมากที่จะแต่น้อยมากที่จะx_3(x1,x2,x3)(x1,x2,x3)(x_1, x_2, x_3)x1x1x_1(0,0.1)(0,0.1)(0, 0.1)x2x2x_2(0,100)(0,100)(0, 100)x3x3x_3(0,1000000)(0,1000000)(0, 1000000)x1x1x_1x3x3x_3 อะไรคือวิธีที่ดีที่สุดในการสร้าง "เพื่อนบ้าน" ในอัลกอริทึมการปีนเขา

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

2
ความหมายของวิธีการค้นหาและวิธีการปรับให้เหมาะสม
ฉันสงสัยว่าความแตกต่างและความสัมพันธ์ระหว่าง "วิธีการค้นหา" และ "วิธีการเพิ่มประสิทธิภาพ" คืออะไร โดยเฉพาะอย่างยิ่งเมื่อแก้ปัญหาการเพิ่มประสิทธิภาพ? ฉันเน้นบริบทของการแก้ปัญหาการเพิ่มประสิทธิภาพเพราะฉันคิดว่าวิธีการค้นหาไม่เพียง แต่สำหรับการแก้ปัญหาการเพิ่มประสิทธิภาพ แต่ยังรวมถึงปัญหาที่ไม่ได้เพิ่มประสิทธิภาพด้วย? ความสับสนของฉันมาจากข้อเท็จจริงต่อไปนี้: มีบางวิธีการเพิ่มประสิทธิภาพในชื่อ "xxx ค้นหา" เช่นมี การค้นหาในท้องถิ่น , การค้นหาสุ่ม , .... อะไร "ค้นหา" หมายถึงการได้จริง? ฉันสงสัยว่ามีวิธีการเพิ่มประสิทธิภาพที่ไม่ใช่ "ค้นหา" หรือไม่ นอกจากนี้ในหนังสือเล่มนี้ความรู้เบื้องต้นเกี่ยวกับการค้นหาแบบสุ่มและการเพิ่มประสิทธิภาพโดย Spallฉันไม่เข้าใจความแตกต่างระหว่าง "การค้นหา" และ "การเพิ่มประสิทธิภาพ" ในชื่อเรื่องและเนื้อหาของมัน ทำไมต้องแยกความแตกต่างระหว่าง "ค้นหา" และ "การเพิ่มประสิทธิภาพ" หากพวกเขาหมายถึงเหมือนกัน? หรือ "การเพิ่มประสิทธิภาพ" หมายถึงงาน / ปัญหาการเพิ่มประสิทธิภาพสุ่มแทนที่จะเป็นวิธีการเพิ่มประสิทธิภาพซึ่งตรงข้ามกับ "การค้นหา" หมายถึงวิธีการแก้ปัญหาการเพิ่มประสิทธิภาพ / ปัญหา? ยังไม่มีอาหารกลางวันฟรีในการค้นหาและการเพิ่มประสิทธิภาพที่แตกต่างการค้นหาและการเพิ่มประสิทธิภาพอีกครั้ง ขอบคุณและขอแสดงความนับถือ!

4
ตัวแก้ปัญหาที่แข็งแกร่งและวนซ้ำสำหรับปัญหาเชิงเส้นยืดสามมิติขนาดใหญ่คืออะไร
ฉันกำลังดำดิ่งสู่โลกอันน่าทึ่งของการวิเคราะห์องค์ประกอบ จำกัด และต้องการที่จะแก้ปัญหาเครื่องจักรกลเทอร์โมขนาดใหญ่ (เฉพาะกลไกทางความร้อน , ไม่มีข้อเสนอแนะ)→→\rightarrow สำหรับปัญหาทางกลฉันได้เข้าใจจากคำตอบของเจฟฟ์แล้วว่าฉันจะต้องใช้ตัวแก้ซ้ำเนื่องจากขนาดตาข่ายของฉัน ฉันอ่านเพิ่มเติมในคำตอบของ Mattว่าการเลือกอัลกอริทึมการวนซ้ำที่ถูกต้องเป็นงานที่น่ากังวล ฉันถามที่นี่หากมีประสบการณ์เกี่ยวกับปัญหาการยืดตัวเชิงเส้นแบบสามมิติขนาดใหญ่ที่จะช่วยให้ฉัน จำกัด การค้นหาเพื่อประสิทธิภาพที่ดีที่สุดหรือไม่ ในกรณีของฉันมันเป็นโครงสร้างที่มีฟิล์มบาง ๆ มีลวดลายและวัสดุที่วางผิดปกติ (ทั้ง high-CTE และ low-CTE) ไม่มีการเสียรูปขนาดใหญ่ในการวิเคราะห์เชิงกลทางความร้อน ฉันสามารถใช้ HPC ในมหาวิทยาลัยของฉัน [1.314 โหนดพร้อมโปรเซสเซอร์ AMD Opteron 2 ตัว (แต่ละ 2.2 GHz / 8 คอร์)] ฉันคิดว่าPETScอาจมีบางสิ่งที่น่าสนใจโดยเฉพาะอย่างยิ่งอัลกอริทึมที่ใช้ในการแยกโดเมน (FETI, multigrid) แต่ฉันรู้สึกสับสนกับตัวเลือกและไม่มีประสบการณ์ ฉันชอบวลีที่ว่า"สิ่งมีชีวิตที่มีความรู้ทางเรขาคณิต"แต่ไม่แน่ใจว่าสิ่งนี้จะช่วยฉันได้หรือไม่ ฉันยังไม่ได้พบสิ่งที่เพ่งความสนใจไปที่กลศาสตร์ต่อเนื่องเชิงเส้น Strong Scaling (Amdahl) มีความสำคัญมากในใบสมัครของฉันเพราะพันธมิตรอุตสาหกรรมของฉันไม่สามารถรอผลการจำลองเป็นเวลานาน ฉันไม่เพียง แต่ชื่นชมคำตอบเท่านั้น แต่ยังมีคำแนะนำสำหรับการอ่านเพิ่มเติมในความคิดเห็น

5
ฉันจะได้รับขอบเขตของการแกว่งไปมาในการแก้ปัญหาเชิงตัวเลขของสมการ advection 1D ได้อย่างไร
สมมติว่าฉันมีปัญหาการพา 1D ต่อไปนี้เป็นระยะ: ∂u∂t+c∂u∂x=0∂u∂t+c∂u∂x=0\frac{\partial u}{\partial t} + c\frac{\partial u}{\partial x} = 0 ใน Ω=[0,1]Ω=[0,1]\Omega=[0,1] u(0,t)=u(1,t)u(0,t)=u(1,t)u(0,t)=u(1,t) u(x,0)=g(x)u(x,0)=g(x)u(x,0)=g(x) ที่ไหน g(x)g(x)g(x) มีความไม่ต่อเนื่องกระโดดที่ x∗∈(0,1)x∗∈(0,1)x^*\in (0,1). มันเป็นความเข้าใจของฉันว่าสำหรับความแตกต่าง จำกัด เชิงเส้นของลำดับสูงกว่าลำดับแรกการแกว่งลวงตาเกิดขึ้นใกล้กับความไม่ต่อเนื่องเนื่องจากมีการประกาศเมื่อเวลาผ่านไปทำให้เกิดการบิดเบือนของสารละลายจากรูปร่างคลื่นที่คาดหวัง ตามคำอธิบายของวิกิพีเดียดูเหมือนว่าการแกว่งเหล่านี้มักเกิดขึ้นเมื่อฟังก์ชันที่ไม่ต่อเนื่องถูกประมาณด้วยอนุกรมฟูเรียร์ที่แน่นอน ด้วยเหตุผลบางอย่างฉันไม่สามารถเข้าใจได้ว่าอนุกรมฟูริเยร์ที่ จำกัด สามารถสังเกตได้ในการแก้ปัญหาของ PDE นี้ โดยเฉพาะอย่างยิ่งฉันจะประมาณขอบเขตของ "over-shot" analytically ได้อย่างไร

3
โครงสร้างของ /รองรับองค์ประกอบไฟไนต์พื้นฐานสำหรับตาข่ายสามเหลี่ยมหรือเตตราจูด
ในเอกสารลำดับชั้นสอดคล้องกับระเบียบวิธีไฟไนต์อิลิเมนต์สำหรับสมการ Biharmonic , P. Oswald อ้างว่าองค์ประกอบประเภท Clough-Tocher มีต่อเนื่องในขณะที่เป็นพหุนามลูกบาศก์ในแต่ละสามเหลี่ยม เขาไม่ได้ให้ชุดของฟังก์ชั่นพื้นฐานที่ชัดเจนเพียงแค่องศาอิสระภาพมาตรฐานในจุดพื้นที่สี่เหลี่ยมจัตุรัสค1ค1C^1 ในทำนองเดียวกันในหนังสือทฤษฎีทางคณิตศาสตร์ของวิธีไฟไนต์เอลิเมนต์บทที่ 3 ผู้เขียนให้การสร้างองค์ประกอบเฮอร์ไมน์ลูกบาศก์ลูกบาศก์ของเรา แต่พวกเขาไม่ได้กล่าวถึงความต่อเนื่องขององค์ประกอบเฮอร์ไมต์ลูกบาศก์ อย่างไรก็ตามในกระดาษเชิงอนุพันธ์เชิงซ้อนและเสถียรภาพเชิงตัวเลข Doulgas Arnold เสนอว่าสำหรับ /แยกพื้นที่ว่างเราควรใช้ Hermite quintic (หรือ Argyris) องค์ประกอบ จำกัด ซึ่งมีความซับซ้อนมากในการแสดงอย่างชัดเจนค1ค1C^1H2H2H^2 ดังนั้นนี่คือคำถามของฉัน: (1) มีกระดาษใดที่มาพร้อมกับสูตรที่ชัดเจนสำหรับ /รวมองค์ประกอบไฟไนต์บนสามเหลี่ยมหรือเตตราจูดตาข่าย?ค1ค1C^1H2H2H^2 (2) ควรเป็นระดับพหุนามน้อยที่สุดในระดับพหุนามสำหรับต่อเนื่องค1ค1C^1

2
เกณฑ์ปกติของฟังก์ชันกล่องดำ
ปล่อย VVV เป็นเวกเตอร์ปริภูมิมิติที่มีบรรทัดฐาน ∥⋅∥‖⋅‖\|\cdot\|และปล่อยให้เป็นฟังก์ชันเชิงเส้นตรง มันจะได้รับเป็นกล่องดำเท่านั้นF:V→RF:V→RF : V \rightarrow \mathbb R ฉันต้องการประเมินบรรทัดฐานของ (จากด้านบนและด้านล่าง) เนื่องจากเป็นกล่องดำวิธีเดียวที่จะทำได้คือทดสอบกับเวกเตอร์หน่วยจากและตามผลลัพธ์ให้หาที่เพิ่ม.FFFFFFVVVv∈S1Vv∈S1Vv \in S^1 V|F(v)||F(v)||F(v)| คุณรู้อัลกอริธึมดังกล่าวหรือไม่? ในแอปพลิเคชันที่ฉันมีอยู่ในใจเป็นพื้นที่ จำกัด ขององค์ประกอบและเป็นฟังก์ชันที่ซับซ้อนในพื้นที่นั้นVVVFFF แก้ไข: ความคิดแรกของฉันคือการเลือกสุ่มรบกวนมันลงไปในทิศทางหลายพูดและจากนั้นทำซ้ำขั้นตอนที่มีว่ามีที่ใหญ่ที่สุด(v_i) ฉันไม่ทราบว่าจะหาอัลกอริทึมและการวิเคราะห์ปัญหานี้ได้ที่ไหนv∈S1Vv∈S1Vv \in S^1 Vv1,…,vkv1,…,vkv_1,\dots,v_kviviv_iF(vi)F(vi)F(v_i)

2
มีข้อสรุปทั่วไปของกฎหมายความเฉื่อยของซิลเวสเตอร์สำหรับปัญหาค่าลักษณะเฉพาะทั่วไปที่สมมาตรหรือไม่?
ฉันรู้ว่าเพื่อที่จะแก้ปัญหาค่าลักษณะเฉพาะแบบสมมาตร Ax=λxAx=λxAx = \lambda xเราสามารถใช้กฎหมายความเฉื่อยของซิลเวสเตอร์นั่นคือจำนวนค่าลักษณะเฉพาะของ AAA น้อยกว่า aaa เท่ากับจำนวนรายการเชิงลบของ DDD เมทริกซ์แนวทแยง DDD มาจากการแยกตัวประกอบของ LDL A−aI=LDLTA−aI=LDLTA-aI = LDL^{T}. จากนั้นโดยวิธีการแบ่งครึ่งเราสามารถหาค่าลักษณะทั้งหมดหรือบางค่าได้ตามต้องการ ฉันต้องการที่จะรู้ว่าถ้ามีข้อสรุปทั่วไปของกฎหมายความเฉื่อยของซิลเวสเตอร์สำหรับปัญหาค่าลักษณะเฉพาะทั่วไปที่สมมาตรนั่นคือการแก้ปัญหาAx=λBxAx=λBxAx= \lambda Bxที่ไหน AAA และ BBBเป็นเมทริกซ์สมมาตร ขอบคุณ

1
LAPACK แก้ปัญหาระบบไตรภาคีได้อย่างไรและเพราะเหตุใด
ในโครงการของฉันฉันต้องแก้เมทริกซ์สามเหลี่ยมสองสามครั้งในทุกขั้นตอนดังนั้นสิ่งสำคัญคือต้องมีตัวแก้ปัญหาที่ดีสำหรับสิ่งเหล่านั้น ฉันใช้งานตัวเองเป็นแบบดั้งเดิมที่อธิบายไว้ใน Wikipedia ฉันลองใช้ Lapack แทนและทำให้ฉันประหลาดใจว่ามันช้าลง! ทีนี้ภายใน Lapack ดูเหมือนว่ามันจะแก้ปัญหาโดยการแยกตัวประกอบ LU และฉันสงสัยว่าทำไมมันไม่ซับซ้อนกว่าที่ควรจะเป็น? นอกจากนี้ฉันพบอัลกอริทึมในหนังสือ "Numerical Recipes" จาก nr.com ซึ่งแบ่งระบบซ้ำ ๆ เป็นปัญหาเล็ก ๆ น้อย ๆ มันดูมีแนวโน้ม มีสารพัดอื่น ๆ อีกไหม? อัปเดต: ขนาดปัญหาประมาณ 1,000x1000 ฉันใช้ GotoBLAS มันให้ไลบรารี่ 3.1.1 กับไลบรารี่เช่นกัน ปัญหาไม่สมมาตร ฉันใช้ชุดคำสั่ง Lapack สำหรับเมทริกซ์สามเหลี่ยมทั่วไป

3
การคำนวณพหุนามลักษณะของเมทริกซ์กระจัดกระจายจริง
รับเมทริกซ์กระจัดกระจายทั่วไป A ∈Rn × nA∈Rn×nA \in \mathbb{R}^{n\times n}ด้วยm << n (การแก้ไข:ม«n2ม.«n2m \ll n^2) องค์ประกอบที่ไม่ใช่ศูนย์ (โดยทั่วไป m ∈ O ( n )ม.∈O(n)m \in {\cal O}(n)) AAA เป็นเรื่องทั่วไปในแง่ที่ว่ามันไม่มีคุณสมบัติที่เฉพาะเจาะจง (เช่นความชัดเจนเชิงบวก) และไม่มีโครงสร้าง (เช่นความเป็นแถบสี) อะไรคือวิธีการเชิงตัวเลขที่ดีในการคำนวณทั้งพหุนามลักษณะหรือพหุนามน้อยที่สุดของAAA?

1
การลิงก์แบบคงที่ไดนามิกและเดี่ยวหมายถึงอะไร
ฉันใช้ Intel MKL สำหรับ BLAS และใช้Intel MKL Link Line Advisorเพื่อขอความช่วยเหลือเกี่ยวกับตัวเลือกบรรทัดคำสั่ง ที่ปรึกษามีตัวเลือกสำหรับไลบรารีแบบคงที่ไดนามิกและเดี่ยว คำเหล่านี้มีความหมายว่าอย่างไร? มีการโพสต์มากมายเกี่ยวกับเรื่องนี้ แต่พวกเขาทั้งหมดได้มุ่งเน้นไปที่การพัฒนาซอฟต์แวร์มากกว่ารหัสทางวิทยาศาสตร์ / คณิตศาสตร์ (อันนี้มีประโยชน์อย่างยิ่ง) ข้อกำหนดเหล่านี้เกี่ยวข้องกับการคำนวณแบบขนานได้อย่างไร หนึ่งคือ "ดีกว่า" อื่น ๆ หรือไม่ (ฉันรู้ว่าจะต้องกำหนดให้ชัดเจนยิ่งขึ้น แต่ฉันไม่รู้จะทำอย่างไรในตอนนี้) สิ่งที่ใช้บ่อยและทำไม โปรแกรมเมอร์ต้องพิจารณาอะไรเมื่อทำการลิงค์?
9 compiling 

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