On Mon, Apr 20, 2009 at 1:47 PM, Matthieu Brucher <
matthieu.bruc...@gmail.com> wrote:

> > I understand the numerical mathematics behind this very well but my
> > point is that his two algorithms appear to be identical (same
> > operations, same order), he simply uses lists in one and arrays in the
> > other. It's not like he used vectorization or other array-related
> > operations - he uses for loops in both cases. Of course I agree that
> > 1e-15 error should be acceptable, but that's not the point. I think
> > there is legitimate curiosity in wondering why there is any difference
> > between using the two data types in exactly the same algorithm.
>
> Hi,
> There are cases where the same algorithm implementation outputs
> different results in optimized mode, depending on data alignment. As
> David said, this is something that is known or at least better known.
>
>
in this example, there is no difference between numpy and python list if you
deepcopy
instead of mutating your original lists, see:

diff_npl = [[0.0]*width for i in range(height)]
for row in range(height):
    for col in range(width):
        diff_npl[row][col] = s[row][col] - sl[row][col]
print "\n* Difference numpy list:"
print diff_npl
print "maximum difference =>", max(diff_npl)
print "minimum diff =>", min(diff_npl)

* Difference numpy list:
[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0,
0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]]
maximum difference => [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
minimum diff => [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to