Skip to content

Commit c47715b

Browse files
committed
matrices: set the default value for dotprodsimp to None
Somehow this ended up being set to False on master but None in the 1.6 release branch. This commit ensures that 1.7 will have the same value as 1.6. Setting the value to None means that dotprodsimp can be used when requested whereas setting it to False disables dotprodsimp in most calculations.
1 parent 16bad1c commit c47715b

File tree

3 files changed

+20
-23
lines changed

3 files changed

+20
-23
lines changed

sympy/matrices/tests/test_matrices.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,6 @@ def test_issue_17247_expression_blowup_7():
364364
with dotprodsimp(True):
365365
assert M.det('berkowitz') == 0
366366

367-
@XFAIL # dotprodsimp is not on by default in this function
368367
def test_issue_17247_expression_blowup_8():
369368
M = Matrix(8, 8, [x+i for i in range (64)])
370369
with dotprodsimp(True):
@@ -500,7 +499,6 @@ def test_issue_17247_expression_blowup_21():
500499
[-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
501500
[0, 0, 0, -11328/952745 + 87616*I/952745]]'''))
502501

503-
@XFAIL # dotprodsimp is not on by default in this function
504502
def test_issue_17247_expression_blowup_22():
505503
M = Matrix(S('''[
506504
[ -3/4, 45/32 - 37*I/16, 0, 0],
@@ -527,7 +525,6 @@ def test_issue_17247_expression_blowup_23():
527525
[-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
528526
[0, 0, 0, -11328/952745 + 87616*I/952745]]'''))
529527

530-
@XFAIL # dotprodsimp is not on by default in this function
531528
def test_issue_17247_expression_blowup_24():
532529
M = SparseMatrix(S('''[
533530
[ -3/4, 45/32 - 37*I/16, 0, 0],
@@ -541,7 +538,6 @@ def test_issue_17247_expression_blowup_24():
541538
[-26406945676288/22270005630769 + 10245925485056*I/22270005630769, 7453523312640/22270005630769 + 1601616519168*I/22270005630769, 633088/6416033 - 140288*I/6416033, 872209227109521408/21217636514687010905 + 6066405081802389504*I/21217636514687010905],
542539
[0, 0, 0, -11328/952745 + 87616*I/952745]]'''))
543540

544-
@XFAIL # dotprodsimp is not on by default in this function
545541
def test_issue_17247_expression_blowup_25():
546542
M = SparseMatrix(S('''[
547543
[ -3/4, 45/32 - 37*I/16, 0, 0],
@@ -2920,7 +2916,7 @@ def test_func():
29202916

29212917
def test_issue_19809():
29222918
def f():
2923-
assert _dotprodsimp_state.state == False
2919+
assert _dotprodsimp_state.state == None
29242920
m = Matrix([[1]])
29252921
m = m * m
29262922
return True

sympy/matrices/utilities.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
class DotProdSimpState(local):
1111
def __init__(self):
12-
self.state = False
12+
self.state = None
1313

1414
_dotprodsimp_state = DotProdSimpState()
1515

sympy/solvers/ode/tests/test_systems.py

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,14 +1419,14 @@ def test_higher_order_to_first_order():
14191419

14201420
eqs10 = [Eq(Derivative(x(t), (t, 2)), 5*x(t) + 43*y(t)),
14211421
Eq(Derivative(y(t), (t, 2)), x(t) + 9*y(t))]
1422-
sol10 = [Eq(x(t), C1*sqrt(7 - sqrt(47))*(61 + 9*sqrt(47))*exp(-t*sqrt(7 - sqrt(47)))/2 + C2*sqrt(7 -
1423-
sqrt(47))*(61 + 9*sqrt(47))*exp(t*sqrt(7 - sqrt(47)))*Rational(-1, 2) + C3*(61 -
1424-
9*sqrt(47))*sqrt(sqrt(47) + 7)*exp(-t*sqrt(sqrt(47) + 7))/2 + C4*(61 - 9*sqrt(47))*sqrt(sqrt(47) +
1425-
7)*exp(t*sqrt(sqrt(47) + 7))*Rational(-1, 2)),
1426-
Eq(y(t), C1*sqrt(7 - sqrt(47))*(sqrt(47) + 7)*exp(-t*sqrt(7 - sqrt(47)))*Rational(-1, 2) + C2*sqrt(7
1427-
- sqrt(47))*(sqrt(47) + 7)*exp(t*sqrt(7 - sqrt(47)))/2 + C3*(7 - sqrt(47))*sqrt(sqrt(47) +
1428-
7)*exp(-t*sqrt(sqrt(47) + 7))*Rational(-1, 2) + C4*(7 - sqrt(47))*sqrt(sqrt(47) +
1429-
7)*exp(t*sqrt(sqrt(47) + 7))/2)]
1422+
sol10 = [Eq(x(t), C1*(61 - 9*sqrt(47))*sqrt(sqrt(47) + 7)*exp(-t*sqrt(sqrt(47) + 7))/2 + C2*sqrt(7 -
1423+
sqrt(47))*(61 + 9*sqrt(47))*exp(-t*sqrt(7 - sqrt(47)))/2 + C3*(61 - 9*sqrt(47))*sqrt(sqrt(47) +
1424+
7)*exp(t*sqrt(sqrt(47) + 7))*Rational(-1, 2) + C4*sqrt(7 - sqrt(47))*(61 + 9*sqrt(47))*exp(t*sqrt(7
1425+
- sqrt(47)))*Rational(-1, 2)),
1426+
Eq(y(t), C1*(7 - sqrt(47))*sqrt(sqrt(47) + 7)*exp(-t*sqrt(sqrt(47) + 7))*Rational(-1, 2) + C2*sqrt(7
1427+
- sqrt(47))*(sqrt(47) + 7)*exp(-t*sqrt(7 - sqrt(47)))*Rational(-1, 2) + C3*(7 -
1428+
sqrt(47))*sqrt(sqrt(47) + 7)*exp(t*sqrt(sqrt(47) + 7))/2 + C4*sqrt(7 - sqrt(47))*(sqrt(47) +
1429+
7)*exp(t*sqrt(7 - sqrt(47)))/2)]
14301430
assert dsolve(eqs10) == sol10
14311431
assert checksysodesol(eqs10, sol10) == (True, [0, 0])
14321432

@@ -1807,15 +1807,16 @@ def test_linodesolve():
18071807
ceq = canonical_odes(eq, func, t)
18081808
(A1, A0), b = linear_ode_to_matrix(ceq[0], func, t, 1)
18091809
A = A0
1810-
sol = [-C1*exp(-t/2 + sqrt(5)*t/2)/2 + sqrt(5)*C1*exp(-t/2 + sqrt(5)*t/2)/2 - sqrt(5)*C2*exp(-sqrt(5)*t/2
1811-
- t/2)/2 - C2*exp(-sqrt(5)*t/2 - t/2)/2 - exp(-t/2 +
1812-
sqrt(5)*t/2)*Integral(sqrt(5)*t*exp(-sqrt(5)*t/2 + t/2)/5, t)/2 + sqrt(5)*exp(-t/2 +
1813-
sqrt(5)*t/2)*Integral(sqrt(5)*t*exp(-sqrt(5)*t/2 + t/2)/5, t)/2 - sqrt(5)*exp(-sqrt(5)*t/2 -
1814-
t/2)*Integral(-sqrt(5)*t*exp(t/2 + sqrt(5)*t/2)/5, t)/2 - exp(-sqrt(5)*t/2 -
1815-
t/2)*Integral(-sqrt(5)*t*exp(t/2 + sqrt(5)*t/2)/5, t)/2,
1816-
C1*exp(-t/2 + sqrt(5)*t/2) +
1817-
C2*exp(-sqrt(5)*t/2 - t/2) + exp(-t/2 + sqrt(5)*t/2)*Integral(sqrt(5)*t*exp(-sqrt(5)*t/2 + t/2)/5,
1818-
t) + exp(-sqrt(5)*t/2 - t/2)*Integral(-sqrt(5)*t*exp(t/2 + sqrt(5)*t/2)/5, t)]
1810+
sol = [-C1*exp(-t/2 + sqrt(5)*t/2)/2 + sqrt(5)*C1*exp(-t/2 + sqrt(5)*t/2)/2 - sqrt(5)*C2*exp(-sqrt(5)*t/2 -
1811+
t/2)/2 - C2*exp(-sqrt(5)*t/2 - t/2)/2 - exp(-t/2 + sqrt(5)*t/2)*Integral(t*exp(-sqrt(5)*t/2 +
1812+
t/2)/(-5 + sqrt(5)) - sqrt(5)*t*exp(-sqrt(5)*t/2 + t/2)/(-5 + sqrt(5)), t)/2 + sqrt(5)*exp(-t/2 +
1813+
sqrt(5)*t/2)*Integral(t*exp(-sqrt(5)*t/2 + t/2)/(-5 + sqrt(5)) - sqrt(5)*t*exp(-sqrt(5)*t/2 +
1814+
t/2)/(-5 + sqrt(5)), t)/2 - sqrt(5)*exp(-sqrt(5)*t/2 - t/2)*Integral(-sqrt(5)*t*exp(t/2 +
1815+
sqrt(5)*t/2)/5, t)/2 - exp(-sqrt(5)*t/2 - t/2)*Integral(-sqrt(5)*t*exp(t/2 + sqrt(5)*t/2)/5, t)/2,
1816+
C1*exp(-t/2 + sqrt(5)*t/2) + C2*exp(-sqrt(5)*t/2 - t/2) + exp(-t/2 +
1817+
sqrt(5)*t/2)*Integral(t*exp(-sqrt(5)*t/2 + t/2)/(-5 + sqrt(5)) - sqrt(5)*t*exp(-sqrt(5)*t/2 +
1818+
t/2)/(-5 + sqrt(5)), t) + exp(-sqrt(5)*t/2 -
1819+
t/2)*Integral(-sqrt(5)*t*exp(t/2 + sqrt(5)*t/2)/5, t)]
18191820
assert constant_renumber(linodesolve(A, t, b=b), variables=[t]) == sol
18201821

18211822
# non-homogeneous term assumed to be 0

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy