Skip to content

Separate functionality in compute_bwd_err #54

@jarlebring

Description

@jarlebring

Currently, the function compute_bwd_theta_exponential does two things 1: computes the backward error function bnd_rel_bwd_err 2: Computes the intersection of eps()/2 with bnd_rel_bwd_err using fzero.

I would prefer to have this in several functions:

  • compute_bnd_rel_bwd_err(:exp, graph, ; ... )
  • compute_bwd_err_theta(:exp, ; bnd_rel_err=compute_bnd_rel_bwd_err(:exp, graph, ; ... ))

The reason is that the fzero call often fails and in those situations one would be interested in the function. When fzero fails it throws an error so the information about the function is not available.

Besides: The fzero often takes many iteartions. Instead of running fzero on eps()/2=bnd_rel_bwd_err(x), we can run it on log(eps()/2) = log(bnd_rel_bwd_err(x)). It should be faster considering how the bwd_err- function behaves. This feature would be natural to incorporate in compute_bwd_err_theta eg as a kwarg.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions