跳轉到內容

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
華夏公益教科書