Ben314 a écrit:C'est celà même...
Donc, en fait, on a affaire à un super procédé qui arrive a attribuer une "limite" a toute suite bornée, et même a certaines suites non bornées.
Bon, O.K. la limite n'est peut-être pas ce qu'il y a de plus interseesante...
Après, il manque quand même... une preuve... :ptdr:
EDIT : (et là, j'ai pas la réponse), et il faut aller chercher environ le combien-ième coeff. de la n-ième suite pour que ça commence a tendre vers autre chose que U1 ?
Ben314 a écrit:
Si au départ la suite est convergente, la suite est-elle convergente ? si oui, quelle est sa limite ?
#include
#include
#include
#include
using namespace std;
// sommation de Cesaro cantor
void cesaro(double *U, double *V,int N) // calcule les N premiers termes de la suite de Cesaro, et les stocke dans V
{
for(int i=0; i<N; i++) // initialise V[i]
{
V[i]=0;
}
for(int i=0; i<N; i++) // calcule V[i]
{
for(int j=0; j<i+1; j++) // somme pondérée des j premiers termes de U
{
V[i]+=1./(i+1)*U[j];
}
}
}
void cesaro_cantor(double *U, double *V,int N) // calcule les N premiers termes de la suite de Cesaro Cantor de U, et les stocke dans V
{
// déclaration
double *A=new double[N*N]; // stocke les N premiers termes des N-1 premiers itérés de Cesaro de U
double *B=new double[N]; // ligne courante de A;
double *D=new double[N]; // ligne suivante de A;
// initialisation
for(int i=0; i<N; i++)
{
B[i]=0;
D[i]=0;
for(int j=0;j<N;j++)
{
A[N*i+j]=0; // A[N*i+j] est le (j+1)ème terme du ième itéré de Cesaro de U.
}
}
for(int i=0; i<N; i++) // calcule le ième itéré de Cesaro de U (la ième ligne de A) en fonction des précédents
{
if(i==0)
{
std::cout << "Première ligne de A" << std::endl;
for(int j=0; j<N; j++)
{
A[j]=U[j]; // initialisation de la récurrence
std::cout << "j: "<< j << '\t' << "A[j]: " << A[j] << std::endl;
}
}
else
{
for(int j=0; j<N; j++)
{
A[j]=U[j]; // initialisation de la récurrence
std::cout << "j: "<< j << '\t' << "A[j]: " << A[j] << std::endl;
}
std::cout << "i: " << i << std::endl;
for(int j=0; j<N;j++)
{
std::cout << " A[i,j] " << A[N*(i-1)+j] << std::endl;
B[j]=A[N*(i-1)+j]; // ligne courante de A
}
cesaro(B, D, N); // calcul de la ligne suivante de A, hérédité
for(int j=0; j<N; j++)
{
std::cout << "j: "<< j << '\t' << "B[j]: " << B[j] << std::endl;
}
}
for(int j=0; j<N; j++) // recopie de la ligne suivante de A
{
A[i*N+j]=D[j];
}
}
for(int i=0; i<N; i++) // calcul de Zn, la suite de Cesaro Cantor de U
{
V[i]=A[i*N+i];
}
for(int i=0; i<N;i++)
{
for(int j=0; j<N; j++)
{
std::cout << A[i*N+j] << '\t';
}
std::cout << std::endl;
}
std::cout << std::endl;
}
int main()
{
int N=100;
double *U=new double[N];
double *V=new double[N];
for(int i=0; i<N; i++) // initialisation
{
U[i]=rand()%100+1;
V[i]=0;
}
cesaro_cantor(U,V,N); // calcul de V
// affichage
for(int i=0; i<N; i++)
{
std::cout << "i: " << i << '\t' << "U[i]: "<< U[i] << '\t' << "Z[i] :" << V[i] << std::endl;
}
return 0;
}
Ben314 a écrit:Perso, je sais montrer que Zn tend vers U1 pour toute suite bornée et je peut donner des majorations (sans doute non optimales) de la vitesse de convergence.
Par contre, mon truc ne se généralise pas du tout facilement à d'autre types de "sommations" i.e. je sais faire des calculs qui mènent au résultat dans ce cas là, mais je ne maitrise fondamentalement pas le "pourquoi" les calculs donne le bon résultat.
Groucho a écrit:Bonjour à tous
Très joli question, pas trop simple à ce que je vois.
Mais pourquoi ne pas faire encore plus compliqué et ne pas s'arrêter à Z ? Je veux dire, la suite Z peut très logiquement se noter . On peut alors continuer, avec (faire avec la suite Z ce qu'on a fait avec la suite U), , et , pour tout ordinal . Alors, qu'est ce qui se passe ? Obtient on plus de suites convergentes ?, ou bien finit on par toujours trouver une suite convergente ?
A vue de nez, si U n'est pas trop rapidement croissante, Z est peut être bornée, ce qui fait que serait convergente.
Quelque chose est sûr : ça finit par être périodique (pour une question de cardinalité).
Amusez vous bien
On pourrait effectivement, mais vu que la suite zn converge vers u1 pour toute suite bornée (un), a mon sens, ça te dit déjà qu'on y est allé "un peu trop fort" et que la notion n'est "pas vraiment intéressante", et ce n'est pas en "allant encore plus loin" que ça risque de la rendre intéressante.Groucho a écrit:Mais pourquoi ne pas faire encore plus compliqué et ne pas s'arrêter à Z ? Je veux dire, la suite Z peut très logiquement se noter . On peut alors continuer, avec (faire avec la suite Z ce qu'on a fait avec la suite U), , et , pour tout ordinal . Alors, qu'est ce qui se passe ? Obtient on plus de suites convergentes ?, ou bien finit on par toujours trouver une suite convergente ?
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 9 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :