|
1 | 1 | using LinearSolve
|
2 | 2 | using ForwardDiff
|
| 3 | +using Test |
3 | 4 |
|
4 | 5 |
|
5 | 6 | function h(p)
|
6 |
| - (A = [p[1] p[2]+1 p[2]^3; |
7 |
| - 3*p[1] p[1]+5 p[2] * p[1]-4; |
8 |
| - p[2]^2 9*p[1] p[2]], |
9 |
| - b = [p[1] + 1, p[2] * 2, p[1]^2]) |
| 7 | + (A=[p[1] p[2]+1 p[2]^3; |
| 8 | + 3*p[1] p[1]+5 p[2]*p[1]-4; |
| 9 | + p[2]^2 9*p[1] p[2]], |
| 10 | + b=[p[1] + 1, p[2] * 2, p[1]^2]) |
10 | 11 | end
|
11 | 12 |
|
12 | 13 | A, b = h([ForwardDiff.Dual(5.0, 1.0, 0.0), ForwardDiff.Dual(5.0, 0.0, 1.0)])
|
13 | 14 |
|
14 | 15 | prob = LinearProblem(A, b)
|
15 |
| -solve(prob) |
| 16 | +overload_x_p = solve(prob) |
| 17 | +original_x_p = solve!(init(prob)) |
| 18 | + |
| 19 | +@test overload_x_p ≈ original_x_p |
| 20 | + |
| 21 | + |
| 22 | +A, _ = h([ForwardDiff.Dual(5.0, 1.0, 0.0), ForwardDiff.Dual(5.0, 0.0, 1.0)]) |
| 23 | +prob = LinearProblem(A, [6.0, 10.0, 25.0]) |
| 24 | +@test solve(prob).retcode == ReturnCode.Default |
| 25 | + |
| 26 | +_, b = h([ForwardDiff.Dual(5.0, 1.0, 0.0), ForwardDiff.Dual(5.0, 0.0, 1.0)]) |
| 27 | +A = [5.0 6.0 125.0; 15.0 10.0 21.0; 25.0 45.0 5.0] |
| 28 | +prob = LinearProblem(A,b) |
| 29 | +@test solve(prob).retcode == ReturnCode.Default |
| 30 | + |
| 31 | + |
16 | 32 |
|
17 | 33 |
|
0 commit comments