hyper threading ใน Mathematica

ปกติถ้าเราคำนวณแบบขนานใน Mathematica มันจะมีการส่งข้อมูลสำหรับการคำนวณระหว่าง cores ของ cpu กัน โดยจำนวนของ cores ที่พูดถึงนี้คือ physical cores ซึ่งสามารถดูได้จาก ตัวแปร $ProcessorCount และเวลาที่คำนวณแบบขนานด้วยคำสั่งเช่น ParallelEvaluate มันก็จะการโหลด kernels เท่ากับจำนวน $ProcessorCount นี้แต่ถ้าอยากโหลดมากกว่านี้ก็สามารถทำได้โดยใช้คำสั่ง LaunchKernels ครับ แต่ Mathematica เองก็ใช้ประโยชน์ multiple threads ภายใน kernel ในหลายคำสั่งโดยเฉพาะพวก image processing หรืออย่าง Compile ซึ่งเราสามารถที่จะบอกจำนวนที่ thread ที่จะใช้ได้โดย option อย่าง ParalleThreadNumber

SystemOptions["ParallelOptions" -> "ParallelThreadNumber"]

และอย่างจำนวน threads ที่ MKL ใช้

SystemOptions["ParallelOptions" -> "MKLThreadNumber"]

แต่ก็ต้องคอยระวังว่า จำนวนthreadสำหรับ MKL ไม่ควรมากกว่าจำนวน physical cores ครับ

ดิฟแสดงวิธีทำด้วยภาษา Wolfram

จากคำถามที่ https://pantip.com/topic/40864768 เราสามารถประยุกต์ใช้ Wolfram Alpha เพื่อช่วยแสดงวิธีการทำ differentiation ได้ครับ

แก้ปัญหาความน่าจะเป็นแบบง่ายๆ

เห็นมีคนโพสท์ถามคำถามนี้ที่ https://pantip.com/topic/40867934 ผมเลยช่วยทำให้ดูโดยใช้ภาษา Wolfram ครับ

SciDraw

SciDraw คือแพ็กเกจที่ช่วยให้สร้างกราฟสวยๆในMathematica ครับ ช่วงนี้ผมใช้บ่อยเลยอยากมาแชร์ครับ มันเป็นแพ็คเกจที่ถูกพัฒนาโดย Mark A. Caprio, University of Notre Dame มาหลายปีแล้วครับ แต่ก็ยังเห็นมีคนใช้กันอยู่บ้างโดยเฉพาะในกลุ่มนักฟิสิกส์ ส่วนตัวผมก็ว่ามันใช้งานง่ายนะครับ แนะนำให้ลองศึกษาจากคู่มือที่เขาแชร์ไว้ที่ SciDraw: Publication-quality scientific figures with Mathematica (nd.edu) ดูครับมีตัวอย่างพอสมควรที่จะทำความเข้าใจได้ไม่ยาก ความสามารถหลักๆที่ผมใช้ก็คือการเอากราฟมารวมกัน ซ้อนกัน หรือวาด ใส่เส้นตามตำแหน่งที่ต้องการ

หาพื้นที่แรเงา

เห็นคนถามคำถามนี้ในเวบpantip

ช่วยหาพื้นที่ส่วนที่แรเงาหน่อยครับ – Pantip

คำถามลักษณะแบบนี้เราสามารถเขียนcode ในภาษาWolfram แก้ปัญหาได้ง่ายๆเลยครับ ด้วยการใช้คำสั่งอย่าง RegionDifference เพื่อดูความแตกต่างกันของพื้นที่ โดยจากโจทย์เราก็เพียงเอา พื้นที่ของสี่เหลี่ยมเป็นตัวตั้งแล้วลบออกด้วยพื้นที่วงกลมสำหรับพื้นที่ A ส่วนพื้นที่ B ก็ทำตรงกันข้ามคือเอาพื้นที่วงกลมตั้งลบออกด้วยพื้นที่สี่เหลี่ยม คำตอบที่ได้จาก Wolfram หาร4 ก็จะได้คำตอบสำหรับ พื้นที่ 1/4ของพื้นที่ที่ต่างกัน code ตัวอย่างด้านล่างนี้ผมใช้ Manipulate ครอบอีกทีเพื่อดูค่าที่รัศมีวงกลมหรือด้านของสี่เหลี่ยมต่างๆ