3 votos

Algoritmo para resolver el sistema $\sum_{i=1}^nx_i^k = k!c_k$ , $k=1,2,\ldots,n$ eficientemente

$$ x_1 + x_2 + \cdots +x_n = c_1 $$ $$ \frac{x_1^2}{2} + \frac{x_2^2}{2} + \cdots +\frac{x_n^2}{2} = c_2 $$
$$ \vdots $$ $$ \frac{x_1^n}{n!} + \frac{x_2^n}{n!} + \cdots +\frac{x_n^n}{n!} = c_n $$

$c_1,\ldots,c_n$ son constantes conocidas. $x_1, \ldots, x_n$ son las incógnitas a resolver.

3voto

Winther Puntos 12208

Definir el polinomio

$$f(x) = \sum_{i=0}^n(-1)^ie_i(c_1,2!c_2\ldots,n!c_n)x^{n-i}$$

donde $e_i(c_1,2!c_2\ldots,n!c_n)$ son los polinomios simétricos elementales entonces las raíces $(x_1,x_2,\ldots,x_n)$ de $f(x) = 0$ son la solución que busca. Por lo tanto, este método reduce el problema a la búsqueda de las raíces de un polinomio (que numéricamente es bastante simple).

Véase, por ejemplo aquí y aquí para más explicaciones (y otros métodos de solución).

0voto

Mark Puntos 1559

No estoy seguro de si esto es lo que considerarías "eficiente", pero puedes utilizar la primera ecuación para resolver una de las variables. Por ejemplo, $x_1 = c_1 - x_2 - \dots - x_n$ . A continuación, sustituye esto en la segunda ecuación para obtener $(c_1 - x_2 - \dots - x_n)^2 + x_2^2 + \dots x_n^2 = c_2$ . Ahora puedes resolver para otra variable, digamos $x_2$ . A continuación, introduce las dos primeras variables en la tercera ecuación, etc.

Usted tiene $n$ ecuaciones en $n$ desconocidos, por lo que este proceso debería funcionar, pero me imagino que llevará algún tiempo para grandes $n$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X