You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Multi-line description of Raises messages are concatenared into a single string interleaved by \n, this doesn't ultimately render in html (i.e. it renders as a single string).
I have napoleon
How to Reproduce
>>>fromsphinx.ext.napoleon.docstringimportNumpyDocstring>>>importnumpyasnp>>>out=NumpyDocstring(np.matmul.__doc__, obj=np.matmul)
>>>out._parsed_lines
["matmul(x1, x2, /, out=None, *, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj, axes, axis])",
'',
'Matrix product of two arrays.',
'',
':param x1: Input arrays, scalars not allowed.',
':type x1: array_like',
':param x2: Input arrays, scalars not allowed.',
':type x2: array_like',
':param out: A location into which the result is stored. If provided, it must have',
' a shape that matches the signature `(n,k),(k,m)->(n,m)`. If not',
' provided or None, a freshly-allocated array is returned.',
':type out: ndarray, optional',
':param \\*\\*kwargs: For other keyword-only arguments, see the',
' :ref:`ufunc docs <ufuncs.kwargs>`.',
'',
' .. versionadded:: 1.16',
' Now handles ufunc kwargs',
'',
':returns: **y** -- The matrix product of the inputs.',
' This is a scalar only when both x1, x2 are 1-d vectors.',
':rtype: ndarray',
'',
':raises ValueError: If the last dimension of `x1` is not the same size as\n the second-to-last dimension of `x2`.\n\n If a scalar value is passed in.',
'',
'.. seealso::',
'',
' :obj:`vdot`',
' Complex-conjugating dot product.',
' ',
' :obj:`tensordot`',
' Sum products over arbitrary axes.',
' ',
' :obj:`einsum`',
' Einstein summation convention.',
' ',
' :obj:`dot`',
' alternative matrix product with different broadcasting rules.',
'',
'.. rubric:: Notes',
'',
'The behavior depends on the arguments in the following way.',
'',
'- If both arguments are 2-D they are multiplied like conventional',
' matrices.',
'- If either argument is N-D, N > 2, it is treated as a stack of',
' matrices residing in the last two indexes and broadcast accordingly.',
'- If the first argument is 1-D, it is promoted to a matrix by',
' prepending a 1 to its dimensions. After matrix multiplication',
' the prepended 1 is removed.',
'- If the second argument is 1-D, it is promoted to a matrix by',
' appending a 1 to its dimensions. After matrix multiplication',
' the appended 1 is removed.',
'',
'``matmul`` differs from ``dot`` in two important ways:',
'',
'- Multiplication by scalars is not allowed, use ``*`` instead.',
'- Stacks of matrices are broadcast together as if the matrices',
' were elements, respecting the signature ``(n,k),(k,m)->(n,m)``:',
'',
' >>> a = np.ones([9, 5, 7, 4])',
' >>> c = np.ones([9, 5, 4, 3])',
' >>> np.dot(a, c).shape',
' (9, 5, 7, 9, 5, 3)',
' >>> np.matmul(a, c).shape',
' (9, 5, 7, 3)',
' >>> # n is 7, k is 4, m is 3',
'',
'The matmul function implements the semantics of the ``@`` operator',
'introduced in Python 3.5 following :pep:`465`.',
'',
'It uses an optimized BLAS library when possible (see `numpy.linalg`).',
'',
'.. rubric:: Examples',
'',
'For 2-D arrays it is the matrix product:',
'',
'>>> a = np.array([[1, 0],',
'... [0, 1]])',
'>>> b = np.array([[4, 1],',
'... [2, 2]])',
'>>> np.matmul(a, b)',
'array([[4, 1],',
' [2, 2]])',
'',
'For 2-D mixed with 1-D, the result is the usual.',
'',
'>>> a = np.array([[1, 0],',
'... [0, 1]])',
'>>> b = np.array([1, 2])',
'>>> np.matmul(a, b)',
'array([1, 2])',
'>>> np.matmul(b, a)',
'array([1, 2])',
'',
'Broadcasting is conventional for stacks of arrays',
'',
'>>> a = np.arange(2 * 2 * 4).reshape((2, 2, 4))',
'>>> b = np.arange(2 * 2 * 4).reshape((2, 4, 2))',
'>>> np.matmul(a,b).shape',
'(2, 2, 2)',
'>>> np.matmul(a, b)[0, 1, 1]',
'98',
'>>> sum(a[0, 1, :] * b[0 , :, 1])',
'98',
'',
'Vector, vector returns the scalar inner product, but neither argument',
'is complex-conjugated:',
'',
'>>> np.matmul([2j, 3j], [2j, 3j])',
'(-13+0j)',
'',
'Scalar multiplication raises an error.',
'',
'>>> np.matmul([1,2], 3)',
'Traceback (most recent call last):',
'...',
'ValueError: matmul: Input operand 1 does not have enough dimensions ...',
'',
'The ``@`` operator can be used as a shorthand for ``np.matmul`` on',
'ndarrays.',
'',
'>>> x1 = np.array([2j, 3j])',
'>>> x2 = np.array([2j, 3j])',
'>>> x1 @ x2',
'(-13+0j)',
'',
'.. versionadded:: 1.10.0']
Here you can see the ValueError description differs form the out parameter description, the former is a single string, the latter has multiple list entry with proper indent.
Describe the bug
Multi-line description of Raises messages are concatenared into a single string interleaved by
\n
, this doesn't ultimately render in html (i.e. it renders as a single string).I have napoleon
How to Reproduce
Here you can see the
ValueError
description differs form theout
parameter description, the former is a single string, the latter has multiple list entry with proper indent.Environment Information
Sphinx extensions
Additional context
No response
The text was updated successfully, but these errors were encountered: