]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Updating copyright and tests information
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Tue, 1 Oct 2013 12:53:29 +0000 (14:53 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Tue, 1 Oct 2013 12:53:29 +0000 (14:53 +0200)
src/daComposant/daCore/AssimilationStudy.py
src/daComposant/daCore/Logging.py
src/daComposant/daCore/Persistence.py
src/daComposant/daCore/PlatformInfo.py
src/daComposant/daCore/version.py
src/daComposant/daNumerics/ApproximatedDerivatives.py
src/daComposant/daNumerics/mmqr.py

index 7640288c163c3f8fb1d78f54b6d556b8663342cd..25f9593c966d411af9601e607c7f474ae84581c2 100644 (file)
@@ -1008,69 +1008,3 @@ class AssimilationStudy:
 # ==============================================================================
 if __name__ == "__main__":
     print '\n AUTODIAGNOSTIC \n'
-    
-    ADD = AssimilationStudy("Ma premiere etude BLUE")
-    
-    ADD.setBackground         (asVector     = [0, 1, 2])
-    ADD.setBackgroundError    (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservation        (asVector     = [0.5, 1.5, 2.5])
-    ADD.setObservationError   (asCovariance = "1 0 0;0 1 0;0 0 1")
-    ADD.setObservationOperator(asMatrix     = "1 0 0;0 1 0;0 0 1")
-    
-    ADD.setAlgorithm(choice="Blue")
-    
-    ADD.analyze()
-    
-    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-    print "Ebauche            :", [0, 1, 2]
-    print "Observation        :", [0.5, 1.5, 2.5]
-    print "Demi-somme         :", list((numpy.array([0, 1, 2])+numpy.array([0.5, 1.5, 2.5]))/2)
-    print "  qui doit être identique à :"
-    print "Analyse résultante :", ADD.get("Analysis")[0]
-    print
-    
-    print "Algorithmes disponibles.......................:", ADD.get_available_algorithms()
-    # print " Chemin des algorithmes.....................:", ADD.get_algorithms_main_path()
-    print "Diagnostics types disponibles.................:", ADD.get_available_diagnostics()
-    # print " Chemin des diagnostics.....................:", ADD.get_diagnostics_main_path()
-    print "Variables disponibles.........................:", ADD.get_available_variables()
-    print
-    
-    print "Paramètres requis par algorithme :"
-    for algo in ADD.get_available_algorithms():
-        tmpADD = AssimilationStudy("Un algorithme")
-        tmpADD.setAlgorithm(choice=algo)
-        print "  %25s : %s"%(algo,tmpADD.getAlgorithmParameters())
-        del tmpADD
-    print
-
-    ADD.setDiagnostic("RMS", "Ma RMS")
-    
-    liste = ADD.get().keys()
-    liste.sort()
-    print "Variables et diagnostics nommés disponibles...:", liste
-
-    print
-    print "Exemple de mise en place d'un observeur :"
-    def obs(var=None,info=None):
-        print "  ---> Mise en oeuvre de l'observer"
-        print "       var  =",var[-1]
-        print "       info =",info
-    ADD.setDataObserver( 'Analysis', HookFunction=obs, Scheduler = [2, 4], HookParameters = "Second observer")
-    # Attention, il faut décaler le stockage de 1 pour suivre le pas interne
-    # car le pas 0 correspond à l'analyse ci-dessus.
-    for i in range(1,6):
-        print
-        print "Action sur la variable observée, étape :",i
-        ADD.get('Analysis').store( [i, i, i] )
-    print
-
-    print "Mise en debug et hors debug"
-    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-    ADD.setDebug()
-    ADD.analyze()
-    ADD.unsetDebug()
-    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-    ADD.analyze()
-    print "Nombre d'analyses  :", ADD.get("Analysis").stepnumber()
-    print
index d96eea0761d8434414e01f0637c359dd30ce27ee..860f77baaefc9d987c41f044062ba7e75b8ac61e 100644 (file)
@@ -141,25 +141,3 @@ class Logging:
 # ==============================================================================
 if __name__ == "__main__":
     print '\n AUTODIAGNOSTIC \n'
-    import os.path
-
-    l = Logging(level = logging.NOTSET)
-    
-    logging.info("Message numéro 1 uniquement disponible sur console")
-    
-    l.setLogfile(level = logging.WARNING)
-    if not os.path.isfile(LOGFILE):
-        raise ValueError("Le fichier de log \"%s\" n'a pas pu être créé."%LOGFILE)
-    
-    logging.info("Message numéro 2 uniquement disponible sur console")
-    logging.warning("Message numéro 3 conjointement disponible sur console et fichier")
-    
-    l.setLogfileLevel(logging.INFO)
-    
-    logging.info("Message numéro 4 conjointement disponible sur console et fichier")
-    
-    print
-    print " Le logging a été correctement initialisé. Le fichier suivant"
-    print "   %s"%os.path.basename(LOGFILE)
-    print " a été correctement créé, et peut être effacé après vérification."
-    print
index 1ddd4f64f37acf0aafaa491683adf32990d676b6..403214db292a290bbe20bd76681a89b4a5131c4b 100644 (file)
@@ -878,522 +878,3 @@ class CompositePersistence:
 # ==============================================================================
 if __name__ == "__main__":
     print '\n AUTODIAGNOSTIC \n'
-
-    OBJ = Persistence()                                                                                                
-    OBJ.store( 2)
-    OBJ.store( 3, Campagne="GR514")
-    OBJ.store( 4, Campagne="GR514")
-    OBJ.store( 5, Campagne="GR514")
-    OBJ.store( 6, Campagne="CA206", CDF="c020")
-    OBJ.store( 7, Campagne="GR514")
-    OBJ.store( 8, Campagne="GR514", CDF="c020")
-    OBJ.store( 9, Campagne="GR514", CDF="c020", BU=100.5)
-    print
-    print OBJ
-    print
-    print "Nombre d'items stockés..........................:", len(OBJ)
-    print
-    print "Mots-clé utilisés...............................:", OBJ.tagkeys()
-    print
-    print "Obtention de valeurs, clefs, items en fonction du filtrage"
-    print """  OBJ.values()................................:""", OBJ.values()
-    print """  OBJ.values(Campagne="GR514")................:""", OBJ.values(Campagne="GR514")
-    print """  OBJ.values(Campagne="c020").................:""", OBJ.values(Campagne="c020")
-    print """  OBJ.values(CDF="c020")......................:""", OBJ.values(CDF="c020")
-    print """  OBJ.values(Campagne="GR514",CDF="c020").....:""", OBJ.values(Campagne="GR514",CDF="c020")
-    print """  OBJ.values(Campagne=("GR514","CA206").......:""", OBJ.values(Campagne=("GR514","CA206"))
-    print
-    print """  OBJ.keys()..................................:""", OBJ.keys()
-    print """  OBJ.keys(Campagne="GR514")..................:""", OBJ.keys(Campagne="GR514")
-    print """  OBJ.keys(Campagne="c020")...................:""", OBJ.keys(Campagne="c020")
-    print """  OBJ.keys(CDF="c020")........................:""", OBJ.keys(CDF="c020")
-    print """  OBJ.keys(Campagne="GR514",CDF="c020").......:""", OBJ.keys(Campagne="GR514",CDF="c020")
-    print """  OBJ.keys(Campagne=("GR514","CA206").........:""", OBJ.keys(Campagne=("GR514","CA206"))
-    print
-    print """  OBJ.items().................................:""", OBJ.items()
-    print """  OBJ.items(Campagne="GR514").................:""", OBJ.items(Campagne="GR514")
-    print """  OBJ.items(Campagne="c020")..................:""", OBJ.items(Campagne="c020")
-    print """  OBJ.items(CDF="c020").......................:""", OBJ.items(CDF="c020")
-    print """  OBJ.items(Campagne="GR514",CDF="c020")......:""", OBJ.items(Campagne="GR514",CDF="c020")
-    print """  OBJ.items(Campagne=("GR514","CA206")........:""", OBJ.items(Campagne=("GR514","CA206"))
-    print
-    print "Obtention de valeurs de clefs particulières en fonction du filtrage"
-    print """  OBJ.keys("Campagne")........................:""", OBJ.keys("Campagne")
-    print """  OBJ.keys("CDF").............................:""", OBJ.keys("CDF")
-    print """  OBJ.keys("CDF",Campagne="GR514")............:""", OBJ.keys("CDF",Campagne="GR514")
-    print """  OBJ.keys("Campagne",CDF="c020").............:""", OBJ.keys("Campagne",CDF="c020")
-    print """  OBJ.keys("CDF",CDF="c020")..................:""", OBJ.keys("CDF",CDF="c020")
-    print """  OBJ.keys("BU")..............................:""", OBJ.keys("BU")
-    print """  OBJ.keys("CDF",Campagne=("GR514","CA206")...:""", OBJ.keys("CDF",Campagne=("GR514","CA206"))
-    print
-    print """  OBJ.items("Campagne").......................:""", OBJ.items("Campagne")
-    print """  OBJ.items("CDF")............................:""", OBJ.items("CDF")
-    print """  OBJ.items("CDF",Campagne="GR514")...........:""", OBJ.items("CDF",Campagne="GR514")
-    print """  OBJ.items("Campagne",CDF="c020")............:""", OBJ.items("Campagne",CDF="c020")
-    print """  OBJ.items("CDF",CDF="c020").................:""", OBJ.items("CDF",CDF="c020")
-    print """  OBJ.items("BU").............................:""", OBJ.items("BU")
-    print """  OBJ.items("CDF",Campagne=("GR514","CA206")..:""", OBJ.items("CDF",Campagne=("GR514","CA206"))
-    print
-    print "Obtention de valeurs comme dans une liste"
-    print """  OBJ[0]......................................:""", OBJ[0]
-    print """  OBJ[1]......................................:""", OBJ[1]
-    print """  OBJ[-1].....................................:""", OBJ[-1]
-    print """  OBJ[2:4]....................................:""", OBJ[2:4]
-    print """  OBJ[:]......................................:""", OBJ[:]
-    print """  len(OBJ)....................................:""", len(OBJ)
-    print """  OBJ.count(4)................................:""", OBJ.count("4")
-    print """  OBJ.index(4)................................:""", OBJ.index("4")
-    print """  OBJ.index(9)................................:""", OBJ.index("9")
-    print
-
-    print "======> Un flottant"
-    OBJET_DE_TEST = OneScalar("My float", unit="cm")
-    OBJET_DE_TEST.store( 5.)
-    OBJET_DE_TEST.store(-5.)
-    OBJET_DE_TEST.store( 1.)
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs par pas :"
-    print "  La moyenne        :", OBJET_DE_TEST.means()
-    print "  L'écart-type      :", OBJET_DE_TEST.stds()
-    print "  La somme          :", OBJET_DE_TEST.sums()
-    print "  Le minimum        :", OBJET_DE_TEST.mins()
-    print "  Le maximum        :", OBJET_DE_TEST.maxs()
-    print "Valeurs globales :"
-    print "  La moyenne        :", OBJET_DE_TEST.mean()
-    print "  L'écart-type      :", OBJET_DE_TEST.std()
-    print "  La somme          :", OBJET_DE_TEST.sum()
-    print "  Le minimum        :", OBJET_DE_TEST.min()
-    print "  Le maximum        :", OBJET_DE_TEST.max()
-    print "  La somme cumulée  :", OBJET_DE_TEST.cumsum()
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-    
-    print "======> Un flottant"
-    OBJET_DE_TEST = OneScalar("My float", unit="cm")
-    OBJET_DE_TEST.store( 5., step="azerty")
-    OBJET_DE_TEST.store(-5., step="poiuyt")
-    OBJET_DE_TEST.store( 1., step="azerty")
-    OBJET_DE_TEST.store( 0., step="xxxxxx")
-    OBJET_DE_TEST.store( 5., step="poiuyt")
-    OBJET_DE_TEST.store(-5., step="azerty")
-    OBJET_DE_TEST.store( 1., step="poiuyt")
-    print "Les noms de pas     :", OBJET_DE_TEST.keys("step")
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs identiques  :", OBJET_DE_TEST.values( step = "azerty" )
-    print "Valeurs identiques  :", OBJET_DE_TEST.values( step = "poiuyt" )
-    del OBJET_DE_TEST
-    print
-
-    print "======> Un entier"
-    OBJET_DE_TEST = OneScalar("My int", unit="cm", basetype=int)
-    OBJET_DE_TEST.store( 5 )
-    OBJET_DE_TEST.store(-5 )
-    OBJET_DE_TEST.store( 1.)
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs par pas :"
-    print "  La moyenne        :", OBJET_DE_TEST.means()
-    print "  L'écart-type      :", OBJET_DE_TEST.stds()
-    print "  La somme          :", OBJET_DE_TEST.sums()
-    print "  Le minimum        :", OBJET_DE_TEST.mins()
-    print "  Le maximum        :", OBJET_DE_TEST.maxs()
-    print "Valeurs globales :"
-    print "  La moyenne        :", OBJET_DE_TEST.mean()
-    print "  L'écart-type      :", OBJET_DE_TEST.std()
-    print "  La somme          :", OBJET_DE_TEST.sum()
-    print "  Le minimum        :", OBJET_DE_TEST.min()
-    print "  Le maximum        :", OBJET_DE_TEST.max()
-    print "  La somme cumulée  :", OBJET_DE_TEST.cumsum()
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Un booléen"
-    OBJET_DE_TEST = OneScalar("My bool", unit="", basetype=bool)
-    OBJET_DE_TEST.store( True  )
-    OBJET_DE_TEST.store( False )
-    OBJET_DE_TEST.store( True  )
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Un vecteur de flottants"
-    OBJET_DE_TEST = OneVector("My float vector", unit="cm")
-    OBJET_DE_TEST.store( (5 , -5) )
-    OBJET_DE_TEST.store( (-5, 5 ) )
-    OBJET_DE_TEST.store( (1., 1.) )
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs par pas :"
-    print "  La moyenne        :", OBJET_DE_TEST.means()
-    print "  L'écart-type      :", OBJET_DE_TEST.stds()
-    print "  La somme          :", OBJET_DE_TEST.sums()
-    print "  Le minimum        :", OBJET_DE_TEST.mins()
-    print "  Le maximum        :", OBJET_DE_TEST.maxs()
-    print "Valeurs globales :"
-    print "  La moyenne        :", OBJET_DE_TEST.mean()
-    print "  L'écart-type      :", OBJET_DE_TEST.std()
-    print "  La somme          :", OBJET_DE_TEST.sum()
-    print "  Le minimum        :", OBJET_DE_TEST.min()
-    print "  Le maximum        :", OBJET_DE_TEST.max()
-    print "  La somme cumulée  :", OBJET_DE_TEST.cumsum()
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Une liste hétérogène"
-    OBJET_DE_TEST = OneList("My list", unit="bool/cm")
-    OBJET_DE_TEST.store( (True , -5) )
-    OBJET_DE_TEST.store( (False,  5 ) )
-    OBJET_DE_TEST.store( (True ,  1.) )
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs par pas : attention, on peut les calculer car True=1, False=0, mais cela n'a pas de sens"
-    print "  La moyenne        :", OBJET_DE_TEST.means()
-    print "  L'écart-type      :", OBJET_DE_TEST.stds()
-    print "  La somme          :", OBJET_DE_TEST.sums()
-    print "  Le minimum        :", OBJET_DE_TEST.mins()
-    print "  Le maximum        :", OBJET_DE_TEST.maxs()
-    print "Valeurs globales : attention, on peut les calculer car True=1, False=0, mais cela n'a pas de sens"
-    print "  La moyenne        :", OBJET_DE_TEST.mean()
-    print "  L'écart-type      :", OBJET_DE_TEST.std()
-    print "  La somme          :", OBJET_DE_TEST.sum()
-    print "  Le minimum        :", OBJET_DE_TEST.min()
-    print "  Le maximum        :", OBJET_DE_TEST.max()
-    print "  La somme cumulée  :", OBJET_DE_TEST.cumsum()
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Utilisation directe de la classe Persistence"
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=int )
-    OBJET_DE_TEST.store( 1  )
-    OBJET_DE_TEST.store( 3 )
-    OBJET_DE_TEST.store( 7  )
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Taille \"shape\"      :", OBJET_DE_TEST.shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Utilisation des méthodes d'accès de type dictionnaire"
-    OBJET_DE_TEST = OneScalar("My int", unit="cm", basetype=int)
-    for i in range(5):
-        OBJET_DE_TEST.store( 7+i )
-    print "Taille \"len\"        :", len(OBJET_DE_TEST)
-    print "Les clés absentes   :", OBJET_DE_TEST.keys()
-    print "Les valeurs         :", OBJET_DE_TEST.values()
-    print "Les paires          :", OBJET_DE_TEST.items()
-    OBJET_DE_TEST.pop(1)
-    print "Les valeurs sans la 1:", OBJET_DE_TEST.values()
-    OBJET_DE_TEST.pop(item=2)
-    print "Les valeurs sans la 2:", OBJET_DE_TEST.values()
-    del OBJET_DE_TEST
-    print
-
-    print "======> Persistence composite"
-    OBJET_DE_TEST = CompositePersistence("My CompositePersistence")
-    print "Objets stockables :", OBJET_DE_TEST.get_stored_objects()
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Stockage d'une valeur de Background"
-    OBJET_DE_TEST.store("Background",numpy.zeros(5))
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Ajout d'un objet nouveau par defaut, de type vecteur numpy par pas"
-    OBJET_DE_TEST.add_object("ValeursVectorielles")
-    OBJET_DE_TEST.store("ValeursVectorielles",numpy.zeros(5))
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Ajout d'un objet nouveau de type liste par pas"
-    OBJET_DE_TEST.add_object("ValeursList", persistenceType=OneList )
-    OBJET_DE_TEST.store("ValeursList",range(5))
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Ajout d'un objet nouveau, de type vecteur string par pas"
-    OBJET_DE_TEST.add_object("ValeursStr", persistenceType=Persistence, basetype=str )
-    OBJET_DE_TEST.store("ValeursStr","IGN3")
-    OBJET_DE_TEST.store("ValeursStr","c021")
-    print "Les valeurs       :", OBJET_DE_TEST.get_object("ValeursStr")[:]
-    print "Acces comme dict  :", OBJET_DE_TEST["ValeursStr"].stepserie()
-    print "Acces comme dict  :", OBJET_DE_TEST["ValeursStr"][:]
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Suppression d'un objet"
-    OBJET_DE_TEST.del_object("ValeursVectorielles")
-    print "Objets actifs     :", OBJET_DE_TEST.get_stored_objects( hideVoidObjects = True )
-    print "--> Enregistrement de l'objet complet de Persistence composite"
-    OBJET_DE_TEST.save_composite("composite.pkl", compress="None")
-    print
-
-    print "======> Affichage graphique d'objets stockés"
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=numpy.array)
-    D = OBJET_DE_TEST
-    vect1 = [1, 2, 1, 2, 1]
-    vect2 = [-3, -3, 0, -3, -3]
-    vect3 = [-1, 1, -5, 1, -1]
-    vect4 = 100*[0.29, 0.97, 0.73, 0.01, 0.20]
-    print "Stockage de 3 vecteurs de longueur identique"
-    D.store(vect1)
-    D.store(vect2)
-    D.store(vect3)
-    print "Affichage graphique de l'ensemble du stockage sur une même image"
-    D.plot(
-        title = "Tous les vecteurs",
-        filename="vecteurs.ps",
-        xlabel = "Axe X",
-        ylabel = "Axe Y",
-        pause = False )
-    print "Stockage d'un quatrième vecteur de longueur différente"
-    D.store(vect4)
-    print "Affichage graphique séparé du dernier stockage"
-    D.plots(
-        item  = 3,
-        title = "Vecteurs",
-        filename = "vecteur",
-        xlabel = "Axe X",
-        ylabel = "Axe Y",
-        pause = False )
-    print "Les images ont été stockées en fichiers Postscript"
-    print "Taille \"shape\" du dernier objet stocké",OBJET_DE_TEST.shape()
-    print "Taille \"len\" du dernier objet stocké",len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Affichage graphique dynamique d'objets"
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=float)
-    D = OBJET_DE_TEST
-    D.plots(
-        dynamic = True,
-        title   = "Valeur suivie",
-        xlabel  = "Pas",
-        ylabel  = "Valeur",
-        pause   = False,
-        )
-    for i in range(1,11):
-        D.store( i*i )
-    print "Taille \"shape\" du dernier objet stocké",OBJET_DE_TEST.shape()
-    print "Nombre d'objets stockés",len(OBJET_DE_TEST)
-    del OBJET_DE_TEST
-    print
-
-    print "======> Affectation simple d'observateurs dynamiques"
-    def obs(var=None,info=None):
-        print "  ---> Mise en oeuvre de l'observer"
-        print "       var  =",var[-1]
-        print "       info =",info
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=list)
-    D = OBJET_DE_TEST
-    D.setDataObserver( HookFunction = obs )
-    for i in range(5):
-        # print
-        print "Action de 1 observer sur la variable observée, étape :",i
-        D.store( [i, i, i] )
-    del OBJET_DE_TEST
-    print
-
-    print "======> Affectation multiple d'observateurs dynamiques"
-    def obs(var=None,info=None):
-        print "  ---> Mise en oeuvre de l'observer"
-        print "       var  =",var[-1]
-        print "       info =",info
-    def obs_bis(var=None,info=None):
-        print "  ---> Mise en oeuvre de l'observer"
-        print "       var  =",var[-1]
-        print "       info =",info
-    OBJET_DE_TEST = Persistence("My object", unit="", basetype=list)
-    D = OBJET_DE_TEST
-    D.setDataObserver(
-        HookFunction   = obs,
-        Scheduler      = [2, 4],
-        HookParameters = "Premier observer",
-        )
-    D.setDataObserver(
-        HookFunction   = obs,
-        Scheduler      = xrange(1,3),
-        HookParameters = "Second observer",
-        )
-    D.setDataObserver(
-        HookFunction   = obs_bis,
-        Scheduler      = range(1,3)+range(7,9),
-        HookParameters = "Troisième observer",
-        )
-    for i in range(5):
-        print "Action de 3 observers sur la variable observée, étape :",i
-        D.store( [i, i, i] )
-    D.removeDataObserver(
-        HookFunction   = obs,
-        )
-    for i in range(5,10):
-        print "Action d'un seul observer sur la variable observée, étape :",i
-        D.store( [i, i, i] )
-    del OBJET_DE_TEST
-    print
-
-    print "======> Utilisation des tags/attributs et stockage puis récupération de l'ensemble"
-    OBJET_DE_TEST = CompositePersistence("My CompositePersistence", defaults=False)
-    OBJET_DE_TEST.add_object("My ecarts", basetype = numpy.array)
-
-    OBJET_DE_TEST.store( "My ecarts", numpy.arange(1,5),   Camp="Base",   Carte="IGN3", Niveau=1024, Palier="Premier" )
-    OBJET_DE_TEST.store( "My ecarts", numpy.arange(1,5)+1, Camp="Base",   Carte="IGN4", Niveau= 210, Palier="Premier" )
-    OBJET_DE_TEST.store( "My ecarts", numpy.arange(1,5)+2, Camp="Base",   Carte="IGN1", Niveau=1024 )
-    OBJET_DE_TEST.store( "My ecarts", numpy.arange(1,5)+3, Camp="Sommet", Carte="IGN2", Niveau=4024, Palier="Second", FullMap=True )
-
-    print "Les pas de stockage :", OBJET_DE_TEST["My ecarts"].stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST["My ecarts"][:]
-    print "La 2ème valeur      :", OBJET_DE_TEST["My ecarts"][1]
-    print "La dernière valeur  :", OBJET_DE_TEST["My ecarts"][-1]
-    print "Liste des attributs :", OBJET_DE_TEST["My ecarts"].tagserie()
-    print "Taille \"shape\"      :", OBJET_DE_TEST["My ecarts"].shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST["My ecarts"])
-    print
-
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Palier="Premier" )
-    print "Valeurs pour tag    :", OBJET_DE_TEST["My ecarts"].values( Palier="Premier" )
-    print
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Carte="IGN1" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Niveau=1024 )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Camp="Base" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Camp="TOTO" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Toto="Premier" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Carte="IGN1" )
-    print
-
-    print "Combinaison 'ET' de plusieurs Tags"
-    print "Attendu : [0, 1],    trouvé :",OBJET_DE_TEST["My ecarts"].stepserie( Camp="Base",   Palier="Premier" )
-    print "Attendu : [],        trouvé :",OBJET_DE_TEST["My ecarts"].stepserie( Camp="Sommet", Palier="Premier" )
-    print "Attendu : [3],       trouvé :",OBJET_DE_TEST["My ecarts"].stepserie( Camp="Sommet" )
-    print "Attendu : [2],       trouvé :",OBJET_DE_TEST["My ecarts"].stepserie( Carte="IGN1",  Niveau=1024 )
-    print
-      
-    print "Liste des tags pour le pas (item) 1  :",OBJET_DE_TEST["My ecarts"].tagserie(item = 1)
-    print "Liste des tags pour le pas (item) 2  :",OBJET_DE_TEST["My ecarts"].tagserie(item = 2)
-    print
-    print "Liste des tags/valeurs pour le pas 1 :",OBJET_DE_TEST["My ecarts"].tagserie(item = 1, withValues=True)
-    print "Liste des tags/valeurs pour le pas 2 :",OBJET_DE_TEST["My ecarts"].tagserie(item = 2, withValues=True)
-    print
-
-    print "Liste des valeurs possibles pour 1 tag donné 'Camp'   :",OBJET_DE_TEST["My ecarts"].tagserie(outputTag="Camp")
-    print "Liste des valeurs possibles pour 1 tag donné 'Toto'   :",OBJET_DE_TEST["My ecarts"].tagserie(outputTag="Toto")
-    print "Liste des valeurs possibles pour 1 tag donné 'Niveau' :",OBJET_DE_TEST["My ecarts"].tagserie(outputTag="Niveau")
-    print
-
-    OBJET_DE_TEST.add_object("My other ecarts", basetype = numpy.array)
-    OBJET_DE_TEST.store( "My other ecarts", numpy.arange(-1,5),   Camp="Base",  Carte="IGN3",Niveau=1024,Palier="Premier" )
-    OBJET_DE_TEST.store( "My other ecarts", numpy.arange(-1,5)+1, Camp="Base",  Carte="IGN4",Niveau= 210,Palier="Premier" )
-    OBJET_DE_TEST.store( "My other ecarts", numpy.arange(-1,5)+2, Camp="Base",  Carte="IGN1",Niveau=1024 )
-    OBJET_DE_TEST.store( "My other ecarts", numpy.arange(-1,5)+3, Camp="Sommet",Carte="IGN2",Niveau=4024,Palier="Second" )
-
-    print "Objets présents dans le composite :",OBJET_DE_TEST.get_stored_objects()
-    fichier = "composite.pkl.gz"
-    print "Sauvegarde sur \"%s\"..."%fichier
-    OBJET_DE_TEST.save_composite( fichier )
-    print "Effacement de l'objet en memoire"
-    del OBJET_DE_TEST
-    print
-
-    print "Relecture de l'objet sur \"%s\"..."%fichier
-    OBJET_DE_TEST = CompositePersistence("My CompositePersistence bis", defaults=False)
-    OBJET_DE_TEST.load_composite( fichier )
-    print "Objets présents dans le composite :",OBJET_DE_TEST.get_stored_objects()
-    print "Taille des objets contenus :"
-    for name in OBJET_DE_TEST.get_stored_objects():
-        print "  Objet \"%s\" : taille unitaire de %i"%(name,len(OBJET_DE_TEST[name][-1]))
-
-    print
-    print "Les pas de stockage :", OBJET_DE_TEST["My ecarts"].stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST["My ecarts"][:]
-    print "La 2ème valeur      :", OBJET_DE_TEST["My ecarts"][1]
-    print "La dernière valeur  :", OBJET_DE_TEST["My ecarts"][-1]
-    print "Liste des attributs :", OBJET_DE_TEST["My ecarts"].tagserie()
-    print "Taille \"shape\"      :", OBJET_DE_TEST["My ecarts"].shape()
-    print "Taille \"len\"        :", len(OBJET_DE_TEST["My ecarts"])
-    print
-
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Palier="Premier" )
-    print "Valeurs pour tag    :", OBJET_DE_TEST["My ecarts"].values( Palier="Premier" )
-    print
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Carte="IGN1" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Niveau=1024 )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Camp="Base" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Camp="TOTO" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Toto="Premier" )
-    print "Pas pour tag        :", OBJET_DE_TEST["My ecarts"].stepserie( Carte="IGN1" )
-    print
-    #import sys ; sys.exit()
-    print "Attributs                 :", OBJET_DE_TEST["My ecarts"].tagserie()
-    print "Attributs pour tag filtré :", OBJET_DE_TEST["My ecarts"].tagserie( Camp="Base" )
-    print "Attributs pour tag filtré :", OBJET_DE_TEST["My ecarts"].tagserie( Niveau=4024 )
-    print
-    print "Attributs et valeurs                 :", OBJET_DE_TEST["My ecarts"].tagserie( withValues=True )
-    print "Attributs et valeurs pour tag filtré :", OBJET_DE_TEST["My ecarts"].tagserie( withValues=True, Camp="Base" )
-    print "Attributs et valeurs pour tag filtré :", OBJET_DE_TEST["My ecarts"].tagserie( withValues=True, Niveau=4024 )
-    print
-    print "Valeur d'attribut pour un tag donné 'BU'           :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Niveau" )
-    print "Valeur d'attribut pour un tag donné 'BU' filtré    :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Niveau", Camp="Base" )
-    print "Valeur d'attribut pour un tag donné 'BU' filtré    :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Niveau", Palier="Second" )
-    print "Valeur d'attribut pour un tag donné 'Camp' filtré  :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Camp",   Palier="Premier" )
-    print "Valeur d'attribut pour un tag donné 'Carte' filtré :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Carte",  Palier="Premier" )
-    print "Valeur d'attribut pour un tag donné 'Carte' filtré :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Carte",  Palier="Premier", Niveau=4024 )
-    print "Valeur d'attribut pour un tag donné 'Carte' filtré :", OBJET_DE_TEST["My ecarts"].tagserie( outputTag = "Carte",  Palier="Premier", Niveau=210 )
-    print
-
-    print "======> Cas d'erreur"
-    OBJET_DE_TEST = OneScalar("My float", unit="cm")
-    OBJET_DE_TEST.store( 5., step="azerty")
-    OBJET_DE_TEST.store(-5., step="poiuyt")
-    OBJET_DE_TEST.store( 1., step="azerty")
-    OBJET_DE_TEST.store( 0., step="xxxxxx")
-    OBJET_DE_TEST.store( 5., step="poiuyt")
-    OBJET_DE_TEST.store(-5., step="azerty")
-    OBJET_DE_TEST.store( 1., step="poiuyt")
-    print "Les pas de stockage :", OBJET_DE_TEST.stepserie()
-    print "Les valeurs         :", OBJET_DE_TEST[:]
-    print "La 2ème valeur      :", OBJET_DE_TEST[1]
-    print "La dernière valeur  :", OBJET_DE_TEST[-1]
-    print "Valeurs 'azerty'    :", OBJET_DE_TEST.values( step = "azerty" )
-    print "Valeurs 'poiuyt'    :", OBJET_DE_TEST.values( step = "poiuyt" )
-    print
-    print "Nombre de valeurs   :", len(OBJET_DE_TEST)
-    try:
-        x = OBJET_DE_TEST[7]
-        print "La 8ème valeur      :", x
-    except IndexError, e:
-        print "Erreur correcte     :",e
-    try:
-        x = OBJET_DE_TEST[7]
-        print "La 8ème valeur      :", x
-    except IndexError, e:
-        print "Erreur correcte     :",e
-    print
-
-    print "======> Impression d'objet Persistence"
-    OBJET_DE_TEST = OneScalar("My float", unit="cm")
-    OBJET_DE_TEST.store( 5., step="azerty")
-    OBJET_DE_TEST.store(-5., step="poiuyt")
-    OBJET_DE_TEST.store( 1., step="azerty")
-    OBJET_DE_TEST.store( 0., step="xxxxxx")
-    OBJET_DE_TEST.store( 5., step="poiuyt")
-    OBJET_DE_TEST.store(-5., step="azerty")
-    OBJET_DE_TEST.store( 1., step="poiuyt")
-    print OBJET_DE_TEST
-    print
index d39299188114db5c2326a1d360fbd6f4d5c8b1c8..32889342093e37be73400a94cf91bc3751f86ff9 100644 (file)
@@ -209,42 +209,3 @@ class SystemUsage:
 # ==============================================================================
 if __name__ == "__main__":
     print '\n AUTODIAGNOSTIC \n'
-
-    print PlatformInfo()
-    print
-    p = PlatformInfo()
-    print "Les caractéristiques détaillées des applications et outils sont :"
-    print "  - Application.......:",p.getName()
-    print "  - Version...........:",p.getVersion()
-    print "  - Date Application..:",p.getDate()
-    print "  - Python............:",p.getPythonVersion()
-    print "  - Numpy.............:",p.getNumpyVersion()
-    print "  - Scipy.............:",p.getScipyVersion()
-    print
-    
-    p = PathManagement()
-    print "Les chemins ajoutés au système pour des outils :"
-    for k,v in p.getpaths().items():
-        print "  %12s : %s"%(k,os.path.basename(v))
-    print
-
-    m = SystemUsage()
-    print "La mémoire disponible est la suivante :"
-    print "  - mémoire totale....: %4.1f Mo"%m.getAvailableMemory("Mo")
-    print "  - mémoire physique..: %4.1f Mo"%m.getAvailablePhysicalMemory("Mo")
-    print "  - mémoire swap......: %4.1f Mo"%m.getAvailableSwapMemory("Mo")
-    print "  - utilisable........: %4.1f Mo"%m.getUsableMemory("Mo")
-    print "L'usage mémoire de cette exécution est le suivant :"
-    print "  - mémoire résidente.: %4.1f Mo"%m.getUsedMemory("Mo")
-    print "  - mémoire virtuelle.: %4.1f Mo"%m.getVirtualMemory("Mo")
-    print "  - taille de stack...: %4.1f Mo"%m.getUsedStacksize("Mo")
-    print "Création d'un objet range(1000000) et mesure mémoire"
-    x = range(1000000)
-    print "  - mémoire totale....: %4.1f Mo"%m.getUsedMemory("Mo")
-    print "Destruction de l'objet et mesure mémoire"
-    del x
-    print "  - mémoire totale....: %4.1f Mo"%m.getUsedMemory("Mo")
-    print "L'usage mémoire maximal de cette exécution est le suivant :"
-    print "  - mémoire résidente.: %4.1f Mo"%m.getMaxUsedMemory("Mo")
-    print "  - mémoire virtuelle.: %4.1f Mo"%m.getMaxVirtualMemory("Mo")
-    print
index 9bbd88c9d9eb78bd07b565136a6b8d98ac54df78..e3f6a931123db4b4cbea78bbfa62eafb14c6e928 100644 (file)
@@ -21,5 +21,5 @@
 # Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 name    = "Data Assimilation Package"
-version = "0.7.0"
-date    = "mardi 30 avril 2013, 12:12:12 (UTC+0100)"
+version = "0.8.0"
+date    = "jeudi 31 octobre 2013, 12:12:12 (UTC+0100)"
index 35a96d002ee8d59daf94ed4802e98792e7175766..bdf9d862e55bfca071766fd037a646f1f4b7862c 100644 (file)
@@ -1,24 +1,24 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2013 EDF R&D
+# Copyright (C) 2008-2013 EDF R&D
 #
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
 #
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
-#  Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 __doc__ = """
     Définit les versions approximées des opérateurs tangents et adjoints.
@@ -265,109 +265,6 @@ class FDApproximation:
             _HaY = numpy.dot(_JacobienneT, _Y)
             return _HaY.A1
 
-# ==============================================================================
-#
-def test1( XX ):
-    """ Direct non-linear simulation operator """
-    #
-    # NEED TO BE COMPLETED
-    # NEED TO BE COMPLETED
-    # NEED TO BE COMPLETED
-    #
-    # --------------------------------------> # EXAMPLE TO BE REMOVED
-    # Example of Identity operator            # EXAMPLE TO BE REMOVED
-    if type(XX) is type(numpy.matrix([])):    # EXAMPLE TO BE REMOVED
-        HX = XX.A1.tolist()                   # EXAMPLE TO BE REMOVED
-    elif type(XX) is type(numpy.array([])):   # EXAMPLE TO BE REMOVED
-        HX = numpy.matrix(XX).A1.tolist()     # EXAMPLE TO BE REMOVED
-    else:                                     # EXAMPLE TO BE REMOVED
-        HX = XX                               # EXAMPLE TO BE REMOVED
-    #                                         # EXAMPLE TO BE REMOVED
-    HHX = []                                  # EXAMPLE TO BE REMOVED
-    HHX.extend( HX )                          # EXAMPLE TO BE REMOVED
-    HHX.extend( HX )                          # EXAMPLE TO BE REMOVED
-    # --------------------------------------> # EXAMPLE TO BE REMOVED
-    #
-    return numpy.array( HHX )
-
 # ==============================================================================
 if __name__ == "__main__":
-
-    print
-    print "AUTODIAGNOSTIC"
-    print "=============="
-    
-    X0 = [1, 2, 3]
-    FDA = FDApproximation( test1 )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(3,3+2*len(X0))) )
-    print
-    del FDA
-    FDA = FDApproximation( test1, centeredDF=True )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(3,3+2*len(X0))) )
-    print
-    del FDA
-
-    print "=============="
-    print
-    X0 = range(5)
-    FDA = FDApproximation( test1 )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-    FDA = FDApproximation( test1, centeredDF=True )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-
-    print "=============="
-    print
-    X0 = numpy.arange(3)
-    FDA = FDApproximation( test1 )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-    FDA = FDApproximation( test1, centeredDF=True )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-
-    print "=============="
-    print
-    X0 = numpy.asmatrix(numpy.arange(4)).T
-    FDA = FDApproximation( test1 )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-    FDA = FDApproximation( test1, centeredDF=True )
-    print "H(X)       =",   FDA.DirectOperator( X0 )
-    print "Tg matrice =\n", FDA.TangentMatrix( X0 )
-    print "Tg(X)      =",   FDA.TangentOperator( (X0, X0) )
-    print "Ad((X,Y))  =",   FDA.AdjointOperator( (X0,range(7,7+2*len(X0))) )
-    print
-    del FDA
-
+    print '\n AUTODIAGNOSTIC \n'
index 1395fcbf5591e70c62a6b239f3bf0b6d1c07204e..8ba175c406b7dc94f5a0646d0d9cd6ab8f09f0ad 100644 (file)
@@ -1,27 +1,31 @@
 #-*-coding:iso-8859-1-*-
 #
-#  Copyright (C) 2008-2013 EDF R&D
+# Copyright (C) 2008-2013 EDF R&D
 #
-#  This library is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU Lesser General Public
-#  License as published by the Free Software Foundation; either
-#  version 2.1 of the License.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
 #
-#  This library is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-#  Lesser General Public License for more details.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
 #
-#  You should have received a copy of the GNU Lesser General Public
-#  License along with this library; if not, write to the Free Software
-#  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 #
-#  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
-# L'algorithme est base sur la publication : David R. Hunter, Kenneth Lange,
-# "Quantile Regression via an MM Algorithm", Journal of Computational and
-# Graphical Statistics, 9, 1, pp.60-77, 2000
+__doc__ = """
+    Implémentation informatique de l'algorithme MMQR, basée sur la publication :
+    David R. Hunter, Kenneth Lange, "Quantile Regression via an MM Algorithm",
+    Journal of Computational and Graphical Statistics, 9, 1, pp.60-77, 2000.
+"""
+__author__ = "Jean-Philippe ARGAUD"
 
 import sys, math
 from numpy import sum, array, matrix, dot, linalg, asarray, asmatrix, ravel