• Aucun résultat trouvé

Ordinateur ADwin

III.4 Modication du ltre quantique

III.4.1 Réduction du temps de calcul

Au vu de la chronologie des événements donnée au paragraphe III.1.4, il apparaît qu'une condition nécessaire au bon fonctionnement de la rétroaction est que tous les calculs du ltre quantique et du régulateur soient nis avant le début de l'injection micro-onde, 70 µs après réception de l'impulsion événement. Ce choix des 70 µs est ceci dit arbitraire. La limite supérieure sur la longueur du calcul est en fait xée par le temps séparant deux échantillons atomiques, Ta = 82 µs. Le processeur se doit en eet d'avoir ni tous ses calculs et donné ses instructions à la carte DIO32 avant que l'échantillon suivant n'atteigne le détecteur, sous peine d'accumuler des retards dans la boucle. En prenant en compte les temps nécessaires à la lecture des détections atomiques, et à l'inscription des couples (sMW, t) dans la pile de la carte DIO32, l'ordinateur a donc moins de 82 µs pour faire tous les calculs nécessaires à la rétroaction. Si l'on se rappelle qu'à chaque itération de la boucle, l'ordinateur doit

manipuler des matrices carrées de taille au moins 8 × 8 pour calculer l'eet d'une mesure QND, de la relaxation, et des éventuels déplacements du champ, et ce pour l'atome juste détecté et tous les atomes de retard. . . la tâche semble peu aisée.

Plusieurs simplications dans le calcul ont donc dû être utilisées pour satisfaire une telle contrainte. Nous en donnons ici quelques exemples :

 Nous cherchons d'abord à calculer le moins d'éléments possible dans les matrices que

nous manipulons. Ainsi, à chaque fois qu'une matrice hermitienne de dimension N2

est utilisée (la matrice densité du champ par exemple), seul le triangle inférieur, i.e. N (N + 1)/2 éléments, est calculé ;

 L'emploi de boucles for est autant que faire se peut évité, notamment lors du calcul de produits ou de sommes de matrices. Un gain de temps substantiel est obtenu en écrivant explicitement l'expression des éléments de la matrice résultat. Par exemple, pour calculer A = BC, nous écrirons

A(1,1) = B(1,1)C(1,1) + B(1,2)C(2,1) + ... + B(1,8)C(8,1); A(1,2) = B(1,1)C(1,2) + B(1,2)C(2,2) + ... + B(1,8)C(8,2); ...

L'écriture du code en est bien sûr rendue plus délicate ;

 Nous l'avions déjà mentionné au paragraphe II.2, les déplacements D(α) décrivant l'injection de champs cohérents |αi sont calculés via un développement à l'ordre

2 en α. Le fait que l'amplitude maximale injectée soit αmax = 0, 1 justie cette

approximation ;

 D'autres expressions données au chapitre II sont par ailleurs simpliées. Comme nous le verrons ci-dessous, le calcul des déplacements est l'opération qui ralentit le plus, et de loin, le calcul de la boucle. Or, rappelons ici l'expression de la matrice densité ρk utilisée pour calculer l'amplitude αk de la correction appliquée à la keitération de la boucle (équations (II.12) à (II.19)) :

ρk= H(r)k ρ˜k= k+Nr−1 Y i=k MnlTDi−N r ! ˜ ρk,

où Mnl, T et Di−N r sont les super-opérateurs décrivant respectivement une mesure non-lue, la relaxation sur le temps d'une itération de la boucle et un déplacement d'amplitude αi−Nr. Si l'on compte le déplacement calculé lors de l'estimation de la matrice ˜ρk,

˜

ρk = Hkρ0 = [MkTDk−Nr−1] ρk−1,

Nr+ 1 = 5calculs de déplacements sont alors à faire à chaque itération de la boucle. Sachant, comme nous allons le voir, qu'un seul de ces calculs prend au minimum 15 µs, il semble impossible de satisfaire la contrainte des 82 µs. Une approximation supplémentaire, valable dans la limite des petits déplacements et des intervalles de

ρk = MNr nl TNr k+Nr−1 Y i=k Di−N r ! ˜ ρk = MNr nl TNrρ˜kt), (III.33) αt= k+Nr−1 X i=k αi. (III.34)

Les Nrdéplacements peuvent ainsi être regroupés en un seul déplacement d'amplitude αt. L'absence de termes de phases est assurée par le fait que tous les coecients αi

sont réels. En procédant ainsi, un seul calcul de déplacement, au lieu de Nr, est à faire lors du traitement des atomes de retard, soit un gain non négligeable d'au moins 45 µs.

Nous nous devons nalement de discuter du choix de la taille de l'espace de Hilbert utilisé. Un compromis doit en eet être trouvé :

 Plus l'espace de Hilbert est grand, plus l'estimation que nous faisons de l'état du champ est bonne. C'est particulièrement vrai dans les situations, telles que rencon-trées dans nos simulations numériques du chapitre précédent, où le nombre de photons dans la cavité s'envole du fait d'un trop grand nombre d'injections de correction ;  Plus l'espace de Hilbert est petit en revanche, plus les calculs sont rapides.

Il nous faut donc choisir la dimension N la plus grande possible qui permette au pro-cesseur de nir tous les calculs nécessaires à une itération de la boucle en moins de 82 µs. Nous traçons gure III.21 le temps de calcul d'une itération de la boucle et l'amplitude des corrections cohérentes le long d'une trajectoire quantique, pour trois tailles diérentes de l'espace de Hilbert (N = 8, 9, ou 10). La corrélation entre les temps de calcul les plus longs et les amplitudes αk non nulles y est agrante. Nous mettons ainsi clairement en évidence le poids important des déplacements dans le temps de calcul total d'une itération. Cela peut en partie être expliqué par le fait que le calcul de ρ(α) fait intervenir des termes de la forme ρa ou aρ qui ne sont pas hermitiens. Tous les éléments de ces matrices doivent alors être calculés, et non plus seulement ceux du triangle inférieur.

Pour chacune des trajectoires quantiques considérées, il apparaît par ailleurs que le temps de calcul d'une itération ne prend essentiellement que trois valeurs distinctes :

 Si tous les coecients αi qui interviennent dans les calculs de ρk ou de ˜ρk sont nuls, tous les déplacements D(αi) sont égaux à l'identité, et aucun de ces longs calculs n'est à faire. Le temps de calcul est alors minimal : 24 µs, 28µs et 33 µs pour N = 8, 9, et 10 respectivement ;

 Si au contraire aucun de ces termes n'est nul, la durée de l'itération est maximale, et l'on trouve 52 µs, 65µs et 79 µs pour N = 8, 9, et 10 respectivement ;

 Si enn l'un seul des deux déplacements à calculer est l'identité, le surplus de temps vis à vis de la durée minimale de l'itération est, comparé à la situation précédente,

(a) N = 8. (b) N = 9.

(c) N = 10.

Figure III.21  Temps de calcul en microsecondes (bleu) et amplitude des corrections en échelle logarithmique signée (rouge) le long d'une trajectoire quantique, et pour trois tailles N de l'espace de Hilbert utilisé. La corrélation entre les longs temps de calcul et les amplitudes non nulles est apparente.

de la boucle dès que la rétroaction devient active, i.e. très, voire trop, proche de la limite maximale des 82 µs.

En revanche, il apparaît que toutes les simplications de calcul utilisées dans le code, et évoquées ci-dessus, permettent pour N = 8 ou 9 de satisfaire amplement la contrainte de temps sur le calcul des corrections. Les résultats du paragraphe IV nous permettront en outre de nous convaincre que cette taille est susamment grande pour ne pas dégrader la qualité de la rétroaction.