La fórmula de Vieta relaciona los coeficientes del polinomio con la suma y el producto de sus raíces, así como los productos de las raíces tomados en grupos. La fórmula de Vieta describe la relación de las raíces de un polinomio con sus coeficientes. Considere el siguiente ejemplo para encontrar un polinomio con raíces dadas. (Solo analice los polinomios con valores reales, es decir, los coeficientes de los polinomios son números reales). Tomemos un polinomio cuadrático. Dadas dos raíces reales y , encuentra un polinomio.
Considere el polinomio . Dadas las raíces, también podemos escribirlo como
.
Dado que ambas ecuaciones representan el mismo polinomio, igualamos ambos polinomios
Simplificando la ecuación anterior, obtenemos
Comparando los coeficientes de ambos lados, obtenemos
Para , ,
Para , ,
Para término constante, ,
Lo que da,
,
Las ecuaciones (1) y (2) se conocen como fórmulas de Vieta para un polinomio de segundo grado.
En general, para un polinomio de grado, existen n Fórmulas de Vieta diferentes. Se pueden escribir en forma condensada como
Para
Los siguientes ejemplos ilustran el uso de la fórmula de Vieta para resolver un problema.
Ejemplos:
Input : n = 2 roots = {-3, 2} Output : Polynomial coefficients: 1, 1, -6 Input : n = 4 roots = {-1, 2, -3, 7} Output : Polynomial coefficients: 1, -5, -19, 29, 42
C++
// C++ program to implement vieta formula // to calculate polynomial coefficients. #include <bits/stdc++.h> using namespace std; // Function to calculate polynomial // coefficients. void vietaFormula(int roots[], int n) { // Declare an array for // polynomial coefficient. int coeff[n + 1]; // Set all coefficients as zero initially memset(coeff, 0, sizeof(coeff)); // Set highest order coefficient as 1 coeff[n] = 1; for (int i = 1; i <= n; i++) { for (int j = n - i - 1; j < n; j++) { coeff[j] = coeff[j] + (-1) * roots[i - 1] * coeff[j + 1]; } } cout << "Polynomial Coefficients: "; for (int i = n; i >= 0; i--) { cout << coeff[i] << " "; } } // Driver code int main() { // Degree of required polynomial int n = 4; // Initialise an array by // root of polynomial int roots[] = { -1, 2, -3, 7 }; // Function call vietaFormula(roots, n); return 0; }
Java
// Java program to implement vieta formula // to calculate polynomial coefficients. import java.util.Arrays; class GFG { // Function to calculate polynomial // coefficients. static void vietaFormula(int roots[], int n) { // Declare an array for // polynomial coefficient. int coeff[] = new int[++n + 1]; Arrays.fill(coeff, 0); // Set highest order coefficient as 1 coeff[n] = 1; for (int i = 1; i <n; i++) { for (int j = n - i - 1; j < n; j++) { coeff[j] = coeff[j] + (-1) * roots[i - 1] * coeff[j + 1]; } } System.out.print("Polynomial Coefficients: "); for (int i = n; i > 0; i--) { System.out.print(coeff[i] + " "); } } // Driver code public static void main(String[] args) { // Degree of required polynomial int n = 4; // Initialise an array by // root of polynomial int roots[] = { -1, 2, -3, 7 }; // Function call vietaFormula(roots, n); } } /* This code contributed by PrinciRaj1992 */
Python3
# Python3 program to implement # Vieta's formula to calculate # polynomial coefficients. def vietaFormula(roots, n): # Declare an array for # polynomial coefficient. coeff = [0] * (n + 1) # Set Highest Order # Coefficient as 1 coeff[n] = 1 for i in range(1, n + 1): for j in range(n - i - 1, n): coeff[j] += ((-1) * roots[i - 1] * coeff[j + 1]) # Reverse Array coeff = coeff[::-1] print("Polynomial Coefficients : ", end = "") # Print Coefficients for i in coeff: print(i, end = " ") print() # Driver Code if __name__ == "__main__": # Degree of Polynomial n = 4 # Initialise an array by # root of polynomial roots = [-1, 2, -3, 7] # Function call vietaFormula(roots, n) # This code is contributed # by Arihant Joshi
C#
// C# program to implement vieta formula // to calculate polynomial coefficients. using System; class GFG { // Function to calculate polynomial // coefficients. static void vietaFormula(int []roots, int n) { // Declare an array for // polynomial coefficient. int []coeff = new int[++n + 1]; // Set highest order coefficient as 1 coeff[n] = 1; for (int i = 1; i <n; i++) { for (int j = n - i - 1; j < n; j++) { coeff[j] = coeff[j] + (-1) * roots[i - 1] * coeff[j + 1]; } } Console.Write("Polynomial Coefficients: "); for (int i = n; i > 0; i--) { Console.Write(coeff[i] + " "); } } // Driver code public static void Main(String[] args) { // Degree of required polynomial int n = 4; // Initialise an array by // root of polynomial int []roots = { -1, 2, -3, 7 }; // Function call vietaFormula(roots, n); } } // This code has been contributed by 29AjayKumar
PHP
<?php // PHP program to implement vieta formula // to calculate polynomial coefficients. // Function to calculate polynomial // coefficients. function vietaFormula($roots, $n) { // Declare an array for // polynomial coefficient. $coeff = array_fill(0, $n + 1, 0); // Set all coefficients as zero initially // Set highest order coefficient as 1 $coeff[$n] = 1; for ($i = 1; $i <= $n; $i++) { for ($j = $n - $i; $j < $n; $j++) { $coeff[$j] = $coeff[$j] + (-1) * $roots[$i - 1] * $coeff[$j + 1]; } } echo "polynomial coefficients: "; for ($i = $n; $i >= 0; $i--) { echo $coeff[$i]. " "; } } // Driver code // Degree of required polynomial $n = 4; // Initialise an array by // root of polynomial $roots = array(-1, 2, -3, 7); // Function call vietaFormula($roots, $n); // This code is contributed by mits ?>
Javascript
<script> // Javascript program to implement vieta formula // to calculate polynomial coefficients. // Function to calculate polynomial // coefficients. function vietaFormula(roots, n) { // Declare an array for // polynomial coefficient. let coeff = new Array(++n + 1); for(let i = 0; i < coeff.length; i++) coeff[i] = 0; // Set highest order coefficient as 1 coeff[n] = 1; for (let i = 1; i <n; i++) { for (let j = n - i - 1; j < n; j++) { coeff[j] = coeff[j] + (-1) * roots[i - 1] * coeff[j + 1]; } } document.write("Polynomial Coefficients: "); for (let i = n; i > 0; i--) { document.write(coeff[i] + " "); } } // Driver code // Degree of required polynomial let n = 4; // Initialise an array by // root of polynomial let roots = [ -1, 2, -3, 7 ]; // Function call vietaFormula(roots, n); // This code is contributed by rag2127 </script>
Polynomial Coefficients: 1 -5 -19 29 42
Tiempo Complejidad : .
Publicación traducida automáticamente
Artículo escrito por AayushChaturvedi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA