Contenu du cours
Mathématiques pour l'Analyse de Données et la Modélisation
Mathématiques pour l'Analyse de Données et la Modélisation
Somme des Éléments de la Série
Quelle est la somme de la série?
La somme d'une série fait référence à l'addition des valeurs dans la séquence. Il y a deux situations à considérer : trouver la somme d'un nombre fini d'éléments ou la somme de tous les éléments de la séquence. Selon la situation, différentes approches sont utilisées pour calculer la somme.
Sommes finies
Si nous travaillons avec des sommes finies, nous pouvons parcourir tous les éléments pour calculer la somme. De plus, certains types de séquences ont des formules prêtes à l'emploi pour calculer la somme.
Par exemple, la somme de n
éléments d'une progression arithmétique peut être calculée comme suit :
def sum_arithmetic_progression_formula(a, d, n): # Calculate the sum of an arithmetic progression using the formula sum_formula = (n / 2) * (2 * a + (n - 1) * d) # Sum formula for arithmetic progression return sum_formula def sum_arithmetic_progression_loop(a, d, n): # Calculate the sum of an arithmetic progression using a loop progression_sum = 0 # Initialize the sum of the arithmetic progression current_term = a # Set the current term to the first term for _ in range(n): # Loop through each term in the arithmetic progression progression_sum += current_term # Add the current term to the sum current_term += d # Move to the next term by adding the common difference return progression_sum # Example usage a = 2 # First term d = 3 # Common difference n = 5 # Number of terms in the arithmetic progression # Calculate the sum using the formula sum_formula = sum_arithmetic_progression_formula(a, d, n) print(f'Sum using formula is {sum_formula}') # Calculate the sum using a loop sum_loop = sum_arithmetic_progression_loop(a, d, n) print(f'Sum using loop is {sum_loop}')
Sommes infinies
Dans le cas de la somme de tous les éléments de la séquence, nous rencontrerons certains problèmes. Par exemple, considérons une séquence comme celle-ci :
Regardons la somme des 10000 premiers éléments de la séquence. Nous imprimerons également les sommes partielles de 1000, 2000, 3000, etc. éléments.
def calculate_sequence_sum(): # Initialize variables sequence_sum = 0 # Initialize the sum of the sequence partial_sums = [] # Initialize a list to store partial sums # Loop through elements in the sequence for n in range(1, 10001): term = 1 / n # Calculate the term of the sequence sequence_sum += term # Add the term to the sequence sum # Check if current index is a multiple of 1000 if n % 1000 == 0: partial_sums.append(sequence_sum) # Store the partial sum # Print partial sum up to the current index print(f'Partial sum of elements 1 to {n}: {sequence_sum:.5f}') # Call the function to calculate the sequence sum calculate_sequence_sum()
Nous pouvons voir que les sommes partielles augmentent constamment, et donc nous ne pouvons pas calculer la somme de tous les éléments - elle sera infinie. Cette conclusion semble assez logique - plus nous résumons d'éléments, plus la somme est grande. Mais puisque, formellement, cette séquence peut être continuée pendant un temps arbitrairement long, la somme sera arbitrairement grande.
Mais en fait, ce n'est pas si simple. Regardons une autre séquence :
def calculate_sequence_sum(): sequence_sum = 0 partial_sums = [] for n in range(1, 10001): term = 1 / (n ** 2) sequence_sum += term if n % 1000 == 0: partial_sums.append(sequence_sum) print(f'Partial sum of elements 1 to {n}: {sequence_sum:.5f}') calculate_sequence_sum()
Ici, nous voyons que les sommes partielles sont identiques jusqu'à 3 chiffres, et la somme ne croît pas si rapidement avec l'augmentation des éléments.
Cela s'explique par le fait que les éléments d'ordre élevé sont extrêmement petits et finissent par cesser d'affecter significativement la somme finale.
Sommes convergentes de la série
Ainsi, il existe une certaine classe de séquences pour lesquelles nous pouvons calculer la somme de tous les éléments, qui sera finie. Cette propriété est également appelée convergence de la somme d'une série numérique.
Note
En pratique, la somme de la séquence suivante est souvent utilisée :
S(i) = 1 / i^a
. À condition quea
soit supérieur à1
, la somme infinie de cette séquence converge et est égale à un certain nombre fini.
Merci pour vos commentaires !