Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. documentclass{article}
  2. usepackage{luacode}
  3. begin{luacode}
  4. function MatMul( m1, m2 )
  5. if #m1[1] ~= #m2 then
  6. return nil
  7. end
  8.  
  9. local res = {}
  10.  
  11. for i = 1, #m1 do
  12. res[i] = {}
  13. for j = 1, #m2[1] do
  14. res[i][j] = 0
  15. for k = 1, #m2 do
  16. res[i][j] = res[i][j] + m1[i][k] * m2[k][j]
  17. end
  18. end
  19. end
  20.  
  21. for i = 1, #res do
  22. for j = 1, #res[1] do
  23. tex.sprint( res[i][j] )
  24. tex.sprint(" ")
  25. end
  26. tex.sprint("n")
  27. end
  28. end
  29. newcommandmatrixmult[2]{directlua{MatMul(#1,#2)}}
  30.  
  31. begin{document}
  32. matrixmult{{ { 1, 2, 4 }, { 4, 5, 6 } }}{{ { 1, 2 }, { 3, 4 }, { 5, 6 } }}
  33. end{document}
  34.  
  35. documentclass{article}
  36. usepackage{luacode}
  37. begin{luacode}
  38. function MatMul( m1, m2 )
  39. if #m1[1] ~= #m2 then
  40. return nil
  41. end
  42.  
  43. local res = {}
  44.  
  45. for i = 1, #m1 do
  46. res[i] = {}
  47. for j = 1, #m2[1] do
  48. res[i][j] = 0
  49. for k = 1, #m2 do
  50. res[i][j] = res[i][j] + m1[i][k] * m2[k][j]
  51. end
  52. end
  53. end
  54.  
  55. for i = 1, #res do
  56. for j = 1, #res[1] do
  57. tex.sprint( res[i][j] )
  58. tex.sprint(" ")
  59. end
  60. tex.sprint("\par")
  61. end
  62. end
  63. end{luacode}
  64. newcommandmatrixmult[2]{directlua{MatMul(#1,#2)}}
  65.  
  66. begin{document}
  67. matrixmult{{ { 1, 2, 4 }, { 4, 5, 6 } }}{{ { 1, 2 }, { 3, 4 }, { 5, 6 } }}
  68. end{document}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement