14.10. Algorithme de vérification « ObserverTest »

14.10.1. Description

Cet algorithme permet de vérifier une fonction externe et fournie par l’utilisateur, utilisée comme un observer. Cette fonction externe peut être appliquée pour chacune des variables potentiellement observables. Elle n’est activée que sur celles qui sont explicitement associées avec cet observer dans sa déclaration.

14.10.2. Quelques propriétés notables des méthodes implémentées

Pour compléter la description on synthétise ici quelques propriétés notables, des méthodes de l’algorithme ou de leurs implémentations. Ces propriétés peuvent avoir une influence sur la manière de l’utiliser ou sur ses performances de calcul. Pour de plus amples renseignements, on se reportera aux références plus complètes indiquées à la fin du descriptif de cet algorithme.

  • Les méthodes proposées par cet algorithme ne requièrent pas de dérivation de la fonction objectif ou de l’un des opérateurs, permettant d’éviter ce temps de calcul supplémentaire dans le cas où les dérivées sont calculées numériquement par de multiples évaluations.

14.10.3. Commandes requises et optionnelles

Les commandes générales requises, disponibles en édition dans l’interface graphique ou textuelle, sont les suivantes :

Observers

Liste de fonctions liées à des variables. La variable permet de définir des observateurs internes, qui sont des fonctions liées à une variable particulière d’algorithme, qui sont exécutées chaque fois que cette variable est modifiée. C’est une manière pratique de suivre des variables d’intérêt durant le processus d’assimilation de données ou d’optimisation, en l’affichant ou en la traçant, etc. Des exemples courants (squelettes ou « templates ») sont fournis pour aider l’utilisateur ou pour faciliter l’élaboration d’un cas.

Les commandes optionnelles générales, disponibles dans l’interface en édition, sont indiquées dans la Liste des commandes et mots-clés pour un cas de vérification.

Astuce pour cet algorithme :

Comme les commandes « CheckingPoint » et « ObservationOperator », dans l’interface graphique, sont requises pour TOUS les algorithmes de vérification, il faut fournir une valeur, malgré le fait que ces commandes ne soient pas nécessaires pour ce test (et que leurs valeurs ne sont donc pas utilisées). La manière la plus simple est de donner « 1 » comme un STRING pour les deux, avec un « ObservationOperator » devant être de type Matrix creuse.