Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intersphinx for cvxopt, cvxpy, cypari2, cysignals, flint, fpylll, gmpy2, ipywidgets, matplotlib, mpmath, networkx, numpy, rpy2, scipy, sympy #37575

Merged
merged 22 commits into from
Mar 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
00e8b6f
29231: add intersphinx mapping for scipy
mkoeppe Mar 9, 2024
cf0d818
29231: fallback for scipy inventory file when not connected to internet
mkoeppe Mar 9, 2024
48f95b9
29231: use online pplpy docs for intersphinx with local fallback
mkoeppe Mar 9, 2024
4ff50cd
src/doc/common/python3.inv: Update
mkoeppe Mar 9, 2024
1c021dd
src/doc/common/update-inventories.sh: Rename from update-python-inv.sh
mkoeppe Mar 9, 2024
645377b
src/sage_docbuild/conf.py: Update pplpy doc url
mkoeppe Mar 9, 2024
bf2879d
src/doc/common/_vendor: Move python.inv here
mkoeppe Mar 9, 2024
8de1104
src/sage_docbuild/conf.py: Unless SAGE_DOC_REMOTE_INVENTORIES=yes, do…
mkoeppe Mar 10, 2024
3156b95
src/sage/stats/basic_stats.py: Update intersphinx reference to scipy
mkoeppe Mar 10, 2024
fb7fe0d
src/sage_docbuild/conf.py: Actually set the intersphinx_mapping
mkoeppe Mar 10, 2024
b3b47e2
src/doc/common/update-vendored-inventories.sh: Add fpylll.inv
mkoeppe Mar 10, 2024
1de4c58
src/sage_docbuild/conf.py: Fix, refactor
mkoeppe Mar 10, 2024
1abd2f5
src/sage/libs/flint/arith_sage.pyx: Add intersphinx reference to FLIN…
mkoeppe Mar 10, 2024
1bee07c
sage_docbuild.vendor: New, replaces src/doc/common/update-vendored-in…
mkoeppe Mar 10, 2024
700e40f
src/sage_docbuild/conf.py: Add more intersphinx items
mkoeppe Mar 10, 2024
b880a48
src/sage_docbuild/conf.py: Add some more intersphinx items
mkoeppe Mar 10, 2024
4c0c20c
src/sage/libs/flint/arith_sage.pyx: Fix markup
mkoeppe Mar 10, 2024
b4fe463
src/sage/graphs: Replace broken networkx.lanl.gov links by intersphin…
mkoeppe Mar 11, 2024
363797b
src/doc/en/developer/sage_manuals.rst: Document intersphinx
mkoeppe Mar 11, 2024
99f4d0a
src/doc/en/developer/sage_manuals.rst: Expand intersphinx examples
mkoeppe Mar 11, 2024
93b9987
src/sage/graphs/generators/families.py: Fix networkx references
mkoeppe Mar 14, 2024
a55ee28
GenericGraph.export_to_file: Update documentation for removed format=…
mkoeppe Mar 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added src/doc/common/_vendor/cvxopt.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/cvxpy.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/cypari2.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/cysignals.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/flint.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/fpylll.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/gmpy2.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/ipywidgets.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/matplotlib.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/mpmath.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/networkx.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/numpy.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/pplpy.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/python.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/rpy2.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/scipy.inv
Binary file not shown.
Binary file added src/doc/common/_vendor/sympy.inv
Binary file not shown.
Binary file removed src/doc/common/python3.inv
Binary file not shown.
21 changes: 0 additions & 21 deletions src/doc/common/update-python-inv.sh

This file was deleted.

77 changes: 73 additions & 4 deletions src/doc/en/developer/sage_manuals.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Sage's manuals are written in `ReST <http://docutils.sourceforge.net/rst.html>`_
``SAGE_ROOT/src/doc/en``.

- Some documents have been **translated** into other languages. In order to
access them, change en/ into fr/,es/, de/... See :ref:`section-manuals-names`.
access them, change ``en/`` into ``fr/``, ``es/``, ``de/``... See :ref:`section-manuals-names`.

.. _section-manuals-edit:

Expand Down Expand Up @@ -82,9 +82,12 @@ The documentation can contain links toward modules, classes, or methods, e.g.::
:mod:`link to a module <sage.module_name>`
:mod:`sage.module_name` (here the link's text is the module's name)

For links toward classes, methods, or function, replace **:mod:** by
**:class:**, **:meth:** or **:func:** respectively. See `Sphinx' documentation
<https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html>`_.
For links toward classes, methods, or functions, replace ``:mod:`` by
``:class:``, ``:meth:``, or ``:func:``, respectively. See Sphinx' documentation
on `cross-referencing Python objects
<https://www.sphinx-doc.org/en/master/usage/domains/python.html#cross-referencing-python-objects>`_
and for the general syntax of
`roles <https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html>`_.

**Short links:** the link ``:func:`~sage.mod1.mod2.mod3.func1``` is equivalent
to ``:func:`func1 <sage.mod1.mod2.mod3.func1>```: the function's name will be
Expand All @@ -94,6 +97,72 @@ used as the link name, instead of its full path.
absolute. If you are documenting ``method_one``, you can write
``:meth:`method_two```.

**Intersphinx references:** in the same way, you can refer to the modules, classes,
methods, functions of the Python standard library and of several Python packages
used by SageMath; see the `Intersphinx documentation
<https://www.sphinx-doc.org/en/master/usage/extensions/intersphinx.html>`_
for details. Likewise, you can refer to the C functions of the
:ref:`FLINT <spkg_flint>` library; see `Sphinx' documentation on
cross-referencing C constructs
<https://www.sphinx-doc.org/en/master/usage/domains/c.html#cross-referencing-c-constructs>`_
for more information.

.. LIST-TABLE::
:widths: 4 7 5
:header-rows: 0

* - Python
- ``:exc:`ValueError```
- :exc:`ValueError`
* - :ref:`CVXOPT <spkg_cvxopt>`
- ``:func:`cvxopt.solvers.socp```
- :func:`cvxopt.solvers.socp`
* - :ref:`CVXpy <spkg_cvxpy>`
- ``:class:`~cvxpy.atoms.log_det.log_det```
- :class:`~cvxpy.atoms.log_det.log_det`
* - :ref:`cypari2 <spkg_cypari>`
- ``:class:`cypari2.gen.Gen```
- :class:`cypari2.gen.Gen`
* - :ref:`cysignals <spkg_cysignals>`
- ``:envvar:`CYSIGNALS_CRASH_DAYS```
- :envvar:`CYSIGNALS_CRASH_DAYS`
* - :ref:`FLINT <spkg_flint>`
- ``:c:func:`arith_bell_number```
- :c:func:`arith_bell_number`
* - :ref:`gmpy2 <spkg_gmpy2>`
- ``:func:`gmpy2.gamma_inc```
- :func:`gmpy2.gamma_inc`
* - :ref:`ipywidgets <spkg_ipywidgets>`
- ``:mod:`~ipywidgets.widgets.widget_date```
- :mod:`~ipywidgets.widgets.widget_date`
* - :ref:`Matplotlib <spkg_matplotlib>`
- ``:mod:`matplotlib.bezier```
- :mod:`matplotlib.bezier`
* - :ref:`mpmath <spkg_mpmath>`
- ``:attr:`mpmath.mp.khinchin```
- :attr:`mpmath.mp.khinchin`
* - :ref:`NetworkX <spkg_networkx>`
- ``:attr:`~networkx.DiGraph.out_degree```
- :attr:`~networkx.DiGraph.out_degree`
* - :ref:`NumPy <spkg_numpy>`
- ``:data:`numpy.NAN```
- :data:`numpy.NAN`
* - :ref:`pplpy <spkg_pplpy>`
- ``:mod:`ppl.polyhedron```
- :mod:`ppl.polyhedron`
* - :ref:`rpy2 <spkg_rpy2>`
- ``:class:`~rpy2.robjects.vectors.DataFrame```
- :class:`~rpy2.robjects.vectors.DataFrame`
* - :ref:`SciPy <spkg_scipy>`
- ``:data:`scipy.special.huber```
- :data:`scipy.special.huber`
* - :ref:`SymPy <spkg_sympy>`
- ``:class:`~sympy.diffgeom.WedgeProduct```
- :class:`~sympy.diffgeom.WedgeProduct`

To see the available cross references in any of these libraries, you can use the command
``./sage -python -m sphinx.ext.intersphinx src/doc/common/_vendor/numpy.inv``.

**Global namespace:** if an object (e.g. ``integral``) is automatically imported
by Sage, you can link toward it without specifying its full path:

Expand Down
2 changes: 1 addition & 1 deletion src/doc/en/reference/matrices/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ following additional ways to compute with matrices:
- The GSL C-library is included with Sage, and can be used via
Cython.

- The ``scipy`` module provides support for
- The :mod:`scipy:scipy` module provides support for
*sparse* numerical linear algebra, among many other things.

- The ``numpy`` module, which you load by typing
Expand Down
11 changes: 6 additions & 5 deletions src/sage/calculus/desolvers.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@
order equations, return list of points.

- :func:`desolve_odeint` - Solve numerically a system of first-order ordinary
differential equations using ``odeint`` from `scipy.integrate module.
<https://docs.scipy.org/doc/scipy/reference/integrate.html#module-scipy.integrate>`_
differential equations using :func:`~scipy:scipy.integrate.odeint` from
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure to understand the meaning of the ~. Here we have :func:`~scipy:scipy.integrate.odeint`, but line 1502 you use :func:`scipy:scipy.integrate.odeint`. Why and why is it needed ?

Copy link
Contributor Author

@mkoeppe mkoeppe Mar 13, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ~ gives short links, such as "odeint()" instead of "scipy.integrate.odeint()"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I use it because the text already says from what module it comes.

the module :mod:`scipy:scipy.integrate`.

- :func:`desolve_system` - Solve a system of 1st order ODEs of any size using
Maxima. Initial conditions are optional.
Expand Down Expand Up @@ -1499,7 +1499,7 @@ def desolve_odeint(des, ics, times, dvars, ivar=None, compute_jac=False, args=()
mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0):
r"""
Solve numerically a system of first-order ordinary differential equations
using ``odeint`` from scipy.integrate module.
using :func:`scipy:scipy.integrate.odeint`.

INPUT:

Expand All @@ -1517,8 +1517,9 @@ def desolve_odeint(des, ics, times, dvars, ivar=None, compute_jac=False, args=()
- ``compute_jac`` -- boolean. If True, the Jacobian of ``des`` is computed and
used during the integration of stiff systems. Default value is False.

Other Parameters (taken from the documentation of odeint function from `scipy.integrate module.
<https://docs.scipy.org/doc/scipy/reference/integrate.html#module-scipy.integrate>`_)
Other Parameters (taken from the documentation of the
:func:`~scipy:scipy.integrate.odeint` function from
:mod:`scipy:scipy.integrate`):

- ``rtol``, ``atol`` : float
The input parameters ``rtol`` and ``atol`` determine the error
Expand Down
7 changes: 4 additions & 3 deletions src/sage/graphs/generators/families.py
Original file line number Diff line number Diff line change
Expand Up @@ -513,12 +513,13 @@ def BalancedTree(r, h):
OUTPUT:

The perfectly balanced tree of height `h \geq 1` and whose root has
degree `r \geq 2`. A ``NetworkXError`` is returned if `r < 2` or
`h < 1`.
degree `r \geq 2`. A :exc:`~networkx.exception.NetworkXError` is raised
if `r < 2` or `h < 1`.

ALGORITHM:

Uses `NetworkX <http://networkx.lanl.gov>`_.
Uses the :ref:`NetworkX <spkg_networkx>` function
:func:`~networkx.generators.classic.balanced_tree`.

EXAMPLES:

Expand Down
25 changes: 12 additions & 13 deletions src/sage/graphs/generic_graph.py
Original file line number Diff line number Diff line change
Expand Up @@ -1336,9 +1336,9 @@ def export_to_file(self, filename, format=None, **kwds):

- ``format`` -- string (default: ``None``); select the output format
explicitly. If set to ``None`` (default), the format is set to be the
file extension of ``filename``. Admissible formats are: ``adjlist``,
``dot``, ``edgelist``, ``gexf``, ``gml``, ``graphml``,
``multiline_adjlist``, ``pajek``, ``yaml``.
file extension of ``filename``. Admissible formats are: ``'adjlist'``,
``'dot'``, ``'edgelist'``, ``'gexf'``, ``'gml'``, ``'graphml'``,
``'multiline_adjlist'``, ``'pajek'``.

- All other arguments are forwarded to the subfunction. For more
information, see their respective documentation:
Expand All @@ -1348,15 +1348,14 @@ def export_to_file(self, filename, format=None, **kwds):
:widths: 30, 70
:delim: |

``adjlist`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.adjlist.write_adjlist.html
``dot`` | https://networkx.github.io/documentation/latest/reference/generated/networkx.drawing.nx_pydot.write_dot.html
``edgelist`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.edgelist.write_edgelist.html
``gexf`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.gexf.write_gexf.html
``gml`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.gml.write_gml.html
``graphml`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.graphml.write_graphml.html
``multiline_adjlist`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.multiline_adjlist.write_multiline_adjlist.html
``pajek`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.pajek.write_pajek.html
``yaml`` | http://networkx.lanl.gov/reference/generated/networkx.readwrite.nx_yaml.write_yaml.html
``'adjlist'`` | :func:`networkx.readwrite.adjlist.write_adjlist`
``'dot'`` | :func:`networkx.drawing.nx_pydot.write_dot`
``'edgelist'`` | :func:`networkx.readwrite.edgelist.write_edgelist`
``'gexf'`` | :func:`networkx.readwrite.gexf.write_gexf`
``'gml'`` | :func:`networkx.readwrite.gml.write_gml`
``'graphml'`` | :func:`networkx.readwrite.graphml.write_graphml`
``'multiline_adjlist'`` | :func:`networkx.readwrite.multiline_adjlist.write_multiline_adjlist`
``'pajek'`` | :func:`networkx.readwrite.pajek.write_pajek`

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this function simply does not exist any more in current versions of networkx. Is it tested anywhere?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is no longer in networkx (https://networkx.org/documentation/stable/reference/readwrite/index.html).

It's not tested in method export_to_file and according to the code of the method, it is no longer in the list of considered formats. I think it has been removed sometime ago and we have forgotten to remove it from the documentation.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should I remove it here?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in a55ee28

.. SEEALSO::

Expand All @@ -1366,7 +1365,7 @@ def export_to_file(self, filename, format=None, **kwds):
.. NOTE::

This functions uses the ``write_*`` functions defined in NetworkX
(see http://networkx.lanl.gov/reference/readwrite.html).
(see :mod:`networkx.readwrite`).

EXAMPLES::

Expand Down
4 changes: 4 additions & 0 deletions src/sage/libs/flint/arith_sage.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ def bell_number(unsigned long n):

See :wikipedia:`Bell_number`.

ALGORITHM:

Uses :c:func:`arith_bell_number`.

EXAMPLES::

sage: from sage.libs.flint.arith_sage import bell_number
Expand Down
14 changes: 7 additions & 7 deletions src/sage/manifolds/differentiable/integrated_curve.py
Original file line number Diff line number Diff line change
Expand Up @@ -949,7 +949,7 @@ def solve(self, step=None, method='odeint', solution_key=None,
use for the integration of the curve; available algorithms are:

* ``'odeint'`` - makes use of
`scipy.integrate.odeint <https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.odeint.html>`_
:func:`scipy:scipy.integrate.odeint`
via Sage solver
:func:`~sage.calculus.desolvers.desolve_odeint`; ``odeint`` invokes
the LSODA algorithm of the
Expand All @@ -961,9 +961,9 @@ def solve(self, step=None, method='odeint', solution_key=None,
makes use of Maxima's dynamics package via Sage solver
:func:`~sage.calculus.desolvers.desolve_system_rk4` (quite slow)
* ``'dopri5'`` - Dormand-Prince Runge-Kutta of order (4)5 provided by
`scipy.integrate.ode <https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.ode.html>`_
:obj:`scipy:scipy.integrate.ode`
* ``'dop853'`` - Dormand-Prince Runge-Kutta of order 8(5,3) provided by
`scipy.integrate.ode <https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.ode.html>`_
:obj:`scipy:scipy.integrate.ode`

and those provided by ``GSL`` via Sage class
:class:`~sage.calculus.ode.ode_solver`:
Expand Down Expand Up @@ -1425,8 +1425,8 @@ def solve_across_charts(self, charts=None, step=None, solution_key=None,
Integrate the curve numerically over the domain of integration, with
the ability to switch chart mid-integration.

The only supported solver is
`scipy.integrate.ode <https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.ode.html>`_, because it supports basic event handling, needed to detect when the
The only supported solver is :obj:`scipy:scipy.integrate.ode`,
because it supports basic event handling, needed to detect when the
curve is reaching the frontier of the chart. This is an adaptive step
solver. So the ``step`` is not the step of integration but instead the
step used to peak at the current chart, and switch if needed.
Expand Down Expand Up @@ -1525,8 +1525,8 @@ def solve_across_charts(self, charts=None, step=None, solution_key=None,

The integration is done as usual, but using the method
:meth:`solve_across_charts` instead of :meth:`solve`. This forces the
use of ``scipy.integrate.ode`` as the solver, because of event handling
support.
use of :obj:`scipy:scipy.integrate.ode` as the solver, because of event
handling support.

The argument ``verbose=True`` will cause the solver to write a small
message each time it is switching chart::
Expand Down
26 changes: 17 additions & 9 deletions src/sage/matrix/matrix_double_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -594,8 +594,8 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):

ALGORITHM:

Computation is performed by the ``norm()`` function of
the SciPy/NumPy library.
Computation is performed by the :func:`~scipy:scipy.linalg.norm`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

again, here we have a ~ but not line 742.

function of the SciPy/NumPy library.

EXAMPLES:

Expand Down Expand Up @@ -739,7 +739,7 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):
ALGORITHM:

The singular values come from the SVD decomposition
computed by SciPy/NumPy.
computed by SciPy/NumPy using :func:`scipy:scipy.linalg.svd`.

EXAMPLES:

Expand Down Expand Up @@ -1073,17 +1073,17 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):

- ``'default'`` - applicable to any matrix
with double-precision floating point entries.
Uses the :meth:`~scipy.linalg.eigvals` method from SciPy.
Uses the :func:`~scipy:scipy.linalg.eigvals` function from SciPy.

- ``'symmetric'`` - converts the matrix into a real matrix
(i.e. with entries from :class:`~sage.rings.real_double.RDF`),
then applies the algorithm for Hermitian matrices. This
algorithm can be significantly faster than the
``'default'`` algorithm.

- ``'hermitian'`` - uses the :meth:`~scipy.linalg.eigh` method
from SciPy, which applies only to real symmetric or complex
Hermitian matrices. Since Hermitian is defined as a matrix
- ``'hermitian'`` - uses the :func:`~scipy:scipy.linalg.eigh`
function from SciPy, which applies only to real symmetric or
complex Hermitian matrices. Since Hermitian is defined as a matrix
equaling its conjugate-transpose, for a matrix with real
entries this property is equivalent to being symmetric.
This algorithm can be significantly faster than the
Expand Down Expand Up @@ -1707,6 +1707,10 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):
Find a solution `X` to the equation `A X = B` if ``self`` is a square
matrix `A`.

ALGORITHM:

Uses the function :func:`scipy:scipy.linalg.solve` from SciPy.

TESTS::

sage: # needs sage.symbolic
Expand All @@ -1730,6 +1734,10 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):
Compute a least-squares solution `X` to the equation `A X = B` where
``self`` is the matrix `A`.

ALGORITHM:

Uses the function :func:`scipy:scipy.linalg.lstsq` from SciPy.

TESTS::

sage: A = matrix(RDF, 3, 2, [1, 3, 4, 2, 0, -3])
Expand All @@ -1754,7 +1762,7 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):

ALGORITHM:

Use numpy
Uses :func:`scipy:scipy.linalg.det`.

EXAMPLES::

Expand Down Expand Up @@ -2037,7 +2045,7 @@ cdef class Matrix_double_dense(Matrix_numpy_dense):

ALGORITHM:

Calls "linalg.qr" from SciPy, which is in turn an
Calls :func:`scipy:scipy.linalg.qr` from SciPy, which is in turn an
interface to LAPACK routines.

EXAMPLES:
Expand Down
5 changes: 3 additions & 2 deletions src/sage/matroids/matroids_plot_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@
via an optimization that gives aesthetically pleasing point placement (in
some sense. This is not yet implemented). One can then use
``createline`` function to produce sequence of ``100`` points on a smooth
curve containing the points in the specified line which inturn uses
``scipy.interpolate.splprep`` and ``scipy.interpolate.splev``. Then one
curve containing the points in the specified line which in turn uses
:func:`scipy:scipy.interpolate.splprep` and
:func:`scipy:scipy.interpolate.splev`. Then one
can use sage's graphics primitives ``line``, ``point``, ``text`` and
``points`` to produce graphics object containing points (ground set
elements) and lines (for a rank 3 matroid, these are flats of rank 2 of
Expand Down
4 changes: 2 additions & 2 deletions src/sage/modules/vector_double_dense.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -395,8 +395,8 @@ cdef class Vector_double_dense(Vector_numpy_dense):

ALGORITHM:

Computation is performed by the ``norm()`` function of
the SciPy/NumPy library.
Computation is performed by the :func:`~scipy:scipy.linalg.norm`
function of the SciPy/NumPy library.

EXAMPLES:

Expand Down
Loading
Loading