Skip to content

Main content

Bilinear Level Set Saddle Sign Tool

Stationary saddle and sign of a target level relative to its value for a+bx+cy+dxy.

Loading tool…

Description

For nonzero crossCoefficient, return saddleX = -yCoefficient/crossCoefficient, saddleY = -xCoefficient/crossCoefficient, saddleValue = constant - xCoefficient·yCoefficient/crossCoefficient, and sign(targetLevel - saddleValue).

A bilinear cell combines constant, two linear, and one mixed coordinate term. Corner contrasts, stationary points, and edge intersections use normalized coordinates unless spans are supplied.

For nonzero crossCoefficient, return saddleX = -yCoefficient/crossCoefficient, saddleY = -xCoefficient/crossCoefficient, saddleValue = constant - xCoefficient·yCoefficient/crossCoefficient, and sign(targetLevel - saddleValue).

When to use this tool

Use Bilinear Level Set Saddle Sign when you need one explicit bilinear coefficient, sensitivity, or level-set term.

How to use the tool and how it works

  1. Enter constant, xCoefficient, yCoefficient, crossCoefficient, targetLevel. Use the units and conventions below.
  2. Run the tool. Correct any format, range, or cross-field input error before interpreting the output.
  3. Read saddleX, saddleY, saddleValue, targetSide. Use the output convention below.

For nonzero crossCoefficient, return saddleX = -yCoefficient/crossCoefficient, saddleY = -xCoefficient/crossCoefficient, saddleValue = constant - xCoefficient·yCoefficient/crossCoefficient, and sign(targetLevel - saddleValue).1

Input fieldMeaning and unitsAccepted input
constantConstantRequired. Finite number.
xCoefficientX CoefficientRequired. Finite number.
yCoefficientY CoefficientRequired. Finite number.
crossCoefficientCross CoefficientRequired. Finite number.
targetLevelTarget LevelRequired. Finite number.
Output fieldInterpretationReturned shape
saddleXSaddle XRequired. Finite number.
saddleYSaddle YRequired. Finite number.
saddleValueSaddle ValueRequired. Finite number.
targetSideTarget SideRequired. Safe integer.
json
{
  "input": {
    "constant": 1,
    "xCoefficient": 2,
    "yCoefficient": 3,
    "crossCoefficient": 2,
    "targetLevel": 0
  },
  "output": {
    "saddleX": -1.5,
    "saddleY": -1,
    "saddleValue": -2,
    "targetSide": 1
  }
}

Limitations and assumptions

  • This uses the supplied bilinear polynomial in normalized coordinates; no cell bounds or contour connectivity decision is enforced.
  • Inputs must satisfy both the field types and the cross-field conditions above. Invalid input causes an error; a successful false flag or documented placeholder is a different result.
  • Numeric calculations use binary floating point unless exact decimal-integer arithmetic is explicitly stated. No hidden measurement tolerance or decimal rounding is added; nonfinite or out-of-contract results are rejected. Numeric signed-zero results are exported as zero.

Alternative or Complementary methods

Use a complete cell model and a documented contour or interpolation policy when reconstructing a surface.

References

  1. Calculation and input contract: interpolation/bilinear-level-set-saddle-sign — tool.io

Similar or alternative tools