มันจะดีกว่าที่จะมีสมาธิในการศึกษาคณิตศาสตร์หรือการคำนวณ?


11

พร้อมกันกับการวิจัยของฉันเกี่ยวกับวิธี Subspace ของ Krylov ฉันมีตัวเลือกในการสำรวจคณิตศาสตร์เบื้องหลัง HPC ล่วงหน้าหรือทฤษฎีการคำนวณ (ฮาร์ดแวร์, OS, คอมไพเลอร์ ฯลฯ ) ขณะนี้ฉันรู้ว่าทั้งสองพอที่จะเพียงแค่ได้รับโดย ตัวอย่างเช่นฉันรู้วิธีหาสมการสำหรับ CG และพื้นฐานของวิธีการวนซ้ำ แต่ฉันไม่รู้เรื่องรายละเอียดและสิ่งที่ซับซ้อนกว่าเช่น Preconditioners และ Convergence ในทำนองเดียวกันฉันรู้พื้นฐานของวิธีไฟไนต์เอลิเมนต์ (รูปแบบที่อ่อนแอรูปแบบที่ไม่อ่อนแอสิ่งต่าง ๆ เช่นโคโดเมนและ Galerkin และอื่น ๆ ) แต่จะไม่ทราบความลึกของมัน ในส่วนของการคำนวณฉันรู้วิธีการเขียนโค้ดอย่างจริงจังในภาษาที่เป็นไปได้ทั้งหมดและสามารถใช้ OpenMP และ MPI ได้ดีพอสมควร ฉันไม่เข้าใจฮาร์ดแวร์และแคชทั้งหมดได้ดี

คำถามของฉันคือสิ่งที่เราควรมุ่งเน้น: คณิตศาสตร์หรือการคำนวณ? พวกเขาแยกกันไม่ออกใน HPC หรือไม่ มันแนะนำให้หนึ่งเรียนรู้เกี่ยวกับหนึ่งและไม่อื่น ๆ

แก้ไข: ฉันกำลังเรียนวิชาเอกวิศวกรรมเครื่องกล (ซึ่งฉันเสียใจ) และมีหลักสูตรด้านวิศวกรรมและการคำนวณมากมาย (ของเหลวการถ่ายเทความร้อนและอื่น ๆ ) ฉันจะเข้าร่วมบัณฑิตวิทยาลัยสำหรับ HPC ในปีนี้และฉันต้องการที่จะเสริมสร้างความแข็งแกร่งบางด้าน (คณิตศาสตร์ / คอมพ์ / ไฮบริด) ก่อนที่จะเริ่มการศึกษาระดับบัณฑิตศึกษาของฉัน ฉันชอบคณิตศาสตร์และคอมพ์อย่างเท่าเทียมกัน (ดังนั้น "ทำในสิ่งที่คุณชอบมากขึ้น" นั้นซ้ำซ้อน)

คำตอบ:


10

ฉันชอบคำตอบของ aeismail แต่ฉันจะให้มุมมองทางเลือก

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

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

อย่างไรก็ตามฉันรู้ว่ามีผู้คนจำนวนมากที่รอดชีวิตมาได้ค่อนข้างดีในวิธีการเชิงตัวเลขและ HPC โดยไม่ต้องเรียนวิชาคณิตศาสตร์ที่บริสุทธิ์ มันขึ้นอยู่กับช่องที่คุณต้องการครอบครอง

หากคุณต้องการพัฒนาวิธีการใหม่ ๆ คลาสของทฤษฎีจะมีประโยชน์ ชั้นเรียนทฤษฎียังมีประโยชน์สำหรับความรู้ทางคณิตศาสตร์ทั่วไป การอ่านเอกสารทางคณิตศาสตร์กลายเป็นเรื่องง่ายขึ้นมาก

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

สำหรับ HPC ความประทับใจที่ฉันได้รับคือประสบการณ์นั้นเป็นครูที่ดีที่สุด ฉันเรียนหลักสูตรการเขียนโปรแกรมแบบขนานและมันก็มีประโยชน์เล็กน้อย แต่ข้อความหลักของชั้นเรียนคือการลองทำสิ่งต่างๆและดูว่าพวกเขาทำงานหรือไม่ ถ้ามันเป็นสิ่งสำคัญสำหรับการวิจัยวิทยานิพนธ์ของคุณคุณจะได้รับประสบการณ์ใน HPC ถ้าไม่ใช่คุณจะไม่ทำและอาจไม่สำคัญจนกว่าคุณจะต้องการเปลี่ยนเกียร์และแก้ไขปัญหา HPC วิทยานิพนธ์ของฉันไม่ได้มีเฉพาะ HPC- หนักอย่างน้อยในแง่ของสิ่งที่ฉันเขียนโปรแกรมดังนั้นฉันจึงไม่จำเป็นต้องเลือกทักษะชุดนั้น

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


มุมมองที่น่าสนใจ - และตัวอย่างคือการแย้งสิทธิประโยชน์ที่จุดของฉัน (ฉันควรชี้ให้เห็นว่าฉันกำลังจะให้การบรรยายสองสามครั้งเกี่ยวกับการปรับให้เหมาะสมที่ฉันไม่ได้พิสูจน์การบรรจบกันอย่างชัดเจนเนื่องจากการโฟกัสอยู่ที่วิธีการเชิงตัวเลขและไม่มีเวลาเพียงพอที่จะ "พิสูจน์" สิ่งต่าง ๆ หาก ฉันต้องนำการวิเคราะห์ที่แท้จริงมาเป็นส่วนหนึ่งของการต่อรองราคา)
aeismail

2
ฉันขอแนะนำให้ใช้หลักสูตรคณิตศาสตร์มากพอที่จะสามารถเข้าใจทฤษฎีบทและ (เมื่อจำเป็นด้วยความพยายาม) หลักฐานที่ปรากฏในวารสารเช่น SISC, J. Scientific Computing, CMAME ฯลฯ นี่อาจหมายถึงหลักสูตรในการวิเคราะห์จริงหลักสูตร PDE เชิงนามธรรม ทฤษฎีหลักสูตรในการวิเคราะห์เชิงตัวเลขทั่วไปและหลักสูตรด้านการแยกย่อยสำหรับสมการเชิงอนุพันธ์บางส่วน จากประสบการณ์ส่วนตัวของฉันการศึกษาด้วยตนเองการขุดไปรอบ ๆ ในห้องสมุดโอเพ่นซอร์สเพื่อทำความเข้าใจว่าทำไมตัวเลือกจึงถูกสร้างขึ้นและที่สำคัญที่สุดการเป็นผู้พัฒนาห้องสมุด (PETSc) นั้นมีค่าสำหรับการเรียนรู้ HPC
Jed Brown

Jed: น่าเศร้าที่มันเป็นไปไม่ได้ในบริบทของนักศึกษาระดับบัณฑิตศึกษาหลายคน ฉันรู้ว่าฉันจะไม่สามารถเรียนหลักสูตรเหล่านั้นได้ทั้งหมดรวมถึงหลักสูตรวิทยาศาสตร์กายภาพทั้งหมดที่ฉันต้องการสำหรับการวิจัยโดยตรง ดังนั้นวิธีหนึ่งที่สมดุล - โดยเฉพาะอย่างยิ่งในบริบทของการมีที่ปรึกษาที่อาจไม่ต้องการให้นักเรียนลงทะเบียนเรียนใน (หรือนั่งอยู่บน) หลักสูตรจำนวนมาก?
aeismail

@aeismail: ฉันมองว่าเป็นการลงทุนในอาชีพและยังมีช่องว่างที่ฉันต้องกรอก หากเป็นสิ่งสำคัญคุณต้องหาเวลาทำ (เช่นที่ฉันพูดฉันทำตามความต้องการของที่ปรึกษาและลงเอยด้วยวิธีการที่เริ่มแก้ปัญหาประเภทที่พวกเขากล่าวว่าพวกเขาต้องการแก้ไขในช่วง 10 ปีที่ผ่านมา) นั่นบอกว่ามันยากที่จะหา เวลาและเป็นเรื่องยากที่จะหาที่ปรึกษาที่ให้การสนับสนุนเมื่อมีแรงกดดันมากมายในการเผยแพร่ มันก็ยากถ้าที่ปรึกษาไม่ได้อยู่ในวิทยาศาสตร์การคำนวณ (หรือพวกเขามีความคิดที่แตกต่างเกี่ยวกับสิ่งที่มันเป็นกว่าที่คุณทำ)
Geoff Oxberry

12

HPC เป็นการผสมผสานระหว่างคณิตศาสตร์การคำนวณวิทยาการคอมพิวเตอร์และแอปพลิเคชัน คุณต้องเข้าใจพวกเขาทั้งหมดให้ประสบความสำเร็จอย่างแท้จริงในระยะยาว อย่างไรก็ตามคุณไม่จำเป็นต้องมีระดับความสามารถเท่ากันในทุกคน

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

ดังนั้นฉันจะเรียนรู้ความเข้าใจด้านการคำนวณในตอนแรกจากนั้นย้อนกลับไปและเติมหลุมในทฤษฎีทางคณิตศาสตร์ นอกจากนี้ยังสามารถเรียนรู้ปัญหาฮาร์ดแวร์ - แต่วิธีการที่มีผลกระทบต่อซอฟต์แวร์จะขึ้นอยู่กับแพลตฟอร์มเป็นจำนวนมากดังนั้นจึงอาจไม่เป็นรายการแรกในวาระการประชุมของคุณ

แน่นอนคนอื่นอาจไม่เห็นด้วยกับฉัน ดังที่คุณได้กล่าวมานี่เป็นความคิดเห็นมากกว่าคำถามจริง


9

ใช้หลักสูตรได้มากเท่าที่คุณสามารถทำได้ทั้งสองอย่าง ฉันทำและฉันไม่เสียใจ

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

ที่กล่าวว่าฉันคิดว่าคณิตศาสตร์

  • เป็นพื้นฐานมากขึ้น
  • การเรียนรู้ที่ท้าทายยิ่งขึ้น
  • ยังคงเกี่ยวข้องเป็นระยะเวลานาน

ในขณะที่หัวข้อHPC

  • เปลี่ยนอย่างรวดเร็วมากขึ้น
  • สามารถหยิบขึ้นมาได้ง่ายขึ้นด้วยตัวคุณเอง
  • โดยทั่วไปมีประโยชน์น้อยกว่าและมีปัญหา / แอปพลิเคชัน / เครื่องเพิ่มเติมเฉพาะ

นี่คือการทำให้มากเกินไปและแน่นอนจะดึงดูดความคิดเห็นที่ไม่เห็นด้วย แต่ฉันคิดว่ามีความจริงกับมัน


ขอบคุณมากสำหรับคำตอบทั้งหมดของคุณ พิจารณาทุกอย่างในบรรดา 3 เสาหลักของ CSE (คณิตศาสตร์เชิงตัวเลข HPC และการประยุกต์กับวิทยาศาสตร์ / วิศวกรรมศาสตร์) ฉันสนใจในพวกเขาทั้งหมด แต่ถูกเบือนหน้าหนีจากคณิตศาสตร์เพราะฉันไม่สามารถทำตามบทพิสูจน์และเอกสารได้ดี ด้วยการเพ่งความสนใจไปที่การวิเคราะห์จริงพีชคณิตเชิงเส้นและวิธีเชิงตัวเลขตอนนี้ฉันคิดว่าฉันจะเตรียมตัวสำหรับทุกสิ่ง ที่ปรึกษาของฉันกล่าวว่าระดับของแคลคูลัสบริสุทธิ์ที่เข้าใจนั้นเป็นสัดส่วนโดยตรงกับระดับความกตัญญูของสนามที่ใช้ ในขณะที่ฉันกำลังอ่านแคลคูลัสหลังจากหลายปีแห่ง Engg ฉันจึงมั่นใจในคำพังเพย
สอบถาม

6

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


1

ฉันไม่เชื่อในทฤษฎี / การแบ่งขั้วแอปพลิเคชัน แต่มันก็สำคัญเช่นกันที่จะต้องเข้าหาทุ่งนาในลักษณะที่ไม่ได้อยู่นอกบริบททั้งหมด ทฤษฎีการทำความเข้าใจฉันคิดว่าคุณมีสัญชาตญาณทั่วไปเกี่ยวกับปัญหาที่มีค่ามากเพราะจะทำให้คุณไม่ต้องเพ่งความสนใจไปที่คอนกรีตหลังคอนกรีต ความเข้าใจนี้ไม่ได้เกิดขึ้นจากสุญญากาศและคุณไม่สามารถเริ่มต้นได้ในระดับนี้ .. นั่นไม่ใช่วิธีที่สมองทำงาน คุณไม่สามารถมาถึงแนวคิดของป่าโดยไม่เคยเห็นต้นไม้!

นั่นไม่ได้เป็นการบอกว่าทฤษฎีนั้นมีบทบาทที่ยอมแพ้ในคำถามนี้เช่นกัน มันคือการพูดว่าความเข้าใจทางทฤษฎีให้ความสำคัญทางเศรษฐศาสตร์แก่จิตใจเมื่อพิจารณาถึงปัญหา แต่มันไม่สามารถเกิดขึ้นได้หากปราศจากคอนกรีตที่ผลักดันมัน (อย่างน้อยในทฤษฎีการคำนวณ)

ดังนั้นเพื่อตอบคำถามของคุณ: หากสิ่งที่คุณสนใจคือการนำไปใช้งานนั่นคือผลลัพธ์ แต่ไม่ใช่ในการปรับปรุง / แก้ไขการนำไปปฏิบัตินี้ทฤษฎีจะไม่สำคัญ อย่างไรก็ตามหากคุณต้องการผลิตของคุณเองคุณจะเสียเปรียบการแข่งขันกับผู้ที่เข้าใจทฤษฎีได้ดีขึ้น นอกจากคุณจะสร้างของคุณเองในช่วงหลายปีที่ผ่านมาจะดีกว่า :)

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