跳转到内容

Maxima/特性

来自Wikibooks,开放世界中的开放书籍

Maxima 识别函数和变量的某些数学属性

  • 函数和变量
  • 系统。有一个非数学的、依赖于系统的特性的列表。参见状态。

称为特性。

 declare (x, foo) /* gives the property foo to the function or variable x */
 declare (foo, feature) /* declares a new feature foo. */ 
 declare ([red, green, blue], feature) /* declares three new features, red, green, and blue. */

谓词

 featurep (x, foo) 

如果 x 具有 foo 属性则返回真,否则返回假。

infolist 特性是一个已知特性的列表。这些是

   integer        noninteger      even
   odd            rational        irrational
   real           imaginary       complex
   analytic       increasing      decreasing
   oddfun         evenfun         posfun
   constant       commutative     lassociative
   rassociative   symmetric       antisymmetric
   integervalued

加上任何用户定义的特性。

特性是一个数学特性的列表。

示例

(%i1) declare (FOO, feature);
(%o1)                         done
(%i2) declare (x, FOO);
(%o2)                         done
(%i3) featurep (x, FOO);
(%o3)                         true

declare 识别以下属性

  • additive : 告诉 Maxima 通过替换 a_i(x + y + z + ...) --> a_i(x) + a_i(y) + a_i(z) + .... 来简化 a_i 表达式。替换仅对第一个参数执行。
  • alphabetic : 告诉 Maxima 将 a_i(必须是字符串)中的所有字符识别为字母字符。
  • antisymmetric, commutative, symmetric : 告诉 Maxima 将 a_i 识别为对称或反对称函数。commutative 与 symmetric 相同。
  • bindtest : 告诉 Maxima 在 a_i 未绑定时触发错误。
  • constant : 告诉 Maxima 将 a_i 视为符号常量。
  • even, odd : 告诉 Maxima 将 a_i 识别为偶数或奇数整数变量。
  • evenfun, oddfun : 告诉 Maxima 将 a_i 识别为奇函数或偶函数。
  • evflag : 使 a_i 为 ev 函数所知,以便在 ev 执行期间 a_i 绑定到 true,此时 a_i 作为 ev 的标志参数出现。参见 evflag。
  • evfun : 使 a_i 为 ev 所知,以便在 a_i 作为 ev 的标志参数出现时应用 a_i 命名的函数。参见 evfun。
  • feature : 告诉 Maxima 将 a_i 识别为特性的名称。然后,其他原子可以被声明为具有 a_i 属性。
  • increasing, decreasing : 告诉 Maxima 将 a_i 识别为递增或递减函数。
  • integer, noninteger : 告诉 Maxima 将 a_i 识别为整数或非整数变量。
  • integervalued : 告诉 Maxima 将 a_i 识别为整数值函数。
  • lassociative, rassociative : 告诉 Maxima 将 a_i 识别为右结合或左结合函数。
  • linear : 等价于同时声明 a_i 为 outative 和 additive。
  • mainvar : 告诉 Maxima 将 a_i 视为“主变量”。在 Maxima 表达式的规范排序中,主变量位于所有其他常量和变量之后,这由 ordergreatp 确定。
  • multiplicative : 告诉 Maxima 通过替换 a_i(x * y * z * ...) --> a_i(x) * a_i(y) * a_i(z) * .... 来简化 a_i 表达式。替换仅对第一个参数执行。
  • nary : 告诉 Maxima 将 a_i 识别为 n 元函数。nary 声明与调用 nary 函数不同。declare(foo, nary) 的唯一作用是指示 Maxima 简化器展平嵌套表达式,例如,将 foo(x, foo(y, z)) 简化为 foo(x, y, z)。
  • nonarray : 告诉 Maxima 将 a_i 视为非数组。此声明可以防止对带下标的变量名进行多次求值。
  • nonscalar : 告诉 Maxima 将 a_i 视为非标量变量。通常的应用是将变量声明为符号向量或矩阵。
  • noun : 告诉 Maxima 将 a_i 解析为名词。这样做的效果是根据上下文用 'a_i 或 nounify(a_i) 替换 a_i 的实例。
  • outative : 告诉 Maxima 通过从第一个参数中提取常数因子来简化 a_i 表达式。当 a_i 只有一个参数时,如果因子是文字或声明的常数,则将其视为常数。当 a_i 有两个或多个参数时,如果第二个参数是符号并且因子不包含第二个参数,则将其视为常数。
  • posfun : 告诉 Maxima 将 a_i 识别为正函数。
  • rational, irrational : 告诉 Maxima 将 a_i 识别为有理数或无理数实变量。
  • real, imaginary, complex : 告诉 Maxima 将 a_i 识别为实数、纯虚数或复数变量。
  • scalar : 告诉 Maxima 将 a_i 视为标量变量。


Declare 告诉

  • evenp()
  • oddp()
  • integerp()
  • 等等

返回什么。


  • mode_decalre
华夏公益教科书