def testRandomRotation(self): angles = [] rstate = num.random.RandomState(10) for _ in range(100): mt1 = MomentTensor.random_mt(magnitude=-1.0) mt2 = mt1.random_rotated(10.0, rstate=rstate) angle = kagan_angle(mt1, mt2) angles.append(angle) assert abs(num.mean(angles) - 8.330) < 0.01 mt1 = MomentTensor.random_mt(magnitude=-1.0) mt2 = mt1.random_rotated(angle=10.0) assert abs(kagan_angle(mt1, mt2) - 10.0) < 0.0001
def testRandomRotation(self): angles = [] rstate = num.random.RandomState(10) for _ in range(100): mt1 = MomentTensor.random_mt(magnitude=-1.0) mt2 = mt1.random_rotated(10.0, rstate=rstate) angle = kagan_angle(mt1, mt2) angles.append(angle) assert abs(num.mean(angles) - 8.330) < 0.01 mt1 = MomentTensor.random_mt(magnitude=-1.0) mt2 = mt1.random_rotated(angle=10.0) assert abs(kagan_angle(mt1, mt2) - 10.0) < 0.0001
def testKagan(self): eps = 0.01 for _ in xrange(500): mt1 = MomentTensor.random_mt(magnitude=-1.0) assert 0.0 == kagan_angle(mt1, mt1) mt1 = MomentTensor.random_dc(magnitude=-1.0) assert 0.0 == kagan_angle(mt1, mt1) angle = random.random() * 90.0 rot = rotation_from_angle_and_axis(angle, random_axis()) mrot = rot.T * mt1.m() * rot mt2 = MomentTensor(m=mrot) angle2 = kagan_angle(mt1, mt2) assert abs(angle - angle2) < eps
def testKagan(self): eps = 0.01 for _ in range(500): mt1 = MomentTensor.random_mt(magnitude=-1.0) assert 0.0 == kagan_angle(mt1, mt1) mt1 = MomentTensor.random_dc(magnitude=-1.0) assert 0.0 == kagan_angle(mt1, mt1) angle = random.random() * 90. rot = rotation_from_angle_and_axis(angle, random_axis()) mrot = rot.T * mt1.m() * rot mt2 = MomentTensor(m=mrot) angle2 = kagan_angle(mt1, mt2) assert abs(angle - angle2) < eps