Ce module sert d'exemple dans la leçon Initiation au Lua avec Scribunto. son utilisation est décrite en détail dans celle-ci et, par conséquent, ce module ne doit pas être modifié sans tenir compte de la leçon.


local p = {}

local A = {2,7,4}
local B = {3,2,9}
local Vecteur = {}

setmetatable(A,Vecteur)
setmetatable(B,Vecteur)


function Vecteur.__mul(s,t)
	local u = {}
	u[1] = s[2]*t[3] - s[3]*t[2]
	u[2] = s[3]*t[1] - s[1]*t[3]
	u[3] = s[1]*t[2] - s[2]*t[1]
	return u
end

function p.vectoriel()
	local P = {}
	P = A*B
	return "Le produit vectoriel de A et B a pour coordonnées ("..P[1]..","..P[2]..","..P[3]..")."
end

local C = {{2,5},{-3,1}}
local D = {{4,-2},{1,6}}
local Matrice = {}

setmetatable(C,Matrice)
setmetatable(D,Matrice)


function Matrice.__mul(s,t)
	local u = {{},{}}
	u[1][1] = s[1][1]*t[1][1] + s[1][2]*t[2][1]
	u[1][2] = s[1][1]*t[1][2] + s[1][2]*t[2][2]
	u[2][1] = s[2][1]*t[1][1] + s[2][2]*t[2][1]
	u[2][2] = s[2][1]*t[1][2] + s[2][2]*t[2][2]
	return u
end

function p.matriciel()
	local P = {}
	P = C*D
	return "Le produit matriciel de C et D est donné par la matrice : <br />"..P[1][1].." , "..P[1][2].." <br /> "..P[2][1].." , "..P[2][2]
	end

return p