3 ms·
Interesting article but just skimming through it some things stand out immediately: 1.) The first snippet isn't even valid python code as floats don't have a sh
by eljost 8y ago
Interesting article but just skimming through it some things stand out immediately:
1.) The first snippet isn't even valid python code as floats don't have a shape attribute.
s = 0.
n = s.shape
2.) The inline latex math isn't rendered properly.
- kristofferc 8y agoThe first snippet also doesn't balance the parenthesis s += 100. * x[i + 1] - x[i] ** 2.) ** 2. + (1 - x[i]) ** 2
- rlayton2 8y agoI believe the input should be a numpy array of floats which has a shape attribute
- serge-ss-paille 8y ago(shameful author here) One should read def rosen_explicit_loop(x): s = 0. n = x.shape[0] for i in range(0, n - 1): s += 100. * (x[i + 1] - x[i] ** 2.) ** 2. + (1 - x[i]) ** 2 return s (edited)
- chestervonwinch 8y ago... n = x.shape[0]
- quietbritishjim 8y agoOr just len(x). This works perfectly well on numpy arrays and has the bonus that it works on regular lists/tuples of floats, so the first snippet doesn't rely on numpy.
- chestervonwinch 8y agoIt should be the shape of x (actually, the zero'th element of the shape), but this is also a tad odd because this would assume that x is a numpy array, which isn't introduced until after this 'naive pure python' code block (i.e., before numpy is even introduced in the text).