def test_batch_times_matrix(self): left = numpy.random.normal(size=[5, 3, 2]).astype(numpy.float32) left_transpose = numpy.transpose(left, [0, 2, 1]) right = numpy.random.normal(size=[2, 3]).astype(numpy.float32) expected_result = numpy.dot(left, right) with self.cached_session(): self.assertAllClose(expected_result, math_utils.batch_times_matrix( left, right).eval()) self.assertAllClose(expected_result, math_utils.batch_times_matrix( left_transpose, right, adj_x=True).eval()) self.assertAllClose(expected_result, math_utils.batch_times_matrix( left, right.T, adj_y=True).eval()) self.assertAllClose(expected_result, math_utils.batch_times_matrix( left_transpose, right.T, adj_x=True, adj_y=True).eval())
def _matrix_observation_noise_update(): return (multiplied_state_var + math_ops.matmul( math_utils.batch_times_matrix( kalman_gain_transposed, observation_noise, adj_x=True), kalman_gain_transposed))
def _matrix_observation_noise_update(): return (multiplied_state_var + math_ops.matmul( math_utils.batch_times_matrix( kalman_gain_transposed, observation_noise, adj_x=True), kalman_gain_transposed))