(self)
| 450 | assert symbols == {x} |
| 451 | |
| 452 | def test_linear_solve(self): |
| 453 | x = as_symbol("x") |
| 454 | y = as_symbol("y") |
| 455 | z = as_symbol("z") |
| 456 | |
| 457 | assert x.linear_solve(x) == (as_number(1), as_number(0)) |
| 458 | assert (x + 1).linear_solve(x) == (as_number(1), as_number(1)) |
| 459 | assert (2 * x).linear_solve(x) == (as_number(2), as_number(0)) |
| 460 | assert (2 * x + 3).linear_solve(x) == (as_number(2), as_number(3)) |
| 461 | assert as_number(3).linear_solve(x) == (as_number(0), as_number(3)) |
| 462 | assert y.linear_solve(x) == (as_number(0), y) |
| 463 | assert (y * z).linear_solve(x) == (as_number(0), y * z) |
| 464 | |
| 465 | assert (x + y).linear_solve(x) == (as_number(1), y) |
| 466 | assert (z * x + y).linear_solve(x) == (z, y) |
| 467 | assert ((z + y) * x + y).linear_solve(x) == (z + y, y) |
| 468 | assert (z * y * x + y).linear_solve(x) == (z * y, y) |
| 469 | |
| 470 | pytest.raises(RuntimeError, lambda: (x * x).linear_solve(x)) |
| 471 | |
| 472 | def test_as_numer_denom(self): |
| 473 | x = as_symbol("x") |
nothing calls this directly
no test coverage detected