Polynomial Floating-Point Evaluation Precision Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Floating point arithmetic is prone to rounding errors when evaluating polynomials, leading to inaccuracies despite increased precision, as the relative error in floating point implementations can exceed one, causing incorrect sign determination in geometric calculations.

Innovation Solution

The method involves determining if a polynomial has an allowable variety, partitioning the input domain into sub-domains around sub-varieties, and identifying precision for each input based on its location, generating a floating point implementation that selects terms and precision for evaluation, ensuring a bounded relative error of less than one.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If floating point arithmetic is used to evaluate polynomials, then a greater range of numbers can be represented, but rounding errors occur leading to inaccuracies in geometric calculations

Engineering Contradiction:
Improverange of numbers representedVSAvoidaccuracy of polynomial evaluation
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The input domain is partitioned into multiple sub-domains based on the location relative to allowable varieties. Each sub-domain has associated precision requirements that are determined separately, allowing different precision levels to be applied in different regions of the input space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different precision levels are assigned to different sub-domains based on their proximity to allowable varieties. Inputs closer to varieties require higher precision, while inputs farther away can use lower precision, optimizing the balance between accuracy and computational efficiency.

Inventive Principle:
Principle #3Local quality

2Measurement precision

If more precision is added to floating point representation, then rounding errors are reduced, but the relative error can still exceed one causing incorrect sign determination

Engineering Contradiction:
Improveprecision of floating point representationVSAvoidcorrectness of sign determination
Core Design Contradiction:
Measurement precisionVSReliability

Solution Approach 1:

The system performs preliminary analysis to determine whether the polynomial has an allowable variety and partitions the input domain before evaluation. This pre-processing step identifies regions where high precision is necessary to ensure correct sign determination, allowing precision to be applied proactively rather than uniformly.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The precision parameter of floating point representation is dynamically adjusted based on the input location within sub-domains. By changing the precision parameter according to the specific evaluation context, the system ensures reliability without uniformly increasing precision across all inputs.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If uniform high precision is used for all inputs, then accuracy is improved, but computational performance deteriorates

Engineering Contradiction:
Improveaccuracy of polynomial evaluationVSAvoidcomputational performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The input domain is segmented into sub-domains with different precision requirements. This segmentation allows the system to apply high precision only where necessary (near allowable varieties) and lower precision elsewhere, maintaining accuracy where needed while improving overall computational performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of applying high precision uniformly to all inputs (excessive action), the system applies high precision only partially to specific sub-domains where it is actually needed. This partial application of precision maintains accuracy for critical cases while avoiding the performance penalty of universal high precision.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9959091B2Evaluation of polynomials with floating-point components
Publication Date: 2018.05.01 IMAGINATION TECH LTD
  • US9959091B2 patent drawing
  • US9959091B2 patent drawing
  • US9959091B2 patent drawing

AI summary

A method identifies a floating point implementation of a polynomial that is accurately evaluable. The method comprises determining whether the polynomial has an allowable variety defined by a plurality of sub-varieties, and, if so, partitioning the input domain of the polynomial into a plurality of sub-domains about the sub-varieties. A floating point precision is then identified for each input to the polynomial falling within each sub-domain based on the location of the input within the sub-domain (e.g. how far away the input is from the sub-variety associated with the sub-domain). A floating point implementation for the polynomial is generated so that an input to the polynomial is evaluated using floating point components having the precision identified for the input.