octave-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octave-bug-tracker] [bug #60539] Slow performance of betaincinv.m


From: Rik
Subject: [Octave-bug-tracker] [bug #60539] Slow performance of betaincinv.m
Date: Fri, 28 May 2021 18:50:15 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36

Follow-up Comment #20, bug #60539 (project octave):

I agree that a stopping tolerance of eps can underperform and that the
algorithm is capable of better results.

I prefer using the code I suggested


    step = -F (x(todo), a(todo), b(todo), y(todo)) ./ ...
       JF (x(todo), a(todo), b(todo), Bln(todo));
    x(todo) += step;
    ind = abs (step - old_step) > 0;
    todo = todo(ind);
    old_step = step(ind);


over that from newbeta2.m


    step = -F (x(todo), a(todo), b(todo), y(todo)) ./ ...
       JF (x(todo), a(todo), b(todo), Bln(todo));
    df_new = (x(todo) + step) - x(todo);
    x(todo) += step;
    ind = abs (df_new) < abs (df);
    todo = todo(ind);
    df = df_new(ind);


as it doesn't require calculation of df_new (2 indexing operations, 1
addition, 1 subtraction).

If you agree, I'll go ahead and finish this up as a changeset and check it in
under your name since you developed the critical algorithm around choosing the
initial starting point.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?60539>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]