To complement @FrédéricC 's answer, here is how to find that the relevant source file is indeed src/sage/matrix/matrix2.pyx
: in a SageMath session, run
sage: m = matrix(1)
sage: m.jordan_form?
At the end of the returned documentation, you can see src/sage/matrix/matrix2.pyx
in the File:
field.
Then you can browse the github directory to that file, as indicated by @FrédéricC.
Alternatively, you can run git blame
on your computer: first open a terminal and go to the subdirectory src/sage/matrix
of your SageMath root directory (the latter is returned by sage: !echo $SAGE_ROOT
in a SageMath terminal). Then determine the line at which the definition of the method jordan_form
starts by running
grep -n "def jordan_form" matrix2.pyx
For SageMath 9.7, the output should be:
10823: def jordan_form(self, base_ring=None, sparse=False, subdivide=True, transformation=False, eigenvalues=None, check_input=True):
Hence the line number is 10823 and you may run
git blame -L 10823 matrix2.pyx
to see the list of contributors to the method jordan_form
.