11.1. Liste des types d’entrées possibles pour les variables utilisateurs

Chaque variable à renseigner pour l’utilisation d’ADAO peut être représentée à l’aide de « pseudo-types » particuliers, qui aident à la remplir logiquement et à la valider informatiquement. Ces pseudo-types représentent explicitement des formes mathématiques (Pseudo-types de représentation mathématique des données) ou informatiques simples (Pseudo-types de description informatique des données), que l’on détaille ici. On utilise aussi les Notations et conventions communes, en même temps que les Informations sur les noms imposés pour les entrées par fichier.

Le test explicite Algorithme de vérification « InputValuesTest » est prévu pour que l’utilisateur puisse vérifier spécifiquement certaines entrées, avec les mêmes analyses et critères que lors de la mise en place usuelle d’une étude.

11.1.1. Pseudo-types de représentation mathématique des données

Les entrées sont décrites selon une logique la plus simple possible, de représentation mathématique, pour des algorithmes ou outils de calculs.

Vector

Liste de valeurs réelles. Cela indique une variable qui doit être remplie comme un vecteur. C’est une simple collection ordonnée de nombres réels. Les vecteurs peuvent être décrits en version ligne ou colonne sans faire de différence. Les détails des Conditions requises pour la description d’observations ou de mesures expérimentales permettent d’illustrer différentes manières possibles d’écrire cette entrée.

VectorSerie

Liste de liste de valeurs réelles. Cela indique une variable qui doit être remplie comme une liste de vecteurs. C’est une collection ordonnée de vecteurs. Les détails des Conditions requises pour la description d’observations ou de mesures expérimentales permettent d’illustrer différentes manières possibles d’écrire cette entrée.

Matrix

Matrice. Cela indique une variable qui doit être donnée comme une matrice. Les matrices sont des entrées spéciales qui peuvent être décrites selon les Conditions requises pour décrire des matrices de covariance.

Function

Fonction. Cela indique une variable qui doit être donnée comme une fonction au sens Python. Les fonctions sont des entrées spéciales qui peuvent être décrites selon les Conditions requises pour les fonctions décrivant un opérateur.

Dict

Dictionnaire. Cela indique une variable qui doit être remplie comme un dictionnaire au sens Python {"clé":"valeur"...}.

Les variables auxquelles ces pseudo-types s’appliquent peuvent elles-mêmes être données à l’aide des descriptions informatiques qui suivent.

11.1.2. Pseudo-types de description informatique des données

Trois pseudo-types, purement informatiques, permettent de désigner la manière dont on fournit les variables en entrée.

Script

Nom de fichier. Cela indique un script donné comme un fichier externe. Il peut être désigné par un nom de fichier avec chemin complet ou seulement par un nom de fichier sans le chemin. Si le fichier est donné uniquement par un nom sans chemin, et si un répertoire d’étude est aussi indiqué, le fichier est recherché dans le répertoire d’étude donné.

String

Chaîne de caractères. Cela indique une chaîne de caractères fournissant une représentation littérale d’une matrice, d’un vecteur ou d’une collection de vecteurs, comme par exemple « 1 2 ; 3 4 » ou « [[1,2],[3,4]] » pour une matrice carrée de taille 2x2.

DataFile, ColNames, ColMajor

Cela indique des données fournies dans un fichier externe. Il peut être désigné par un nom de fichier avec chemin complet ou seulement par un nom de fichier sans le chemin. Si le fichier est donné uniquement par un nom sans chemin, et si un répertoire d’étude est aussi indiqué, le fichier est recherché dans le répertoire d’étude donné. Le contenu du fichier peut être :

  • en format texte (texte simple dans un fichier à extension « .txt » ou « .dat », texte à séparateur virgule ou point-virgule dans un fichier à extension « .csv », texte à séparateur tabulation dans un fichier à extension « .tsv »), nommé ici TXT, CSV, TSV ou DAT.

  • en format binaire (mono-variable dans un fichier Numpy à extension « .npy », multi-variables dans un fichier NumpyZ à extension « .npz »), nommé ici NPY ou NPZ.

Par défaut, les valeurs d’une variable doivent être rangées en colonnes pour être acquises ligne d’enregistrement par ligne d’enregistrement (« ColMajor=False »), mais elles peuvent aussi être rangées en lignes pour être acquises colonne d’enregistrement par colonne d’enregistrement (« ColMajor=True »).

Sans précision ou avec une liste vide pour les noms de variables, on utilise les valeurs toutes les variables, mais on peut aussi sélectionner uniquement celles des variables indiquées dans la liste de noms fournie dans « ColNames ». Les noms de variable sont toujours en entête de colonne.

Exemple de fichier CSV pour la variable « Observation » en « DataFile »

# Fichier CSV à séparateur ";" ou ","
# ===================================
# Ligne de commentaires débutant par #
# La ligne suivante est réservée au nommage des variables
Alpha1;Observation;Alpha2
0.1234;5.6789;9.0123
1.2345;2.3456;3.
2.3456;3.4567;4.56
3.;4.;5.
4;5;6
5.123;6.789;7.8

Exemple de fichier TXT pour la variable « Observation » en « DataFile »

# Fichier TXT à séparateur espace
# ===============================
# Ligne de commentaires débutant par #
# La ligne suivante est réservée au nommage des variables
Alpha1 Observation Alpha2
0.1234 5.6789 9.0123
1.2345 2.3456 3.
2.3456 3.4567 4.56
3.     4.     5.
4      5      6
5.123  6.789  7.8

Avertissement

Il est recommandé, avant de les utiliser en entrée de ce type, de bien vérifier les fichiers textes ou binaires. Diverses vérifications sont effectuées au chargement, mais la variété des erreurs potentielles est grande. Dans la pratique, en respectant les exigences de nommage des variables et de commentaires, des fichiers textes issus de programmes ou de tableurs classiques sont (la plupart du temps) compatibles.

11.1.3. Informations sur les noms imposés pour les entrées par fichier

Lorsqu’une commande ou un mot-clé peuvent être renseignés à l’aide d’un fichier script désigné par le pseudo-type « Script », ce script doit présenter une variable ou une méthode qui porte le même nom que la variable à remplir. En d’autres termes, lorsque l’on importe un tel script dans une commande Python ou un noeud Python de YACS, il doit créer une variable du bon nom dans l’espace de nommage courant du noeud. Par exemple, un script Python rendant disponible la variable d’ébauche, nommée « Background », doit présenter la forme suivante

...
...
Background =...
...
...

Son importation permet ainsi de créer la variable « Background » dans l’espace de nommage courant. Les points « … » symbolisent du code quelconque autour de ce début particulier de ligne.

De la même manière, lorsqu’un vecteur particulier peut être renseigné à l’aide d’un fichier de données désigné par le pseudo-type « DataFile », les informations présentes dans le fichier « DataFile » doivent porter le nom du vecteur à charger.