(DM42) Matrix exponential
|
08-23-2023, 09:39 PM
(This post was last modified: 08-24-2023 02:26 AM by Albert Chan.)
Post: #26
|
|||
|
|||
RE: (DM42) Matrix exponential
(08-23-2023 07:55 PM)Albert Chan Wrote: sinh(X) = (1 + X^2/3! + X^4/5! + ...) * X = sinh(g)/g * X We can use same idea to get expm1(k*Jn), where Jn = matrix of all ones, dimensions n×n Identity used: (Jn/n)^(integer_powers) = (Jn/n) sinh(k*Jn) = (k*Jn) + (k*Jn)^3/3! + (k*Jn)^5/5! + ... = (1 + (k*n)^2/3! + (k*n)^4/5! + ...) * (k*Jn) sinh(k*Jn) = sinh(k*n) * (Jn/n) = 2*sinh(k*n/2)*cosh(k*n/2) * (Jn/n) cosh(k*Jn) − 1 = 2*sinh(k/2*Jn)^2 = 2*sinh(k*n/2)*sinh(k*n/2) * (Jn/n) Add the 2 lines: exp(x*Jn) - 1 = 2*sinh(n/2*x)*exp(n/2*x) * (Jn/n) exmp1(k*Jn) = expm1(k*n) * (Jn/n) Any function f with f(0) = 0, will have same pattern. (*) Taylor series (Jn/n)^(integer_powers) = (Jn/n), which can be factored out. f(k*Jn) = f(k*n * (Jn/n)) = f(k*n) * (Jn/n) For examples, these will work: sin, versin, tan, tanh, log1p, ... (and its inverse function) (*) Exception, if f cannot handle matrix argument. Example, because Jn is not invertible, this will not work: f(x) := sin(x^2)/x |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)