Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Hello. One possible way to do this is using the double question sign operator (??). For example:

A.add_multiple_of_row??

will show you something like

Source:
def add_multiple_of_row(self, Py_ssize_t i, Py_ssize_t j,    s,   Py_ssize_t start_col=0):
    """
    Add s times row j to row i.

    EXAMPLES: We add -3 times the first row to the second row of an
    integer matrix, remembering to start numbering rows at zero::

        sage: a = matrix(ZZ,2,3,range(6)); a
        [0 1 2]
        [3 4 5]
        sage: a.add_multiple_of_row(1,0,-3)
        sage: a
        [ 0  1  2]
        [ 3  1 -1]

Etc...

Unfortunately, as you might guess, this was intended to show not only the docstring, but the whole code. That is why you see strange data types like Py_ssize_t, which comes from Cython, acombination of C and Python, in which this particular subroutine is written.

However, this should not be a problem, since the docstring will guide you further, and it is difficult to run into Cython implementations in every-day use of SageMath. Just ignore strange data types.

Hello. One possible way to do this is using the double question sign operator (??). For example:

A.add_multiple_of_row??

will show you something like

Source:
def add_multiple_of_row(self, Py_ssize_t i, Py_ssize_t j,    s,   Py_ssize_t start_col=0):
    """
    Add s times row j to row i.

    EXAMPLES: We add -3 times the first row to the second row of an
    integer matrix, remembering to start numbering rows at zero::

        sage: a = matrix(ZZ,2,3,range(6)); a
        [0 1 2]
        [3 4 5]
        sage: a.add_multiple_of_row(1,0,-3)
        sage: a
        [ 0  1  2]
        [ 3  1 -1]

Etc...

Unfortunately, as you might guess, this was intended to show not only the docstring, but the whole code. That is why you see strange data types like Py_ssize_t, which comes from Cython, acombination of C and Python, in which this particular subroutine is written.written. If you don't know the meaning of the keyword self, it is safe to ignore it.

However, this should not be a problem, since the docstring will guide you further, and it is difficult to run into Cython implementations in every-day use of SageMath. Just ignore strange data types.

types and also self: consider the signature of the subroutine to be

def add_multiple_of_row(i, j, s, start_col=0):

Hello. One possible way to do this is using the double question sign operator (??). For example:

A.add_multiple_of_row??

will show you something like

Source:
def add_multiple_of_row(self, Py_ssize_t i, Py_ssize_t j,    s,   Py_ssize_t start_col=0):
    """
    Add s times row j to row i.

    EXAMPLES: We add -3 times the first row to the second row of an
    integer matrix, remembering to start numbering rows at zero::

        sage: a = matrix(ZZ,2,3,range(6)); a
        [0 1 2]
        [3 4 5]
        sage: a.add_multiple_of_row(1,0,-3)
        sage: a
        [ 0  1  2]
        [ 3  1 -1]

Etc...

Unfortunately, as you might guess, this was intended to show not only the docstring, but the whole code. That is why you see strange data types like Py_ssize_t, which comes from Cython, acombination of C and Python, in which this particular subroutine is written. If you don't know the meaning of the keyword self, it is safe to ignore it.

However, this should not be a problem, since the docstring will guide you further, and it is difficult to run into Cython implementations in every-day use of SageMath. Just ignore strange data types and also self: consider the signature of the subroutine to be

def add_multiple_of_row(i, j, s, start_col=0):

You can also use help(A.add_multiple_of_row), which will show the same, except for the part of the code. (I have not experimented much with this command.)