跳转到内容

模块: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}}
→“

参见