Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Eigenmath
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Eigenmath

Posté le 11/02/2015 00:24

Lien vers la page du programme


Comme je l'avais dit, un sujet dédié à l'avancée de l'amélioration de Eigenmath (en partant de la version actuelle de Mike dispo quelque part sur le site) sur les graph *5 ! Pour l'instant c'est assez succinct car je n'ai pas tellement le temps en cet instant précis d'écrire un roman (c'est surtout que je suis un peu crevé en fait ), mais je tiendrai ça à jour ^^.



Donc comme on en avait parlé, en plus de l'arrivée d'un curseur plus proche du menu run math (clignotement et style de clignotement, scrolling...), je suis en train de bosser sur implémentation de menu "déroulants" associés à chaque touches F1 à F6, et je dois dire que c'est quasiment fonctionnel en fait, comme on peut le voir sur la capture d'écran 8).
J'ai pris le parti de stocker les infos de ce menu dans un petit fichier de config dont la syntaxe est assez simple, comme ça chacun pourra au fur et à mesure de ce qu'il est en train de faire, rajouter un menu avec les fonctions ou raccourcis qu'il voudra assez simplement. Bien entendu, l'addin crée un fichier "standard" (dont le contenu reste d'ailleurs à déterminer, je veux dire quelles fonctions choisit-on de mettre par défaut, car je suppose qu'une majorité des gens n'ira jamais bidouiller le fichier de config, donc il faut que ça soit au moins intéressant de base ) si il n'en trouve pas au lancement.

Voila pour l'instant, après je ne sais pas trop quoi dire de plus pour l'instant... Mais je vous tiens au courant !

Dans les choses qui arrivent on peut envisager :
- Une amélioration de la fonction integral( (voir avec Scientifix pour à quoi ressemble cette amélioration) (si ça n'alourdit pas trop l'addin, on est déjà à presque 250ko de base, donc c'est à voir).
- Une gestion des "scripts", ça doit être assez simple à mettre en place, vu les interfaces que propose le moteur.
- Un catalogue de toutes les fonctions (là encore il faudra réfléchir par rapport à la taille du g1a).
- Des idées ?
- Peut être éventuellement un jour potentiellement un gestion d'une sortie en pretty print, enfin, il faut que je réfléchisse un peu à ça..

Après, bien entendu le code sera dispo je pense sur Gitorious ASAP (c'est à dire sûrement demain), ainsi qu'un build pour ceux qui voudraient tester cette version en développement (qui est malgré tout je pense plus agréable à utiliser que la version actuellement disponible).
Et si des gens sont intéressés pour participer, c'est avec plaisir qu'on pourra en discuter comme toujours !

===================================================


Dernière MAJ : 6 juin 2015
Le fichier joint sur ce message est à jour, post de mise à jour ici.

Dernier message en rapport avec l'avancement du projet (8 avril 2017) : ici


Fichier joint


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 15/06/2015 17:15 | #


La version de Nemhardy ne gère pas les exposants, après...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 28/06/2015 21:39 | #


Mais ça viendra Nemhardy change l'ancienne par ta nouvelle version d'interpréteur html Lephé non ?
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 28/06/2015 21:50 | #


Ma nouvelle version gère en effet tout ça, facilement...

Ce qu'il y a, c'est qu'elle utilise la libfont (qui fait partie de webcalc même si je ne l'ai pas encore publiée pour remplacer la libtext) et que du coup c'est moins facile pour lui à gérer

Mais effectivement, substituer la nouvelle version à l'ancienne apportera une certaine beauté graphique en plus !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 30/06/2015 19:40 | #


@Nemhardy: Tu continues à essayer de modifier la commande "integral(" ? Si tu y arrives on a une chance (d'après ce que j'ai vu dans le code et dans ce fichier) de faire égalité avec les calculatrices formelles !!
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 02/07/2015 09:48 | #


C'est au programme, de même pour la mise à jour de la librairie de LePhenixNoir pour le rendu TeX, qui permettra entre autre l'ajout des exposants dans l'affichage en pretty print.
Ça devrait progresser pendant l'été de toute manière ! (Un peu moins l'année prochaine sans doute, mais bon )
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 02/07/2015 10:11 | #


Profites-en tant que tu peux
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/07/2015 12:31 | #


Génial !! Au passage j'ai eu une petite idée (je sais pas trop si c'est réalisable) qui peut faire gagner 91 KB Ca consiste à remplacer le "prime table" qui est extrêmement lourd par une des formules données en bas de cette page Mais ce n'est qu'un idée car je ne suis pas sûr que ça soit implémentable
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 02/07/2015 13:35 | #


Scientifix a écrit :
Génial !! Au passage j'ai eu une petite idée (je sais pas trop si c'est réalisable) qui peut faire gagner 91 KB Ca consiste à remplacer le "prime table" qui est extrêmement lourd par une des formules données en bas de cette page Mais ce n'est qu'un idée car je ne suis pas sûr que ça soit implémentable


Ça vient de moi ou ça donne le premier nombre premier non cité auparavant et supérieur à n ?
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/07/2015 13:44 | #


Euh ... tu peux être plus clair les formules avec les sommes donnent la valeur du nombre premier p(n) avec n son rang dans la séquence des nombres premiers : p(1)=2, p(2)=3, p(3)=5 ...
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Legolas Hors ligne Ancien rédacteur Points: 3266 Défis: 104 Message

Citer : Posté le 02/07/2015 13:45 | #


Scientifix a écrit :
Euh ... tu peux être plus clair les formules avec les sommes donnent la valeur du nombre premier p(n) avec n son rang dans la séquence des nombres premiers : p(1)=2, p(2)=3, p(3)=5 ...


Ah ok.
Mes programmes
Cacher les programmes
Mes défis
Cacher les défis



-florian66- Hors ligne Ancien rédacteur Points: 2383 Défis: 20 Message

Citer : Posté le 02/07/2015 13:47 | #


Il existe des formules ça serais bien si c'était moins lourd
In Arch, I trust ! And you ?
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 02/07/2015 13:48 | #


Attention hein, il n'existe pas de fonction de P dans P telle que f(p) > p, sinon on aurait démontré l'infinité des nombres premiers depuis longtemps...

Ajouté le 02/07/2015 à 13:51 :
Scientifix, ça va être long à calculer tout ça...
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/07/2015 14:17 | #


@Lephé: C'est ce que je me disais d'un côté c'est beaucoup moins lourd que le tableau mais si tu dis que le calcul prendra des plombes ...

By the way Lephé: L'infinité des nombres premiers a été prouvée il y a longtemps ... (démonstration en seconde ou en spé maths) exemple simple de démonstration
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 02/07/2015 14:26 | #


Et puis, regarde les formules.


Somme de k = 1 à 2^n. Là, à p(32) on overflow, sauf si on peut faire de calcul arbitrairement long, mais bonjour la mémoire et la vitesse...
Ah oui, et puis puissance 1/n ? T'es optimiste sur le délai là... (peut-être avec une implémentation logarithmique de pow(), et encore).


Là c'est de l'ordre de 2n*log(n) opérations, c'est bien plus raisonnable. Faut implémenter la fonction pi et un logarithme efficace (j'ai ça en boutique si tu veux), si tu dois en implémenter une essaie celle-là.


-10 à la puissance 2^(n-1). Ça aussi ça va générer très rapidement des overflows. Sans parler de 10^(2^n)... et de alpha qui monte à l'infini avec un dénominateur exponentiellement croissant : aucune chance que tu ne fasses fonctionner celle-là.

Tu vois ce que je voulais dire maintenant ?

Ajouté le 02/07/2015 à 14:27 :
Oups, j'ai du confondre alors. Désolé. On a la démonstration mais pas la formule.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Scientifix Hors ligne Membre Points: 762 Défis: 30 Message

Citer : Posté le 02/07/2015 18:20 | #


C'est bien ce que je pensais j'étais pas sûr de la vitesse d'exécution en C et si tu dis en plus qu'il y aura des overflow ça risque d'être compromis ... sauf peut être avec la 2eme formule ... petit problème qui vient s'ajouter, le π(k) correspond à ça :
http://m.wolframalpha.com/input/?i=pi+%28x%29&x=0&y=0cela semble donc clairement impossible sur calculatrice si tu dis que déjà un seul calcul est à la limite du réalisable ... Dommage je voulais juste réduire un peu le code pour limiter le poids de l'addin
JE SERAI ABSENT POUR 2 ANS A+

Je suis fan de Mathématiques et de Sciences en général (d'où mon nom ). Consultez mes programmes en rapport avec les Maths
--------------------------------------------------------

Calculatrice : Graph 75
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 02/07/2015 18:33 | #


Ah, ces nombres premiers
C'est sur que c'est pas évident à optimiser tout ça
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 02/07/2015 22:01 | #


Si tu cherches pas quelque chose de trop précis, tu sais pi(x) c'est x/ln(x)... (pour x suffisament grand)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)


Marc L. Invité

Citer : Posté le 28/10/2015 18:41 | #


Bonjour j'ai téléchargé la version ci-dessus de Eigenmath et j'ai lu dans la documentation en anglais qu'on pouvait créer des commandes. J'ai créé la commande "snt(a)" (qui prend en argument un entier naturel a et qui renvoie l'expression de sin(a*t) en fonction de sin(t)) de la manière suivante : snt(a) = simplify( imag( (cos(t) + i*sin(t) )^a ) ). ça marche très bien sauf que quand vais dans run math et que je fais des calculs, quand je reviens la commande n'est plus reconnue ... Comment je dois faire pour la sauvegarder durablement ?? Je trouve ça vraiment cool de pouvoir faire ses propres fonctions mais si on peut pas les sauvegarder c'est vraiment dommage ...
Nemhardy Hors ligne Grand maître des Traits d'Esprit Points: 1242 Défis: 54 Message

Citer : Posté le 28/10/2015 18:49 | #


Hum, c'est ce qui était prévu sur le long terme de faire, mais actuellement, avec la prépa j'ai beaucoup moins de temps, en revanche, je dois pouvoir assez facilement faire en sorte que des commandes stockées dans un fichier que l'on pourrait éditer à l’extérieur du programme (avec Edit par exemple, ou depuis un ordinateur d'ailleurs) soit chargé au lancement du programme, ce qui permettrait d'éviter ce genre de désagréments, qui j'en convient peuvent s'avérer assez désagréables, et diminuer l’intérêt de pouvoir «créer» ses propres fonctions.
Je vais regarder et sûrement poster du nouveau dans la soirée, en détaillant mieux comment ça peut se passer, j'ai plus ou moins en tête comment faire, même si je n'ai pas touché au code depuis un bout de temps.

Ajouté le 28/10/2015 à 23:15 :
Donc au final, il y aura bien moyen d'avoir des commandes chargées au lancement du programme, ça marche quasiment, il y a juste un petit problème, mais qui fait que l'add in peut planter au lancement si on a mal saisi (problème de retour à la ligne final), mais ça doit se résoudre sans trop de douleur...

Après je réfléchis à ajouter une fonction du style save(expression à sauver) directement depuis la zone de saisie de l'addin (qui finalement écrirait dans le dit fichier plus haut), mais ça pose le problème de savoir quand et comment libérer / oublier ce qu'on a pu sauver à moment donné. Du coup j'y réfléchis, si quelqu'un à des idées sur comment le truc pourrait être au final (côté utilisateur j'entends) n'hésitez pas.

(Sachant que là je peux bosser un peu dessus mais ça reste assez exceptionnel j'ai envie de dire... ^^'')
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 28/10/2015 23:18 | #


Normalement quand tu as une fonction snt(a) tu dois pouvoir retrouver son expression à partir de son nom non ? Dans ce cas, quelque chose comme 'save snt' ou 'forget snt' pourrait faire l'affaire.

Comme ça, on peut sauvegarder fonctions, variables, expressions, résultats, etc.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm En ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 29/10/2015 08:32 | #


+1 pour mon VDD.
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 83 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd