MathVerifier

class MathVerifier(BaseVerifier):

Verifier for mathematical expressions using Math-Verify.

Features:

  • Supports LaTeX and plain mathematical expressions
  • Handles complex numbers, matrices, and sets
  • Configurable precision for floating-point comparisons
  • Optional LaTeX wrapping to ensure proper parsing and rendering
  • Comprehensive error handling and logging

init

def __init__(
    self,
    extractor: Optional[BaseExtractor] = None,
    timeout: Optional[float] = 30.0,
    float_rounding: int = 6,
    numeric_precision: int = 15,
    enable_wrapping: Optional[bool] = False,
    **kwargs
):

Initializes the MathVerifier.

Parameters:

  • extractor (Optional[BaseExtractor], optional): The extractor to use for extracting code from the solution. (default: :obj:None)
  • timeout (Optional[float], optional): The execution timeout in seconds. (default: :obj:30.0)
  • float_rounding (int, optional): The number of decimal places to round floating-point numbers. (default: :obj:6)
  • numeric_precision (int, optional): The numeric precision for floating-point comparisons. (default: :obj:15)
  • enable_wrapping (Optional[bool], optional): Whether to wrap LaTeX expressions in math mode delimiters. (default: :obj:False)

_latex_wrapping

def _latex_wrapping(s: str):

Wrap a LaTeX expression in math mode delimiters.

This function checks whether the input string is already in a LaTeX math environment (e.g., $, [, \begin{}, etc.). If not, it wraps the expression in ...... to ensure proper parsing and rendering as a mathematical expression.

Parameters:

  • s (str): The input LaTeX string.

Returns:

str: The LaTeX string wrapped in math mode if necessary.