อ่าน 2 นาที
โยริค (ภาษาโปรแกรม)
Yorick เป็น ภาษาโปรแกรม แบบตีความ ที่ออกแบบมาสำหรับ การคำนวณเชิงตัวเลข การ สร้าง กราฟ และการควบคุมโค้ดจำลองทางวิทยาศาสตร์ขนาดใหญ่ มันทำงานได้ค่อนข้างเร็วเนื่องจาก ไวยากรณ์...
โยริค (ภาษาโปรแกรม)
| โยริค | |
|---|---|
| ออกแบบโดย | เดวิด เอช. มันโร |
| ปรากฏครั้งแรก | พ.ศ. 2539 |
| เวอร์ชันเสถียร | 2.2.04 / พฤษภาคม 2558 |
| โอเอส | ระบบปฏิบัติการ ที่คล้าย Unixได้แก่macOSและMicrosoft Windows |
| ใบอนุญาต | บีเอสดี |
| นามสกุลไฟล์ | .ฉัน |
| เว็บไซต์ | github.com/LLNL/yorick |
Yorickเป็นภาษาโปรแกรมแบบตีความ ที่ออกแบบมาสำหรับการคำนวณเชิงตัวเลขการ สร้าง กราฟและการควบคุมโค้ดจำลองทางวิทยาศาสตร์ขนาดใหญ่ มันทำงานได้ค่อนข้างเร็วเนื่องจาก ไวยากรณ์ แบบอาร์เรย์และสามารถขยายได้ผ่าน รูทีนภาษา CหรือFortranมันถูกสร้างขึ้นในปี 1996 โดยDavid H. Munroจากห้องปฏิบัติการแห่งชาติ Lawrence Livermore
คุณสมบัติ
การจัดทำดัชนี
Yorick มีความสามารถในการจัดการองค์ประกอบในอาร์เรย์หลายมิติได้อย่างสะดวกด้วยไวยากรณ์อันทรงพลังของมัน
สามารถเข้าถึงองค์ประกอบหลายอย่างพร้อมกันได้:
> x = [ 1 , 2 , 3 , 4 , 5 , 6 ]; > x [1,2,3,4,5,6] > x ( 3 : 6 ) [3,4,5,6] > x ( 3 : 6 : 2 ) [3,5] > x ( 6 : 3 : -2 ) [6,4]- องค์ประกอบตามอำเภอใจ
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > x ([ 2 , 1 ],[ 1 , 2 ]) [[2,1],[5,4]] > รายการ= โดยที่( 1 < x ) > รายการ[2,3,4,5,6] > y = x ( รายการ) > y [2,3,4,5,6]- ดัชนีเทียม
เช่นเดียวกับ "threading" ในPDLและ "broadcasting" ในNumpy นั้น Yorick มีกลไกในการทำเช่นนี้:
> x = [ 1 , 2 , 3 ] > x [1,2,3] > y = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > y [[1,2,3],[4,5,6]] > y ( - ,) [[[1],[2],[3]],[[4],[5],[6]]] > x ( - ,) [[1],[2],[3]] > x (, - ) [[1,2,3]] > x (, - ) / ปี[[1,1,1],[0,0,0]] > y = [[ 1 . , 2 , 3 ],[ 4 , 5 , 6 ]] > x (, - ) / ปี[[1,1,1],[0.25,0.4,0.5]]- ดัชนียาง
"." คือดัชนีแบบยืดหยุ่นที่ใช้แทนมิติศูนย์หรือมากกว่าหนึ่งมิติของอาร์เรย์
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > x ( .. , 1 ) [1,2,3] > x ( 1 , .. ) [1,4] > x ( 2 , .. , 2 ) 5"*" เป็นเครื่องหมายคล้ายดัชนีที่ใช้ปรับรูปร่างส่วนย่อย (sub-array) ของอาร์เรย์ให้เป็นเวกเตอร์
> x ( * ) [1,2,3,4,5,6]- การคูณเทนเซอร์
การคูณเทน เซอร์ใน Yorick ทำได้ดังนี้:
P(,+, )*Q(, +)
วิธี
> x = [[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]] > x [[1,2,3],[4,5,6]] > y = [[ 7 , 8 ],[ 9 , 10 ],[ 11 , 12 ]] > x (, + ) * y ( + ,) [[39,54,69],[49,68,87],[59,82,105]] > x ( + ,) * y (, + ) [[58,139],[64,154]]ลิงก์ภายนอก
- บทวิจารณ์ Linux Journal
- บทช่วยสอนของ Yorick บน JehTech