-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
Fix the _array_ methods to avoid deprecation warnings #26303
Conversation
def __array__(self, dtype=object, copy=None): if copy is not None and not copy: raise TypeError("Cannot implement copy=False when converting Matrix to ndarray")
✅ Hi, I am the SymPy bot. I'm here to help you write a release notes entry. Please read the guide on how to write release notes.
Click here to see the pull request description that was parsed.
|
Benchmark results from GitHub Actions Lower numbers are good, higher numbers are bad. A ratio less than 1 Significantly changed benchmark results (PR vs master) Significantly changed benchmark results (master vs previous release) | Change | Before [a00718ba] | After [8a619fce] | Ratio | Benchmark (Parameter) |
|----------|----------------------|---------------------|---------|----------------------------------------------------------------------|
| - | 70.1±2ms | 45.6±0.7ms | 0.65 | integrate.TimeIntegrationRisch02.time_doit(10) |
| - | 69.1±0.5ms | 45.4±0.5ms | 0.66 | integrate.TimeIntegrationRisch02.time_doit_risch(10) |
| + | 18.6±0.1μs | 29.9±0.2μs | 1.6 | integrate.TimeIntegrationRisch03.time_doit(1) |
| - | 5.34±0.04ms | 2.89±0.03ms | 0.54 | logic.LogicSuite.time_load_file |
| - | 73.3±0.5ms | 28.6±0.3ms | 0.39 | polys.TimeGCD_GaussInt.time_op(1, 'dense') |
| - | 25.7±0.1ms | 17.0±0.2ms | 0.66 | polys.TimeGCD_GaussInt.time_op(1, 'expr') |
| - | 73.6±0.6ms | 28.8±0.1ms | 0.39 | polys.TimeGCD_GaussInt.time_op(1, 'sparse') |
| - | 254±3ms | 125±0.4ms | 0.49 | polys.TimeGCD_GaussInt.time_op(2, 'dense') |
| - | 256±2ms | 125±0.5ms | 0.49 | polys.TimeGCD_GaussInt.time_op(2, 'sparse') |
| - | 654±3ms | 378±2ms | 0.58 | polys.TimeGCD_GaussInt.time_op(3, 'dense') |
| - | 653±4ms | 373±1ms | 0.57 | polys.TimeGCD_GaussInt.time_op(3, 'sparse') |
| - | 500±3μs | 290±2μs | 0.58 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(1, 'dense') |
| - | 1.78±0.01ms | 1.05±0.01ms | 0.59 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(2, 'dense') |
| - | 5.89±0.1ms | 3.09±0.01ms | 0.53 | polys.TimeGCD_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 448±2μs | 232±1μs | 0.52 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(1, 'dense') |
| - | 1.49±0.01ms | 673±3μs | 0.45 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(2, 'dense') |
| - | 4.87±0.02ms | 1.67±0ms | 0.34 | polys.TimeGCD_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 375±4μs | 206±2μs | 0.55 | polys.TimeGCD_SparseGCDHighDegree.time_op(1, 'dense') |
| - | 2.39±0.01ms | 1.24±0.01ms | 0.52 | polys.TimeGCD_SparseGCDHighDegree.time_op(3, 'dense') |
| - | 9.97±0.05ms | 4.31±0.02ms | 0.43 | polys.TimeGCD_SparseGCDHighDegree.time_op(5, 'dense') |
| - | 356±3μs | 169±2μs | 0.47 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(1, 'dense') |
| - | 2.48±0.02ms | 896±10μs | 0.36 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(3, 'dense') |
| - | 9.57±0.1ms | 2.64±0.02ms | 0.28 | polys.TimeGCD_SparseNonMonicQuadratic.time_op(5, 'dense') |
| - | 1.04±0.01ms | 425±2μs | 0.41 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 1.71±0.01ms | 502±5μs | 0.29 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 5.88±0.05ms | 1.83±0.02ms | 0.31 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'dense') |
| - | 8.41±0.03ms | 1.49±0.01ms | 0.18 | polys.TimePREM_LinearDenseQuadraticGCD.time_op(5, 'sparse') |
| - | 285±2μs | 65.1±0.9μs | 0.23 | polys.TimePREM_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 3.45±0.02ms | 397±3μs | 0.12 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 3.96±0.03ms | 278±0.2μs | 0.07 | polys.TimePREM_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 6.94±0.08ms | 1.29±0.01ms | 0.19 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'dense') |
| - | 8.62±0.08ms | 848±3μs | 0.1 | polys.TimePREM_QuadraticNonMonicGCD.time_op(5, 'sparse') |
| - | 5.00±0.01ms | 3.01±0.02ms | 0.6 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(2, 'sparse') |
| - | 12.3±0.2ms | 6.60±0.08ms | 0.54 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'dense') |
| - | 22.4±0.3ms | 9.05±0.02ms | 0.4 | polys.TimeSUBRESULTANTS_LinearDenseQuadraticGCD.time_op(3, 'sparse') |
| - | 5.27±0.02ms | 865±4μs | 0.16 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(1, 'sparse') |
| - | 12.6±0.1ms | 7.09±0.02ms | 0.56 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(2, 'sparse') |
| - | 101±0.4ms | 25.9±0.1ms | 0.26 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'dense') |
| - | 168±0.6ms | 54.1±0.2ms | 0.32 | polys.TimeSUBRESULTANTS_QuadraticNonMonicGCD.time_op(3, 'sparse') |
| - | 171±2μs | 114±0.9μs | 0.66 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'dense') |
| - | 359±3μs | 214±1μs | 0.6 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(1, 'sparse') |
| - | 4.32±0.06ms | 844±7μs | 0.2 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'dense') |
| - | 5.29±0.04ms | 380±2μs | 0.07 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(3, 'sparse') |
| - | 20.1±0.2ms | 2.83±0.01ms | 0.14 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'dense') |
| - | 22.9±0.2ms | 646±20μs | 0.03 | polys.TimeSUBRESULTANTS_SparseGCDHighDegree.time_op(5, 'sparse') |
| - | 484±6μs | 135±1μs | 0.28 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(1, 'sparse') |
| - | 4.71±0.01ms | 620±7μs | 0.13 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'dense') |
| - | 5.36±0.04ms | 140±2μs | 0.03 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(3, 'sparse') |
| - | 13.3±0.05ms | 1.29±0ms | 0.1 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'dense') |
| - | 13.8±0.06ms | 141±0.3μs | 0.01 | polys.TimeSUBRESULTANTS_SparseNonMonicQuadratic.time_op(5, 'sparse') |
| - | 135±0.8μs | 74.4±1μs | 0.55 | solve.TimeMatrixOperations.time_rref(3, 0) |
| - | 251±0.6μs | 87.3±0.5μs | 0.35 | solve.TimeMatrixOperations.time_rref(4, 0) |
| - | 24.2±0.1ms | 10.2±0.06ms | 0.42 | solve.TimeSolveLinSys189x49.time_solve_lin_sys |
| - | 29.2±0.3ms | 15.7±0.2ms | 0.54 | solve.TimeSparseSystem.time_linsolve_Aaug(20) |
| - | 55.5±0.3ms | 25.2±0.04ms | 0.45 | solve.TimeSparseSystem.time_linsolve_Aaug(30) |
| - | 28.4±0.2ms | 15.5±0.3ms | 0.55 | solve.TimeSparseSystem.time_linsolve_Ab(20) |
| - | 54.7±0.3ms | 25.2±0.1ms | 0.46 | solve.TimeSparseSystem.time_linsolve_Ab(30) |
Full benchmark results can be found as artifacts in GitHub Actions |
There should be some tests for what happens when calling |
There seems to be an issue with how numpy is currently passing the copy argument to array. See thiscomment. I will submit the test cases, but will keep the copy=False test cases commented out for now, because they will not pass. |
fixed #26302
The signature of array methods is changed to:
def array(self, dtype=object, copy=None):
if copy is not None and not copy:
raise TypeError("Cannot implement copy=False when converting Matrix to ndarray")
...
as it is changed in the issue #25916
NO ENTRY