Rodin/Variational/NEQ.h file

Inequality comparison operator for functions.

This file defines the NEQ class, which implements the not-equal comparison operation between functions. This operator tests whether two function values differ at each point in the domain.

Mathematical Foundation

For functions $ f, g : \Omega \to \mathbb{R} $ , the inequality operator:

\[ (f \neq g)(x) = \begin{cases} 1 & \text{if } f(x) \neq g(x) \\ 0 & \text{otherwise} \end{cases} \]

Numerical Considerations

For floating-point comparisons, consider using approximate equality tests rather than strict inequality, due to numerical precision limitations.

Applications

  • Complement of indicator functions
  • Non-zero region detection
  • Logical complement of equality conditions

Usage Example

auto is_nonzero = (u != 0.0);  // Boolean function, true where u is non-zero

Namespaces

namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Variational
Module which provides the necessary tools for constructing and solving variational problems.

Classes

template<class LHSDerived, class RHSDerived>
class Rodin::Variational::NEQ<FunctionBase<LHSDerived>, FunctionBase<RHSDerived>>
Logical NEQ operator between two instances of FunctionBase.