# -*- coding: utf-8 -*-
#
-# Copyright (C) 2008-2021 EDF R&D
+# Copyright (C) 2008-2023 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
verify_similarity_of_algo_results(("3DVAR", "Blue", "ExtendedBlue", "4DVAR", "DerivativeFreeOptimization"), Xa, 5.e-5)
verify_similarity_of_algo_results(("LinearLeastSquares", "NonLinearLeastSquares"), Xa, 5.e-7)
verify_similarity_of_algo_results(("KalmanFilter", "ExtendedKalmanFilter", "UnscentedKalmanFilter"), Xa, 1.e-14)
- #~ verify_similarity_of_algo_results(("KalmanFilter", "EnsembleKalmanFilter"), Xa, 5.e-2)
+ verify_similarity_of_algo_results(("KalmanFilter", "EnsembleKalmanFilter"), Xa, 2.e-1)
print(" Les resultats obtenus sont corrects.")
print("")
- #
- return 0
def test2(self):
"""Verification de la disponibilite de l'ensemble des algorithmes\n(Utilisation d'un operateur fonctionnel)"""
print(self.test2.__doc__)
Xa = {}
- M = numpy.matrix("1 0 0;0 2 0;0 0 3")
- def H(x): return M * numpy.asmatrix(numpy.ravel( x )).T
+ M = numpy.diag([1.,2.,3.])
+ def H(x): return M @ numpy.ravel( x )
for algo in ("3DVAR", "Blue", "ExtendedBlue", "NonLinearLeastSquares", "DerivativeFreeOptimization"):
print("")
msg = "Algorithme en test : %s"%algo
Xa[algo] = adaopy.get("Analysis")[-1]
del adaopy
#
- M = numpy.matrix("1 0 0;0 2 0;0 0 3")
- def H(x): return M * numpy.asmatrix(numpy.ravel( x )).T
+ M = numpy.diag([1.,2.,3.])
+ def H(x): return M @ numpy.ravel( x )
for algo in ("ExtendedKalmanFilter", "KalmanFilter", "EnsembleKalmanFilter", "UnscentedKalmanFilter", "4DVAR"):
print("")
msg = "Algorithme en test : %s"%algo
Xa[algo] = adaopy.get("Analysis")[-1]
del adaopy
#
- M = numpy.matrix("1 0 0;0 1 0;0 0 1")
- def H(x): return M * numpy.asmatrix(numpy.ravel( x )).T
+ M = numpy.identity(3)
+ def H(x): return M @ numpy.ravel( x )
for algo in ("ParticleSwarmOptimization", "QuantileRegression", ):
print("")
msg = "Algorithme en test : %s"%algo
msg = "Tests des ecarts attendus :"
print(msg+"\n"+"="*len(msg))
verify_similarity_of_algo_results(("3DVAR", "Blue", "ExtendedBlue", "4DVAR", "DerivativeFreeOptimization"), Xa, 5.e-5)
- verify_similarity_of_algo_results(("KalmanFilter", "ExtendedKalmanFilter", "UnscentedKalmanFilter"), Xa, 1.e14)
- #~ verify_similarity_of_algo_results(("KalmanFilter", "EnsembleKalmanFilter"), Xa, 5.e-2)
+ verify_similarity_of_algo_results(("KalmanFilter", "ExtendedKalmanFilter", "UnscentedKalmanFilter"), Xa, 2.e-14)
+ verify_similarity_of_algo_results(("KalmanFilter", "EnsembleKalmanFilter"), Xa, 2e-1)
print(" Les resultats obtenus sont corrects.")
print("")
- #
- return 0
def almost_equal_vectors(v1, v2, precision = 1.e-15, msg = ""):
"""Comparaison de deux vecteurs"""