// 由 Ijs 的 SymjaEngine.java 抽取(那是步骤①里特意保留下来的资产)。 // 用于计算器的「函数面板」检索。 const List kSymjaFunctions = [ 'Abs', 'Sign', 'Max', 'Min', 'Sqrt', 'Power', 'Exp', 'Log', 'Log10', 'Log2', 'Sin', 'Cos', 'Tan', 'Cot', 'Sec', 'Csc', 'ArcSin', 'ArcCos', 'ArcTan', 'ArcCot', 'ArcSec', 'ArcCsc', 'Sinh', 'Cosh', 'Tanh', 'Coth', 'Sech', 'Csch', 'ArcSinh', 'ArcCosh', 'ArcTanh', 'ArcCoth', 'ArcSech', 'ArcCsch', 'TrigExpand', 'TrigReduce', 'TrigToExp', 'ExpToTrig', 'D', 'Derivative', 'Integrate', 'Limit', 'Sum', 'Product', 'Series', 'DSolve', 'Expand', 'Factor', 'Simplify', 'FullSimplify', 'Together', 'Apart', 'Cancel', 'ExpandAll', 'Collect', 'Coefficient', 'Numerator', 'Denominator', 'Solve', 'NSolve', 'Reduce', 'FindRoot', 'Eliminate', 'Roots', 'Det', 'Inverse', 'Transpose', 'Eigenvalues', 'Eigenvectors', 'MatrixPower', 'MatrixRank', 'Trace', 'Norm', 'IdentityMatrix', 'DiagonalMatrix', 'RowReduce', 'Dot', 'Cross', 'LinearSolve', 'LeastSquares', 'QRDecomposition', 'LUDecomposition', 'CholeskyDecomposition', 'SingularValueDecomposition', 'PolynomialQ', 'PolynomialQuotient', 'PolynomialRemainder', 'PolynomialGCD', 'PolynomialLCM', 'CoefficientList', 'Exponent', 'Variables', 'Prime', 'PrimeQ', 'NextPrime', 'PrimePi', 'FactorInteger', 'GCD', 'LCM', 'Mod', 'Divisors', 'EulerPhi', 'MoebiusMu', 'DivisorSigma', 'JacobiSymbol', 'Factorial', 'Binomial', 'Multinomial', 'Permutations', 'Fibonacci', 'LucasL', 'BernoulliB', 'StirlingS1', 'StirlingS2', 'CatalanNumber', 'PartitionsP', 'Gamma', 'Beta', 'Erf', 'Erfc', 'BesselJ', 'BesselY', 'BesselI', 'BesselK', 'HermiteH', 'LaguerreL', 'LegendreP', 'ChebyshevT', 'ChebyshevU', 'Zeta', 'PolyGamma', 'HarmonicNumber', 'Mean', 'Median', 'Variance', 'StandardDeviation', 'Covariance', 'Correlation', 'Quantile', 'Quartiles', 'Table', 'Range', 'Length', 'First', 'Last', 'Rest', 'Most', 'Take', 'Drop', 'Join', 'Append', 'Prepend', 'Insert', 'Delete', 'Select', 'Map', 'Apply', 'Sort', 'Reverse', 'Flatten', 'Partition', 'Riffle', 'Split', 'Union', 'Intersection', 'Complement', 'And', 'Or', 'Not', 'Xor', 'Implies', 'Equivalent', 'Equal', 'Unequal', 'Less', 'Greater', 'LessEqual', 'GreaterEqual', 'If', 'Which', 'N', 'Round', 'Floor', 'Ceiling', 'Rationalize', 'RealDigits', 'Precision', 'Accuracy', 'Chop', 'Re', 'Im', 'Conjugate', 'Arg', 'ComplexExpand', 'Random', 'RandomInteger', 'RandomReal', 'RandomComplex', 'SeedRandom', 'RandomChoice', 'RandomSample', 'LaplaceTransform', 'InverseLaplaceTransform', 'ZTransform', 'InverseZTransform', 'Minimize', 'Maximize', 'FindMinimum', 'FindMaximum', 'NMinimize', 'NMaximize', 'Fit', 'LinearModelFit', 'FindFit', 'Subsets', 'MemberQ', 'Total', 'Accumulate', ]; const List kSymjaConstants = [ 'Pi', 'E', 'I', 'Infinity', 'ComplexInfinity', 'True', 'False', 'Null', ]; /// 每个函数/常量的一句中文说明。函数面板里挂在名字后面。 const Map kSymjaFunctionHelp = { // 基本数学 'Abs': '绝对值', 'Sign': '符号(正负零)', 'Max': '最大值', 'Min': '最小值', 'Sqrt': '平方根', 'Power': '幂', 'Exp': 'e 的幂', 'Log': '自然对数', 'Log10': '常用对数', 'Log2': '以 2 为底对数', // 三角 'Sin': '正弦', 'Cos': '余弦', 'Tan': '正切', 'Cot': '余切', 'Sec': '正割', 'Csc': '余割', 'ArcSin': '反正弦', 'ArcCos': '反余弦', 'ArcTan': '反正切', 'ArcCot': '反余切', 'ArcSec': '反正割', 'ArcCsc': '反余割', // 双曲 'Sinh': '双曲正弦', 'Cosh': '双曲余弦', 'Tanh': '双曲正切', 'Coth': '双曲余切', 'Sech': '双曲正割', 'Csch': '双曲余割', 'ArcSinh': '反双曲正弦', 'ArcCosh': '反双曲余弦', 'ArcTanh': '反双曲正切', 'ArcCoth': '反双曲余切', 'ArcSech': '反双曲正割', 'ArcCsch': '反双曲余割', 'TrigExpand': '三角展开', 'TrigReduce': '三角降幂', 'TrigToExp': '三角化为指数', 'ExpToTrig': '指数化为三角', // 微积分 'D': '求导', 'Derivative': '导数算子', 'Integrate': '积分', 'Limit': '极限', 'Sum': '求和', 'Product': '连乘', 'Series': '级数展开', 'DSolve': '解微分方程', // 代数 'Expand': '展开括号', 'Factor': '因式分解', 'Simplify': '化简', 'FullSimplify': '尽力化简', 'Together': '通分', 'Apart': '拆成部分分式', 'Cancel': '约分', 'ExpandAll': '全部展开', 'Collect': '按某变量合并', 'Coefficient': '取某项系数', 'Numerator': '分子', 'Denominator': '分母', // 方程 'Solve': '解方程(符号解)', 'NSolve': '解方程(数值解)', 'Reduce': '化简方程组', 'FindRoot': '数值求根', 'Eliminate': '消元', 'Roots': '求全部根', // 线性代数 'Det': '行列式', 'Inverse': '逆矩阵', 'Transpose': '转置', 'Eigenvalues': '特征值', 'Eigenvectors': '特征向量', 'MatrixPower': '矩阵的幂', 'MatrixRank': '矩阵的秩', 'Trace': '迹', 'Norm': '范数', 'IdentityMatrix': '单位矩阵', 'DiagonalMatrix': '对角矩阵', 'RowReduce': '化成行最简形', 'Dot': '点积', 'Cross': '叉积', 'LinearSolve': '解线性方程组', 'LeastSquares': '最小二乘解', 'QRDecomposition': 'QR 分解', 'LUDecomposition': 'LU 分解', 'CholeskyDecomposition': 'Cholesky 分解', 'SingularValueDecomposition': '奇异值分解', // 多项式 'PolynomialQ': '是否为多项式', 'PolynomialQuotient': '多项式除法的商', 'PolynomialRemainder': '多项式除法的余式', 'PolynomialGCD': '多项式最大公因式', 'PolynomialLCM': '多项式最小公倍式', 'CoefficientList': '各项系数表', 'Exponent': '最高次数', 'Variables': '含哪些变量', // 数论组合 'Prime': '第 n 个素数', 'PrimeQ': '是否为素数', 'NextPrime': '下一个素数', 'PrimePi': '不超过 n 的素数个数', 'FactorInteger': '素因数分解', 'GCD': '最大公因数', 'LCM': '最小公倍数', 'Mod': '取余', 'Divisors': '因数列表', 'EulerPhi': '欧拉函数 φ', 'MoebiusMu': '莫比乌斯函数 μ', 'DivisorSigma': '因数之和/个数', 'JacobiSymbol': '雅可比符号', 'Factorial': '阶乘', 'Binomial': '二项式系数', 'Multinomial': '多项式系数', 'Permutations': '全排列', 'Fibonacci': '斐波那契数', 'LucasL': '卢卡斯数', 'BernoulliB': '伯努利数', 'StirlingS1': '第一类斯特林数', 'StirlingS2': '第二类斯特林数', 'CatalanNumber': '卡特兰数', 'PartitionsP': '整数拆分数', // 特殊函数 'Gamma': '伽玛函数 Γ', 'Beta': '贝塔函数 Β', 'Erf': '误差函数', 'Erfc': '互补误差函数', 'BesselJ': '第一类贝塞尔函数', 'BesselY': '第二类贝塞尔函数', 'BesselI': '第一类修正贝塞尔', 'BesselK': '第二类修正贝塞尔', 'HermiteH': '埃尔米特多项式', 'LaguerreL': '拉盖尔多项式', 'LegendreP': '勒让德多项式', 'ChebyshevT': '第一类切比雪夫多项式', 'ChebyshevU': '第二类切比雪夫多项式', 'Zeta': '黎曼 ζ 函数', 'PolyGamma': '多伽玛函数', 'HarmonicNumber': '调和数', // 统计 'Mean': '均值', 'Median': '中位数', 'Variance': '方差', 'StandardDeviation': '标准差', 'Covariance': '协方差', 'Correlation': '相关系数', 'Quantile': '分位数', 'Quartiles': '四分位数', // 列表 'Table': '生成表', 'Range': '等差数列', 'Length': '长度', 'First': '第一个', 'Last': '最后一个', 'Rest': '去掉第一个', 'Most': '去掉最后一个', 'Take': '取前 n 个', 'Drop': '去掉前 n 个', 'Join': '拼接', 'Append': '尾部追加', 'Prepend': '头部插入', 'Insert': '指定位置插入', 'Delete': '删除某位置', 'Select': '按条件筛选', 'Map': '对每个元素作用', 'Apply': '替换表达式头', 'Sort': '排序', 'Reverse': '反转', 'Flatten': '展平嵌套', 'Partition': '按长度分组', 'Riffle': '交错插入', 'Split': '按相邻相同分组', 'Union': '并集', 'Intersection': '交集', 'Complement': '差集', 'Subsets': '所有子集', 'MemberQ': '是否属于', // 逻辑 'And': '与', 'Or': '或', 'Not': '非', 'Xor': '异或', 'Implies': '蕴含', 'Equivalent': '等价', 'Equal': '相等', 'Unequal': '不相等', 'Less': '小于', 'Greater': '大于', 'LessEqual': '小于等于', 'GreaterEqual': '大于等于', // 数值与控制 'If': '条件分支', 'Which': '多路分支', 'N': '取近似值', 'Round': '四舍五入', 'Floor': '向下取整', 'Ceiling': '向上取整', 'Rationalize': '化为有理数', 'RealDigits': '各位数字', 'Precision': '精度', 'Accuracy': '准确度', 'Chop': '把极小量归零', // 复数 'Re': '实部', 'Im': '虚部', 'Conjugate': '共轭', 'Arg': '辐角', 'ComplexExpand': '复数展开', // 随机 'Random': '随机数', 'RandomInteger': '随机整数', 'RandomReal': '随机实数', 'RandomComplex': '随机复数', 'SeedRandom': '设定随机种子', 'RandomChoice': '随机取元素', 'RandomSample': '随机抽样', // 变换与优化 'LaplaceTransform': '拉普拉斯变换', 'InverseLaplaceTransform': '逆拉普拉斯变换', 'ZTransform': 'Z 变换', 'InverseZTransform': '逆 Z 变换', 'Minimize': '符号求最小值', 'Maximize': '符号求最大值', 'FindMinimum': '数值最小化', 'FindMaximum': '数值最大化', 'NMinimize': '数值最小化', 'NMaximize': '数值最大化', 'Fit': '曲线拟合', 'LinearModelFit': '线性回归拟合', 'FindFit': '一般拟合', // 日期 // 替换与函数 // 杂项 'Total': '全部相加', 'Accumulate': '前缀和', // 常量 'Pi': '圆周率 π', 'E': '自然常数 e', 'I': '虚数单位 i', 'Infinity': '正无穷 ∞', 'ComplexInfinity': '复无穷', 'True': '真', 'False': '假', 'Null': '空', };