π
<-

Beta HP Prime 13011/13012: résultats exacts

Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 16 Nov 2017, 18:47

Hewlett Packard diffuse cette semaine de nouvelles versions beta de sa suite logicielle HP Prime :
  • logiciel de communication HP Connectivity Kit version 13012 du 15 novembre 2017
  • logiciel d'émulation HP Prime Virtual Calculator version 13012 du 15 novembre 2017
  • firmware HP Prime version 13011 du 15 novembre 2017

Pour ceux qui n'en ont pas encore pris connaissance, nous vous invitons à aller voir l'extraordinaire collection de nouveautés des versions betas diffusées la semaine dernière.


La version 13011 apporte moins de nouveautés mais est loin d'être dénuée d'intérêt pour autant.


Les calculatrices collège et graphiques de milieu de gamme actuelles peuvent retourner des résultats :
  • en écriture décimale éventuellement approchée
  • en écriture exacte, malgré l'absence d'un moteur de calcul littéral
Pour les écriture exactes deux familles de formes sont gérées, aussi bien chez TI que chez Casio :
  • $mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
    qui est une famille de nombres avec des propriétés aisément vérifiables par les processeurs légers
  • $mathjax$\pm\frac{a\pi}{b}$mathjax$
    pour la trigonométrie
Il peut arriver que l'on obtienne parfois une écriture décimale alors que l'on attendait une écriture exacte, si cette dernière est désactivée ou mal gérée par l'une des fonctions utilisées lors du calcul. Il reste alors possible de demander manuellement à la calculatrice de récupérer une forme exacte, mais la machine ne recherchera alors que des formes fractionnaires en
$mathjax$\pm\frac{a}{b}$mathjax$
, ce qui fait que la forme exacte pourra ne pas être trouvée ou être fausse.


La HP Prime quant à elle dispose de deux applications de calcul directement accessibles au clavier :
  • le calcul numérique avec la touche
    Maison
  • le calcul littéral avec la touche
    CAS
Si l'on souhaite obtenir des résultats en écriture exacte, l'on doit utiliser l'application de calcul littéral.
Pour ceux qui préfèrent utiliser l'application de calcul numérique, il était toutefois possible ici aussi de faire appel à une fonctionnalité de récupération de forme exacte, en sélectionnant un résultat en écriture décimale puis tapant
ab/c
. Mais comme sur les modèles évoqués ci-dessus, le code sous-jacent ne gérait que les écritures fractionnaires en
$mathjax$\pm\frac{a}{b}$mathjax$
.

Le nouveau firmware 13011 étend et multiplie les formes gérées par cette fonctionnalité de récupération :
  • $mathjax$\pm\frac{a\sqrt{c}}{b}$mathjax$
  • $mathjax$\pm\frac{a\pi}{b}$mathjax$
  • $mathjax$ln\left(\frac{a}{b}\right)$mathjax$
  • $mathjax$e^{\frac{a}{b}}$mathjax$
Image Image
Image Image

Statistiquement, il sera donc désormais beaucoup plus fréquent de pouvoir récupérer une forme exacte juste à partir d'un résultat en écriture décimale ! :bj:


Notons également qu'en cas d'erreur dans un programme associé à l'application de calcul littéral, la ligne fautive sera désormais indiquée, facilitant ainsi sa correction. :bj:


Changelog officiel complet (anglais) :
Show/Hide spoilerAfficher/Masquer le spoiler
1. Added feature: (this was very close before, but not quite ready. Should be now)
a. Added →Qπ function
b. modified the [a b/c] key in Home to cycle through this value first

FIXED ISSUES:
1. Modifed WAIT(0) to not time out at 60s, but timeout 100ms before TOff auto power off time
2. CAS error cursor positioning not taking lines into account. now will put cursor at right spot in source. Should help with debugging #cas #end blocks in a source file.
3. fix for simplify(sqrt(2)*(cos(x)^2+sin(x)^2))
4. Sorted the items in the "Catalog" section in the Help Tree.
5. ON-ESC then HELP then ON-ESC again caused problem.
6. Alpha on triangle animation in opening startup screen not correct
7. Line plot ignoring frequencies. Bar shouldn't be allowing them.
8. Fix for -- and ++ being inconsitent in the CAS. Would confuse with increment, decrement operators. Now will check if -- or ++ followed by a number, and then convert as appropriate rather then just erroring.
9. Worked on help items. Still undergoing work to correct issues discovered and reported so I don't have the full list yet. If you reported it already to the email and don't see it yet, please wait. Thanks!


Téléchargements :
Source : http://www.hpmuseum.org/forum/thread-9504.html
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby hpfx » 17 Nov 2017, 01:02

critor wrote:Le nouveau firmware 13011 étend et multiplie les formes gérées par cette fonctionnalité de récupération :
  • $mathjax$\pm\frac{a\sqrt{c}}{b}$mathjax$
  • $mathjax$\pm\frac{a\pi}{b}$mathjax$

J'ai trouvé que ça retourne aussi les formes ln(a) et exp(a), mais en effet pas de forme telles que celles des Casio ou TI, pourtant bien plus intéressantes je trouve, car utilisé dans les racines de l'eq du 2nd degrés.
Est-ce qu'ils vont corriger le tir ?...
User avatar
hpfxPremium
Niveau 5: MO (Membre Overclocké)
Niveau 5: MO (Membre Overclocké)
Level up: 48%
 
Posts: 39
Joined: 21 Apr 2016, 14:32
Gender: Not specified
Calculator(s):
MyCalcs profile

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 17 Nov 2017, 12:49

Merci pour la précision.
J'avais omis de tester les logarithmes et exponentielles, puisque la concurrence non formelle ne les gère pas, puisque je n'en avais pas vu de mention dans le topic du changelog sur HP-Museum, et puisque mes tests avaient déjà échoué avec les formes en
$mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
.

Il est vrai que l'absence de gestion des formes en
$mathjax$\frac{\pm a\sqrt{b} \pm c\sqrt{d}}{f}$mathjax$
manque, puisqu'en effet cela couvre nombre de racines de polynômes du 2nd degré (Première).

D'un autre côté, la gestion des logarithmes et exponentielles est une excellente chose pour les élèves de Terminale, vu que le BAC n'interroge quasiment que sur ces fonctions.

Le temps de prendre quelques captures les illustrant, et l'article sera corrigé.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 17 Nov 2017, 13:22

Voilà, c'est fait. Merci encore. :)
Image Image
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby Hamza.S » 17 Nov 2017, 17:04

Avec des variables, peut-on passer d'une forme à une autre avec ln? (Propriétés ln)
sur les anciennes versions je n'y suis pas arrivé
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 17 Nov 2017, 17:25

Si tu poses la question dans le contexte de la nouvelle fonctionnalité, une seule forme logarithmique est recherchée :
$mathjax$ln\left(\frac{a}{b}\right)$mathjax$
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 18 Nov 2017, 09:47

Personnellement, je me demandais à quoi cette fonctionnalité pouvait bien servir. Les gens n'ont qu'à faire les calculs dans l'appli de calcul littéral liée à la touche
CAS
si ils veulent des résultats exacts, non ?

Pour la France, oui. Mais c'était oublier que d'autres pays, Pays-Bas et Portugal notamment, imposent le mode examen et interdisent le CAS.
Je viens de tester, lorsque l'on coche la désactivation du CAS en mode examen ça bloque la touche
CAS
mais pas la touche
ab/c
, ce qui est normal selon moi le calcul exact n'étant pas du calcul littéral.

Une superbe fonctionnalité donc, pour les candidats des pays concernés. :bj:
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby Hamza.S » 18 Nov 2017, 22:43

critor wrote:Si tu poses la question dans le contexte de la nouvelle fonctionnalité, une seule forme logarithmique est recherchée :
$mathjax$ln\left(\frac{a}{b}\right)$mathjax$

d'accord, en fait la HP Prime peut donner les propriétés de ln mais il faut utiliser une fonction spécifique, contrairement à la Nspire CAS ou c'est plus complexe à faire et elle ne donne pas toutes les propriétés.
je n'ai pas encore trouvé les propriétés des racines carrées pour la HP Prime (avec des variables).
Image
User avatar
Hamza.SAdmin
Niveau 17: GM (Grand Maître des calculatrices)
Niveau 17: GM (Grand Maître des calculatrices)
Level up: 29%
 
Posts: 4501
Images: 18
Joined: 07 Nov 2014, 00:43
Gender: Male
Calculator(s):
MyCalcs profile

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby critor » 18 Nov 2017, 22:45

Pour cette fonctionnalité, on est dans le cas particulier où on obtient un résultat en écriture décimale approchée, et où on demande à la calculatrice de trouver une forme exacte plausible.

Il n'y a pas cette limitation si tu utilises l'appli de calcul littéral pour obtenir directement des formes exactes.
Image
User avatar
critorAdmin
Niveau 19: CU (Créateur Universel)
Niveau 19: CU (Créateur Universel)
Level up: 47.5%
 
Posts: 41980
Images: 15737
Joined: 25 Oct 2008, 00:00
Location: Montpellier
Gender: Male
Calculator(s):
MyCalcs profile
YouTube: critor3000
Twitter: critor2000
GitHub: critor

Re: Beta HP Prime 13011/13012: résultats exacts

Unread postby compsystems » 19 Nov 2017, 10:40

challenge for the tiplanet community> port the source code of QPI (ℚ_quotient_PI_root_ln_e) to TIBASIC or LUA or upython or c++ on ti68calcs or tinspire cx cas

HP-Prime Code
Code: Select all
// QPI by Han Duong
// ported from QPI 4.3a for the HP48G/GX(1998) by Mika Heiskanen & Andre Schoorl
// http://www.hpcalc.org/details/1403
// QPIRLNe: convert decimal to ℚ(p/q) or p/q*PI or SQRoot(p/q) or LN(p/q) or e^(p/q)

export qpiEXPLN:=100; // max denom for exp(p/q) or ln(p/q)
export qpiMAXINT:=2^20; // largest n allowed for sqrt(n)=a*sqrt(b)
export qpiDIGITS:=10; // controls accuracy (best results at 9 or 10)

qpi_approx();
qpi_asqrtb();
qpi_out();
qpi_outsqrt();
qpi_real();
qpi_complex();
qpi_list();
qpi_root();
qpi_pi();
qpi_ln();
qpi_exp();
//qpi_symb();

EXPORT QPI(r)
BEGIN

  case
    if TYPE(r)==0 then qpi_real(r); end;
    if TYPE(r)==1 then RETURN(r); end;
    if TYPE(r)==3 then qpi_complex(r); end;
    if TYPE(r)==6 then qpi_list(r); end;
    if TYPE(r)==8 then QPI(approx(r)); end;
    DEFAULT msgbox("Object type: " + TYPE(r) + " not supported!");
  end;

END;


qpi_real(r)
BEGIN
  local frac;

  if r then
    frac:=qpi_approx(r);

    if frac(2)<100 then
      qpi_out(frac);
    else
      qpi_root(r,frac);
    end;
  else
    RETURN(0);
  end;
END;


qpi_complex(c)
BEGIN
  local rpart, ipart;

  rpart:=STRING(qpi_real(RE(c)));
  ipart:=STRING(qpi_real(abs(IM(c))));

  if IM(c)>0 then
    expr("'" + rpart + "+" + ipart + "*'");
  else
    expr("'" + rpart + "-" + ipart + "*'");
  end;

END;


qpi_list(l)
BEGIN
  local i,n;

  n:=SIZE(l);
  for i from 1 to n do
    l(i):=QPI(l(i));
  end;

  RETURN(l);
 
END;


qpi_root(r,frac)
BEGIN
  local frac1;

  if r^2<500001 then

    frac1:=qpi_approx(r^2);
    if r<0 then frac1(1):=-frac1(1); end;
    frac1(3):=1;
    if (frac1(2)<1000) AND (frac1(2)<=frac(2)) then
      if frac1(2)<10 then
        qpi_out(frac1);
      else
        qpi_pi(r,frac1);
      end;
    else // sqrt denom not smaller
      qpi_pi(r,frac);
    end;   

  else // r^2>500000

    qpi_pi(r,frac);

  end; // end_if r^2<500000
END;


qpi_pi(r,frac)
BEGIN
  local frac1;

  if abs(r/pi)<101 then

    frac1:=qpi_approx(r/pi);
    frac1(3):=2;
    if (frac1(2)<1000) AND (frac1(2)<=frac(2)) then
      if frac1(2)<10 then
        qpi_out(frac1);
      else
        qpi_ln(r,frac1);
      end;
    else // (r/pi) denom not smaller
      qpi_ln(r,frac);
    end;

  else // abs(r/pi)>100

    qpi_ln(r,frac);

  end; // end_if abs(r/pi)<101
END;


qpi_ln(r,frac)
BEGIN
  local frac1,tmp;

  tmp:=e^(r);

  if tmp<1001 then

    // check for LN(0)
    if tmp then
      frac1:=qpi_approx(tmp);
    else
      frac1:=qpi_approx(MINREAL);
    end;
    frac1(3):=3;

    if (frac1(1)*frac1(2)==1) OR (frac1(2)>qpiEXPLN) then

      qpi_exp(r,frac);

    else

      if (frac1(2)<=frac(2)) then
        if frac1(2)<10 then
          qpi_out(frac1);
        else
          qpi_exp(r,frac1);
        end;
      else
        qpi_exp(r,frac);
      end;

    end; // end_if p*q==1 or q>50

  else // e^(r)>1000

    qpi_exp(r,frac);

  end; // end_if e^(r)<1001
END;


qpi_exp(r,frac)
BEGIN
  local frac1;

  if r<0 then
    qpi_out(frac);
  else

    frac1:=qpi_approx(LN(r));
    frac1(3):=4;
    if frac1(2)>qpiEXPLN then
      qpi_out(frac);
    else
      if frac1(2)<=frac(2) then
        qpi_out(frac1);
      else
        qpi_out(frac);
      end;
    end;

  end;
END;


// returns frac(t+1) where
// frac:={p/q, sqrt(p/q), p/q*pi, ln(p/q), e^(p/q)}
// and list:={p,q,t}
qpi_out(list)
BEGIN
  local s0="(", s1=")'";

  if list(3)==1 then

    qpi_outsqrt(list);

  else

    if list(1)<0 then s0:="-" + s0; end;
    if list(3) then s1:=")" + s1; end;

    case
      if list(3)==2 then s1:=")*π'"; end;
      if list(3)==3 then s0:="LN(" + s0; end;
      if list(3)==4 then s0:="e^(" + s0; end;
    end;

    s0:="'" + s0;

    if list(2)==1 then
      expr(s0 + abs(list(1)) + s1);
    else
      expr(s0 + abs(list(1)) + "/" + list(2) + s1);
    end;
  end;
END;


qpi_outsqrt(list)
BEGIN
  local ab1, ab2;
  local s0="'";

  if list(1)<0 then s0:=s0+"-"; end;

  ab1:=qpi_asqrtb(abs(list(1)));
  ab2:=qpi_asqrtb(list(2));

  if ab1(1)<>ab2(1) then
    if ab2(1)==1 then
      s0:=s0 + ab1(1) + "*";
    else
      s0:=s0 + "(" + ab1(1) + "/" + ab2(1) + ")*";
    end;
  end;

  s0:=s0 + "√(";

  if ab2(2)==1 then
    s0:=s0 + ab1(2);
  else
    s0:=s0 + ab1(2) + "/" + ab2(2);
  end;

  expr(s0+")'");
END;


// returns {a,b} where n=a*sqrt(b)
qpi_asqrtb(n)
BEGIN
  local div,quo,rem,num,den,nodd;

  if n>qpiMAXINT then RETURN({1,n}); end;

  div:=1;
  num:=n;
  den:=4;
  nodd:=3;

  repeat
    quo:=IP(num/den);
    rem:=num MOD den;

    if rem==0 then
      div:=div*(IP(nodd/2)+1);
      num:=quo;
    else
      nodd:=nodd+2;
      den:=den+nodd;
    end;
  until (quo==0) OR (nodd>qpiMAXINT) end;

  RETURN({div,num});
END;


// returns {p,q,0} where r=p/q
qpi_approx(r)
BEGIN
  local num,inum,den,iden;
  local p0,q0,p1,q1,p2,q2;
  local quo,rem;

  if NOT(r) then RETURN({0,1,0}); end;

  num:=abs(r);
  inum:=IP(num);
  den:=1;

  while num-inum do
    num:=num*10;
    den:=den*10;
    inum:=IP(num);
  end;

  iden:=den;

  rem:=den; den:=num;
  p1:=0; p2:=1;
  q1:=1; q2:=0;

  repeat
    p0:=p1; p1:=p2;
    q0:=q1; q1:=q2;
    num:=den; den:=rem;
    quo:=IP(num/den);
    rem:=num MOD den;
    p2:=quo*p1+p0;
    q2:=quo*q1+q0;
  until 10^qpiDIGITS*abs(inum*q2-iden*p2)<iden*p2 end;

  if (r>0) then
    RETURN({p2,q2,0});
  else
    RETURN({−p2,q2,0});
  end;


END;

#cas
qpi_symb(f):=
begin
  local j,n,g,r;
  if (type(f) <> DOM_SYMBOLIC) then return(f); end;

  n:=dim(f)+1;

  for j from 2 to n do

    g:=f[j];
    if (type(g) == DOM_FLOAT) then
      r:=QPI(g);
      f[j]:=r;
    end;
    if (type(g) == DOM_SYMBOLIC) then
      r:=qpif(g);
      f[j]:=r;
    end;
  end;
  return(f);
end;
#end
Last edited by compsystems on 19 Nov 2017, 10:56, edited 2 times in total.
User avatar
compsystems
Niveau 9: IC (Compteur Infatigable)
Niveau 9: IC (Compteur Infatigable)
Level up: 40.2%
 
Posts: 256
Joined: 30 May 2011, 13:44
Gender: Male
Calculator(s):
MyCalcs profile

Next

Return to News HP

Who is online

Users browsing this forum: No registered users and 2 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
783 utilisateurs:
>745 invités
>28 membres
>10 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)