|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file:
-- http://angg.twu.net/LUA/Lazy4.lua.html
-- http://angg.twu.net/LUA/Lazy4.lua
-- (find-angg "LUA/Lazy4.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun a () (interactive) (find-angg "LUA/Pict2e1.lua"))
-- (defun b () (interactive) (find-angg "LUA/Pict2e1-1.lua"))
-- (defun ab () (interactive) (find-2b '(a) '(b)))
-- (defun et () (interactive) (find-angg "LATEX/2022pict2e.tex"))
-- (defun eb () (interactive) (find-angg "LATEX/2022pict2e-body.tex"))
-- (defun ao () (interactive) (find-angg "LATEX/2022pict2e.lua"))
-- (defun v () (interactive) (find-pdftools-page "~/LATEX/2022pict2e.pdf"))
-- (defun tb () (interactive) (find-ebuffer (eepitch-target-buffer)))
-- (defun etv () (interactive) (find-wset "13o2_o_o" '(tb) '(v)))
-- (setenv "PICT2ELUADIR" "~/LATEX/")
--
-- (defun l2 () (interactive) (find-angg "LUA/Lazy2.lua"))
-- (defun l3 () (interactive) (find-angg "LUA/Lazy3.lua"))
-- (defun l4 () (interactive) (find-angg "LUA/Lazy4.lua"))
-- «.output» (to "output")
-- «.fracoes-parciais» (to "fracoes-parciais")
-- «.fracoes-parciais-test» (to "fracoes-parciais-test")
-- «.MT2» (to "MT2")
-- «.MT2-tests» (to "MT2-tests")
-- «.EDOVSG» (to "EDOVSG")
-- «.EDOVS» (to "EDOVS")
require "Lazy2" -- (find-angg "LUA/Lazy2.lua")
require "Lazy3" -- (find-angg "LUA/Lazy2.lua")
require "Pict2e1" -- (find-angg "LUA/Pict2e1.lua")
require "Verbatim1" -- (find-angg "LUA/Verbatim.lua")
-- (find-angg "LUA/Lazy2.lua" "SubstName-tests")
-- «output» (to ".output")
out = ""
if not output then
output = function (str, verbose)
if verbose then print(); print(str) end
out = out.."\n"..str
end
verbose = false
end
-- (find-angg "LUA/Lazy2.lua" "LazyAng")
-- (find-angg "LUA/Lazy2.lua" "SubstName-tests")
defexpr = function (name, bodyaddons, expr0)
_G[name] = expr0
output(CName.expand(name, bodyaddons, [=[\sa{[<n>]}{\CFname{<b>}{<a>}}]=]))
var(name.."_", CName.expand(name, bodyaddons, [[\CFname{<b>}{<a>}]]))
end
defang = function (name, bodyaddons, fmt0)
la = LazyAng.from(name, bodyaddons, fmt0)
la:output(verbose)
la:eval(verbose)
end
defsubst = function (name, bodyaddons, code, texdefbody)
sn = SubstName.from(name, bodyaddons, code, texdefbody)
sn:output(verbose)
sn:eval(verbose)
end
-- verbose = true
defexpr("RC", "RC", eq( ddx(f(g(x))), Mul(fp(g(x)), gp(x))))
defexpr("MV2", "MV _2", eq( Intvar(x, a, b, Mul(fp(g(x)), gp(x))),
Intvar(u, g(a), g(b), fp(u))))
-- «fracoes-parciais» (to ".fracoes-parciais")
-- (c2m221p1p 3 "fracoes-parciais")
-- (c2m221p1a "fracoes-parciais")
defexpr("FP1", "FP _1", eq(intx(frac(1,x)), ln(mod(x))))
defexpr("FP2", "FP _2", eq(intx(frac(1,plus(x,a))), intx(frac(1,u))))
defexpr("FP234", "FP _{234}", eq(intx(frac(1,plus(x,a))), ln(mod(plus(x,a)))))
S1 = Subst.from [[
if isapp(f) then return sen(Sarg()) end
if isapp(fp) then return cos(Sarg()) end
if isapp(g) then return mul(42,Sarg()) end
if isapp(gp) then return 42 end
if isvar(x) then return t end
]]
defsubst("SFPa", "SFP _a", [[
if isapp(g) then return plus(Sarg(), a) end
if isapp(gp) then return 1 end
]], [[
g(x) := x+a \\
g'(x) := 1 \\
]])
defsubst("SFPb", "SFP _b", [[
if isapp(g) then return plus(x, a) end
if isapp(gp) then return 1 end
if isvar(a) then return b end
if isvar(b) then return c end
]], [[
g(x) := x+a \\
g'(x) := 1 \\
a := b \\
b := c \\
]])
defsubst("SFPc", "SFP _c", [[
if isapp(g) then return plus(Sarg(), a) end
if isapp(gp) then return 1 end
if isapp(fp) then return frac(1, Sarg()) end
if isvar(a) then return b end
if isvar(b) then return c end
]], [[
g(x) := x+a \\
g'(x) := 1 \\
f'(x) := \frac{1}{x} \\
a := b \\
b := c \\
]])
defsubst("SFPa3", "SFP _3", [[
if isvar(a) then return 3 end
]], [[
a := 3 \\
]])
defsubst("SFPa5", "SFP _5", [[
if isvar(a) then return 5 end
]], [[
a := 3 \\
]])
defexpr("FPa3", "FP _{a=3}", SFPa3(FP234))
defexpr("FPa5", "FP _{a=5}", SFPa5(FP234))
-- «fracoes-parciais-test» (to ".fracoes-parciais-test")
-- (c2m221p1p 3 "fracoes-parciais")
-- (c2m221p1a "fracoes-parciais")
--[==[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
= RC
= RC:tree()
= RC:show()
= RC_:show()
* (etv)
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
verbose = true
dofile "Lazy4.lua"
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
ang = Ang.from([[
<out>
$\scalebox{0.6}{$\begin{array}{cl}
& <MV2_> = <Paren(MV2)> \\
& <FP1_> = <Paren(FP1)> \\
& <FP2_> = <Paren(FP2)> \\
& <FP234_> = <Paren(FP234)> \\\\
<SFPa_> = <SFPa.bsm> & <SFPa.p(MV2_)> = <Paren(SFPa(MV2))> \\
<SFPb_> = <SFPb.bsm> & <SFPb.p(MV2_)> = <Paren(SFPb(MV2))> \\
<SFPc_> = <SFPc.bsm> & <SFPc.p(MV2_)> = <Paren(SFPc(MV2))> \\
% \ga{[SFPa] verbatim} \\
\end{array}
$}
$
]])
= ang:sa("foo")
= ang:show()
= Show.log
* (etv)
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
= FP234
= FPa3
= FPa3_
= FPa3_:totex()
= FPa5
= FPa5_:totex()
= SFPa3(FP234)
= SFPa5(FP234)
ang = Ang.from([[
<out>
$\begin{array}{c}
<FPa3_> = <FP234_><SFPa3.bmat> = <Paren(SFPa3(FP234))> \\
<FPa5_> = <FP234_><SFPa5.bmat> = <Paren(SFPa5(FP234))> \\
\end{array}
$
]])
= ang:sa("foo")
= ang:show()
= Show.log
* (etv)
= out
--]==]
-- «MT2» (to ".MT2")
-- (c2m221mt2p 2 "questao-E1")
-- (c2m221mt2a "questao-E1")
defexpr("MT2", "MT2",
eq( intx(mul(pot(sen(mul(4,x)),5), cos(mul(4,x)))),
mul(frac(1,4),intu(uu(pot(uu(u),5))))
))
defexpr("MT2", "MT2",
eq( intx(mul(pot(sen(mul(4,x)),5), cos(mul(4,x)))),
mul(frac(1,4),intu(pot(u,5)))
))
defsubst("SMV2a", "SMV2 _a", [[
if isapp(g) then return sen(mul(4,Sarg())) end
if isapp(gp) then return mul(4,cos(mul(4,Sarg()))) end
]], [[
g(x) := \sen(4x) \\
g'(x) := 4\cos(4x) \\
]])
defsubst("SMV2b", "SMV2 _b", [[
if isapp(g) then return sen(mul(4,Sarg())) end
if isapp(gp) then return mul(4,cos(mul(4,Sarg()))) end
if isapp(fp) then return pot(Sarg(),5) end
]], [[
g(x) := \sen(4x) \\
g'(x) := 4\cos(4x) \\
f'(u) := u^5 \\
]])
defsubst("SMV2c", "SMV2 _c", [[
if isapp(g) then return sen(mul(4,Sarg())) end
if isapp(gp) then return mul(4,cos(mul(4,Sarg()))) end
if isapp(fp) then return mul(frac(1,4),pot(Sarg(),5)) end
]], [[
g(x) := \sen(4x) \\
g'(x) := 4\cos(4x) \\
f'(u) := \frac{1}{4}u^5 \\
]])
-- defexpr("MV2u", "MV _2", eq( Intvar(x, a, b, Mul(fp(g(x)), gp(x))),
-- Intvar(u, g(a), g(b), fp(u))))
-- defexpr("MV2u", "MV _2", eq( Intvar(x, a, b, Mul(uu(fp(uu(g(x)))), uu(gp(x)))),
-- Intvar(u, uu(g(a)), uu(g(b)), uu(fp(u)))))
-- «MT2-tests» (to ".MT2-tests")
--[==[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
= MT2:tree()
= MV2:tree()
= SMV2c(MV2):tree()
ang = Ang.from([[
<out>
$\scalebox{0.7}{$\begin{array}{c}
<MT2_> = <Paren(MT2)> \\
<MV2_> = <Paren(MV2)> \\
<MV2_><SMV2a.bsm> = <Paren(SMV2a(MV2))> \\
<MV2_><SMV2b.bsm> = <Paren(SMV2b(MV2))> \\
<MV2_><SMV2c.bsm> = <Paren(SMV2c(MV2))> \\
\end{array}
$}
$
]])
= ang:show()
= Show.log
* (etv)
= MT2
= MV2u:show()
= Show.log
* (etv)
--]==]
-- «EDOVSG» (to ".EDOVSG")
var("C1", "C_1")
var("C2", "C_2")
var("C3", "C_3")
fun("Hinv", "H^{-1}(<1>)")
output [[ \def\mcc#1{\multicolumn{1}{c}{#1}} ]]
defang("EDOVSG", "EDOVSG", [[
\left(\begin{array}{rcl}
\D \dydx &=& \D <frac(g(x),h(y))> \\
<h(y)>\,dy &=& <g(x)>\,dx \\
<inty(h(y))> &=& <intx(g(x))> \\
\mcc{\veq} & & \mcc{\veq} \\
\mcc{<plus(H(y),C1)>} & & \mcc{<plus(G(x),C2)>} \\
<H(y)> &=& <plus(G(x),minus(C2,C1))> \\
&=& <plus(G(x),C3)> \\
<Hinv(H(y))> &=& <Hinv(plus(G(x),C3))> \\
\mcc{\veq} & & \\
\mcc{y} & & \\
\end{array}
\right)
]])
defang("EDOVSP", "EDOVSP", [[
\left(\begin{array}{rcl}
\D \dydx &=& \D <frac(g(x),h(y))> \\
<Hinv(H(y))> &=& <Hinv(plus(G(x),C3))> \\
\mcc{\veq} & & \\
\mcc{y} & & \\
\end{array}
\right)
]])
defsubst("SE1", "SE _1", [[
if isapp(g) then return uminus(mul(2,Sarg())) end
if isapp(G) then return uminus(pot(Sarg(),2)) end
if isapp(h) then return mul(2,Sarg()) end
if isapp(H) then return pot(Sarg(),2) end
if isapp(Hinv) then return uminus(sqrt(Sarg())) end
if isvar(C1) then return 4 end
if isvar(C2) then return 29 end
if isvar(C3) then return 25 end
]], [[
g(x) := -2x \\
h(y) := 2y \\
G(x) := -x^2 \\
H(y) := y^2 \\
H^{-1}(x) := -\sqrt{x} \\
C1 := 4 \\
C2 := 29 \\
C3 := 25 \\
]])
-- «EDOVS» (to ".EDOVS")
-- (c2m211edovsp 8 "EDOVSG")
-- (c2m211edovsa "EDOVSG")
-- (find-pdftoolsr-page "~/LATEX/2021-1-C2-edovs.pdf" 8)
--[==[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "Lazy4.lua"
verbose = true
dofile "Lazy4.lua"
= SE1(22)
= SE1(H(22))
ang = Ang.from([[
<out>
% \def\mcc#1{\multicolumn{1}{c}{#1}}
$\scalebox{0.6}{$
\begin{array}{rcl}
<EDOVSG_><SE1.bmat> &=& <SE1(EDOVSG)> \\
<EDOVSP_> &=& <SE1(EDOVSP)> \\
\end{array}
$}
$
]])
= ang:show()
= Show.log
* (etv)
--]==]
-- Local Variables:
-- coding: utf-8-unix
-- End: