Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 07-08-2018 02:01:08

Lucilius
Invité

Ecriture mathématique et programmation fonctionnelle

Bonjour,

J'ai vu que les sujets concernaient surtout des questions pour résoudre des exercices, la mienne reflète plus une incompréhension d'un point de cours j'espère que je suis au bon endroit. J'ai commencé un cours d'introduction à la programmation fonctionnelle dans lequel un point mathématique me laisse perplexe. Pour aborder la curryfication le cours fait la différence entre une fonction à deux variables définies sur Z "pour tout (x,y) appartenant à Z^2, f(x,y)=x+y" et une fonction qui à x associe une seconde fonction qui à y associe x+y (et qui correspondrait à "lambdaxy.x+y" en lambda-calcul, si je n'ai pas tout saisi de travers). Cette fonction est décrite comme une fonction à une variable définie dans Z*Z. Je ne comprends pas cette description ni n'arrive à trouver une écriture ou une description mathématique plus intuitive. Comment pourrait-on décrire en langage mathématique usuel "une fonction qui à x associe une seconde fonction qui à y associe x+y"?
Je vous prie d'excuser le caractère un peu confus de ma question. Je précise que mon niveau en mathématiques est assez faible (prépa ECS il y a quelques années).

Par avance merci pour vos éclaircissements,
L.

#2 07-08-2018 13:08:25

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 16 947

Re : Ecriture mathématique et programmation fonctionnelle

Bonjour,

https://fr.wikipedia.org/wiki/Curryfication

N-B : en Python une fonction lambda est une fonction dite anonyme... par opposition à une fonction classique qui est définie avec def

Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> def trinome(a,b,c,x):
        return  a*x**2+b*x+c

>>> print(trinome(1,-9,36,3))
18
>>> tri=lambda a,b,c,x:a*x**2+b*x+c
>>> print (tri(1,-9,36,3))
18

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Pied de page des forums