Fixed database typo and removed unnecessary class identifier.
This commit is contained in:
parent
00ad49a143
commit
45fb349a7d
5098 changed files with 952558 additions and 85 deletions
125
venv/Lib/site-packages/networkx/exception.py
Normal file
125
venv/Lib/site-packages/networkx/exception.py
Normal file
|
@ -0,0 +1,125 @@
|
|||
"""
|
||||
**********
|
||||
Exceptions
|
||||
**********
|
||||
|
||||
Base exceptions and errors for NetworkX.
|
||||
"""
|
||||
|
||||
__all__ = [
|
||||
"HasACycle",
|
||||
"NodeNotFound",
|
||||
"PowerIterationFailedConvergence",
|
||||
"ExceededMaxIterations",
|
||||
"AmbiguousSolution",
|
||||
"NetworkXAlgorithmError",
|
||||
"NetworkXException",
|
||||
"NetworkXError",
|
||||
"NetworkXNoCycle",
|
||||
"NetworkXNoPath",
|
||||
"NetworkXNotImplemented",
|
||||
"NetworkXPointlessConcept",
|
||||
"NetworkXUnbounded",
|
||||
"NetworkXUnfeasible",
|
||||
]
|
||||
|
||||
|
||||
class NetworkXException(Exception):
|
||||
"""Base class for exceptions in NetworkX."""
|
||||
|
||||
|
||||
class NetworkXError(NetworkXException):
|
||||
"""Exception for a serious error in NetworkX"""
|
||||
|
||||
|
||||
class NetworkXPointlessConcept(NetworkXException):
|
||||
"""Raised when a null graph is provided as input to an algorithm
|
||||
that cannot use it.
|
||||
|
||||
The null graph is sometimes considered a pointless concept [1]_,
|
||||
thus the name of the exception.
|
||||
|
||||
References
|
||||
----------
|
||||
.. [1] Harary, F. and Read, R. "Is the Null Graph a Pointless
|
||||
Concept?" In Graphs and Combinatorics Conference, George
|
||||
Washington University. New York: Springer-Verlag, 1973.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class NetworkXAlgorithmError(NetworkXException):
|
||||
"""Exception for unexpected termination of algorithms."""
|
||||
|
||||
|
||||
class NetworkXUnfeasible(NetworkXAlgorithmError):
|
||||
"""Exception raised by algorithms trying to solve a problem
|
||||
instance that has no feasible solution."""
|
||||
|
||||
|
||||
class NetworkXNoPath(NetworkXUnfeasible):
|
||||
"""Exception for algorithms that should return a path when running
|
||||
on graphs where such a path does not exist."""
|
||||
|
||||
|
||||
class NetworkXNoCycle(NetworkXUnfeasible):
|
||||
"""Exception for algorithms that should return a cycle when running
|
||||
on graphs where such a cycle does not exist."""
|
||||
|
||||
|
||||
class HasACycle(NetworkXException):
|
||||
"""Raised if a graph has a cycle when an algorithm expects that it
|
||||
will have no cycles.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class NetworkXUnbounded(NetworkXAlgorithmError):
|
||||
"""Exception raised by algorithms trying to solve a maximization
|
||||
or a minimization problem instance that is unbounded."""
|
||||
|
||||
|
||||
class NetworkXNotImplemented(NetworkXException):
|
||||
"""Exception raised by algorithms not implemented for a type of graph."""
|
||||
|
||||
|
||||
class NodeNotFound(NetworkXException):
|
||||
"""Exception raised if requested node is not present in the graph"""
|
||||
|
||||
|
||||
class AmbiguousSolution(NetworkXException):
|
||||
"""Raised if more than one valid solution exists for an intermediary step
|
||||
of an algorithm.
|
||||
|
||||
In the face of ambiguity, refuse the temptation to guess.
|
||||
This may occur, for example, when trying to determine the
|
||||
bipartite node sets in a disconnected bipartite graph when
|
||||
computing bipartite matchings.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class ExceededMaxIterations(NetworkXException):
|
||||
"""Raised if a loop iterates too many times without breaking.
|
||||
|
||||
This may occur, for example, in an algorithm that computes
|
||||
progressively better approximations to a value but exceeds an
|
||||
iteration bound specified by the user.
|
||||
|
||||
"""
|
||||
|
||||
|
||||
class PowerIterationFailedConvergence(ExceededMaxIterations):
|
||||
"""Raised when the power iteration method fails to converge within a
|
||||
specified iteration limit.
|
||||
|
||||
`num_iterations` is the number of iterations that have been
|
||||
completed when this exception was raised.
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, num_iterations, *args, **kw):
|
||||
msg = f"power iteration failed to converge within {num_iterations} iterations"
|
||||
exception_message = msg
|
||||
superinit = super().__init__
|
||||
superinit(self, exception_message, *args, **kw)
|
Loading…
Add table
Add a link
Reference in a new issue