[Archives] Mathématiques pures, physique, chimie, etc. : problèmes d'entraînement cérébral sans rapport avec le commerce. - page 557
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Cela semble fonctionner pour l'image plate. Il me semble que cela fonctionnera également pour le cas à N dimensions. Des objections ?
Il me semble qu'il est temps d'écrire un script et de le vérifier... :)
Le vecteur normal à l'unité donnée peut être construit plus facilement - il suffit de remplacer l'une de ses coordonnées xi par -sqrt(1-xi^2). Cela équivaut en fait à une rotation de 90 degrés dans le plan du vecteur par rapport au i-ème axe (c'est-à-dire qu'en remplaçant le cosinus par le -sinus, on obtient le cosinus de l'angle+pi/2). Après cela, il ne reste plus qu'à normaliser le résultat.
Mais ce n'est pas du tout un fait que l'on puisse obtenir un vecteur normal à tous les autres de l'ensemble de cette manière. Ainsi que toute autre méthode qui sélectionne un vecteur normal parmi toutes les variantes...
Le vecteur normal à l'unité donnée peut être construit plus facilement - il suffit de remplacer n'importe laquelle de ses coordonnées xi par -sqrt(1-xi^2). Cela équivaut en fait à une rotation de 90 degrés des pôles du vecteur par rapport au i-ème axe (c'est-à-dire que si l'on remplace le cosinus par le -sinus, on obtient le cosinus de l'angle +pi/2). Après cela, il ne reste plus qu'à normaliser le résultat.
Mais ce n'est pas du tout un fait que l'on puisse obtenir un vecteur normal à tous les autres de l'ensemble de cette manière. Ainsi que toute autre méthode qui sélectionne un vecteur normal parmi toutes les variantes...
Exactement. Pas dans le cas général.
--
Il semble que j'ai trouvé une solution rapide. Quand je me suis assis pour écrire et me détendre sur l'algorithme, il est apparu comme ça.
Ainsi, à partir du vecteur généré x1r, il suffit de soustraire sa projection sur x0 (c'est-à-dire x0*sp(x0,x1r), où sp() est le produit scalaire).
En résumé, la formule tient en une ligne : x1 = x1r - x0*sp(x0,x1r);
:))
:))
Oui. Mais tu dois le rapprocher après.
Bon de toute façon en une ligne : x1 = norm(x1r - x0*sp(x0,x1r))
Cela semble fonctionner pour l'image plate. Il me semble que cela fonctionnera également pour le cas à N dimensions. Des objections ?
On dirait qu'il est temps d'écrire un script et de vérifier... :)
Tu n'as pas besoin de l'écrire. Preuve :
sX = (a1+b1,a2+b2) ; dX = (a1-b1,a2-b2) ;
Les vecteurs a et b étant des vecteurs unitaires, le parallélogramme correspondant est un losange et ses diagonales sont perpendiculaires, de sorte que la somme et la différence sont orthogonales entre elles. Ainsi, l'échange de modules équivaut à tourner l'un d'eux de 90 degrés vers la droite et l'autre vers la gauche. En coordonnées cartésiennes, nous pouvons exprimer cela simplement en réarrangeant les première et deuxième coordonnées :
sXtr = (a2-b2,a1-b1) ; dXtr = (a2+b2,a1+b1)
=>
sXtr+dXtr = (2*a2,2*a1) est un vecteur modulo 2 et évidemment orthogonal au vecteur (a1,a2), c'est-à-dire au vecteur a. H.t.c.
Il ne reste plus qu'à tourner en boucle. for(i=0 ; i<InpVectorCount ; i++) {....}
Non, il s'agit toujours de choisir initialement le bon vecteur "arbitraire", qui donnera l'orthogonalité à l'ensemble. C'est-à-dire que l'arbitraire n'est même pas arbitraire du tout. Nous revenons encore une fois sur la façon de calculer le vecteur initial requis.
Conneries. Il suffit de vérifier à chaque étape. Si, à une étape quelconque de la transformation, un vecteur devient contradictoire avec le vecteur suivant de l'ensemble, nous générons à nouveau le vecteur aléatoire initial et répétons la procédure. Comme ce cas est peu probable (avec une dimension finie), c'est plus facile (moins cher) que de suspecter immédiatement une dépendance linéaire (en cherchant le rang de la matrice).
Conneries. Il suffit de vérifier à chaque étape. Si, à une étape quelconque de la transformation, un vecteur devient contradictoire avec le vecteur suivant de l'ensemble, nous générons à nouveau le vecteur aléatoire initial et répétons la procédure. Comme ce cas est peu probable (avec une dimension finie), c'est plus facile (moins cher) que de suspecter immédiatement une dépendance linéaire (en cherchant le rang de la matrice).