ผลรวม

ในทางคณิตศาสตร์ **ผลรวม** () หมายถึงการบวกของเซตของจำนวน ซึ่งจะให้ผลลัพธ์เป็น *ผลบวก* (sum, total) จำนวนที่กล่าวถึงอาจเป็นจำนวนธรรมชาติ จำนวนเชิงซ้อน เมทริกซ์ หรือวัตถุอื่นที่ซับซ้อนกว่านั้น ผลรวมไม่จำกัดของลำดับเรียกว่าเป็นอนุกรม

## สัญกรณ์
ผลรวมของลำดับ 1, 2, 4 คือ  ดังนั้นผลบวกก็คือ 7 และเนื่องจากการบวกมีสมบัติการเปลี่ยนหมู่ จึงไม่สำคัญที่จะแปลผล  ว่าเป็น  หรือ  เพราะถึงอย่างไรก็ให้ผลลัพธ์เหมือนกัน ดังนั้นเครื่องหมายวงเล็บจึงมักจะถูกละทิ้งในการเขียนผลรวม นอกจากนั้นการบวกจำนวนจำกัดมีสมบัติการสลับที่ จึงทำให้ลำดับในการบวกจำนวนก่อนหรือหลังก็ไม่ส่งผลต่อผลบวกสุดท้าย (สำหรับสมบัติการสลับที่ของการบวกจำนวนไม่จำกัด ดูเพิ่มที่การลู่เข้าสัมบูรณ์)

ถ้าหากผลรวมหนึ่ง ๆ มีพจน์มากเกินไปเกินกว่าจะเขียนให้แยกออกจากกัน มักจะย่อด้วยจุดไข่ปลาตรงตำแหน่งพจน์ที่หายไป ตัวอย่างเช่น ผลรวมของจำนวนธรรมชาติตั้งแต่ 1 ถึง 100 เขียนได้เป็น 

### สัญกรณ์ซิกมาตัวใหญ่
คณิตศาสตร์มีสัญกรณ์พิเศษมาใช้เพื่อที่จะเขียนผลรวมให้กะทัดรัดมากขึ้น นั่นคือ *สัญลักษณ์ผลรวม* ∑ (U+2211) โดยยืมมาจากอักษรกรีกซิกมาตัวใหญ่ Σ ซึ่งนิยามการใช้ไว้ว่า
::\sum_{i=m}^n x_i = x_m + x_{m+1} + x_{m+2} + \cdots + x_{n-1} + x_n

ตัวห้อยที่อยู่ข้างล่าง *i* เป็นสัญลักษณ์แทนดัชนีของผลรวม *m* คือขอบเขตล่างของผลรวม และ *n* คือขอบเขตบนของผลรวม การที่กำหนดให้  หมายความว่าดัชนี *i* เริ่มตั้งแต่ค่าที่เท่ากับ *m* พจน์ถัดไปจะถูกสร้างขึ้นโดยเพิ่มค่า *i* ขึ้นไปทีละหนึ่งของค่าก่อนหน้า และหยุดเมื่อ  เราสามารถใช้ตัวแปรอื่นแทน *i* ก็ได้ เช่น
::\sum_{k=2}^6 k^2 = 2^2+3^2+4^2+5^2+6^2 = 90
ถึงแม้ว่าชื่อของตัวแปรดัชนีจะไม่มีความสำคัญ เรามักจะใช้อักษรละตินช่วงกลาง (*i* ไปถึง *q*) เพื่อใช้แสดงจำนวนเต็มถ้าหากเกิดความสับสนขึ้น

บางครั้งเราอาจพบการเขียนแบบไม่เป็นทางการ โดยการตัดดัชนีและขอบเขตของผลรวมออกไป เมื่อสิ่งเหล่านี้ได้อธิบายไว้อย่างชัดเจนแล้วในบริบท เช่น
::\sum x_i^2 จะมีความหมายเทียบเท่ากับ \sum_{i=1}^n x_i^2

หรืออาจพบรูปแบบการใส่เงื่อนไขทางตรรกะลงไปแทน ซึ่งผลรวมนั้นตั้งใจที่จะบวกค่าที่ตรงตามเงื่อนไขเข้าด้วยกันทั้งหมด ตัวอย่างเช่น
::\sum_{0 \le k 
คือผลรวมของ *f* (*k*) บนทุกจำนวนเต็ม *k* ที่อยู่ในช่วงดังกล่าว
::\sum_{x \in S} f (x) 
คือผลรวมของ *f* (*x*) บนทุกสมาชิก *x* ในเซต *S* และ
::\sum_{d|n}\;\mu (d) 
คือผลรวมของ μ (*d*) บนทุกจำนวนเต็ม *d* ที่หาร *n* ได้ลงตัว เป็นต้น

นอกจากนี้ก็ยังมีอีกทางหนึ่งเพื่อนำเสนอแทนการใช้สัญลักษณ์ผลรวมจำนวนมาก เราอาจยุบเข้าด้วยกันได้ เช่น
::\sum_{\ell,\ell'} จะมีความหมายเหมือนกับ \sum_\ell\sum_{\ell'}

### สัญกรณ์ภาษาโปรแกรม
ในภาษาโปรแกรมบางภาษาใช้สัญกรณ์อย่างย่อแทนผลรวมคล้ายกับสัญกรณ์คณิตศาสตร์ อย่างเช่นภาษาไพทอน

```python
sum (x[m:n+1])
```

ภาษาฟอร์แทรนและแมตแล็บ

```fortran
sum (x(m:n))
```

ภาษาเจ

```
+/x
```


ส่วนในภาษาอื่น ๆ ที่ไม่มีสัญกรณ์แทนผลรวม ก็ต้องเขียนเป็นการวนรอบแทน เช่นภาษาวิชวลเบสิก/วีบีสคริปต์

```vb
Sum = 0
For I = M To N
    Sum = Sum + X (I)
Next I
```

หรือภาษาซี/ซีพลัสพลัส/ซีชาร์ป/จาวา สมมติว่าตัวแปรที่เกี่ยวข้องถูกกำหนดค่าแล้ว

```java
int i;
int sum = 0;
for (i = m; i <= n; i++) {
    sum += x[i];
}
```


ในบางกรณี การวนรอบก็สามารถย่อให้สั้นลงได้ อย่างเช่นภาษาเพิร์ล

```perl
$sum = 0;
$sum += $x[$_] for ($m..$n) ;
```

ภาษารูบี

```ruby
x[m..n].inject{|a,b| a+b}
x[m..n].inject (0) {|a,b| a+b}
```

สำหรับภาษาซีพลัสพลัส สามารถเรียกใช้ฟังก์ชันจากไลบรารีมาตรฐานได้

```cpp
std::accumulate (&x[m], &x[n + 1], 0)
```


สังเกตว่าตัวอย่างข้างต้นจะเริ่มต้นด้วยการกำหนดให้ตัวแปรผลบวกเป็น 0 ซึ่งเป็นสมาชิกเอกลักษณ์สำหรับการบวก แต่บางภาษาจะกำหนดให้โดยอัตโนมัติ และค่ากลับคืนของตัวอย่างทั้งหมดข้างต้น จะได้เป็นสเกลาร์ค่าหนึ่ง

### กรณีพิเศษ
มีความเป็นไปได้ที่ผลรวมจะประกอบขึ้นจากสมาชิกน้อยกว่า 2 ตัว
* ถ้าผลรวมมีพจน์เดียวคือ *x* ดังนั้นผลบวกก็เท่ากับ *x* กรณีนี้จะเกิดเมื่อ *m* = *n* ตามนิยามข้างบน
* ถ้าผลรวมไม่มีพจน์ใดอยู่เลย ดังนั้นผลบวกก็เท่ากับ 0 เพราะว่า 0 เป็นเอกลักษณ์การบวก ผลรวมชนิดนี้เรียกว่า ผลรวมว่าง กรณีนี้จะเกิดเมื่อ *m* > *n* หรือไม่มีสมาชิกใดตรงตามเงื่อนไขที่ระบุในผลรวม

## การประมาณค่าด้วยปริพันธ์
การประมาณค่าของผลรวม สามารถคำนวณได้จากความสัมพันธ์ระหว่างผลรวมกับปริพันธ์ต่อไปนี้ สำหรับฟังก์ชันเพิ่ม *f*
::\int_{s=a-1}^{b} f(s)\ ds \le \sum_{i=a}^{b} f(i) \le \int_{s=a}^{b+1} f(s)\ ds
และฟังก์ชันลด *f*
::\int_{s=a}^{b+1} f(s)\ ds \le \sum_{i=a}^{b} f(i) \le \int_{s=a-1}^{b} f(s)\ ds
ส่วนการประมาณค่าแบบทั่วไป ดูได้ที่ สูตรออยเลอร์-แมคลอริน (Euler-Maclaurin formula)

สำหรับฟังก์ชัน *f* ที่สามารถหาปริพันธ์ได้ในช่วง [*a*, *b*] ค่าของปริพันธ์สามารถประมาณค่าได้ด้วยผลบวกรีมันน์ (Riemann sum) ตัวอย่างเช่น สูตรต่อไปนี้คือผลบวกรีมันน์ข้างซ้ายที่แบ่งช่วงเป็น *n* ส่วนเท่ากัน
::\frac{b-a}{n}\sum_{i=0}^{n-1} f\left(a+i\frac{b-a}n\right) \approx \int_a^b f(x)\ dx
ซึ่งการประมาณค่านี้จะแม่นยำมากขึ้น เมื่อ *n* มีค่ามากขึ้น (ถูกแบ่งเป็นส่วนมากขึ้น) จนเข้าใกล้อนันต์
:: \lim_{n\rightarrow \infty} \frac{b-a}{n}\sum_{i=0}^{n-1} f\left(a+i\frac{b-a}n\right) = \int_a^b f(x)\ dx

## เอกลักษณ์
ตัวอย่างต่อไปนี้เป็นเอกลักษณ์ที่เกี่ยวกับผลรวมที่สำคัญ
::\sum_{n=s}^t C\sdot f(n) = C\sdot \sum_{n=s}^t f(n) เมื่อ *C* เป็นค่าคงตัว (ดูเพิ่มที่การคูณสเกลาร์)
::\sum_{i=s}^n f(C) = (n-s+1)f(C) เมื่อ *C* เป็นค่าคงตัว
::\sum_{n=s}^t f(n) + \sum_{n=s}^{t} g(n) = \sum_{n=s}^t \left[f(n) + g(n)\right]
::\sum_{n=s}^t f(n) = \sum_{n=s+p}^{t+p} f(n-p)
::\sum_{n=s}^j f(n) + \sum_{n=j+1}^t f(n) = \sum_{n=s}^t f(n)
::\sum_{i=m}^n x = (n-m+1)x
::\sum_{i=1}^n x = nx เป็นนิยามของการคูณ เมื่อ *n* เป็นจำนวนเต็มซึ่งเป็นตัวคูณของ *x*
::\sum_{i=m}^n i = \frac{(n-m+1)(n+m)}{2} (ดูเพิ่มที่อนุกรมเลขคณิต)
::\sum_{i=0}^n i = \sum_{i=1}^n i = \frac{(n)(n+1)}{2} (กรณีพิเศษของอนุกรมเลขคณิต)
::\sum_{i=1}^n i^2 = \frac{n(n+1)(2n+1)}{6} = \frac{n^3}{3} + \frac{n^2}{2} + \frac{n}{6}
::\sum_{i=1}^n i^3 = \left(\frac{n(n+1)}{2}\right)^2 = \frac{n^4}{4} + \frac{n^3}{2} + \frac{n^2}{4} = \left[\sum_{i=1}^n i\right]^2
::\sum_{i=1}^n i^4 = \frac{n(n+1)(2n+1)(3n^2+3n-1)}{30} = \frac{n^5}{5} + \frac{n^4}{2} + \frac{n^3}{3} - \frac{n}{30}
::\sum_{i=0}^n i^p = \frac{(n+1)^{p+1}}{p+1} + \sum_{k=1}^p\frac{B_k}{p-k+1}{p\choose k}(n+1)^{p-k+1} เมื่อ B_k เป็นจำนวนแบร์นูลลีตัวที่ *k*
----
::\sum_{i=m}^n x^i = \frac{x^{n+1}-x^m}{x-1} (ดูเพิ่มที่อนุกรมเรขาคณิต)
::\sum_{i=0}^n x^i = \frac{x^{n+1}-1}{x-1} (กรณีพิเศษของสูตรก่อนหน้านี้ เมื่อ *m* = 0)
::\sum_{i=0}^n i 2^i = 2+2^{n+1}(n-1)
::\sum_{i=0}^n \frac{i}{2^i} = \frac{2^{n+1}-n-2}{2^n}
::\sum_{i=0}^n i x^i = \frac{x}{(1-x)^2} (x^n(n(x-1)-1)+1)
::\sum_{i=0}^n i^2 x^i = \frac{x}{(1-x)^3} (1+x-(n+1)^2x^n+(2n^2+2n-1)x^{n+1}-n^2x^{n+2})
----
::\sum_{i=0}^n {n \choose i} = 2^n (ดูเพิ่มที่สัมประสิทธิ์ทวินาม)
::\sum_{i=0}^{n-1} {i \choose k} = {n \choose k+1}
::\left(\sum_i a_i\right)\left(\sum_j b_j\right) = \sum_i\sum_j a_ib_j
----
::\left(\sum_i a_i\right)^2 = 2\sum_i\sum_{j
::\sum_{n=a}^b f(n) = \sum_{n=b}^{a} f(n)
::\sum_{n=s}^t f(n) = \sum_{n=-t}^{-s} f(-n)
::\sum_{n=0}^t f(2n) + \sum_{n=0}^t f(2n+1) = \sum_{n=0}^{2t+1} f(n)
::\sum_{n=0}^t \sum_{i=0}^{z-1} f(z\sdot n+i) = \sum_{n=0}^{z\sdot t+z-1} f(n)
::\widehat{b}^{\left[\sum_{n=s}^t f(n) \right]} = \prod_{n=s}^t \widehat{b}^{f(n)} (ดูเพิ่มที่ผลคูณของอนุกรม)
::\sum_{n=s}^t \ln f(n) = \ln \prod_{n=s}^t f(n)
::\lim_{t\rightarrow \infty} \sum_{n=a}^t f(n) = \sum_{n=a}^\infty f(n) (ดูเพิ่มที่ลิมิตอนันต์)
::(a + b)^n = \sum_{i=0}^n {n \choose i}a^{(n-i)} b^i สำหรับการกระจายทวินาม
::\sum_{n=b+1}^{\infty} \frac{b}{n^2 - b^2} = \sum_{n=1}^{2b} \frac{1}{2n}
::\left(\sum_{i=1}^{n} f_i(x)\right)^\prime = \sum_{i=1}^{n} f_i^\prime(x)
::\lim_{n\to\infty}\sum_{i=0}^n f\left(a + \frac{b-a}{n}i\right)\cdot\frac{b-a}{n} = \int_a^b f(x) dx

## อัตราการเติบโต
ตัวอย่างต่อไปนี้เป็นการประมาณค่าอัตราการเติบโต โดยใช้สัญกรณ์ทีตา
::\sum_{i=1}^n i^c = \Theta(n^{c+1}) สำหรับจำนวนจริง *c* ที่มากกว่า −1
::\sum_{i=1}^n \frac{1}{i} = \Theta(\log n)
::\sum_{i=1}^n c^i = \Theta(c^n) สำหรับจำนวนจริง *c* ที่มากกว่า 1
::\sum_{i=1}^n \log(i)^c = \Theta(n \cdot \log(n)^{c}) สำหรับจำนวนจริง *c* ที่ไม่เป็นลบ
::\sum_{i=1}^n \log(i)^c \cdot i^d = \Theta(n^{d+1} \cdot \log(n)^{c}) สำหรับจำนวนจริง *c*, *d* ที่ไม่เป็นลบทั้งหมด
::\sum_{i=1}^n \log(i)^c \cdot i^d \cdot b^i = \Theta (n^d \cdot \log(n)^c \cdot b^n) สำหรับจำนวนจริง *b* > 1, *c*, *d* ที่ไม่เป็นลบทั้งหมด

## ดูเพิ่ม
* สัญกรณ์ไอน์สไตน์
* ผลรวมตรวจสอบ (checksum)
* การคูณ

## แหล่งข้อมูลอื่น

* Nicholas J. Higham, "The accuracy of floating point summation", *SIAM J. Scientific Computing* **14** (4), 783–799 (1993).

หมวดหมู่:เลขคณิต
หมวดหมู่:สัญกรณ์คณิตศาสตร์