Hoi und willkommen im Forum,
Na ja, Dein Link sagt ja schon fast alles aus, oder? Aber "Python in a nutshell" ist nun wirklich kein Buch, daß sich detailliert mit numerischer Programmierung auseinandersetzt. Du hast aber recht: In dem von Dir gezeigten Link hat sich der Fehlerteufel eingeschlichen. Ich finde eine gute Erklärung zur numerischen Convolution ("Faltung") gibt
Numerical Recipies in diesem Kapitel. Auch nicht zu verachten ist
die numpy Seite, wenn es um best. Erklärungen geht. Am besten ist aber ist die Mailinglist (siehe
hier), wenn es um Hilfestellungen geht). (Ich treibe mich da auch manchmal rum.)
Um den mathematischen Einstieg zu finden empfehle ich ganz gerne
die entsprechenden Seiten von Mathworld.
Schließlich zu Deiner Frage, soweit sie durch die Links noch nicht beantwortet ist:
Code: Alles auswählen
>>> from numpy import *
>>> print convolve.__doc__
Returns the discrete, linear convolution of 1-D
sequences a and v; mode can be 0 (valid), 1 (same), or 2 (full)
to specify size of the resulting sequence.
>>> a = arange(10)
>>> b = arange(10)
>>> convolve(a,b,mode=0)
array([120])
>>> convolve(a,b,mode=1)
array([ 10, 20, 35, 56, 84, 120, 165, 200, 224, 236])
>>> convolve(a,b,mode=2)
array([ 0, 0, 1, 4, 10, 20, 35, 56, 84, 120, 165, 200, 224,
236, 235, 220, 190, 144, 81])
Aber auf eines möchte ich Dich noch hinweisen: Seit Anfang des Jahres machen wir einen Unterschied zwischen Numeric und numarray (die älteren, teils nicht mehr unterstützten Module) auf der einen Seite und numpy (die "Verschmelzung") auf der anderen Seite.
Gruß,
Christian