พิมพ์คำที่ต้องการค้นหา ทั้งภาษาไทยและอังกฤษ

  1. หน้าแรก
  2. คลังความรู้
  3. พีชคณิตเชิงเส้น
  4. ระบบสมการเชิงเส้น

// บทที่ 7.3 · พีชคณิตเชิงเส้น · Systems of Linear Equations

ระบบสมการเชิงเส้นและการกำจัดแบบเกาส์ (Systems of Linear Equations)

การลดแถว (row reduction) คือวิธีที่ทรงพลังที่สุดของพีชคณิตเชิงเส้น ใช้ได้กับทุกระบบ ทุกขนาด ทั้งที่มีคำตอบเดียว ไม่มีคำตอบ หรือมีคำตอบไม่จำกัด และเป็นวิธีที่โปรแกรมจำลองวงจรอย่าง SPICE ใช้จริง หน้านี้เริ่มจากภาพของเส้นตรงตัดกันแบบ ม.ปลาย ไปจนถึงแรงก์ การแยก LU และกำลังสองน้อยสุด สูตรใช้รหัส L

เขียนโดย อาจารย์มดอัปเดต
สรุปใน 30 วินาที
  • เขียนระบบเป็นเมทริกซ์แต่งเติม [A∣b][A\mid\mathbf b] แล้วลดแถวด้วยการดำเนินการสามแบบ: สลับแถว คูณแถว บวกพหุคูณ
  • ลดจนเป็นขั้นบันได (REF) แล้วแทนค่าย้อนกลับ หรือลดต่อเป็น RREF แล้วอ่านคำตอบ
  • แถว [0 ⋯ 0∣c≠0][0\ \cdots\ 0\mid c\ne0] = ไม่มีคำตอบ · ตัวหลักครบทุกหลัก = คำตอบเดียว · มีหลักไม่มีตัวหลัก = คำตอบไม่จำกัด
  • แรงก์ = จำนวนตัวหลัก และจำนวนพารามิเตอร์อิสระ = จำนวนตัวแปร − แรงก์
ระดับพื้นฐาน ม.ปลาย · ปี 1กลาง ป.ตรี วิศวกรรมขั้นสูง ป.โท · งานวิจัย
อ่านวิธีทำตัวหลัก (pivot)ค่าที่กำลังเปลี่ยนคำตอบ

ภาพของระบบสมการ: สามกรณีที่เป็นไปได้ พื้นฐาน

ระบบสองสมการสองตัวแปรคือเส้นตรงสองเส้น คำตอบคือจุดที่เส้นทั้งสองตัดกัน ซึ่งมีได้แค่สามแบบ และสามแบบนี้เป็นจริงกับระบบทุกขนาด ไม่มีระบบเชิงเส้นไหนมีคำตอบสองหรือสามคำตอบพอดี

ตัดกันจุดเดียว ขนาน ไม่มีคำตอบ ทับกัน คำตอบไม่จำกัด
สามมิติก็เหมือนกัน แต่เป็นระนาบตัดกัน: ตัดกันที่จุดเดียว ไม่มีจุดร่วม หรือตัดกันเป็นเส้น/ระนาบ (ไม่จำกัด)

L1 Matrix form and augmented matrix รูปเมทริกซ์และเมทริกซ์แต่งเติม

a11x1+⋯+a1nxn=b1  ⋮am1x1+⋯+amnxn=bm  ⟺  Ax=b  ⟺  [a11⋯a1nb1⋮⋮⋮am1⋯amnbm]\begin{aligned} a_{11}x_1 + \cdots + a_{1n}x_n &= b_1 \\ &\ \,\vdots \\ a_{m1}x_1 + \cdots + a_{mn}x_n &= b_m \end{aligned} \iff A\mathbf x = \mathbf b \iff \left[\begin{array}{ccc|c} a_{11} & \cdots & a_{1n} & b_1 \\ \vdots & & \vdots & \vdots \\ a_{m1} & \cdots & a_{mn} & b_m \end{array}\right]

AA เมทริกซ์สัมประสิทธิ์ (coefficient matrix) m×nm\times n · x\mathbf x เวกเตอร์ตัวแปร · b\mathbf b ค่าคงที่ทางขวา · เส้นตั้งแยก A กับ b ไว้เพื่อเตือนว่าหลักขวาสุดคือค่าคงที่

การดำเนินการตามแถวเบื้องต้น พื้นฐาน

สามการดำเนินการนี้คือสิ่งที่ทำกับสมการได้อยู่แล้วตั้งแต่ ม.ต้น: สลับลำดับสมการ คูณสมการด้วยค่าไม่เป็นศูนย์ และเอาสมการหนึ่งบวกด้วยพหุคูณของอีกสมการ ทำแล้วคำตอบไม่เปลี่ยน ระบบใหม่จึง “สมมูล” กับระบบเดิม

L2 Elementary row operations การดำเนินการตามแถวเบื้องต้น

(1) Ri↔Rj(2) Ri←kRi (k≠0)(3) Ri←Ri+kRj (i≠j)\text{(1) } R_i \leftrightarrow R_j \qquad \text{(2) } R_i \leftarrow kR_i \ (k \ne 0) \qquad \text{(3) } R_i \leftarrow R_i + kR_j \ (i \ne j)

เขียนกำกับไว้บนลูกศรทุกครั้ง เช่น →R2←R2−2R1\xrightarrow{R_2 \leftarrow R_2 - 2R_1} ช่วยให้ตรวจย้อนได้ และเป็นวิธีที่อาจารย์ให้คะแนนวิธีทำ

L3 Row echelon form (REF) รูปแบบขั้นบันไดแถว

(■∗∗∗0■∗∗000■0000)\begin{pmatrix} \hlP{\blacksquare} & * & * & * \\ 0 & \hlP{\blacksquare} & * & * \\ 0 & 0 & 0 & \hlP{\blacksquare} \\ 0 & 0 & 0 & 0 \end{pmatrix}

ตัวหลัก (pivot, ■ ไม่เป็นศูนย์) แต่ละแถวอยู่ขวาของแถวบน · ใต้ตัวหลักเป็นศูนย์ · แถวศูนย์อยู่ล่างสุด

L4 Reduced row echelon form (RREF) รูปแบบขั้นบันไดแถวลดรูป

(10∗001∗000010000)\begin{pmatrix} \hlP{1} & 0 & * & 0 \\ 0 & \hlP{1} & * & 0 \\ 0 & 0 & 0 & \hlP{1} \\ 0 & 0 & 0 & 0 \end{pmatrix}

เพิ่มจาก REF: ตัวหลักเป็น 1 และเหนือตัวหลักเป็นศูนย์ด้วย RREF ของเมทริกซ์หนึ่งมีแบบเดียว (unique)

การกำจัดแบบเกาส์ (Gaussian Elimination) พื้นฐาน

L8 Gaussian elimination + back substitution ขั้นตอนการกำจัดแบบเกาส์

[A∣b] →สร้างศูนย์ใต้ตัวหลักทีละหลัก [U∣c] →แทนค่าย้อนกลับ ล่าง → บน x[A\mid\mathbf b] \ \xrightarrow{\text{สร้างศูนย์ใต้ตัวหลักทีละหลัก}} \ [U\mid\mathbf c] \ \xrightarrow{\text{แทนค่าย้อนกลับ ล่าง → บน}} \ \mathbf x

ทีละหลักจากซ้ายไปขวา: (1) เลือกตัวหลักที่ไม่เป็นศูนย์ ถ้าเป็น 0 ให้สลับแถว (2) ใช้ Ri←Ri−aikakkRkR_i \leftarrow R_i - \tfrac{a_{ik}}{a_{kk}}R_k ล้างทุกตัวใต้ตัวหลัก (3) ขยับไปหลักถัดไป · เคล็ดลับทำมือ: ถ้ามีแถวที่ขึ้นต้นด้วย 1 ให้สลับขึ้นมาเป็นตัวหลัก เลี่ยงเศษส่วน

ตัวอย่าง L-1 · เกาส์ 3×3

แก้ระบบ x+y+z=62x−y+z=3x+2y−z=2\begin{aligned} x + y + z &= 6 \\ 2x - y + z &= 3 \\ x + 2y - z &= 2 \end{aligned}

  1. เขียนเมทริกซ์แต่งเติม L1

    [11162−11312−12]\left[\begin{array}{ccc|c} \hlP{1} & 1 & 1 & 6 \\ 2 & -1 & 1 & 3 \\ 1 & 2 & -1 & 2 \end{array}\right]
  2. ใช้ 1\hlP{1} มุมซ้ายบนล้างหลักที่ 1 L2

    →R3←R3−R1R2←R2−2R1[11160−3−1−901−2−4]\xrightarrow[R_3 \leftarrow R_3 - R_1]{R_2 \leftarrow R_2 - 2R_1} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & \hlF{-3} & \hlF{-1} & \hlF{-9} \\ 0 & \hlF{1} & \hlF{-2} & \hlF{-4} \end{array}\right]
  3. แถว 3 ขึ้นต้นด้วย 1 สลับขึ้นมาเป็นตัวหลักจะไม่มีเศษส่วน

    →R2↔R3[111601−2−40−3−1−9]\xrightarrow{R_2 \leftrightarrow R_3} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & \hlP{1} & -2 & -4 \\ 0 & -3 & -1 & -9 \end{array}\right]
  4. →R3←R3+3R2[111601−2−400−7−21]\xrightarrow{R_3 \leftarrow R_3 + 3R_2} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & 1 & -2 & -4 \\ 0 & 0 & \hlF{-7} & \hlF{-21} \end{array}\right]

    ได้รูปขั้นบันได L3

  5. แทนค่าย้อนกลับจากแถวล่าง

    −7z=−21⇒ z=3y−2(3)=−4⇒ y=2x+2+3=6⇒ x=1\begin{aligned} -7z &= -21 &&\Rightarrow\ \hlU{z = 3} \\ y - 2(3) &= -4 &&\Rightarrow\ \hlU{y = 2} \\ x + 2 + 3 &= 6 &&\Rightarrow\ \hlU{x = 1} \end{aligned}

(x,y,z)=(1,2,3)(x, y, z) = (1, 2, 3)

ตรวจ: 1+2+3=61 + 2 + 3 = 6 ✓ · 2−2+3=32 - 2 + 3 = 3 ✓ · 1+4−3=21 + 4 - 3 = 2 ✓

ตัวอย่าง L-2 · ลดต่อเป็น RREF (เกาส์-จอร์แดน)

ทำต่อจากขั้นบันไดของตัวอย่าง L-1 จนอ่านคำตอบได้ทันที

  1. →R3←−17R3[111601−2−40013]\xrightarrow{R_3 \leftarrow -\frac17R_3} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 6 \\ 0 & 1 & -2 & -4 \\ 0 & 0 & \hlP{1} & 3 \end{array}\right]
  2. ล้างเหนือตัวหลักของหลักที่ 3

    →R1←R1−R3R2←R2+2R3[110301020013]\xrightarrow[R_1 \leftarrow R_1 - R_3]{R_2 \leftarrow R_2 + 2R_3} \left[\begin{array}{ccc|c} 1 & 1 & 0 & 3 \\ 0 & \hlP{1} & 0 & 2 \\ 0 & 0 & 1 & 3 \end{array}\right]
  3. →R1←R1−R2[100101020013]\xrightarrow{R_1 \leftarrow R_1 - R_2} \left[\begin{array}{ccc|c} 1 & 0 & 0 & \hlU{1} \\ 0 & 1 & 0 & \hlU{2} \\ 0 & 0 & 1 & \hlU{3} \end{array}\right]

    ด้านซ้ายกลายเป็น II ด้านขวาคือคำตอบ L4

อ่านได้เลย x=1, y=2, z=3x = 1,\ y = 2,\ z = 3 ถ้าวางหลัก II ทางขวาแทน b\mathbf b จะได้อินเวอร์สด้วยวิธีเดียวกัน ดูหน้าอินเวอร์ส

แรงก์และเงื่อนไขการมีคำตอบ กลาง

เจาะลึกแยกหน้า: วิธีหาแรงก์ด้วยไมเนอร์ โจทย์พารามิเตอร์ kk ปริภูมิศูนย์ แรงก์-ภาวะศูนย์ และแล็บสามระนาบ 3 มิติ อยู่ใน ค่าลำดับขั้นของเมทริกซ์ (แรงก์) บทที่ 7.10

หลังลดแถวแล้วไม่ต้องเดาอีก ทุกอย่างอ่านจากตำแหน่งของตัวหลัก จำนวนตัวหลักมีชื่อเรียกว่าแรงก์ (rank, ลำดับชั้น)

L5 Rank แรงก์

rank⁡A=จำนวนตัวหลักใน REF ของ A\operatorname{rank}A = \text{จำนวนตัวหลักใน REF ของ } A

เท่ากับจำนวนแถวที่อิสระเชิงเส้น = จำนวนหลักที่อิสระเชิงเส้น · rank⁡A≤min⁡(m,n)\operatorname{rank}A \le \min(m, n) · rank⁡AT=rank⁡A\operatorname{rank}A^T = \operatorname{rank}A

L7 Homogeneous system and rank–nullity ระบบเอกพันธ์

Ax=0 มีคำตอบไม่ชัด  ⟺  rank⁡A<n,dim⁡N(A)=n−rank⁡AA\mathbf x = \mathbf 0 \text{ มีคำตอบไม่ชัด} \iff \operatorname{rank}A \lt n, \qquad \dim N(A) = n - \operatorname{rank}A

ระบบเอกพันธ์มีคำตอบ x=0\mathbf x = \mathbf 0 เสมอ (trivial) ถ้า AA จัตุรัส มีคำตอบอื่นด้วยก็ต่อเมื่อ det⁡A=0\det A = 0 ซึ่งเป็นหัวใจของการหาเวกเตอร์เฉพาะ

L6 Rouché–Capelli theorem เงื่อนไขการมีคำตอบ (ตัวแปร nn ตัว)

{rank⁡A<rank⁡[A∣b]ไม่มีคำตอบ (inconsistent)rank⁡A=rank⁡[A∣b]=nมีคำตอบเดียวrank⁡A=rank⁡[A∣b]=r<nมีคำตอบไม่จำกัด มีพารามิเตอร์อิสระ n−r ตัว\begin{cases} \operatorname{rank}A \lt \operatorname{rank}[A\mid\mathbf b] & \text{ไม่มีคำตอบ (inconsistent)} \\ \operatorname{rank}A = \operatorname{rank}[A\mid\mathbf b] = n & \text{มีคำตอบเดียว} \\ \operatorname{rank}A = \operatorname{rank}[A\mid\mathbf b] = r \lt n & \text{มีคำตอบไม่จำกัด มีพารามิเตอร์อิสระ } n - r \text{ ตัว} \end{cases}

อ่านง่าย ๆ จาก REF: เจอแถว [0 ⋯ 0∣c≠0][0\ \cdots\ 0\mid c\ne0] = ไม่มีคำตอบ · ไม่เจอ และทุกหลักของ A มีตัวหลัก = คำตอบเดียว · ไม่เจอ แต่บางหลักไม่มีตัวหลัก = ไม่จำกัด

L12 Structure of the general solution โครงสร้างของคำตอบทั่วไป

x=xp+xh,Axp=b,Axh=0\mathbf x = \mathbf x_p + \mathbf x_h, \qquad A\mathbf x_p = \mathbf b, \quad A\mathbf x_h = \mathbf 0

คำตอบเฉพาะหนึ่งตัวบวกคำตอบทุกตัวของระบบเอกพันธ์ โครงสร้างเดียวกับคำตอบสมการเชิงอนุพันธ์ในวงจร (ผลตอบสนองบังคับ + ผลตอบสนองธรรมชาติ)

ตัวอย่าง L-3 · ระบบที่ไม่มีคำตอบ

แก้ระบบ x+y+z=3x+2y+3z=52x+3y+4z=9\begin{aligned} x + y + z &= 3 \\ x + 2y + 3z &= 5 \\ 2x + 3y + 4z &= 9 \end{aligned}

  1. [111312352349]→R3←R3−2R1R2←R2−R1[111301220123]\left[\begin{array}{ccc|c} 1 & 1 & 1 & 3 \\ 1 & 2 & 3 & 5 \\ 2 & 3 & 4 & 9 \end{array}\right] \xrightarrow[R_3 \leftarrow R_3 - 2R_1]{R_2 \leftarrow R_2 - R_1} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 3 \\ 0 & 1 & 2 & 2 \\ 0 & 1 & 2 & 3 \end{array}\right]
  2. →R3←R3−R2[111301220001]\xrightarrow{R_3 \leftarrow R_3 - R_2} \left[\begin{array}{ccc|c} 1 & 1 & 1 & 3 \\ 0 & 1 & 2 & 2 \\ \hlF{0} & \hlF{0} & \hlF{0} & \hlF{1} \end{array}\right]
  3. แถวสุดท้ายอ่านว่า 0x+0y+0z=10x + 0y + 0z = 1 คือ 0=10 = 1 เป็นไปไม่ได้ · rank⁡A=2<rank⁡[A∣b]=3\operatorname{rank}A = 2 \lt \operatorname{rank}[A\mid\mathbf b] = 3 L6

ระบบไม่มีคำตอบ (สมการที่ 3 ขัดกับผลบวกของสมการ 1 และ 2 ซึ่งให้ 2x+3y+4z=82x + 3y + 4z = 8)

ตัวอย่าง L-4 · ระบบที่มีคำตอบไม่จำกัด

เปลี่ยนค่าคงที่สมการที่ 3 เป็น 8:  2x+3y+4z=8\ 2x + 3y + 4z = 8

  1. ลดแถวเหมือนเดิม แถวสุดท้ายกลายเป็นศูนย์ทั้งแถว แล้วลดต่อเป็น RREF

    [111301220000]→R1←R1−R2[10−1101220000]\left[\begin{array}{ccc|c} 1 & 1 & 1 & 3 \\ 0 & 1 & 2 & 2 \\ 0 & 0 & 0 & 0 \end{array}\right] \xrightarrow{R_1 \leftarrow R_1 - R_2} \left[\begin{array}{ccc|c} \hlP{1} & 0 & -1 & 1 \\ 0 & \hlP{1} & 2 & 2 \\ 0 & 0 & 0 & 0 \end{array}\right]
  2. หลักที่ 3 (ของ zz) ไม่มีตัวหลัก → zz เป็นตัวแปรอิสระ ตั้ง z=tz = t · จำนวนพารามิเตอร์ =3−2=1= 3 - 2 = 1 L6

    x−z=1⇒x=1+t,y+2z=2⇒y=2−2tx - z = 1 \Rightarrow x = 1 + t, \qquad y + 2z = 2 \Rightarrow y = 2 - 2t
  3. เขียนในรูปเวกเตอร์ แยกส่วนคงที่กับส่วนที่คูณ tt L12

    (xyz)=(120)⏟xp+t(1−21)⏟xh,t∈R\begin{pmatrix} x \\ y \\ z \end{pmatrix} = \underbrace{\begin{pmatrix} 1 \\ 2 \\ 0 \end{pmatrix}}_{\mathbf x_p} + t\underbrace{\begin{pmatrix} 1 \\ -2 \\ 1 \end{pmatrix}}_{\mathbf x_h}, \quad t \in \mathbb R

คำตอบไม่จำกัด เป็นเส้นตรงในปริภูมิสามมิติ เช่น t=0t = 0 ได้ (1,2,0)(1, 2, 0) และ t=1t = 1 ได้ (2,0,1)(2, 0, 1)

ตรวจ xh\mathbf x_h: Axh=(1−2+1, 1−4+3, 2−6+4)=(0,0,0)A\mathbf x_h = (1 - 2 + 1,\ 1 - 4 + 3,\ 2 - 6 + 4) = (0, 0, 0) ✓ คำตอบที่เขียนต่างกัน (เช่นเลือก x=sx = s เป็นพารามิเตอร์) ก็ถูกได้ ถ้าแทนกลับแล้วสอดคล้องทุกสมการ

เลือกวิธีไหนดี พื้นฐาน → กลาง

วิธีเหมาะกับข้อจำกัดจำนวนการคูณโดยประมาณ
แทนค่า/กำจัดตัวแปร (ม.ต้น)2 ตัวแปรเกิน 3 ตัวแปรสับสนง่าย—
คราเมอร์2–3 ตัวแปร ต้องการตัวแปรเดียว มีพารามิเตอร์ตัวอักษรต้อง det⁡A≠0\det A \ne 0 ช้ามากเมื่อ n ใหญ่(n+1)(n+1) ดีเทอร์มิแนนต์
อินเวอร์ส x=A−1b\mathbf x = A^{-1}\mathbf bAA เดิม แต่ b\mathbf b เปลี่ยนหลายรอบต้อง det⁡A≠0\det A \ne 0 หาอินเวอร์สแพงกว่าแก้ตรง≈n3\approx n^3
เกาส์ / เกาส์-จอร์แดนทุกกรณี บอกได้ว่าไม่มีหรือไม่จำกัดทำมือนานเมื่อ n ใหญ่≈n3/3\approx n^3/3
LU (คอมพิวเตอร์)ระบบใหญ่ b\mathbf b หลายชุดต้องสลับแถวเพื่อความเสถียร≈n3/3\approx n^3/3 ครั้งเดียว แล้ว n2n^2 ต่อ b\mathbf b

การแยก LU (LU Decomposition) ขั้นสูง

เจาะลึกแยกหน้า: PA = LU แบบสลับแถว โชเลสกี อัลกอริทึมโทมัส และแล็บแยก LU ทีละขั้น อยู่ใน ผลเฉลยเชิงตัวเลข บทที่ 7.11

การกำจัดแบบเกาส์คือการแยก AA เป็นผลคูณของสามเหลี่ยมล่าง LL (เก็บตัวคูณที่ใช้ล้างแถว) กับสามเหลี่ยมบน UU (ผลลัพธ์ขั้นบันได) แยกครั้งเดียวแล้วแก้ b\mathbf b ใหม่ได้เร็วมาก วงจรเดิมที่เปลี่ยนแหล่งจ่ายหลายรอบจึงใช้ LU

L9 LU decomposition การแยก LU (แบบ Doolittle)

A=LU⇒Ax=b  ⟺  {Ly=b(แทนค่าไปข้างหน้า บน → ล่าง)Ux=y(แทนค่าย้อนกลับ ล่าง → บน)A = LU \quad\Rightarrow\quad A\mathbf x = \mathbf b \iff \begin{cases} L\mathbf y = \mathbf b & \text{(แทนค่าไปข้างหน้า บน → ล่าง)} \\ U\mathbf x = \mathbf y & \text{(แทนค่าย้อนกลับ ล่าง → บน)} \end{cases}

LL มี 1 บนเส้นทแยง และ likl_{ik} = ตัวคูณที่ใช้ใน Ri←Ri−likRkR_i \leftarrow R_i - l_{ik}R_k · ถ้าต้องสลับแถวจะได้ PA=LUPA = LU โดย PP คือเมทริกซ์สลับแถว · det⁡A=±∏uii\det A = \pm\prod u_{ii}

ตัวอย่าง L-5 · แยก LU แล้วแก้ระบบ

แยก A=(211433879)A = \begin{pmatrix} 2 & 1 & 1 \\ 4 & 3 & 3 \\ 8 & 7 & 9 \end{pmatrix} แล้วแก้ Ax=(4,10,24)TA\mathbf x = (4, 10, 24)^T

  1. ล้างหลัก 1 ด้วยตัวคูณ l21=4/2=2l_{21} = 4/2 = \hlF{2} และ l31=8/2=4l_{31} = 8/2 = \hlF{4}

    (211011035)\begin{pmatrix} 2 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 3 & 5 \end{pmatrix}
  2. ล้างหลัก 2 ด้วย l32=3/1=3l_{32} = 3/1 = \hlF{3} ได้ UU แล้วเก็บตัวคูณลง LL L9

    U=(211011002),L=(100210431)U = \begin{pmatrix} 2 & 1 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 2 \end{pmatrix}, \qquad L = \begin{pmatrix} 1 & 0 & 0 \\ \hlF{2} & 1 & 0 \\ \hlF{4} & \hlF{3} & 1 \end{pmatrix}
  3. แทนค่าไปข้างหน้า Ly=bL\mathbf y = \mathbf b

    y1=4,2(4)+y2=10⇒y2=2,4(4)+3(2)+y3=24⇒y3=2y_1 = 4, \quad 2(4) + y_2 = 10 \Rightarrow y_2 = 2, \quad 4(4) + 3(2) + y_3 = 24 \Rightarrow y_3 = 2
  4. แทนค่าย้อนกลับ Ux=yU\mathbf x = \mathbf y

    2x3=2⇒x3=1,x2+1=2⇒x2=1,2x1+1+1=4⇒x1=12x_3 = 2 \Rightarrow x_3 = 1, \quad x_2 + 1 = 2 \Rightarrow x_2 = 1, \quad 2x_1 + 1 + 1 = 4 \Rightarrow x_1 = 1

x=(1,1,1)T\mathbf x = (1, 1, 1)^T และได้ det⁡A=2⋅1⋅2=4\det A = 2\cdot1\cdot2 = 4 มาฟรี

ระบบป่วยและการสลับแถวเชิงตัวเลข ขั้นสูง

เจาะลึกแยกหน้า: นอร์ม เลขเงื่อนไข ขอบเขตความคลาดเคลื่อน การทดลองปัดเศษ และวิธีทำซ้ำจาโคบี เกาส์-ไซเดล SOR อยู่ใน ผลเฉลยเชิงตัวเลข บทที่ 7.11

บนกระดาษ det⁡A≠0\det A \ne 0 ก็พอ แต่ในงานจริงค่าที่วัดมีความคลาดเคลื่อน ถ้าเส้นตรงสองเส้นเกือบขนานกัน ขยับข้อมูลนิดเดียวจุดตัดเลื่อนไปไกล ระบบแบบนี้เรียกระบบป่วย (ill-conditioned)

L11 Condition number เลขเงื่อนไข

κ(A)=∥A∥ ∥A−1∥,∥δx∥∥x∥≤κ(A) ∥δb∥∥b∥\kappa(A) = \lVert A\rVert\,\lVert A^{-1}\rVert, \qquad \frac{\lVert\delta\mathbf x\rVert}{\lVert\mathbf x\rVert} \le \kappa(A)\,\frac{\lVert\delta\mathbf b\rVert}{\lVert\mathbf b\rVert}

ความคลาดเคลื่อนสัมพัทธ์ของ b\mathbf b ถูกขยายได้ถึง κ\kappa เท่า · κ≈10k\kappa \approx 10^k แปลว่าเสียความแม่นยำราว kk หลัก · การลดแถวด้วยคอมพิวเตอร์ต้องเลือกตัวหลักที่มีขนาดใหญ่สุดในหลัก (partial pivoting) เพื่อไม่ขยายความคลาดเคลื่อนจากการปัดเศษ

ตัวอย่าง L-6 · เห็นระบบป่วยด้วยตา

เปรียบเทียบ x+y=2x+1.0001y=2.0001\begin{aligned} x + y &= 2 \\ x + 1.0001y &= 2.0001 \end{aligned} กับระบบที่เปลี่ยนค่าขวาของสมการที่ 2 เป็น 2.00022.0002

  1. ระบบแรก: ลบสมการได้ 0.0001y=0.00010.0001y = 0.0001 จึง y=1, x=1y = 1,\ x = 1

  2. ระบบที่สอง: 0.0001y=0.00020.0001y = 0.0002 จึง y=2, x=0y = 2,\ x = 0

  3. ค่าขวาเปลี่ยนแค่ 0.005% แต่คำตอบเปลี่ยนจาก (1,1)(1,1) เป็น (0,2)(0,2) · เลขเงื่อนไขของระบบนี้ κ≈4×104\kappa \approx 4\times10^4 L11

สองเส้นเกือบทับกัน จุดตัดจึงไวมาก ในการวัดจริงต้องออกแบบการทดลองให้สมการ “ตัดกันชัด ๆ” หรือใช้ข้อมูลหลายจุดด้วยวิธีกำลังสองน้อยสุด

สมการมากกว่าตัวแปร: กำลังสองน้อยสุด ขั้นสูง

ในห้องแล็บเราวัดข้อมูลมากกว่าจำนวนตัวแปรที่ต้องการเสมอ ระบบจึงมีสมการเกินและไม่มีคำตอบที่ตรงทุกสมการ (ข้อมูลมีสัญญาณรบกวน) วิธีกำลังสองน้อยสุดหา x\mathbf x ที่ทำให้ผลรวมกำลังสองของความคลาดเคลื่อนน้อยที่สุด

L10 Least squares (normal equations) สมการปกติ

min⁡x∥Ax−b∥2  ⟺  ATA x^=ATb  ⟺  x^=(ATA)−1ATb\min_{\mathbf x}\lVert A\mathbf x - \mathbf b\rVert^2 \iff A^TA\,\hat{\mathbf x} = A^T\mathbf b \iff \hat{\mathbf x} = (A^TA)^{-1}A^T\mathbf b

ATAA^TA จัตุรัสและสมมาตรเสมอ หาอินเวอร์สได้เมื่อหลักของ AA อิสระเชิงเส้น · (ATA)−1AT(A^TA)^{-1}A^T คืออินเวอร์สเทียม (pseudo-inverse) I15

ตัวอย่าง L-7 · หาค่าความต้านทานจากข้อมูลวัด

วัดกระแสและแรงดันตกคร่อมตัวต้านทานได้ (I,V)(I, V) = (1 mA, 2.1 V), (2 mA, 3.9 V), (3 mA, 6.2 V), (4 mA, 7.8 V) ฟิต V=RI+V0V = RI + V_0

  1. ตั้งสมการ 4 สมการ 2 ตัวแปร (R,V0)(R, V_0) โดย II หน่วย mA จึงได้ RR หน่วย kΩ

    (11213141)⏟A(RV0)≈(2.13.96.27.8)⏟b\underbrace{\begin{pmatrix} 1 & 1 \\ 2 & 1 \\ 3 & 1 \\ 4 & 1 \end{pmatrix}}_{A}\begin{pmatrix} R \\ V_0 \end{pmatrix} \approx \underbrace{\begin{pmatrix} 2.1 \\ 3.9 \\ 6.2 \\ 7.8 \end{pmatrix}}_{\mathbf b}
  2. คำนวณ ATAA^TA และ ATbA^T\mathbf b L10

    ATA=(∑I2∑I∑I4)=(3010104),ATb=(∑IV∑V)=(59.720)A^TA = \begin{pmatrix} \sum I^2 & \sum I \\ \sum I & 4 \end{pmatrix} = \begin{pmatrix} 30 & 10 \\ 10 & 4 \end{pmatrix}, \qquad A^T\mathbf b = \begin{pmatrix} \sum IV \\ \sum V \end{pmatrix} = \begin{pmatrix} 59.7 \\ 20 \end{pmatrix}
  3. แก้ระบบ 2×2 ด้วยคราเมอร์ det⁡=120−100=20\det = 120 - 100 = 20

    R=(59.7)(4)−(10)(20)20=38.820=1.94,V0=(30)(20)−(10)(59.7)20=0.15R = \frac{(59.7)(4) - (10)(20)}{20} = \frac{38.8}{20} = 1.94, \qquad V_0 = \frac{(30)(20) - (10)(59.7)}{20} = 0.15

R≈1.94 kΩR \approx 1.94\ \text{k}\Omega และ V0≈0.15V_0 \approx 0.15 V (ค่าชดเชยของเครื่องวัด)

เครื่องคิดเลขแก้ระบบสมการแสดงวิธีทำ

ใส่ AA และ b\mathbf b เครื่องจะลดแถวแบบเกาส์-จอร์แดนเป็นเศษส่วนทีละขั้น บอกว่ามีคำตอบเดียว ไม่มีคำตอบ หรือไม่จำกัด (พร้อมคำตอบในรูปพารามิเตอร์) และถ้ามีคำตอบเดียวจะแสดงวิธีคราเมอร์ให้เทียบด้วย

ต่อยอดไปหน้าถัดไป

ถ้าวาง II ไว้ทางขวาแทน b\mathbf b แล้วลดแถวแบบเกาส์-จอร์แดน ด้านขวาจะกลายเป็น A−1A^{-1} นั่นคือหัวข้อของ อินเวอร์สของเมทริกซ์ ส่วนระบบเอกพันธ์ (A−λI)v=0(A - \lambda I)\mathbf v = \mathbf 0 คือประตูสู่ ค่าเฉพาะและเวกเตอร์เฉพาะ

เส้นทางต่อสำหรับเรื่องระบบสมการโดยตรง: แรงก์และทฤษฎีบทการมีคำตอบ → กฎของคราเมอร์ → วิธีเชิงตัวเลข (LU จาโคบี เกาส์-ไซเดล) → แนวข้อสอบ 45 ข้อ

คำถามที่พบบ่อย

รู้ได้อย่างไรว่าระบบสมการไม่มีคำตอบ?

ลดแถวเมทริกซ์แต่งเติม [A∣b][A\mid\mathbf b] ถ้าเจอแถว [0 0 ⋯ 0∣c][0\ 0\ \cdots\ 0\mid c] ที่ c≠0c \ne 0 แปลว่า 0=c0 = c เป็นไปไม่ได้ ระบบจึงไม่มีคำตอบ ในภาษาแรงก์คือ rank⁡A<rank⁡[A∣b]\operatorname{rank}A \lt \operatorname{rank}[A\mid\mathbf b]

คำตอบไม่จำกัดเขียนอย่างไร?

ลดแถวเป็น RREF หลักที่ไม่มีตัวหลัก (pivot) คือตัวแปรอิสระ ตั้งให้เป็นพารามิเตอร์ เช่น z=tz = t แล้วเขียนตัวแปรอื่นในรูป tt จำนวนพารามิเตอร์เท่ากับจำนวนตัวแปรลบแรงก์

เกาส์กับเกาส์-จอร์แดนต่างกันอย่างไร?

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

ทำไมโปรแกรมคอมพิวเตอร์ไม่ใช้กฎของคราเมอร์?

เพราะต้องหาดีเทอร์มิแนนต์ n+1n+1 ตัว ซึ่งช้ากว่าการลดแถวมากเมื่อ nn ใหญ่ โปรแกรมอย่าง MATLAB, NumPy และ SPICE ใช้การแยก LU พร้อมการสลับแถว (partial pivoting) ซึ่งทั้งเร็วและเสถียรเชิงตัวเลข

อาจารย์มด · ธีรวุฒิ แสวงบุญ
อาจารย์สาขาวิชาวิศวกรรมไฟฟ้า มหาวิทยาลัยราชภัฏธนบุรี สมุทรปราการ · ดูโปรไฟล์