คำถามยอดนิยม
ไทมไลน์
แชท
มุมมอง

วุลฟรัม แมเทอแมทิกา

จากวิกิพีเดีย สารานุกรมเสรี

วุลฟรัม แมเทอแมทิกา
Remove ads

Mathematica เป็นชุดโปรแกรมทางคณิตศาสตร์และวิทยาศาสตร์ที่สามารถทำการคำนวนได้ในหลากหลายขแนง และเป็นซอฟต์แวร์ลิขสิทธิ์ของบริษัท Wolfram Research ชุดโปรแกรมเวอร์ชัน 1.0 ได้วางจำหน่ายเมื่อ ค.ศ. 1988

ข้อมูลเบื้องต้น นักพัฒนา, วันที่เปิดตัว ...
Remove ads

ชุดโปรแกรม Mathematica

ชุดซอฟต์แวร์ Mathematica ประกอบด้วย

  • ระบบพีชคณิตทางคอมพิวเตอร์ (Computer algebra system) สำหรับการประมวลผลเชิงสัญลักษณ์ของสมการทั้งในแบบทั่วไปและแบบ อนุพันธ์[3][4]
  • ซอฟต์แวร์ทางตัวเลข สำหรับการแก้หรือประเมินค่าเชิงตัวเลขของสมการ
  • เครื่องมือการแสดงภาพ สำหรับการสร้างกราฟทั้งในรูปแบบสองมิติและสามมิติ
  • ภาษาการเขียนโปรแกรม ที่รวมเอาองค์ประกอบของการเขียนโปรแกรมแบบเชิงกระบวนการ (procedural), วัตถุ (object-oriented), ฟังก์ชัน (functional) และตามกฎ (rule-based) เข้าไว้ด้วยกัน

ผู้เขียนและผู้ก่อตั้งบริษัท Stephen Wolfram เริ่มต้นการพัฒนาเมื่อ ค.ศ. 1986 Mathematica รุ่นแรกได้ถูกเผยแพร่เมื่อ ค.ศ. 1988 โดย Wolfram กล่าวว่าชื่อ Mathematica ได้รับการเสนอจาก Steve Jobs[5][6]

Mathematica 1.0 มีฟังก์ชันในตัวมากกว่า 500 ฟังก์ชัน ซึ่งยังคงมีอยู่ใน Mathematica เวอร์ชัน 13.0 ใน Mathematica เวอร์ชัน 4.0 ที่เผยแพร่เมื่อ ค.ศ. 2000 มีฟังก์ชันมากกว่า 1000 ฟังก์ชัน ฟังก์ชันเหล่านี้ถูกบันทึกในคู่มือพิมพ์ที่มีน้ำหนักกว่า 3 กิโลกรัม และจำนวนหน้ามากกว่า 1500 หน้า[7]

ในเวอร์ชัน 13.3 ที่เผยแพร่เมื่อ ค.ศ. 2023 มีฟังก์ชันมากกว่า 6000 ฟังก์ชัน ซึ่งไม่ได้มีการจัดทำเป็นคู่มือพิมพ์อีกต่อไป[8] นอกจากนี้ยังมีแนวคิดใหม่จำนวนมากที่ขยายขอบเขตการใช้งานของระบบ

Remove ads

การใช้งานและวิธีการทำงาน

สรุป
มุมมอง

Thumb

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

Kernel จะประมวลผล โค้ดโปรแกรม ทันทีหลังจากการป้อนข้อมูล (ในฐานะ Interpreter), ทำให้การเขียนโปรแกรมเป็นแบบโต้ตอบ ดังนั้นผลลัพธ์หรือข้อผิดพลาดในการเขียนโปรแกรมจึงสามารถเห็นได้ทันที หากมีการเรียกใช้โปรแกรมซ้ำหลายครั้ง เช่น ในการเรียกใช้โปรแกรมที่ไม่โต้ตอบ โปรแกรมจะถูก คอมไพล์ โดยอัตโนมัติ โค้ดโปรแกรมนั้นเป็นอิสระจากระบบปฏิบัติการ Mathematica มีให้บริการสำหรับ Windows, Linux และ macOS, จนถึงเวอร์ชัน 6.0.3 ยังมีให้สำหรับ MS-DOS, NeXT, OS/2, Unix และ VMS

ตั้งแต่เวอร์ชัน 8 ฟีเจอร์ที่เรียกว่า free form input ถูกใส่เข้าไปใน Mathematica ซึ่งช่วยให้ผู้ใช้สามารถใช้ภาษาอังกฤษ "ธรรมชาติ" แทนการป้อนไวยากรณ์ที่ถูกต้องสำหรับการคำนวณและคำสั่งอื่น ด้วยเหตุผลนี้จึงมีความจำเป็นต้องเชื่อมต่ออินเทอร์เน็ตตลอดการใช้งาน ตัวอย่างการใช้ภาษา กราฟของฟังก์ชันไซนัสที่มีการเติมสีแดงอ่อนและเส้นตารางเป็นจุด จะถูกสร้างขึ้นเมื่อป้อนคำสั่ง

Plot[Sin[x], {x, -6.6, 6.6},
  Filling -> Axis,
  FillingStyle -> Lighter[Red],
  GridLines -> Automatic,
  GridLinesStyle -> Dashed
]

หรือโดยใช้ free form input

 plot sin x with light red filling and dashed grid lines 

หลังจากที่ป้อนคำสั่งที่ใช้ free form input แล้ว สามารถแปลเป็นไวยากรณ์ (syntax) และแก้ไขใหม่ได้ เพื่อให้ยังคงมีความได้เปรียบจากไวยกรณ์แบบทั่วไป[9] [10]


Mathematica มักถูกใช้ในทางวิทยาศาสตร์หรือเศรษฐศาสตร์ และยังมีการใช้งานในอุตสาหกรรมและธุรกิจ ดังนั้นธนาคารจึงใช้ Mathematica ในการจำลองการพัฒนาราคาหุ้น, การประเมิน อนุพันธ์ทางเศรษฐศาสต์, การประเมินความเสี่ยง และอื่นๆ ความแม่นยำของผลลัพธ์ (ทั้งเชิงวิเคราะห์และเชิงตัวเลข) จึงมีความจำเป็นมาก

นอกจาก เรขาคณิตพื้นฐาน, การอนุพันธ์, การคำนวณเชิงปริพันธ์, การแก้ สมการ, การจัดการแมทริกซ์ และ การคำนวณเชิงตัวเลข (ไม่มีข้อจำกัดในด้านความแม่นยำของเครื่องจักร) ยังมีฟังก์ชันพิเศษมากมาย เช่น จากสาขาของ เชิงผสม (combinatoric), ที่ได้ถูกนำมารวมไว้ ภาษาโปรแกรมของ Mathematica มีการกำหนดประเภท (Type assignment) โดยอัตโนมัติ, การจัดการหน่วยความจำโดยอัตโนมัติ และเทคนิคการประเมินแบบรูปแบบ (pattern matching) ตั้งแต่ปลาย ค.ศ. 2013 ภาษาโปรแกรม Wolfram Language ได้ถูกจำแนกแยกจาก Mathematica[11]

หนึ่งในทางเลือกสำหรับหน้าต่าง (front end) ใน Mathematica คือ Wolfram Workbench—สภาพแวดล้อมการพัฒนาแบบ (IDE) ที่ใช้รากฐานจาก Eclipse ซึ่งถูกนำเสนอเมื่อ ค.ศ. 2006 Wolfram Workbench ให้เครื่องมือการพัฒนารหัสที่มีพื้นฐานจาก Mathematica รวมถึงการจัดการการแก้ไขโค้ด, การดีบัก, การวิเคราะห์ และการทดสอบ และยังมีปลั๊กอินสำหรับ IntelliJ-IDEA-based IDEs สำหรับการทำงานกับโค้ด Wolfram Language ซึ่งนอกเหนือจากการเน้นไวยากรณ์แล้ว ยังสามารถแยกวิเคราะห์, เติมตัวแปรท้องถิ่น (local variable) และฟังก์ชันที่กำหนดได้โดยอัตโนมัติ Kernal ของ Mathematica ยังมีส่วนติดต่อคำสั่งแบบ command line อีกด้วย

Remove ads

ภาษา

สรุป
มุมมอง

ภาษาในโปรแกรม Mathematica (Wolfram Language)[12] มีพื้นฐานมาจากภาษา Lisp ซึ่งเป็นภาษาโปรแกรมเชิงฟังก์ชัน นอกจากนี้ Mathematica ยังอิงตามการจับคู่รูปแบบ (Pattern matching) เป็นหลัก (คล้ายเคลียงกับภาษา Haskell) สิ่งนี้ทำให้เกิดความสับสน อย่างยิ่งสำหรับผู้เริ่มต้น เนื่องจากรูปแบบ เช่น ตัวยึดรูปแบบ จะปรากฏขึ้นทันทีที่มีการทำงานกับฟังก์ชันต่าง ๆ วงเล็บเหลี่ยมที่ใช้เกือบตลอดเวลา ทำให้เกิดลักษณะโค้ดที่แตกต่างจากภาษาโปรแกรมทั่วไปเช่น C อย่างมาก สำหรับ Mathematica คำจำกัดความต่อไปนี้ไม่ใช่ฟังก์ชัน แต่เป็นกฎการแทนที่, สิ่งที่จะเกิดขึ้นกับตัวแปร "something" ใน f[something] หลังจากการประเมิณผลของ something + something คือการแทนที่ตัวแปร "something" ด้วย "something + something" หลังจากนี้, ซึ่งในที่นี้ something จะเป็นอะไรก็ได้:

f[x_] = x + x

อย่างไรก็ตามฟังก์ชันในแง่ของการเขียนโปรแกรมในรูปแบบของ แลมบ์ดา-แคลคูลัส ถูกสร้างขึ้นด้วยรูปแบบ Function:

f = Function[x, x + x]

ข้อดีของการจับคู่รูปแบบในพีชคณิตคอมพิวเตอร์คือกฎการแทนที่ที่ซับซ้อนสามารถเขียนให้กะทัดรัดได้ ฟังก์ชันที่กำหนดไว้ในส่วนต่าง ๆ สามารถกำหนดได้โดยใช้กฎการจับคู่ดังนี้:

g[x_ /; x < 7] = 2*x;
g[x_ /; x > 7] = 3*x;

ในตัวอย่างนี้ g[3] จะถูกประมวลผลด้วย 2*3=6, แต่ g[10] จะถูกประมวลผลด้วย 3*10=30

Thumb
ผลของคำสั่ง Plus[a,Sin[Times[b,c] ในรูปแบบ ต้นไม้

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

Plus[a,Sin[Times[b,c]]]

เมื่อแสดงเป็นต้นไม้ ผลลัพธ์จะมีลักษณะดังที่แสดงทางด้านขวา ส่วนหัว ของทรีคือฟังก์ชัน Plus Mathematica รู้วิธีต่าง ๆ ในการแสดงอินพุต/เอาท์พุต การเขียนแบบธรรมชาตินี้สอดคล้องผลลัพธ์ที่อ่านง่ายกว่าคือ a + Sin[b*c]

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

โปรแกรมเมอร์ไม่ได้จำกัดอยู่เพียงแค่ กระบวนทัศน์การเขียนโปรแกรม (Programming paradigm) แต่ยังสามารถโปรแกรมคำสั่งที่จำเป็นได้ ด้วยฟังก์ชันภายในนับหมื่นรายการ โปรแกรมจึงถูกเขียนได้หลากหลายและรวดเร็ว

Remove ads

ตัวอย่างการใช้ภาษา

สรุป
มุมมอง

ตัวอย่างที่ 1: จำนวนเฉพาะ

ด้วยฟังก์ชัน Prime[k] จำนวนเฉพาะลำดับที่ k จะถูกคำนวนและแสดงผล ยกตัวอย่างเช่น

In[1]:= Prime[15]
Out[1]= 47

สังเกตุว่า คำนำหน้าที่เขียนโดย Mathematica จะเป็นแบบอักษรขนาดเล็กและเป็นสีน้ำเงิน (กล่าวคือ ไม่ใช่ลิงก์)

รายการหมายเลขเฉพาะสามารถสร้างได้หลายวิธี เช่น รายการหมายเลขเฉพาะ 15 หลักแรกสามารถสร้างขึ้นด้วยวิธีดังนี้

แบบที่ 1: การใช้ฟังก์ชัน Table

In[1]:= Table[Prime[i],{i,15}]
Out[1]= {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}

แบบที่ 2: การใช้ฟังก์ชัน Range

In[1]:= Prime /@ Range[15]
Out[1]= {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}

แบบที่ 3: เก็บจำนวนเฉพาะในช่องข้อมูล

In[1]:= f[n_]:=Table[Prime[i],{i,n}]
In[2]:= f[15]
Out[2]= {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}

แบบที่ 4: เลือกรายการจำนวนเฉพาะในบล็อกโดยใช้ระดับจำนวนเฉพาะ

In[1]:= tm = 2; p = {}; k = 1; Do[
  Do[If[t > 0,
    For[i = 1, (s = p[[i]]) <= t + 1, i++,
     If[GCD[k - s, 2 s - 1] != 1, Goto[l]]]]; p = AppendTo[p, k];
   Label[l]; k++, {4 (t + 1)}], {t, 0, tm}]; p *= 2; p--; p[[1]]++; p
Out[1]= {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47}

ตัวอย่างที่ 4 ลำเลียง Mathematica ให้เป็นภาษาโปรแกรม

มีฟังก์ชันจำนวนเฉพาะอื่น ๆ อีก เช่นฟังก์ชัน PrimePi[x] จะส่งคืนจำนวนเฉพาะที่น้อยกว่าหรือเท่ากับ x

In[1]:= PrimePi[50]
Out[1}= 15

คุณสามารถสอบถามได้ว่าจำนวนเต็ม n เป็นจำนวนเฉพาะหรือไม่โดยใช้ฟังก์ชัน PrimeQ[n] ตัวอย่างเช่น ค.ศ. 2017 เป็นจำนวนเฉพาะใช่หรือไม่

n[1]:= PrimeQ[2017]
Out[1]= True

2023 เป็นจำนวนเฉพาะใช่หรือไม่

In[1]:= PrimeQ[2023]
Out[1]= False

2023 มีตัวประกอบอะไรบ้าง

In[1]:= Divisors[2023]
Out[1]= {1,7,17,119,289,2023}

ตัวอย่างที่ 2: การคำนวณค่าเฉลี่ย

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

กำหนดรายการค่า:

In[1]:= myData = Range[8]
Out[1]= {1, 2, 3, 4, 5, 6, 7, 8}

ใช้ฟังก์ชันของ Mathematica:

In[2]:= Mean[myData]
Out[2]= 9/2

ใช้การจัดการรายการ:

In[3]:= Plus@@myData / Length[myData]
Out[3]= 9/2

ขั้นตอนการดำเนินการ:

In[4]:= summe = 0
Out[4]= 0
In[5]:= For[ j=1,j <= Length[myData], j++, summe += myData[[j]] ]
In[6]:= summe / Length[myData]
Out[6]= 9/2

ตัวอย่างที่ 3: เมทริกซ์

Mathematica มีฟังก์ชันต่าง ๆ มากมายสำหรับสร้างและจัดการเมทริกซ์ทั้งในแบบ Hilbert เมทริกซ์ หรือ Hankel เมทริกซ์ องค์ประกอบเมทริกซ์สามารถเป็นได้ทั้งตัวเลขและสัญลักษณ์ ในตัวอย่างด้านล่างได้มีการลองใช้สัญลักษณ์และตั้งชื่อเมทริกซ์ว่า FeldX องค์ประกอบเมทริกซ์จะถูกป้อนทีละบรรทัดในรูปแบบพิเศษด้วยฟังก์ชัน MatrixForm เมทริกซ์จะแสดงในรูปแบบปกติ:

In[1]:= MatrixForm [FeldX={{a, b, 0}, {c, a, b}, {0, c, a}}]
Out[1]//MatrixForm=
Thumb
ภาพหน้าจอของโปรแกรม Mathematica เวอร์ชัน 3.0 แสดงผลเมทริกซ์ วงเล็บสีน้ำเงินทางด้านขวาเรียกว่าเซลล์

เมทริกซ์นี้เป็นเมทริกซ์ Toeplitz สามเหลี่ยมมุมฉาก สำหรับการ จัดการเมทริกซ์ จุดแบบธรรมดา (.) จะถูกวางไว้ระหว่างชื่อฟิลด์ [13] กับตัวมันเองจะมีลักษณะไวยกรณ์เช่นนี้:

In[2]:= MatrixForm [FeldX.FeldX]
Out[2]//MatrixForm=

ทรานสโพส ของเมทริกซ์ FeldX ถูกสร้างขึ้นด้วยวิธีนี้:

In[3]:= MatrixForm [Transpose[FeldX]]
Out[3]//MatrixForm=

ดีเทอร์มิแนนต์ ของเมทริกซ์ FeldX คำนวณโดยใช้ฟังก์ชันDet[FeldX]:

In[4]:= Det[FeldX]
Out[4]= a³-2abc

ส่วนผกผันของเมทริกซ์ FeldX จะได้มาด้วยฟังก์ชัน Inverse[FeldX]:

In[5]:= MatrixForm [Inverse[FeldX]]
Out[5]//MatrixForm=
[14]

ค่าลักษณะเฉพาะ (eigen value) จะมาพร้อมกับฟังก์ชัน Eigenvalues[FeldX]:

In[6]:= Eigenvalues[FeldX]
Out[6]= {a, a – , }

ถ้า a, b และ c เป็นจำนวนจริง และสัญลักษณ์ของ a และ b ต่างกัน, ค่าลักษณะเฉพาะทั้งสองจะเป็นจำนวนจินตภาพ และทั้งสองค่าจะเป็น สังยุคของจำนวนเชิงซ้อนของกันและกัน ในทำนองเดียวกัน สามารถคำนวณเวกเตอร์ลักษณะเฉพาะได้โดยใช้ฟังก์ชัน Eigenvectors[FeldX]

ตัวอย่างที่ 4: การวาดรูปแบบพลาโทนิก

Thumb
รูปแบบพลาโตนิกทั้งห้าและรูปแบบที่ถูกตัดทอน สร้างขึ้นโดยการตัดจุดมุมออก วาดโดยใช้ฟังก์ชันมาตรฐานของ Mathematica เวอร์ชัน 3.0

รูปแบบพลาโทนิก เป็น ทรงหลายหน้า ซึ่งล้อมรอบด้วยรูปทรงหลายหน้าปรกติ มีการจำแนกยู่ห้ารูปแบบ (จัตุรมุข, ลูกบาศก์, ทรงแปดหน้า, สิบสองหน้า, ไอโคซาฮีดรอน) ในการวาดสิ่งเหล่านี้ Mathematica จะรวมฟังก์ชันไว้ด้วย Polyhedron[15]ซึ่งต้องระบุชื่อภาษาอังกฤษของรูปทรงหลายเหลี่ยมเป็นอาร์กิวเมนต์ มีฟังก์ชันอื่น ๆ ที่เกี่ยวข้อง เช่น ฟังก์ชัน Truncate ซึ่งสร้างรูปทรงหลายเหลี่ยมที่ถูกตัดทอน (จัตุรมุขที่ถูกตัดทอน, hexahedron ที่ถูกตัดทอน, ทรงแปดหน้าที่ถูกตัดทอน, สิบสองหน้าที่ถูกตัดทอน, icosahedron ที่ถูกตัดทอน), ซึ่งถูกสร้างขึ้นโดยการตัดมุม

ก่อนที่จะเข้าสู่ฟังก์ชันแรก จะต้องโหลดแพ็คเกจ Polyhedra ก่อน

In[1]:= << Graphics`Polyhedra`
In[2]:= Show[Polyhedron[Tetrahedron]]

จากนั้นสามารถวาดรูปทรงหลายเหลี่ยมปกติอื่น ๆ และสัดส่วนของพวกมันได้ทีละอันตามที่แสดงในภาพ

Show[Polyhedron[Cube]]
Show[Polyhedron[Octahedron]]
Show[Polyhedron[Dodecahedron]]
Show[Polyhedron[Icosahedron]]
Show[Truncate[Polyhedron[Tetrahedron]]]
Show[Truncate[Polyhedron[Cube]]]
Show[Truncate[Polyhedron[Octahedron]]]
Show[Truncate[Polyhedron[Dodecahedron]]]
Show[Truncate[Polyhedron[Icosahedron]]]

ในกรณีนี้ การใช้ Mathematica เป็นเรื่องง่ายมาก สำหรับตัวอย่างนี้ใช้ Mathematica เวอร์ชัน 3.0 (1996) ในเวอร์ชัน 12.0 (2019) ไวยากรณ์ของฟังก์ชันรูปทรงหลายเหลี่ยมมีการเปลี่ยนแปลง[16]

Remove ads

ประวัติเวอร์ชันและวันที่เผยแพร่

สรุป
มุมมอง

การพัฒนา Mathematica จากรุ่นสู่รุ่นเป็นแบบไดนามิกมากจนดูเหมือนเป็นไปไม่ได้ที่จะรวบรวมนวัตกรรม แม้แต่สิ่งที่สำคัญที่สุดในตาราง คุณสามารถดูภาพรวมได้จากเว็บไซต์ประวัติของ เวอร์ชัน Mathematica อย่างสั้น[17]

ข้อมูลเพิ่มเติม รุ่น, วันที่เผยแพร่ ...
Remove ads

การเชื่อมต่อกับระบบและภาษาอื่น ๆ

การสื่อสารกับแอปพลิเคชันและบริการอื่นสามารถเกิดขึ้นได้โดยใช้โปรโตคอลที่เรียกว่า Wolfram Symbolic Transfer Protocol (WSTP)[18] WSTP ช่วยให้สามารถสื่อสารระหว่างเคอร์เนล Wolfram Mathematica และฟรอนต์เอนด์ และจัดให้มีอินเทอร์เฟซทั่วไประหว่างเคอร์เนลและแอปพลิเคชันอื่น ๆ ซึ่งสามารถตั้งโปรแกรมเป็นภาษาอื่นได้ Mathematica มีอินเทอร์เฟซสำหรับ Haskell,[19] แอปเปิ้ลสคริปต์,[20]แร็กเกต, วิชวลเบสิก,[21] ไพทอน[22] และ โคลจูเร่ (Clojure)[23]

Remove ads

ปัญหา

เมื่อ ค.ศ. 2014 นักคณิตศาสตร์สามคนตีพิมพ์ว่า Mathematica ให้ผลลัพธ์ที่ไม่ถูกต้องเมื่อคำนวณดีเทอร์มิแนนต์ของเมทริกซ์บางตัวที่มีจำนวนเต็มค่อนข้างมาก (10,000 หลัก) ข้อผิดพลาดนี้ได้รับการรายงานเมื่อ ค.ศ. 2013 และไม่ได้รับการแก้ไขหลังจากผ่านไปนานกว่าหนึ่งปี อย่างไรก็ตาม การนำเสนอของ Wolfram Research บางส่วนขัดแย้งกับข้อมูลนี้และทำให้เกิดข้อผิดพลาดใหม่[24] ข้อผิดพลาดในการคำนวณ (CASE:303438) ได้รับการแก้ไขแล้วตั้งแต่เวอร์ชัน 11.1 และไม่มีอีกต่อไปในเวอร์ชั่นปัจจุบัน

Remove ads

ดูเพิ่มเติม

  • วุลแฟรม อัลฟ่า
  • รายชื่อซอฟต์แวร์ทางสถิติ
  • การคำนวนทางวิทยาศาสตร์
  • Sage (Software), ทางเลือกโอเพ่นซอร์ส

หนังสือและบทความ

  • Hans Benker: MATHEMATICA kompakt: Mathematische Problemlösungen für Ingenieure, Mathematiker und Naturwissenschaftler. Springer, Berlin / Heidelberg 2016, ISBN 978-3-662-49610-7.
  • Stephen Wolfram: An Elementary Introduction to the Wolfram Language. Wolfram Media, Champaign IL 2015, ISBN 978-1-944183-00-4.
  • Knut Lorenzen: Einführung in Mathematica: Berücksichtigt die kostenlose Version 10 für den Raspberry Pi. mitp Verlag, 2014, ISBN 978-3-8266-9666-4.
  • Axel Kilian: Programmieren mit Wolfram Mathematica. Springer, Berlin / Heidelberg 2009, ISBN 978-3-642-04671-1.
  • Michael Trott: The Mathematica GuideBook for Symbolics. Springer, 2006.
  • Michael Trott: The Mathematica GuideBook for Programming. Springer, 2004.
  • Michael Trott: The Mathematica GuideBook for Numerics. Springer, 2006.
  • Michael Trott: The Mathematica GuideBook for Graphics. Springer, 2004.
  • Stephen Wolfram (2004). The Mathematica Book (5th ed.). Wolfram Media. ISBN 1-57955-022-3.
  • Leonid Shifrin. Mathematica Programming.
  • David B. Wagner (1996). Power Programming With Mathematica: The Kernel (PDF). McGraw-Hill Education. ISBN 0-07-912237-X.

อ้างอิง

Loading content...

แหล่งข้อมูลอื่น

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads