การแยกตัวประกอบ (
อังกฤษ: factorization) ในทาง
คณิตศาสตร์ หมายถึงการแบ่งย่อยวัตถุทางคณิตศาสตร์ (เช่น
จำนวน พหุนาม หรือ
เมทริกซ์) ให้อยู่ในรูป
ผลคูณของวัตถุอื่น ซึ่งเมื่อคูณ
ตัวประกอบเหล่านั้นเข้าด้วยกันจะได้ผลลัพธ์ดังเดิม ตัวอย่างเช่น จำนวน
15 สามารถแยกตัวประกอบให้เป็น
จำนวนเฉพาะได้เป็น 3 × 5 และพหุนาม x 2 − 4 {\displaystyle x^{2}-4} สามารถแยกได้เป็น ( x − 2 ) ( x + 2 ) {\displaystyle (x-2)(x+2)} เป็นต้น
จำนวนเชิงซ้อน (
อังกฤษ : complex number) ในทาง
คณิตศาสตร์ คือ เซตที่ต่อเติมจากเซตของ
จำนวนจริงโดยเพิ่มจำนวน i {\displaystyle i} ซึ่งทำให้สมการ i 2 + 1 = 0 {\displaystyle i^{2}+1=0} เป็นจริง และหลังจากนั้นเพิ่มสมาชิกตัวอื่น ๆ เข้าไปจนกระทั่งเซตที่ได้ใหม่มีสมบัติการปิดภายใต้การบวกและการคูณ จำนวนเชิงซ้อน z {\displaystyle z} ทุกตัวสามารถเขียนอยู่ในรูป x + i y {\displaystyle x+iy} โดยที่ x {\displaystyle x} และ y {\displaystyle y} เป็นจำนวนจริง โดยเราเรียก x {\displaystyle x} และ y {\displaystyle y} ว่า
ส่วนจริง (real part) และ
ส่วนจินตภาพ (imaginary part) ของ z {\displaystyle z} ตามลำดับจุดมุ่งหมายของการแยกตัวประกอบคือการลดทอนวัตถุให้เล็กลง อาทิ จากจำนวนไปเป็นจำนวนเฉพาะ จากพหุนามไปเป็น
พหุนามลดทอนไม่ได้ (irreducible polynomial) การแยกตัวประกอบ
จำนวนเต็มเป็นส่วนหนึ่งของ
ทฤษฎีบทมูลฐานของเลขคณิต ส่วนการแยกตัวประกอบพหุนามเป็นส่วนหนึ่งของ
ทฤษฎีบทมูลฐานของพีชคณิต สำหรับพหุนาม สิ่งที่ตรงข้ามกับการแยกตัวประกอบคือ
การกระจายพหุนาม (polynomial expansion) ซึ่งเป็น
การคูณตัวประกอบทุกตัวเข้าด้วยกันเป็นพหุนามใหม่
การแยกตัวประกอบจำนวนเต็มสำหรับจำนวนขนาดใหญ่อาจกลายเป็นข้อปัญหาที่ยุ่งยาก ซึ่งไม่มีวิธีใดที่สามารถแยกตัวประกอบจำนวนขนาดใหญ่ได้อย่างรวดเร็ว แต่ความยุ่งยากนี้เป็นประโยชน์ต่อการรักษาความปลอดภัยในขั้นตอนวิธีของ
การเข้ารหัสลับแบบกุญแจอสมมาตร อย่างเช่น
RSAสำหรับการแยกตัวประกอบของเมทริกซ์เรียกว่า
การแยกเมทริกซ์ (matrix decomposition) ซึ่งมีวิธีการที่เหมาะสมแตกต่างกันไปสำหรับเมทริกซ์นั้นๆ เช่น
การแยกแบบคิวอาร์ (QR decomposition) เป็นต้น วิธีหลักอย่างหนึ่งที่นิยมคือการทำให้เป็นผลคูณของ
เมทริกซ์เชิงตั้งฉาก (orthogonal matrix) หรือ
เมทริกซ์ยูนิแทรี (unitary matrix) กับ
เมทริกซ์แบบสามเหลี่ยม (triangular matrix)อีกตัวอย่างหนึ่งของการแยกตัวประกอบคือการแยก
ฟังก์ชันให้กลายเป็น
การประกอบฟังก์ชัน (function composition) กับฟังก์ชันอื่นโดยมีเงื่อนไขที่เจาะจง ตัวอย่างเงื่อนไขเช่น ฟังก์ชันทุกฟังก์ชันสามารถเขียนให้อยู่ในรูปของการประกอบของ
ฟังก์ชันทั่วถึง (surjective function) กับ
ฟังก์ชันหนึ่งต่อหนึ่ง (injective function) เป็นต้น