ข้ามไปเนื้อหา

ผู้ใช้:Deborgile catfish/ทดลองเขียน

จากวิกิพีเดีย สารานุกรมเสรี
Wolfram Mathematica
นักพัฒนาWolfram Research
วันที่เปิดตัวค.ศ. 1988
รุ่นเสถียร
14.1 / 31 กรกฎาคม 2024[1]
ระบบปฏิบัติการWindows, macOS, Linux, การใช้งาน 64-bit
ภาษาอังกฤษ, เยอรมัน, ญี่ปุ่น
ประเภทระบบพีชคณิตทางคอมพิวเตอร์, การแสดงข้อมูล, ซอฟต์แวร์สถิติ, อินเทอร์เฟซผู้ใช้แบบกราฟิก
สัญญาอนุญาตกรรมสิทธิ์
เว็บไซต์wolfram.com/products/mathematica

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

ชุดโปรแกรม Mathematica

[แก้]

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

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

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

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

[แก้]

Dini-Fläche mit variablen Parametern geplottet

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) และแก้ไขใหม่ได้ เพื่อให้ยังคงมีความได้เปรียบจากไวยกรณ์แบบทั่วไป.[8][9]

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

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

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

ภาษา

[แก้]

ภาษาในโปรแกรม Mathematica (Wolfram Language)[11] มีพื้นฐานมาจากภาษา 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.

ผลของคำสั่ง 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) แต่ยังสามารถโปรแกรมคำสั่งที่จำเป็นได้ ด้วยฟังก์ชันภายในนับหมื่นรายการ โปรแกรมจึงถูกเขียนได้หลากหลายและรวดเร็ว

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

[แก้]

ตัวอย่างที่ 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=
ภาพหน้าจอของโปรแกรม Mathematica เวอร์ชัน 3.0 แสดงผลเมทริกซ์ วงเล็บสีน้ำเงินทางด้านขวาเรียกว่าเซลล์

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

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=
[13]

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

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

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

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

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

รูปแบบพลาโทนิก เป็น ทรงหลายหน้า ซึ่งล้อมรอบด้วยรูปทรงหลายหน้าปรกติ. มีการจำแนกยู่ห้ารูปแบบ (จัตุรมุข, ลูกบาศก์, ทรงแปดหน้า, สิบสองหน้า, ไอโคซาฮีดรอน). ในการวาดสิ่งเหล่านี้ Mathematica จะรวมฟังก์ชันไว้ด้วย Polyhedron[14] ซึ่งต้องระบุชื่อภาษาอังกฤษของรูปทรงหลายเหลี่ยมเป็นอาร์กิวเมนต์. มีฟังก์ชันอื่นๆ ที่เกี่ยวข้อง เช่น ฟังก์ชัน 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) ไวยากรณ์ของฟังก์ชันรูปทรงหลายเหลี่ยมมีการเปลี่ยนแปลง[15]

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

[แก้]

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

รุ่น วันที่เผยแพร่
1.0 23 มิถุนายน 1988
1.1 31 ตุลาคม 1988
1.2 1 สิงหาคม 1989
2.0 15 มกราคม 1991
2.1 15 มิถุนายน 1992
2.2 1 มิถุนายน 1993
3.0 3 กันยายน 1996
4.0 19 พฤษภาคม 1999
4.1 2 พฤศจิกายน 2000
4.2 1 พฤศจิกายน 2002
5.0 12 มิถุนายน 2003
5.1 25 ตุลาคม 2004
5.2 20 มิถุนายน 2005
6.0 1 พฤษภาคม 2007
7.0 18 พฤศจิกายน 2008
7.0.1 5 มีนาคม 2009
8.0 15 พฤศจิกายน 2010
8.0.1 7 มีนาคม 2011
8.0.4 24 ตุลาคม 2011
9.0 28 พฤศจิกายน 2012
9.0.1 30 มกราคม 2013
10 9 กรกฎาคม 2014
10.0.1 17 กันยายน 2014
10.0.2 15 ธันวาคม 2014
10.1 31 มีนาคม 2015
10.2 14 กรกฎาคม 2015
10.3 15 ตุลาคม 2015
10.3.1 16 ธันวาคม 2015
10.4 2 มีนาคม 2016
10.4.1 18 เมษายน 2016
11 9 สิงหาคม 2016
11.0.1 28 กันยายน 2016
11.1 16 มีนาคม 2017
11.1.1 25 เมษายน 2017
11.2 14 กันยายน 2017
11.3 8 มีนาคม 2018
12.0 16 เมษายน 2019
12.1 18 มีนาคม 2020
12.2 16 ธันวาคม 2020
12.3 20 พฤษภาคม 2021
12.3.1 กรกฎาคม 2021
13.0 13 ธันวาคม 2021
13.1 29 มิถุนายน 2022
13.2 14 ธันวาคม 2022
13.2.1 กุมภาพันธ์ 2023
13.3 12 มิถุนายน 2023
14.0 9 มกราคม 2024
14.1 31 กรกฎาคม 2024

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

[แก้]

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

ปัญหา

[แก้]

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

ดูเพิ่มเติม

[แก้]

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

[แก้]
  • 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.

แหล่งข้อมูล

[แก้]

อ้างอิง

[แก้]
  1. Stephen Wolfram (2024-07-31). "Yet More New Ideas and New Functions: Launching Version 14.1 of Wolfram Language & Mathematica" (ภาษาอังกฤษ). สืบค้นเมื่อ 2024-08-09.
  2. แม่แบบ:Internetquelle
  3. แม่แบบ:Internetquelle
  4. แม่แบบ:Literatur
  5. แม่แบบ:Internetquelle
  6. แม่แบบ:Literatur
  7. แม่แบบ:Internetquelle
  8. แม่แบบ:Internetquelle
  9. wolfram.com free form linguistic input
  10. Heise, 15. November 2013: Mathematica-Chef Wolfram kündigt Programmiersprache an, Herstellerlink: Wolfram Programming Language
  11. wolfram.com Wolfram Language – Wissensbasiertes Programmieren
  12. Das übliche Malzeichen, das Sternchen (*) der Tabellenkalkulations-Programme und Programmiersprachen, bewirkt die elementweise Multiplikation.
  13. Die Wiedergabe hier entspricht nicht genau der Ausschrift von Mathematica, die der Screenshot zeigt. Es wurde der gemeinsame Nenner aller Matrixelemente herausgezogen.
  14. แม่แบบ:Literatur
  15. Polyhedron
  16. แม่แบบ:Internetquelle
  17. wolfram.com
  18. hackage.haskell.org
  19. แม่แบบ:Webarchiv
  20. library.wolfram.com
  21. library.wolfram.com
  22. clojuratica.weebly.com
  23. heise.de