Apprendre Maple Index du Forum Apprendre Maple
Site dédié au logiciel de calcul formel Maple
 
  Page d'accueilPage d'accueil   FAQFAQ    RechercherRechercher    Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs 
S'enregistrerS'enregistrer    ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Problème avec Maple sur polynomes série d'entiers

 
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Polynômes et fractions rationnelles
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Arthur75



Inscrit le: 07 Jan 2007
Messages: 8

MessagePosté le: 09 Jan 2007 16:06    Sujet du message: Problème avec Maple sur polynomes série d'entiers Répondre en citant

Bonjour tout le monde !

Je suis un petit nouveau ici, et aussi avec Maple ...

Donc j'essaie d'utiliser Maple pour des calculs sur des polynomes d'entiers/séries d'entiers.

Et dans la feuille ci dessous, Maple fait de toute évidence une erreur de calcul !!! Sad

<a href='http://maplenet.maplesoft.com/maplenet/worksheet/mapleprimes/3284_test2.mw'>View 3284_test2.mw on MapleNet</a> or <a href='http://www.mapleprimes.com/files/3284_test2.mw'>Download 3284_test2.mw</a><br/><a href='http://www.mapleprimes.com/viewfile/1175'>View file details</a>

Qu'est que je fais qui ne va pas ?

Et bonne année à tous !


Dernière édition par Arthur75 le 09 Jan 2007 17:38; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 09 Jan 2007 16:38    Sujet du message: Répondre en citant

Salut,
J'ai réécrit sous cette forme et je ne trouve pas d'erreur??

Code:

> D1 := proc (p) options operator, arrow; 1 end proc;
> D2 := proc (p) options operator, arrow; p-1 end proc;
> D3 := proc (p) options operator, arrow; sum(D2(p-i), i = 1 .. p-2) end proc;
> factor(D3(p));
> D4 := proc (p) options operator, arrow; sum(D3(p-i), i = 1 .. p-3) end proc;
> factor(D4(p));
> D5 := proc (p) options operator, arrow; sum(D4(p-i), i = 1 .. p-4) end proc;
> factor(D5(p));
> D5(14);

                             D1 := p -> 1


                           D2 := p -> p - 1


                                 p - 2
                                 -----
                                  \
                      D3 := p ->   )   D2(p - i)
                                  /
                                 -----
                                 i = 1


                           (p - 1) (p - 2)
                           ---------------
                                  2


                                 p - 3
                                 -----
                                  \
                      D4 := p ->   )   D3(p - i)
                                  /
                                 -----
                                 i = 1


                       (p - 1) (p - 2) (p - 3)
                       -----------------------
                                  6


                                 p - 4
                                 -----
                                  \
                      D5 := p ->   )   D4(p - i)
                                  /
                                 -----
                                 i = 1


                    (p - 2) (p - 3) (p - 4) (p - 7)
                  - -------------------------------
                                  12


                                 -770


C'était quoi d'après toi l'erreur de calcul évidente?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Arthur75



Inscrit le: 07 Jan 2007
Messages: 8

MessagePosté le: 09 Jan 2007 16:57    Sujet du message: Répondre en citant

ALS a écrit:


C'était quoi d'après toi l'erreur de calcul évidente?


Merci beaucoup pour ta réponse

Et bien tout simplement que ces fonctions ne sont jamais négatives !!

J'avoue que je ne comprends vraiment pas ! Confused

Ou je fais une grossière erreur ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 09 Jan 2007 17:06    Sujet du message: Répondre en citant

D5(p)=Sum( (p-i-1)*(p-i-2)*(p-i-3)/6, i=1..p-4) donc certains termes peuvent être <0.
en développant: D5(p)=-14+103/6*p+4/3*p^3-89/12*p^2-1/12*p^4.
A+
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Arthur75



Inscrit le: 07 Jan 2007
Messages: 8

MessagePosté le: 09 Jan 2007 17:18    Sujet du message: Répondre en citant

ALS a écrit:
D5(p)=Sum( (p-i-1)*(p-i-2)*(p-i-3)/6, i=1..p-4) donc certains termes peuvent être <0.
en développant: D5(p)=-14+103/6*p+4/3*p^3-89/12*p^2-1/12*p^4.
A+


D4(p) est toujours positive pour p>= 4

donc pour p>=5,

D5(p) est toujours positive ! Car p-i varie entre p-1 et 4, donc tous les D4(p-i) sont positifs ! ?????????? Confused
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Arthur75



Inscrit le: 07 Jan 2007
Messages: 8

MessagePosté le: 09 Jan 2007 23:35    Sujet du message: Répondre en citant

D'ailleurs, la bonne valeur pour D5(14) est : 715

Calculée avec le code Python ci dessous :
Code:

def D1(p):
    return 1

def D2(p):
    if p<2:
        print "D2 error" , p
    else:
        return p-1

def D3(p):
    r=0
    if p<3:
        print "D3 error" , p
    else :
        i=1
        while i <= p-2:
            r+=D2(p-i)
            i+=1
        return r

def D4(p):
    r=0
    if p<4:
        print "D4 error" , p
    else :
        i=1
        while i <= p-3:
            r+=D3(p-i)
            i+=1
        return r
           
def D5(p):
    r=0
    if p<5:
        print "D5 error" , p
    else :
        i=1
        while i <= p-4:
            r+=D4(p-i)
            i+=1
        return r



Bizarre non ?! Sad[/code]
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Arthur75



Inscrit le: 07 Jan 2007
Messages: 8

MessagePosté le: 10 Jan 2007 12:35    Sujet du message: Répondre en citant

Je pense que le problème vient de la non définition de l'espace de départ (ou d'application) des fonctions, comment définit on l'espace de départ dans Maple ?
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
ALS



Inscrit le: 11 Sep 2006
Messages: 647

MessagePosté le: 10 Jan 2007 14:53    Sujet du message: Répondre en citant

Bonjour, il faut toujours se méfier des réponses hatives avec la récursivité. J'ai répondu trop vite et avec une erreur dans mon dernier message. J'ai modifié les procédures et j'obtiens biens 715 pour D5(14).



Code:

  D1 := proc(p::posint) 1 end proc;
  D2 := proc(p::posint) if 2 <= p then p - 1 end if end proc;

  D3 := proc(p::posint)
    if 3 <= p then add(D2(p - i), i = 1 .. p - 2) end if
end proc;

  D4 := proc(p::posint)
    if 4 <= p then add(D3(p - i), i = 1 .. p - 3) end if
end proc;

  D5 := proc(p::posint)
    if 5 <= p then add(D4(p - i), i = 1 .. p - 4) end if
end proc;

D5(14);
                                 715


On peut définir l'ensemble de définition en précisant par exemple un type de variable comme ici posint (entier >0)

A plus tard.


Dernière édition par ALS le 10 Jan 2007 14:59; édité 1 fois
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Apprendre Maple Index du Forum -> Polynômes et fractions rationnelles Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


phpBB

Développé par phpBB © 2001, 2006 phpBB Group
Traduction par : phpBB-fr.com


Apprendre Maple - ©  - Alain Le Stang - Navigation optimisée pour une résolution 1024 x 768.