def test_matrices_A_after_func_fill(self, qpOASES_mat_fixtures):
""" Verify qpOASES matrices after filling.
"""
pcs, pp = qpOASES_mat_fixtures
random_fill([pp.A])
pp._fill_matrices()
# A
# operational rows
for i in range(pp.N+1):
assert np.allclose(pp.A[i, :pp.nop, :], np.zeros((pp.nop, pp.nV)))
# Assert canonical part if there are canonical constraints
a_expected = np.hstack(map(lambda pc: pc.a[i], pcs))
b_expected = np.hstack(map(lambda pc: pc.b[i], pcs))
assert np.allclose(pp.A[i, pp.nop: pp.nop + pp.nm, 0], a_expected)
assert np.allclose(pp.A[i, pp.nop: pp.nop + pp.nm, 1], b_expected)
assert np.allclose(pp.A[i, pp.nop: pp.nop + pp.nm, 2:],
np.zeros((pp.nm, pp.nv)))
a_expected = np.hstack(map(lambda pc: pc.abar[i], pcs))
assert np.allclose(
pp.A[i, pp.nop + pp.nm: pp.nop + pp.nm + pp.neq, 0],
a_expected)
b_expected = np.hstack(map(lambda pc: pc.bbar[i], pcs))
assert np.allclose(
pp.A[i, pp.nop + pp.nm: pp.nop + pp.nm + pp.neq, 1],
b_expected)
D_expected = block_diag(*map(lambda pc: - pc.D[i], pcs))
assert np.allclose(
pp.A[i, pp.nop + pp.nm: pp.nop + pp.nm + pp.neq, 2:],
D_expected)
G_expected = block_diag(*map(lambda pc: pc.G[i], pcs))
assert np.allclose(
pp.A[i, pp.nop + pp.nm + pp.neq:
pp.nop + pp.nm + pp.neq + pp.niq, 2:], G_expected)
test_qpOASES_solver_mat_filling.py 文件源码
python
阅读 31
收藏 0
点赞 0
评论 0
评论列表
文章目录