diff options
author | Norbert Preining <norbert@preining.info> | 2023-08-04 03:01:07 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-08-04 03:01:07 +0000 |
commit | 319c90e45fc96ba6f15edcf00b24e484d9d92f2b (patch) | |
tree | 7011e82643aff6842597d83574783a350142063c /macros/luatex/latex/lualinalg/lualinalg.sty | |
parent | 63c1aaa794cb47fe36ebe8010257ec8ad322efbb (diff) |
CTAN sync 202308040301
Diffstat (limited to 'macros/luatex/latex/lualinalg/lualinalg.sty')
-rw-r--r-- | macros/luatex/latex/lualinalg/lualinalg.sty | 36 |
1 files changed, 15 insertions, 21 deletions
diff --git a/macros/luatex/latex/lualinalg/lualinalg.sty b/macros/luatex/latex/lualinalg/lualinalg.sty index 5588fba0a0..de120d131a 100644 --- a/macros/luatex/latex/lualinalg/lualinalg.sty +++ b/macros/luatex/latex/lualinalg/lualinalg.sty @@ -1,17 +1,18 @@ % The lualinalg package % Authors: Chetan Shirore and Ajit Kumar -% version 1.2, Date=14-Feb-2023 +% version 1.3, Date=03-Aug-2023 % Licensed under LaTeX Project Public License v1.3c or later. The complete license text is available at http://www.latex-project.org/lppl.txt. -\ProvidesPackage{lualinalg}[1.2] +\ProvidesPackage{lualinalg}[1.3] \RequirePackage{xkeyval} \RequirePackage{amsmath} \RequirePackage{luamaths} \RequirePackage{luacode} \begin{luacode*} -local complex = require "lualinalg_complex" +local complex = require "lualinalg-complex" + local lfrac = require "lualinalg-fractions" -- matrices part matrices = {} @@ -431,7 +432,7 @@ end function matrix.process(m1) --m1=load("return "..m1)() - return matrix.mulnum(m1, 1.0) + return matrix.mulnum(m1, 1) end function matrix.det(m1) @@ -558,7 +559,7 @@ function matrix.rref(mtx) local m = mtx[i][lead] if (i ~= r) then for v = 1, columnCount do - mtx[i][v] = mtx[i][v] - m * mtx[r][v] + mtx[i][v] = mtx[i][v] + ((-m) * (mtx[r][v])) end end end @@ -623,9 +624,9 @@ function matrix.rref0E(mtx, fom, dignum) tostring(stepCnt) .. ": Divide row " .. tostring(r) .. - " by " .. + " by $" .. tostring(complex.round(complex(m), dignum)) .. - ".$$" .. tostring(matrix.show(mtx, fom, dignum)) .. "$$" + "$.$$" .. tostring(matrix.show(mtx, fom, dignum)) .. "$$" end end end @@ -633,7 +634,7 @@ function matrix.rref0E(mtx, fom, dignum) local m = mtx[i][lead] if (i ~= r) then for v = 1, columnCount do - mtx[i][v] = mtx[i][v] - m * mtx[r][v] + mtx[i][v] = mtx[i][v] + ((-m) * (mtx[r][v])) end if m ~= 0 then if m ~= complex("0.0") then @@ -644,9 +645,9 @@ function matrix.rref0E(mtx, fom, dignum) tostring(stepCnt) .. ": Multiply row " .. tostring(r) .. - " by " .. + " by $" .. tostring(complex.round(complex(m), dignum)) .. - " and subtract it from row " .. + "$ and subtract it from row " .. tostring(i) .. ".$$" .. tostring(matrix.show(mtx, fom, dignum)) .. "$$" end @@ -1089,7 +1090,7 @@ end function vector.process(v1) --v1=load("return "..v1)() - return vector.mulnum(v1, 1.0) + return vector.mulnum(v1, 1) end function vector.show(vec, dig) @@ -1137,7 +1138,7 @@ function vector.gs(inptTbl, brckt, dignum) if vector.euclidnorm(inptTbl[1]) ~= complex(0.0) then tbl[1] = vector.mulnum(inptTbl[1], 1 / vector.euclidnorm(inptTbl[1])) else - tbl[1] = vector.mulnum(inptTbl[1], 1.0) + tbl[1] = vector.mulnum(inptTbl[1], 1) end setmetatable(tbl[1], vector_meta) str = str .. "$\\left" .. brcktL .. vector.show(tbl[1], dignum) .. "\\right" .. brcktR @@ -1184,7 +1185,7 @@ function vector.gsX(inptTbl, brckt, dignum) if vector.euclidnorm(inptTbl[1]) ~= complex(0.0) then tbl[1] = vector.mulnum(inptTbl[1], 1 / vector.euclidnorm(inptTbl[1])) else - tbl[1] = vector.mulnum(inptTbl[1], 1.0) + tbl[1] = vector.mulnum(inptTbl[1], 1) end setmetatable(tbl[1], vector_meta) str = str .. "\\ \\newline Step " .. cnt .. ": $$ u_" .. cnt .. "=v_" .. cnt .. "=" @@ -1205,7 +1206,7 @@ function vector.gsX(inptTbl, brckt, dignum) if vector.euclidnorm(tbl[i]) ~= complex(0.0) then tbl[i] = vector.mulnum(tbl[i], 1 / vector.euclidnorm(tbl[i])) else - tbl[i] = vector.mulnum(tbl[i], 1.0) + tbl[i] = vector.mulnum(tbl[i], 1) end cnt = cnt + 1 @@ -1267,7 +1268,6 @@ end % ========= KEY DEFINITIONS ========= \define@key{matrixop}{type}{\def\mop@type{#1}} \define@key{matrixop}{truncate}{\def\mop@truncate{#1}} - % ========= KEY DEFAULTS ========= \setkeys{matrixop}{type=bmatrix,truncate=6}% @@ -1639,12 +1639,6 @@ end }% } -\newcommand\complexRound[2]{% - \directlua{% - tex.sprint(tostring(complex.round(complex('#1'),#2))) - }% -} - % ========= KEY DEFINITIONS ========= \define@key{vecrr}{brckt}{\def\voprr@brckt{#1}} \define@key{vecrr}{truncate}{\def\voprr@truncate{#1}} |