Trong toán học, **tích rỗng** là kết quả của phép nhân không nhân tử. Theo quy ước tích rỗng bằng nhân tử đơn vị (nếu như phép nhân đang xét có đơn vị), cũng giống như tổng rỗng – tổng của không số hạng – theo quy ước bằng 0 hoặc bằng đơn vị cộng.

Thuật ngữ "tích rỗng" thường được sử dụng theo nghĩa trên khi bàn luận về các phép toán số học. Tuy vậy, thuật ngữ này đôi khi được dùng trong những ngành khác như phép giao trong lý thuyết tập hợp, tích phạm trù và các tích trong lập trình máy tính.

Tích số học khả rỗng
--------------------

### Lập luận

Xét dãy số *a*1, *a*2, *a*3, … và đặt

{\displaystyle P\_{m}=\prod \_{i=1}^{m}a\_{i}=a\_{1}\cdots a\_{m}}
là tích của m số hạng đầu tiên của dãy. Khi ấy

{\displaystyle P\_{m}=a\_{m}\cdot P\_{m-1}}
với mọi *m* = 1, 2, … nếu ta cho *P*1 = *a*1 và *P*0 = 1 (đây là số duy nhất thỏa mãn hệ thức trên). Nói cách khác, "tích" *P*1 với chỉ một nhân tử bằng nhân tử đó, còn "tích" *P*0 với không nhân tử thì bằng 1. Quy ước một "tích" của một hoặc không nhân tử làm đơn giản hóa nhiều công thức toán học. Những "tích" như thế thường làm điểm bắt đầu cho những chứng minh quy nạp, cũng như trong thuật toán. Do đó, tích rỗng bằng một là một quy ước thường được dùng trong toán học và khoa học máy tính.

### Sử dụng

Khái niệm tích rỗng cũng hữu ích như số không và tập rỗng: tuy có vẻ không quan trọng, chúng giúp đơn giản hóa nhiều biểu thức và chứng minh trong toán học và những ngành liên quan.

Ví dụ, các tích rỗng cho ta 0! = 1 (ký hiệu giai thừa) và *x*0 = 1, làm gọn ký hiệu chuỗi Taylor (xem không mũ không trong trường hợp *x* = 0). Tương tự, nếu M là một ma trận *n* × *n* thì *M*0 là ma trận đơn vị *n* × *n*, nghĩa là áp dụng một ánh xạ tuyến tính không lần thì tương đương với việc áp dụng một biến đổi đồng nhất.

Một ví dụ khác, định lý cơ bản của số học nói rằng mọi số nguyên dương lớn hơn 1 đều có thể được biểu diễn duy nhất dưới dạng tích của các số nguyên tố. Tuy nhiên, nếu ta không cho phép tích của 0 hay 1 thừa số thì định lý và chứng minh sẽ trở nên dài và phức tạp hơn.

Một số ví dụ khác của tích rỗng trong toán học có thể được thấy trong định lý nhị thức (coi *x*0 = 1 với mọi x), số Stirling, Định lý König, chuỗi nhị thức và ký hiệu Pochhammer.

### Logarit

Do logarit biến tích thành tổng

{\displaystyle \ln \left(\prod \_{i}x\_{i}\right)=\sum \_{i}\ln x\_{i}}
chúng biến tích rỗng thành tổng rỗng. Do đó nếu ta định nghĩa tích rỗng bằng 1 thì tổng rỗng phải bằng ln(1) = 0. Ngược lại, hàm lũy thừa biến tổng thành tích, do đó nếu ta định nghĩa tổng rỗng bằng 0 thì tích rỗng phải bằng *e*0 = 1.

Tích Descartes khả rỗng
-----------------------

Xét định nghĩa tổng quát của tích Descartes các tập *X**i*:

{\displaystyle \prod \_{i\in I}X\_{i}=\left\{\,g:I\to \bigcup \_{i\in I}X\_{i}\mid \forall i\ g(i)\in X\_{i}\,\right\}.}
Nếu I là tập rỗng, g duy nhất thỏa điều kiện trên là hàm rỗng {\displaystyle f\_{\varnothing }\colon \varnothing \to \varnothing }, tức là một tập rỗng {\displaystyle \varnothing }

{\displaystyle \prod \_{\varnothing }{}=\left\{\,f\_{\varnothing }:\varnothing \to \varnothing \,\right\}=\{\varnothing \}.}
Do đó, lực lượng của tích Descartes rỗng là 1.

Trong logic
-----------

Logic cổ điển định nghĩa phép hội, được tổng quát thành định lượng với mọi ∀ trong logic bậc nhất, thường được coi là phép nhân logic vì ta thường coi đúng là 1 và sai là 0, khiến kết quả của phép hội giống với phép nhân. Trong trường hợp có 0 nhân tử, ta có một **phép hội rỗng**, và cho kết quả đúng.

Trong lập trình máy tính
------------------------

Nhiều ngôn ngữ lập trình, ví dụ như Python hay Julia, có hàm tích có thể trả về tích của các số trong mảng. Ví dụ như trong Python (bản 3.8 trở lên):

```
math.prod([2, 3, 5]) # = 30
math.prod([2, 3])    # = 6
math.prod([2])       # = 2
math.prod([])        # = 1
```

Quy ước này giúp tránh phải xét trường hợp riêng biệt nếu độ dài mảng là 0 hay 1.

Do phép nhân là toán tử trung tố, tức chúng nằm giữa hai nhân tử, làm phức tạp hóa ký hiệu của tích rỗng. Một số ngôn ngữ lập trình có các hàm chấp nhận số ẩn số thay đổi. Ví dụ, ký hiệu tiền tố đóng ngoặc của Lisp cho ta biểu diễn tự nhiên sau

```
(* 2 3 4)  ; bằng 24
(* 2 3)    ; bằng 6
(* 2)      ; bằng 2
(*)        ; bằng 1
```

Xem thêm
--------

* Tổng rỗng
* Hàm số rỗng

Tham khảo
---------

1. ↑  Jaroslav Nešetřil, Jiří Matoušek (1998). *Invitation to Discrete Mathematics*. Oxford University Press. tr. 12. ISBN 0-19-850207-9.
2. ↑  A.E. Ingham and R C Vaughan (1990). *The Distribution of Prime Numbers*. Cambridge University Press. tr. 1. ISBN 0-521-39789-8.
3. ↑  Lang, Serge (2002), *Algebra*, Graduate Texts in Mathematics, **211** (ấn bản 3), New York: Springer-Verlag, tr. 9, ISBN 978-0-387-95385-4, MR 1878556, Zbl 0984.00001
4. ↑  David M. Bloom (1979). *Linear Algebra and Geometry*. tr. 45. ISBN 0521293243.
5. ↑  Edsger Wybe Dijkstra (ngày 4 tháng 3 năm 1990). "How Computing Science created a new mathematical style". *EWD*. Truy cập ngày 20 tháng 1 năm 2010. Hardy và Wright: 'Every positive integer, except 1, is a product of primes', Harold M. Stark: 'If *n* is an integer greater than 1, then either *n* is prime or *n* is a finite product of primes'. These examples — which I owe to A. J. M. van Gasteren — both reject the empty product, the last one also rejects the product with a single factor. no-break space character trong `|quote=` tại ký tự số 217 (trợ giúp)
6. ↑  Edsger Wybe Dijkstra (ngày 14 tháng 11 năm 1986). "The nature of my research and why I do it". *EWD*. Bản gốc lưu trữ ngày 15 tháng 7 năm 2012. Truy cập ngày 3 tháng 7 năm 2010. But also 0 is certainly finite and by defining the product of 0 factors — how else? — to be equal to 1 we can do away with the exception: 'If *n* is a positive integer, then *n* is a finite product of primes.' no-break space character trong `|quote=` tại ký tự số 72 (trợ giúp)

Liên kết ngoài
--------------

* Bài viết về tích rỗng trên PlanetMath