BUG: Always return a real dtype from linalg.cond (gh-18304) (#29333)#29500
Merged
charris merged 1 commit intonumpy:maintenance/2.3.xfrom Aug 2, 2025
Merged
BUG: Always return a real dtype from linalg.cond (gh-18304) (#29333)#29500charris merged 1 commit intonumpy:maintenance/2.3.xfrom
charris merged 1 commit intonumpy:maintenance/2.3.xfrom
Conversation
…py#29333) * BUG: Always return a real dtype from linalg.cond. Addresses numpygh-18304. The condition number of a matrix is the product of two norms, which are always non-negative and real-valued, so the condition number itself should be non-negative and real-valued. This commit returns the proper real dtype from `linalg.cond`, and includes tests for the condition number of a complex matrix in various norms. * ENH: Change type of complex results only. This commit addresses a reviewer comment on the blanket application of `abs(r)`. It specifically ensures the return type of complex-valued matrices will be the corresponding real type.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Backport of #29333.
Addresses gh-18304.
The condition number of a matrix is the product of two norms, which are
always non-negative and real-valued, so the condition number itself
should be non-negative and real-valued. This commit returns the proper
real dtype from
linalg.cond, and includes tests for the conditionnumber of a complex matrix in various norms.
The existing docstring for
linalg.condalready states that the return value iseither a float or inf, so the function behavior is now consistent with the
docstring.
Addresses gh-18304.
The condition number of a matrix is the product of two norms, which are always non-negative and real-valued, so the condition number itself should be non-negative and real-valued. This commit returns the proper real dtype from
linalg.cond, and includes tests for the condition number of a complex matrix in various norms.This commit addresses a reviewer comment on the blanket application of
abs(r). It specifically ensures the return type of complex-valued matrices will be the corresponding real type.