def test_distance_kullback_sym(): old_dist = distance_kullback_sym(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.kullback_sym(m1, m2) return _get_state(old_dist, new_dist, "kullback sym")
def test_log_euclidean(): old_dist = distance_logeuclid(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.log_euclidean(m1, m2) return _get_state(old_dist, new_dist, "log euclidean")
def test_distance_wasserstein(): old_dist = distance_wasserstein(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.wasserstein(m1, m2) return _get_state(old_dist, new_dist, "wasserstein")
def test_distance_riemman(): old_dist = distance_riemann(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.riemannian(m1, m2) return _get_state(old_dist, new_dist, "riemmanian")
def test_distance_logdet(): new_dist = Distance.log_determinant(m1, m2) m1.reset_fields() m2.reset_fields() old_dist = distance_logdet(m1.numpy_array, m2.numpy_array) # TypeError: unsupported operand type(s) for /: 'CovMat' and 'float' #new_dist = Distance.log_determinant(m1.numpy_array, m2.numpy_array) # AttributeError: 'numpy.ndarray' object has no attribute 'determinant return _get_state(old_dist, new_dist, "log determinant")
def function(): covmat1 = CovMat.random(100) covmat2 = CovMat.random(100) a = Distance.euclidean(covmat1, covmat2) b = Distance.log_euclidean(covmat1, covmat2) c = Distance.log_determinant(covmat1, covmat2) d = Distance.riemannian(covmat1, covmat2) e = Distance.wasserstein(covmat1, covmat2) f = Distance.kullback(covmat1, covmat2) g = Distance.kullback_right(covmat1, covmat2) h = Distance.kullback_sym(covmat1, covmat2)
def test_distance_logdet(): new_dist = Distance.log_determinant(m1, m2) m1.reset_fields() m2.reset_fields() old_dist = distance_logdet( m1.numpy_array, m2.numpy_array ) # TypeError: unsupported operand type(s) for /: 'CovMat' and 'float' #new_dist = Distance.log_determinant(m1.numpy_array, m2.numpy_array) # AttributeError: 'numpy.ndarray' object has no attribute 'determinant return _get_state(old_dist, new_dist, "log determinant")
def test_euclidean(): m1 = CovMat.random(10) m2 = CovMat.random(10) old_dist = distance_euclid(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.euclidean(m1, m2) if abs( old_dist - new_dist ) < 1e-10: print("euclid: PASS") return True else: print("euclid: FAIL") return False
def test_euclidean(): m1 = CovMat.random(10) m2 = CovMat.random(10) old_dist = distance_euclid(m1.numpy_array, m2.numpy_array) m1.reset_fields() m2.reset_fields() new_dist = Distance.euclidean(m1, m2) if abs(old_dist - new_dist) < 1e-10: print("euclid: PASS") return True else: print("euclid: FAIL") return False
def getDistance(self): """returns a Distance object """ GPIO.output(self.trigger, True) time.sleep(0.00001) GPIO.output(self.trigger, False) StartTime = time.time() StopTime = time.time() while GPIO.input(self.echo) == 0: StartTime = time.time() while GPIO.input(self.echo) == 1: StopTime = time.time() TimeElapsed = StopTime - StartTime distance = Distance((TimeElapsed * 34300) / 2) return distance