broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'scaled_variance_x': d['a']*d['sx']**2, 'scaled_covariance': d['c']*d['sx']*d['sy'], 'rotated_covariance': -d['c'], 'projected_variance': d['a']*d['q']**2, 'projected_cross_term': d['c']*d['q'], 'determinant': d['a']*d['b']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'a': 9, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 9, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 36, 'projected_cross_term': 0, 'determinant': 144}), ({'a': 9, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 9, 'projected_cross_term': 3, 'determinant': 135}), ({'a': 4, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 16, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 16, 'projected_cross_term': -4, 'determinant': 96})], 2: [({'a': 10, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 10, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 40, 'projected_cross_term': 0, 'determinant': 160}), ({'a': 10, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 10, 'projected_cross_term': 3, 'determinant': 151}), ({'a': 5, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 20, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 20, 'projected_cross_term': -4, 'determinant': 121})], 3: [({'a': 11, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 11, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 44, 'projected_cross_term': 0, 'determinant': 176}), ({'a': 11, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 11, 'projected_cross_term': 3, 'determinant': 167}), ({'a': 6, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 24, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 24, 'projected_cross_term': -4, 'determinant': 146})], 4: [({'a': 12, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 12, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 48, 'projected_cross_term': 0, 'determinant': 192}), ({'a': 12, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 12, 'projected_cross_term': 3, 'determinant': 183}), ({'a': 7, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 28, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 28, 'projected_cross_term': -4, 'determinant': 171})], 5: [({'a': 13, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 13, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 52, 'projected_cross_term': 0, 'determinant': 208}), ({'a': 13, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 13, 'projected_cross_term': 3, 'determinant': 199}), ({'a': 8, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 32, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 32, 'projected_cross_term': -4, 'determinant': 196})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

evaluation_group: astro-catalog-error-ellipse

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'scaled_variance_x': d['a']*d['sx']**2, 'scaled_covariance': d['c']*d['sx']*d['sy'], 'rotated_covariance': -d['c'], 'projected_variance': d['a']*d['q']**2, 'projected_cross_term': d['c']*d['q'], 'determinant': d['a']*d['b']-d['c']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'a': 9, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 9, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 36, 'projected_cross_term': 0, 'determinant': 144}), ({'a': 9, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 36, 'projected_cross_term': 6, 'determinant': 135}), ({'a': 9, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 36, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 9, 'projected_cross_term': 3, 'determinant': 135}), ({'a': 4, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 16, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 16, 'projected_cross_term': -4, 'determinant': 96})], 2: [({'a': 10, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 10, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 40, 'projected_cross_term': 0, 'determinant': 160}), ({'a': 10, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 40, 'projected_cross_term': 6, 'determinant': 151}), ({'a': 10, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 40, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 10, 'projected_cross_term': 3, 'determinant': 151}), ({'a': 5, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 20, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 20, 'projected_cross_term': -4, 'determinant': 121})], 3: [({'a': 11, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 11, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 44, 'projected_cross_term': 0, 'determinant': 176}), ({'a': 11, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 44, 'projected_cross_term': 6, 'determinant': 167}), ({'a': 11, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 44, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 11, 'projected_cross_term': 3, 'determinant': 167}), ({'a': 6, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 24, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 24, 'projected_cross_term': -4, 'determinant': 146})], 4: [({'a': 12, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 12, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 48, 'projected_cross_term': 0, 'determinant': 192}), ({'a': 12, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 48, 'projected_cross_term': 6, 'determinant': 183}), ({'a': 12, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 48, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 12, 'projected_cross_term': 3, 'determinant': 183}), ({'a': 7, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 28, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 28, 'projected_cross_term': -4, 'determinant': 171})], 5: [({'a': 13, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 3, 'sx': 1, 'sy': 1, 'q': 2}, {'scaled_variance_x': 13, 'scaled_covariance': 3, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 0, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': 0, 'rotated_covariance': 0, 'projected_variance': 52, 'projected_cross_term': 0, 'determinant': 208}), ({'a': 13, 'b': 16, 'c': 3, 'sx': -2, 'sy': 3, 'q': 2}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 52, 'projected_cross_term': 6, 'determinant': 199}), ({'a': 13, 'b': 16, 'c': 3, 'sx': 2, 'sy': -3, 'q': 1}, {'scaled_variance_x': 52, 'scaled_covariance': -18, 'rotated_covariance': -3, 'projected_variance': 13, 'projected_cross_term': 3, 'determinant': 199}), ({'a': 8, 'b': 25, 'c': -2, 'sx': 2, 'sy': -3, 'q': 2}, {'scaled_variance_x': 32, 'scaled_covariance': 12, 'rotated_covariance': 2, 'projected_variance': 32, 'projected_cross_term': -4, 'determinant': 196})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The adapter reports an incorrect determinant while other fields remain valid.

A tangent-plane catalog covariance has variances a,b and covariance c. Axis scale sx,sy includes signed orientation. A 90-degree basis rotation maps (x,y) to (-y,x). A projected RA coordinate supplied factor q converts covariance using a diagonal Jacobian. No confidence-level conversion is implied. Output fields are defined by: scaled_variance_x = d['a']*d['sx']**2; scaled_covariance = d['c']*d['sx']*d['sy']; rotated_covariance = -d['c']; projected_variance = d['a']*d['q']**2; projected_cross_term = d['c']*d['q']; determinant = d['a']*d['b']-d['c']**2

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

meaning: Fixture-count band, not measured model difficulty

deps: stdlib

evaluation_group: astro-catalog-propagated-covariance

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The adapter reports an incorrect position variance while other fields remain valid.

A catalog supplies position variance p, proper-motion variance m, covariance pm, elapsed interval t, acceleration variance a, and angular scale s. Under the stipulated independent acceleration model position covariance is p+2*t*pm+t*t*m+t**4*a/4. Motion output excludes acceleration unless explicitly requested. Output fields are defined by: position_variance = d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4; position_motion_covariance = d['pm']+d['t']*d['m']; acceleration_position_variance = d['t']**4*d['a']/4; motion_variance = d['m']+d['t']**2*d['a']; scaled_motion_covariance = (d['pm']+d['t']*d['m'])*d['s']**2; backward_cross_covariance = d['pm']-d['t']*d['m']

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

evaluation_group: astro-catalog-propagated-covariance

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']**2*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The adapter reports an incorrect position motion covariance while other fields remain valid.

A catalog supplies position variance p, proper-motion variance m, covariance pm, elapsed interval t, acceleration variance a, and angular scale s. Under the stipulated independent acceleration model position covariance is p+2*t*pm+t*t*m+t**4*a/4. Motion output excludes acceleration unless explicitly requested. Output fields are defined by: position_variance = d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4; position_motion_covariance = d['pm']+d['t']*d['m']; acceleration_position_variance = d['t']**4*d['a']/4; motion_variance = d['m']+d['t']**2*d['a']; scaled_motion_covariance = (d['pm']+d['t']*d['m'])*d['s']**2; backward_cross_covariance = d['pm']-d['t']*d['m']

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**2*d['a'], 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

evaluation_group: astro-catalog-propagated-covariance

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/2, 'motion_variance': d['m']+d['t']**2*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The adapter reports an incorrect acceleration position variance while other fields remain valid.

A catalog supplies position variance p, proper-motion variance m, covariance pm, elapsed interval t, acceleration variance a, and angular scale s. Under the stipulated independent acceleration model position covariance is p+2*t*pm+t*t*m+t**4*a/4. Motion output excludes acceleration unless explicitly requested. Output fields are defined by: position_variance = d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4; position_motion_covariance = d['pm']+d['t']*d['m']; acceleration_position_variance = d['t']**4*d['a']/4; motion_variance = d['m']+d['t']**2*d['a']; scaled_motion_covariance = (d['pm']+d['t']*d['m'])*d['s']**2; backward_cross_covariance = d['pm']-d['t']*d['m']

split: open-access


broken_source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m']+d['t']*d['a'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

evaluation_group: astro-catalog-propagated-covariance

source:
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(d):
    return {'position_variance': d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4, 'position_motion_covariance': d['pm']+d['t']*d['m'], 'acceleration_position_variance': d['t']**4*d['a']/4, 'motion_variance': d['m'], 'scaled_motion_covariance': (d['pm']+d['t']*d['m'])*d['s']**2, 'backward_cross_covariance': d['pm']-d['t']*d['m']}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = {1: [({'p': 4, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 68.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 4, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 4.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 4, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 16.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 4, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 22.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 4, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 56.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 4, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 91.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 2: [({'p': 5, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 69.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 5, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 5.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 5, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 17.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 5, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 23.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 5, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 57.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 5, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 92.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 3: [({'p': 6, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 70.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 6, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 6.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 6, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 18.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 6, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 24.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 6, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 58.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 6, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 93.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 4: [({'p': 7, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 71.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 7, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 7.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 7, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 19.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 7, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 25.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 7, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 59.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 7, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 94.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})], 5: [({'p': 8, 'm': 2, 'pm': 1, 't': 3, 'a': 2, 's': 2}, {'position_variance': 72.5, 'position_motion_covariance': 7, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 28, 'backward_cross_covariance': -5}), ({'p': 8, 'm': 2, 'pm': 1, 't': 0, 'a': 2, 's': 2}, {'position_variance': 8.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1}), ({'p': 8, 'm': 2, 'pm': 1, 't': -2, 'a': 2, 's': 2}, {'position_variance': 20.0, 'position_motion_covariance': -3, 'acceleration_position_variance': 8.0, 'motion_variance': 10, 'scaled_motion_covariance': -12, 'backward_cross_covariance': 5}), ({'p': 8, 'm': 2, 'pm': 0, 't': 3, 'a': 0, 's': 2}, {'position_variance': 26.0, 'position_motion_covariance': 6, 'acceleration_position_variance': 0.0, 'motion_variance': 2, 'scaled_motion_covariance': 24, 'backward_cross_covariance': -6}), ({'p': 8, 'm': 2, 'pm': -1, 't': 3, 'a': 2, 's': -3}, {'position_variance': 60.5, 'position_motion_covariance': 5, 'acceleration_position_variance': 40.5, 'motion_variance': 20, 'scaled_motion_covariance': 45, 'backward_cross_covariance': -7}), ({'p': 8, 'm': 0, 'pm': 1, 't': 3, 'a': 4, 's': 2}, {'position_variance': 95.0, 'position_motion_covariance': 1, 'acceleration_position_variance': 81.0, 'motion_variance': 36, 'scaled_motion_covariance': 4, 'backward_cross_covariance': 1})]}
for i, (record, expected) in enumerate(fixtures[N]):
    check('astronomical fixture %s' % i, solve(record), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)

prompt:
The adapter reports an incorrect motion variance while other fields remain valid.

A catalog supplies position variance p, proper-motion variance m, covariance pm, elapsed interval t, acceleration variance a, and angular scale s. Under the stipulated independent acceleration model position covariance is p+2*t*pm+t*t*m+t**4*a/4. Motion output excludes acceleration unless explicitly requested. Output fields are defined by: position_variance = d['p']+2*d['t']*d['pm']+d['t']**2*d['m']+d['t']**4*d['a']/4; position_motion_covariance = d['pm']+d['t']*d['m']; acceleration_position_variance = d['t']**4*d['a']/4; motion_variance = d['m']+d['t']**2*d['a']; scaled_motion_covariance = (d['pm']+d['t']*d['m'])*d['s']**2; backward_cross_covariance = d['pm']-d['t']*d['m']

split: open-access