跳转到内容

模組:Complex Number/CayleyDickson/doc

本页使用了标题或全文手工转换
维基百科,自由的百科全书

这是Module:Complex Number/CayleyDickson的文档页面

本模組為基於Module:Complex Number凯莱-迪克森结构運算系統,可將Module:Complex Number系列函數庫的任一數學庫套用凯莱-迪克森结构形成新的數學庫,並能提供其他模組呼叫使用。而若要直接在模板或條目中使用可透過Module:Complex Number/Calculate‎或{{複變運算}}來完成。

模組內容

[编辑]

本模組有5套數學資料結構的定義以及對應的數學運算庫:

.cdmath
凯莱-迪克森结构的數學資料結構及運算的系統。其中,凯莱-迪克森结构滿足以下規則:
["cdmath=Module:模組名稱.數學庫名稱"]
將指定模組中的數學庫套用凯莱-迪克森结构所形成的數學資料結構及運算的系統。其中,凯莱-迪克森结构滿足以下規則:
.bcdmath
凯莱-迪克森结构的數學資料結構及運算的系統。其中,凯莱-迪克森结构滿足以下規則:
["bcdmath=Module:模組名稱.數學庫名稱"]
將指定模組中的數學庫套用凯莱-迪克森结构所形成的數學資料結構及運算的系統。其中,凯莱-迪克森结构滿足以下規則:
.cdmathQuaternion
已將四元數套用凯莱-迪克森结构形成的代數結構之數學資料結構及運算的系統,可當八元數使用。
.cdmathOctonion
已將八元數套用凯莱-迪克森结构形成的代數結構之數學資料結構及運算的系統,可當十六元數使用。
.cdmathSedenion
已將十六元數套用凯莱-迪克森结构形成的代數結構之數學資料結構及運算的系統,可當三十二元數使用。
.sdmath
十六元數的數學資料結構及運算的系統

使用方法

[编辑]

LUA

[编辑]
  1. 初始化數學庫
    • 一般方法:
      • local 自訂函數庫名稱 = require("Module:Complex Number/CayleyDickson").函數庫名稱.init()
        例如初始化十六元數數學庫:
        local sdmath = require("Module:Complex Number/CayleyDickson").sdmath.init()
    • 套用凯莱-迪克森结构並初始化數學庫:
      • local 自訂函數庫名稱 = require("Module:Complex Number/CayleyDickson").cdmath.init(要套用凯莱-迪克森结构的數學庫)
        例如初始化將十六元數套用凯莱-迪克森结构所形成的三十二元數數學庫:
        local tbmath = require("Module:Complex Number/CayleyDickson").cdmath.init(require("Module:Complex Number/CayleyDickson").sdmath.init())
    • 直接載入已套用凯莱-迪克森结构的數學庫並初始化:
      • local 自訂函數庫名稱 = require("Module:Complex Number/CayleyDickson")['cdmath=要套用凯莱-迪克森结构的數學庫的模組路徑和名稱'].init()
        例如初始化將八元數Module:Complex Number/Octonion)套用凯莱-迪克森结构所形成的十六元數數學庫:
        local sdomath = require("Module:Complex Number/CayleyDickson")['cdmath=Module:Complex_Number/Octonion.omath'].init()
        其中數學庫的模組路徑和名稱格式為Module:模組名稱.數學庫名稱
  2. 初始化指定數學結構的數字
    • local 變數名稱 = 自訂函數庫名稱.constructor("描述數字的字串,單位元素用ele(n)表示")
      例如:local num1 = sdomath.constructor("2+3*ele(2)+ele(4)")
  3. 執行運算
    例如:
    local sdomath = require("Module:Complex Number/CayleyDickson")['cdmath=Module:Complex_Number/Octonion.omath'].init()
    local num1 = sdomath.constructor("2+3*ele(2)+ele(4)")
    local num2 = sdomath.constructor("4+5*ele(3)+ele(4)")
    print(num1 * num2)
    
    輸出:7+15*ele(1)+12*ele(2)+10*ele(3)+6*ele(4)+3*ele(6)-5*ele(7)
    或者使用函數庫內容:
    local sdomath = require("Module:Complex Number/CayleyDickson")['cdmath=Module:Complex_Number/Octonion.omath'].init()
    local num1 = sdomath.constructor("2+3*ele(2)+ele(4)")
    print(sdomath.sqrt(num1))
    
    輸出:1.6943519980768+0.88529420197369*ele(2)+0.29509806732456*ele(4)

模板

[编辑]

使用{{複變運算}}

語法:{{複變運算|運算式|number class=Module:Complex Number/CayleyDickson.cdmath=要套用凯莱-迪克森结构函數庫模組路徑和名稱}}
例如:{{複變運算|(2+3*ele(2)+ele(4))*(4+5*ele(3)+ele(4))|number class=Module:Complex Number/CayleyDickson.cdmath=Module:Complex Number/Octonion.omath}}
→「7+15*ele(1)+12*ele(2)+10*ele(3)+6*ele(4)+3*ele(6)-5*ele(7)」
例如:{{複變運算|sqrt(2+3*ele(2)+ele(4))|number class=Module:Complex Number/CayleyDickson.cdmath=Module:Complex Number/Octonion.omath}}
→「1.6943519980768+0.88529420197369*ele(2)+0.29509806732456*ele(4)」

使用{{計算結果}}

例如:{{計算結果|(2+3⋅ele(2)+ele(4))*(4+5⋅ele(3)+ele(4))|number class=Module:Complex Number/CayleyDickson.cdmath=Module:Complex Number/Octonion.omath}}
→「
例如:{{計算結果|sqrt(2+3⋅ele(2)+ele(4))|number class=Module:Complex Number/CayleyDickson.cdmath=Module:Complex Number/Octonion.omath}}
→「

參見

[编辑]