GNU Scientific Library - Bugs: bug #24162, solve_cyc_tridiag_nonsym does not...
You are not allowed to post comments on this tracker with your current authentication level.
bug #24162: solve_cyc_tridiag_nonsym does not respect solution vector's stride
Submitter: | Paul Accisano <shiningmasamune> | ||
Submitted: | Fri 29 Aug 2008 05:30:10 PM UTC | ||
Category: | Runtime error | Severity: | 4 - Important |
Operating System: | Status: | Fixed | |
Assigned to: | bjg | Open/Closed: | Closed |
Release: | 1.11 |
Sat 30 Aug 2008 01:26:10 PM UTC, comment #1: |
-Deleted Account- <bjg>![]() |
Fri 29 Aug 2008 05:30:10 PM UTC, original submission:
The function solve_cyc_tridiag_nonsym in linalg_tridiag.c does not respect the stride for the x (solution) vector. Line 403 reads:
x[N-1] = zb[N-1]/alpha[N-1];
when it should be
x[x_stride * (N-1)] = zb[N-1]/alpha[N-1];
In addition, Line 423 reads:
x[i] -= vx/(1 + vw)*w[i];
when it should be
x[x_stride * i] -= vx/(1 + vw)*w[i];
Those are the only two instances I could find. After fixing them, the function appears to operate correctly. |
Paul Accisano <shiningmasamune> |
No files currently attached
Depends on the following items: None found
Items that depend on this one: None found
Carbon-Copy List
Thanks for the bug report, I've committed your fix to the repository and extended the tests to check non-unit strides.
http://git.savannah.gnu.org/gitweb/?p=gsl.git;a=commit;h=456f944ac4fcf8b730a28b7cac13f7a84f29a9f1