""" Mathematical functions and chemical elements definitions. Contains: - MATH_FUNCTIONS: Set of 60+ recognized mathematical functions - CHEMICAL_ELEMENTS: Set of 118 chemical elements """ # Comprehensive function database MATH_FUNCTIONS = { # Trigonometric functions 'sin', 'cos', 'tan', 'sec', 'csc', 'cot', 'sinh', 'cosh', 'tanh', 'sech', 'csch', 'coth', 'arcsin', 'arccos', 'arctan', 'arcsec', 'arccsc', 'arccot', 'asin', 'acos', 'atan', 'asec', 'acsc', 'acot', 'arcsinh', 'arccosh', 'arctanh', 'arcsech', 'arccsch', 'arccoth', 'asinh', 'acosh', 'atanh', 'asech', 'acsch', 'acoth', # Logarithmic and exponential 'log', 'ln', 'lg', 'exp', 'log2', 'log10', # Limits and supremum/infimum 'lim', 'limsup', 'liminf', 'sup', 'inf', 'max', 'min', # Linear algebra 'det', 'dim', 'ker', 'rank', 'trace', 'tr', 'span', 'null', 'col', 'row', 'diag', 'adj', # Number theory 'gcd', 'lcm', 'mod', 'rem', # Probability and statistics 'Pr', 'Var', 'Cov', 'Corr', 'Std', 'Med', # Calculus and analysis 'grad', 'div', 'curl', 'rot', 'arg', 'Im', 'Re', 'sgn', 'sign', 'abs', 'floor', 'ceil', 'round', # Special functions 'erf', 'erfc', 'gamma', 'Gamma', 'zeta', 'beta', 'Beta', 'sinc', 'jinc', # Hyperbolic and inverse hyperbolic 'arsinh', 'arcosh', 'artanh', 'arsech', 'arcsch', 'arcoth', # Other common functions 'deg', 'rad', 'hom', 'end', 'aut', 'id', } # Chemical elements for special handling CHEMICAL_ELEMENTS = { 'H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne', 'Na', 'Mg', 'Al', 'Si', 'P', 'S', 'Cl', 'Ar', 'K', 'Ca', 'Sc', 'Ti', 'V', 'Cr', 'Mn', 'Fe', 'Co', 'Ni', 'Cu', 'Zn', 'Ga', 'Ge', 'As', 'Se', 'Br', 'Kr', 'Rb', 'Sr', 'Y', 'Zr', 'Nb', 'Mo', 'Tc', 'Ru', 'Rh', 'Pd', 'Ag', 'Cd', 'In', 'Sn', 'Sb', 'Te', 'I', 'Xe', 'Cs', 'Ba', 'La', 'Ce', 'Pr', 'Nd', 'Pm', 'Sm', 'Eu', 'Gd', 'Tb', 'Dy', 'Ho', 'Er', 'Tm', 'Yb', 'Lu', 'Hf', 'Ta', 'W', 'Re', 'Os', 'Ir', 'Pt', 'Au', 'Hg', 'Tl', 'Pb', 'Bi', 'Po', 'At', 'Rn', 'Fr', 'Ra', 'Ac', 'Th', 'Pa', 'U', 'Np', 'Pu', 'Am', 'Cm', 'Bk', 'Cf', 'Es', 'Fm', 'Md', 'No', 'Lr', 'Rf', 'Db', 'Sg', 'Bh', 'Hs', 'Mt', 'Ds', 'Rg', 'Cn', 'Nh', 'Fl', 'Mc', 'Lv', 'Ts', 'Og' } # Mathematical set notation symbols that should be wrapped in \mathrm{} MATHEMATICAL_SETS = { 'N', 'Z', 'Q', 'R', 'C', # Number sets (Natural, Integer, Rational, Real, Complex) 'A', 'B', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'O', 'P', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', # Generic sets }