Somatório

Posted on Wed 13 March 2019 in rivendell

logo-python

O somatório é um operador matemático, utilizado para representar a soma de termos, mesmo em uma sequência infinita. Seu simbolo é a letra grega sigma.

Aproveitando que python 3 aceita o caracter Σ, decidi escrever uma função que soma os termos em um intervalo finito representado pelos limites inferiores e superiores.

def Σ(lower_bound, upper_bound, function):
    '''Summation is a math operator to easily represent a great sum of terms,
    even infinity.
    It's represented with the greek letter sigma.
    Sum terms from lower_bound until upper_bound, applying some function on
    each term.
    >>> Σ(1,5,lambda x:x)  # 1 + 2 + 3 + 4 + 5 = 15
    15
    '''
    return sum(function(index) for index in range(lower_bound,
                                                   upper_bound + 1))

Você pode testar através do comando python -m doctestou mesmo de forma interativa.

Apenas por curiosidade, na linguagem Go, a utilização de sigma como nome da função também é permitido.

package main

import (
    "fmt"
)

// Σ is a math operator to easily represent a great sum of terms, even infinity.
// It's represented with the greek letter sigma.
// Sum terms from lower_bound until upper_bound, applying some function on
// each term.
func Σ(lowerBound, upperBound int, function func(float64) float64) float64 {
    sum := 0.0
    for index := lowerBound; index <= upperBound; index++ {
        sum += function(float64(index))
    }
    return sum
}

func main() {
    f := func(x float64) float64 { return x }
    fmt.Println(Σ(1, 5, f))
}

Até a próxima pessoal!

[] 's