[GH-ISSUE #199] Simplification logarithme #76

Open
opened 2026-05-06 13:15:12 +02:00 by BreizhHardware · 6 comments

Originally created by @Oreig403 on GitHub (Apr 4, 2022).
Original GitHub issue: https://github.com/UpsilonNumworks/Upsilon/issues/199

Describe the bug
Le problème est la simplification des logarithme décimaux.
log(x^n) devrait renvoyer n×log(x) etc

To Reproduce
Aller dans calcul
Taper les fonctions logarithme de par exemple 1/x

Expected behavior
Les simplifications attendues sont celles énoncés dans les règles de calcul suivante:
Screenshot_2022-04-04-19-00-34-62_e2d5b3f32b79de1d45acd1fad96fbb0f
Sachant que log 10^x marche déjà

Device (please complete the following information):

  • The device on which you're running Upsilon (computer, n0110, n0100, etc...)
    Tout les modèle s
Originally created by @Oreig403 on GitHub (Apr 4, 2022). Original GitHub issue: https://github.com/UpsilonNumworks/Upsilon/issues/199 **Describe the bug** Le problème est la simplification des logarithme décimaux. log(x^n) devrait renvoyer n×log(x) etc **To Reproduce** Aller dans calcul Taper les fonctions logarithme de par exemple 1/x **Expected behavior** Les simplifications attendues sont celles énoncés dans les règles de calcul suivante: ![Screenshot_2022-04-04-19-00-34-62_e2d5b3f32b79de1d45acd1fad96fbb0f](https://user-images.githubusercontent.com/97249553/161595007-de98675e-3272-431a-af0d-ccfa90207ea5.jpg) Sachant que log 10^x marche déjà **Device (please complete the following information):** - The device on which you're running Upsilon (computer, n0110, n0100, etc...) Tout les modèle s
Author
Owner

@fmOOmf commented on GitHub (Apr 4, 2022):

Bonjour

Bien vu !
Par contre, il faut bien viser sur les simplifications à implémenter.

  • Très personnellement, simplifier log(x^n) = nlog(x) me semble effectivement souhaitable.
  • Par contre pour log(xy) = log(x)+log(y) ou pour log(x/y) = log(x)-log(y), la discussion est ouverte.

Tout dépend des situations, et je ne sais pas s'il faut chercher à transformer systématiquement une expression en une autre : on aura quelquefois avantage à faire : log(x/y) => log(x)-log(y),
mais d'autres fois, il nous faudra plutôt faire le chemin inverse : log(x)-log(y) => log(x/y)

Exemple :
ln(10^x) : je m'attendrais à obtenir xln(10), mais comme 10=2*5, en vertu de la propriété ln(xy)=ln(x)+ln(y) que tu cites, Upsilon simplifie ln(10) en ln(2) + ln(5) :
... et donc on obtient ln(10^x) => xln(2) +xln(5). Est-ce vraiment plus simplement écrit ?

En tout cas, 100% d'accord avec la suggestion de Oreig403 de simplifier log(x^n) = n*log(x)
... et ln(x^n) = n*ln(x) de la même façon !

image

<!-- gh-comment-id:1088007367 --> @fmOOmf commented on GitHub (Apr 4, 2022): Bonjour Bien vu ! Par contre, il faut bien viser sur les simplifications à implémenter. - Très personnellement, simplifier ` log(x^n) = nlog(x)` me semble effectivement souhaitable. - Par contre pour `log(xy) = log(x)+log(y)` ou pour ` log(x/y) = log(x)-log(y)`, la discussion est ouverte. Tout dépend des situations, et je ne sais pas s'il faut chercher à transformer systématiquement une expression en une autre : on aura quelquefois avantage à faire : `log(x/y) => log(x)-log(y)`, mais d'autres fois, il nous faudra plutôt faire le chemin inverse : `log(x)-log(y) => log(x/y)` Exemple : ln(10^x) : je m'attendrais à obtenir xln(10), mais comme 10=2*5, en vertu de la propriété ln(xy)=ln(x)+ln(y) que tu cites, Upsilon simplifie ln(10) en ln(2) + ln(5) : ... et donc on obtient ln(10^x) => xln(2) +xln(5). Est-ce vraiment plus simplement écrit ? En tout cas, 100% d'accord avec la suggestion de Oreig403 de simplifier ` log(x^n) = n*log(x)` ... et ` ln(x^n) = n*ln(x)` de la même façon ! ![image](https://user-images.githubusercontent.com/98671961/161631175-cd626308-45d8-4a12-9cd6-6c6c153246d7.png)
Author
Owner

@LukasMFR commented on GitHub (Apr 4, 2022):

C'est un peu comment ln(e^x) qui renvoie bien x mais pas e^ln(x)

<!-- gh-comment-id:1088060795 --> @LukasMFR commented on GitHub (Apr 4, 2022): C'est un peu comment ln(e^x) qui renvoie bien x mais pas e^ln(x)
Author
Owner

@fmOOmf commented on GitHub (Apr 5, 2022):

@LukasAppleFan
Et en plus je pense que e^ln(x)=x et ln(e^x)=x sont vrais aussi dans le cas des complexes.
Cela doit simplifier le codage.

Post séparé pour ne pas partir en branche ?
Cela permettra de maintenir ce ticket dédié à la problématique de log(x^n) = n*log(x) et ln(x^n) = n*ln(x)

<!-- gh-comment-id:1088302486 --> @fmOOmf commented on GitHub (Apr 5, 2022): @LukasAppleFan Et en plus je pense que `e^ln(x)=x` et `ln(e^x)=x` sont vrais aussi dans le cas des complexes. Cela doit simplifier le codage. Post séparé pour ne pas partir en branche ? Cela permettra de maintenir ce ticket dédié à la problématique de ` log(x^n) = n*log(x)` et ` ln(x^n) = n*ln(x)`
Author
Owner

@Oreig403 commented on GitHub (Apr 5, 2022):

Peut être certaine simplifications pourraient être modifiables

<!-- gh-comment-id:1088995757 --> @Oreig403 commented on GitHub (Apr 5, 2022): Peut être certaine simplifications pourraient être modifiables
Author
Owner

@fmOOmf commented on GitHub (Apr 5, 2022):

Bonne idée.
Avec quelques expressions (regroupe, isole xx, met xx en facteur, développe, factorise, simplifie ...) .
Mais est-ce que cela ne reviendrait pas à refaire KhiCAS ?

<!-- gh-comment-id:1089264297 --> @fmOOmf commented on GitHub (Apr 5, 2022): Bonne idée. Avec quelques expressions (regroupe, isole xx, met xx en facteur, développe, factorise, simplifie ...) . Mais est-ce que cela ne reviendrait pas à refaire KhiCAS ?
Author
Owner

@Lauryy06 commented on GitHub (Apr 24, 2022):

Le problème est que ces expressions ne sont vraies que dans certains cas (n réel, x positif, etc...). La simplification se fait déjà pour les entiers (par exemple log(5^4) devient 4 x log(5).

<!-- gh-comment-id:1107846806 --> @Lauryy06 commented on GitHub (Apr 24, 2022): Le problème est que ces expressions ne sont vraies que dans certains cas (n réel, x positif, etc...). La simplification se fait déjà pour les entiers (par exemple log(5^4) devient 4 x log(5).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Upsilon#76
No description provided.