decl_opr('MatrixMul',
pyname='matrix_mul_v0',
inputs=['opr0', 'opr1'],
params='MatrixMulV0',
desc='matrix multiplication')
decl_opr('BatchedMatrixMul',
pyname='batched_matrix_mul_v0',
inputs=['opr0', 'opr1'],
params='MatrixMulV0',
desc='batched matrix multiplication: input shapes should be '
'(n, a, b) and (n, b, c) (assuming transposeA and transeposeB are '
'False); then :math:`n` independent matrix multiplications would be '
'performed and output shape is (n, a, c)')
decl_opr('MatrixMul',
inputs=['opr0', 'opr1'],
params=[('param', 'MatrixMul'),
('execution_polity', 'ExecutionPolicy')],
desc='matrix multiplication',
version=2, has_out_dtype=True)
decl_opr('BatchedMatrixMul',
inputs=['opr0', 'opr1'],
params=[('param', 'MatrixMul'),
('execution_polity', 'ExecutionPolicy')],
desc='batched matrix multiplication: input shapes should be '
'(n, a, b) and (n, b, c) (assuming transposeA and transeposeB are '
'False); then :math:`n` independent matrix multiplications would be '
'performed and output shape is (n, a, c)',
version=2, has_out_dtype=True)
decl_opr('Dot',
inputs=['opr0', 'opr1'],
params='Empty',
desc='dot-product of two vectors; inputs must be 1-dimensional, '
'and scalar input can be automatically broadcasted')
decl_opr('MatrixInverse',
inputs=['src'],
params='Empty',
desc='inverse a batch of matrices; the input must has shape '
'``[..., n, n]``')
decl_opr('SVD',
inputs=['src'],
params='SVD',
desc='Computes the singular value decompositions of matrices. '
'The input must has shape ``[..., M, N]``.')
# vim: ft=python