รากของพหุนาม
กำหนดให้
$a_0,a_1,\ldots,a_n$ เป็นจำนวนจริงหรือจำนวนเชิงซ้อน
$n$ เป็นจำนวนเต็มบวก
$p(x)$ เป็นพหุนามที่อยู่ในรูป
\[ p(x)=a_nx^n + a_{n-1}x^{n-1}+\cdots+a_2x^2+a_1x+a_0\]
แอปพลิเคชันนี้ใช้คำนวณหารากทั้งหมดของพหุนามซึ่งอาจจะมีบางรากที่ซ้ำกัน
ถ้า $r$ เป็นรากของพหุนามดังกล่าวเราจะได้ $p(r)=0$ ในการคำนวณนี้เราใช้ Jenkins-Traub algorithm ตามรายละเอียดในหนังสืออ้างอิงข้างล่าง
การใส่ข้อมูลพหุนาม
แอปพลิเคชันนี้ต้องการเพียงคู่ของสัมประสิทธิ์และเลขยกกำลังของ $x$ ของทุกเทอมในพหุนาม โดยใส่หนึ่งแถวต่อหนึ่งเทอม แถวหนึ่งประกอบด้วยสัมประสิทธิ์และคั่นด้วยช่องว่างอย่างน้อยหนึ่งช่อง ตามด้วยเลขยกกำลัง ลำดับแถวหรือเทอมไม่สำคัญใส่อันไหนก่อนก็ได้
ยกตัวอย่างเช่น $8x^7+4x^3+2$ จะใส่ข้อมูลเป็น
8 7 4 3 2 0หรือ
4 3 2 0 8 7จะสังเกตว่าตรงเลข 2 ต้องใส่เลขยกกำลังเป็น 0 และไม่มีตัวแปร $x$ ในข้อมูลเพราะมันไม่ได้ใช้ ส่วนเทอมที่ไม่มีในพหุนาม เช่น $x^6$ หรือ $x^5$ หรืออื่นๆถือว่าสัมประสิทธิ์เป็นศูนย์จึงไม่จำเป็นต้องใส่ข้อมูลพหุนาม
กรณีของจำนวนเชิงซ้อนก็ทำเหมือนกัน เช่น $(8+7i)x^6+(5+4i)x^3-2i$ จะใส่ข้อมูลเป็น
8+7i 6 5+4i 3 -2i 0หรือสลับแถวกันก็ได้
หนังสืออ้างอิง
- M. A. Jenkins and J. F. Traub, Algorithm 419: Zeros of a Complex Polynomial, Comm. ACM, 15, 97-99, 1972
- M. A. Jenkins, Algorithm 493: Zeros of a Real Polynomial, ACM TOMS, 1, 178-189, 1975