smbot/expm_test.lua
2019-03-11 07:15:41 +01:00

32 lines
580 B
Lua

local globalize = require "strict"
local nn = require "nn"
local expm = require "expm"
local sqrt = math.sqrt
local dims = 8
local n = dims * dims
local M = {}
local coeff = dims * dims * sqrt(dims)
for i = 1, n do M[i] = i / coeff end
M.shape = {dims, dims}
M = nn.dot(M, nn.transpose(M))
print(nn.pp(M, "%9.6f"))
local exp_M = expm(M)
print(nn.pp(exp_M, "%9.6f"))
local binser = require "binser"
--local dat = binser.s(exp_M)
binser.writeFile("expm.bin", exp_M)
local res, len = binser.readFile("expm.bin")
assert(len == 1)
exp_M = res[1]
print(nn.pp(exp_M, "%9.6f"))