第! 卷第#期" 年%月$" " "
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
文章编号AB " " " C D E " D F $" " " G " #C " #$$C " !
大连理工大学学报
&’() *+, ’-. +, /+*0*/12) 3/45’-6278*’, ’95
; ! " 2?
矩阵指数计算算法讨论
张洪武
F 大连理工大学工业装备结构分析国家重点实验室
B B E " $!G
摘要A 对矩阵指数运算的L 在实际应用中的最佳运算量等问M M N 方法与精细积分方法F L O P G
题进行了讨论; 可以发现
且算法由计算机位数限制造成的截断误差较L L O P 方法则具有无需矩阵求逆的特点
Q 的低; 进一步对L 这对于O P 算法在$运算中Q 值的选取与展开项数的选取提出了改进建议
矩阵指数计算效率的提高是十分有益的;
关键词A 矩阵H 矩阵函数H 数值计算R 逼近H 精细积分L S T U 中图分类号A V J $B
文献标识码A N
W 引
言
特别是在结构自振周期未知的情况下
何保证算法的精确度仍是值得研究的工作; 本文将在文献Y 工作的基础上
矩阵的指数运算与许多科学计算工作有关
计算方法进行了评述
虽然L J Z 的评述可以发现
特别是由舍入误差F 计算机G 对算法的影响仍是不明的问题
钟万勰提出矩阵指数运算的精细积分方法F G ; 该算法通过L O P
运算的思想达到对矩阵指数的求解
Y ! Z
p L M M N 方法与L O P 方法
q
令q 为r 求矩阵指数运算U 的s r 阶方阵
q q u v
U t F U G
q v
F B G
q u {B
U t w F q u G t Y z x y F q u G Z |x y F q u G F $G x y
其中A
y
z x y F q u G t |x y F q u G t
}
x
~t "
~
F {q u G
F x ! y G " ~" F y {~G " ~
F J G F ! G
F q u G }F x ! y G " ~" F x{~G "
~t "
简单
式中A 分别为展开项数
#
的精度有关; 取vt $算法的误差估计为
Y %Z
w x y
q #$
$
#
q !&
t U F #G
x ! y (D #F E G ’q ’F x ! y G " F x ! y ! B G " $
在算法实现上取#使
%
’q u ’t
则误差进一步表示为
#($$
F I G
收稿日期AB %%%C B B C $#H 修订日期A$" " " C " I C B D
基金项目A 国家自然科学基金资助项目F B %I J $" $" G H 国家重点基础研究专项经费资助项目F B %%%" J $D " #G K 作者简介A 张洪武F B %E ! C G
万方数据
第T 期
张洪武等=矩阵指数计算算法讨论
T (-
, -) *+$! #! (/)*+0. /)*+*’0.
作为算法实现2将式/另写为10
&
/10
! " ! $3! #!
/50
34
(/)*+0. /)*+*’0.
可以发现上述算法一般会出现矩阵的求逆6
&
) *+, -
/’50
+
! #E ! _3’
/+*) 0.
而当+4
! #E ! _3/(
显然2式/的限制较式/宽松了许多2特别是(
鉴于式/的原则2因而在判定时将式/与^0’50替代显然这种替代是式/中的! 利用;*(
(’
不安全的2因而在检测时将容许值3取得较计算机’
, ’(
有效位数高一些6在以下讨论中取34’
当式/成立时’50c /(
‘a b 4’当式/失败时’50c /(
/(’? 0
)
! #E ! _3’
/+*) 0.
89
为避免这一问题2钟万勰提出精细积分算法7其2
运算十分简单2此时式/同样有效2但取’0
;
:4(/’
式中=; 一般取值为(展? @A B C 开的精细积分法可描述为/)4(0
)
D F
#E
G
H 4
E
4I *J 2J K K 4H .
;
;, ’
H
)
G
H 4’
E
H .
H
/’’0
;, ’
#((
D 4/I *J 04/I *J 0K K
;, ’
(
/I *J 0K 4
((
/I *(J 0/’(0K *J K 与L M M N 方法的显著不同是=L O P 在算法实现
上为减少计算机的舍入误差2单位阵I 在累加与乘法过程中不进行计算2而是通过对
(
J Q(J K K *J K
的; 次循环计算获得J 然后计算2K
/’-0
#
D 4I *J /’80K
注意=经过式/运行后2式/中的J 与式/’-0’80’’0K 中的J 是不一样的6K
‘/(’d 0a b 4
表’给出取式/’T 0后运算量的比较2其中取
, ’T
34’
由于) 在表达上具有对称性2因而表L M M N 方法2c +而没有给出中只给出关于) 为连续值对应的结果2
的连续数值/通过) 轮换可以获得0+c +6
不难发现; 4
R L M M N 方法与L O P 方法的简单改
进与讨论
基于以上叙述2可以对L M M N 方法与L O P 方法在使用过程中进行简单的改进2即取
S *;
:4(/’T 0
式中=S 的取值同L 具体见后M M N 算法中的策略/文论述0而; 的取值应根据对结果的误差要求确2
定6由式/算法的误差为U 0
! " ! $3! #!
/’U 0) *+
341;*’
/)*+0. /)*+*’0. (
首先说明算法/乘法0的计算量问题6如果将
e 对算法在实际应用过程中的讨论
, ’T
一般说来2在实际应用过程中2选取34’
, 1
的精度2要求过高6如取3则可使计算结果4’
&
-矩阵的求逆运算的计算量取为V 则不难发现2当W 2
法效率最高6而此时对应+的算法/的选4
展开的L 时-2) 4(2+4? @A B C O P 方法在; 4’最好6
为方便读者对L 对不同精度O P 方法的使用2参数选取的计算量结果示于表-6由于选取不同参数的计算量由Z 值体现2因而读者可以很容易发现具有较佳计算量的参数选择6特别应注意2有时不同参数的选择具有相同的计算量但却可以获得不同的计算精度6
忽略算法实现所附加的+X
必要的额外运算而只考虑矩阵乘法0
-Y4/Z *S 0W 2Z 4/[*; *V , ’02
/’^0[4\? ]/) 2+0而当+算法无需矩阵求逆2算法计算量为4
-Y4/Z *S 0W 2Z 4)*; , ’/’10
在>展开式中还应注意末端项计算机的? @A B C
有效位数的舍入误差问题如果本端顶太小会造成2万方数据展开项的作用消失2当+X
&F E
大连理工大学学报
%! &
表! " 情况下算法的参数选取与效率比较#! $
%! &*! +#! $’() (, (-. /. , 00. 1. 2/345(56. 77323. 52824-9(, 3045:; . 5"
第E 卷$
=>?@?
=$? $? =$? ! ? =$? F ? =$? G ? =$? E ? =$? &? =$? I ? =$? H ? =! ? =! ? =! ? =! ? =F ? =F ? =F ? =F ?
G ?
E ? J ? I ? G ? E ? &? J ?
=G ? G ? =G ? E ? =G ? &?
D A ? B?C 36
! E ?! E ? $D ! F ?! F ? $D ! ! ?! ! ? ! D ! $?! $? ! D H ? H ? ! D I ? I ? ! D &? I ? ! D E ? H ? ! D K H ? L ? ! D J ? I ? ! D E ? I ? ! D E ? H ? ! D K J ? H ? ! D &? I ? ! D E ? I ? ! D G ? H ? ! D K &? H ? ! D E ? I ? ! D G ? H ? ! D K
%H
表F " 情况下算法的参数选取与效率比较#! $
%H *F +#! $’() (, (-. /. , 00. 1. 2/345(56. 77323. 52824-9(, 3045:; . 5"
=>?@?
=$? $? =$? ! ? =$? F ? =$? &? =$? J ? =! ? =! ? =! ? =! ?
F ?
G ? E ? &?
A ?
L ? H ? J ? G ? F ? K &? E ? G ? F ? K
D B?C 36
L ? ! D H ? ! D J ? ! D &? ! D J ? ! D J ? &? &? J ?
! D
! D ! D ! D
M 改进的+N O 算法过程
为应用方便? 并参考文献P 所建立的矩阵指E Q 数运算的算法原理? 给出改进的精细积分的算法过程R
选取适当的>S此时A 如=! D 按表G @=#$D ?
%! $
>#G ? @#J =" #! $D R
值U =F D 计算T
Y
! D 计算V #-(W \[]Z T X [
Z ? T #!
F D 计算^#14_]F V
取值为在数轴向左=负方向D 离^G D 计算C ? ^
值最近的整数]
E DT #-(W =C ? $D R ^‘!
=>?@?
=E ? F ? =E ? G ? =E ? E ? =E ? &? =&? =&? =&? =&?
F ?
G ? E ? &?
=J ? F ? =J ? G ? =J ? E ? =I ? F ? =I ? G ? =I ? E ? =H ? =H ? =H ? =H ?
! ?
F ? G ? E ?
=L ? F ? =L ? G ?
A ? B?C D 36
&? L ? ! D E ? H ? ! D G ? H ? ! D F ? L ? ! D K &?! $? ! D E ? L ? ! D G ? L ? ! D F ?! $? ! D K E ?! $? ! D G ? L ? ! D F ?! $? ! D K E ?! ! ? ! D G ?! $? ! D F ?! ! ? ! D K E ?! F ? $D G ?! ! ? ! D F ?! ! ? ! D ! ?! F ? $D K G ?! F ? ! D F ?! F ? ! D K
=>?@? =! $?! ? =! $?F ? =! $?G ? =! ! ?! ? =! ! ?F ? =! ! ?G ? =! F ?! ? =! F ?F ? =! F ?G ? =! G ?! ? =! G ?F ? =! G ?G ? =! E ?! ? =! E ?F ? =! E ?G ? =! &?F ? =! &?G ? =! J ?! ? =! J ?F ? =! J ?G ?
A ?
G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K ! ? ! ? K F ? ! ? $? K
B?C D 36! G ? ! D ! F ? ! D ! G ? ! D ! E ? ! D ! G ? ! D ! E ? ! D ! &? $D ! E ? ! D ! &? $D ! J ? $D ! &? ! D ! J ? $D ! I ? $D ! J ? ! D ! I ? $D ! I ? ! D ! H ? $D ! H ? ! D ! H ? ! D ! H ? ! D
=>?@?
=! I ?! ? =! I ?F ? =! I ?G ? =! H ?! ? =! H ?F ? =! H ?G ? =! L ?! ? =! L ?F ? =! L ?G ? =F $?! ? =F $?F ? =F $?G ? =F &?! ? =F I ?! ? =F I ?F ?
A ?
F ? ! ? $? K F ? ! ? $? K F ? ! ? $? K F ? ! ? $? K ! ? K K ! ? $? K
B?C D 36! L ? ! D ! L ? ! D ! L ? ! D F $? ! D F $? ! D F $? $D F ! ? $D F ! ? $D F ! ? $D F F ? $D F F ? $D F F ? $D F J ? ! D F H ? ! D F H ? ! D
=>?@?
=F ? F ? =F ? G ? =F ? E ? =G ? =G ? =G ? =G ?
! ?
F ? G ? E ?
=E ? ! ? =E ? F ?
A ?
E ? G ? F ? K E ? G ? F ? ! ? K E ? G ?
B?C D 36
J ? ! D &? ! D J ? ! D I ? J ? J ? I ?
! D
! D ! D ! D
=>?@?
=E ? G ? =E ? E ? =E ? &? =&? =&? =&? =J ? =J ? ! ?
F ? E ? ! ? F ? H ? ! D
I ? ! D
A ?
F ? ! ? $? K G ? F ? $? K G ? F ? K
B?C D 36I ? ! D H ? ! D H ? ! H ? I ? H ? L ? H ? ! D
! D ! ! D ! D =>?@?
=I ? ! ? =I ? F ? =I ? G ? =I ? E ? =H ? =H ? =H ? =H ?
$?
! ? F ? G ?
=L ? F ? =L ? G ?
A ? B?C D 36
F ? L ? ! D ! ? L ? ! D ! ?! $? ! D $?! $? ! D K G ?! ! ? ! D F ?! $? ! D ! ?! $? ! D $?! $? ! K ! ?! ! ? ! D $?! ! ? ! D K
=G D 进行有关展开矩阵的计算U
! D 计算a b #T ]‘>a F b Z
a R d Z #! Z
次乘法计算U =E D 进行>‘T F D 计算c \#
@
X
F
e 4, Z #!/4>‘T f 4c c R \#F \‘c \
=&D 进行矩阵指数计算U
a
. #g ‘c R \
至于+主要是步骤=G D S =E D h h i 算法的实现?
的不同? 将=改为对式=的运算? 而将步G D F D j =E D 骤=改为对式=的运算? 也就是>‘T 次矩阵E D ! D 的相乘R 步骤=也不再需要R &D
万方数据
第A 期
张洪武等X 矩阵指数计算算法讨论
表! 不同" 情况下#$%算法的参数选取与效率比较
) ! #" &’(’*’+, -, *. . , /, 0-123’34, 55101, 30602+7’*1. 2352*#$%’/82*1-9+:1-94155, *, 3-; ’/
@A
" =>?
@B
" =>?
@C
" =>?
@D
" =>?
A M A
E FG H G
E N G N G E A G ! G
Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q @P Q @>? @>>@>M Q " =>? " =>? " =>? " =>?
E FG H G E A G A G E B G N G
I G
? G ? G L JGK 14
P G >L P G >L
E FG H G
E ? G>>G E N G B G E A G A G E B G A G
I G
? G ? G ? G ? G JGK L 14>? G >L P G >L P G >L >? G >L
E FG H G
E A G B G E B G A G
I G
? G ? G JGK L 14>? G >L >? G >L
E FG H G
E ? G>M G E >G>? G E N G C G E A G B G E B G A G
I G
? G ? G ? G ? G ? G JGK L 14>>G >L >? G >L >? G ? L >? G >L >? G >L
I G
? G ? G O
L JGK 14
C G >L C G >L E FG H G
E ! G A G E N G N G E A G N G
I G
? G ? G ? G O
JGK L 14C G >L C G >L D G >L E FG H G
E N G N G E A G N G
I G
? G ? G O
JGK L 14C G >D G >L E FG H G
E ! G B G E N G A G E A G N G
I G
? G ? G ? G O
JGK L 14D G >L D G >L D G >L
R 结
论
参考文献X
Y >Z%[\]^_G\[T ‘_a W‘13, -, , 34
02+7P C P Gk l E N L X D ? >m D ! B W
Y M Zn [\o pnq G \[T ‘_aW gr s t u v w x y z {s r s u x |}Y %ZW
‘, :~2*! X &9, c 293. q 27! 13. o 31; , *. 1-6#*, . . G >P D ! W
Y ! Z " T ^#^_W ‘
, b 723, 3-1’/:1-9’00P P C G () E N L X B ? ? m B >? W
Y N Z 钟万勰W 结构动力方程的精细时程积分Y c Z W 大连理工
大学学报G>P P N G *) E M L X >! >m >! B W
$
>L 本文对矩阵指数运算的#S S T 方法与#$%
方法进行了描述U
M L 对#S S T 方法稍加改进即可将#S S T 方法与#$%方法统一起来U ! L 对矩阵指数运算算法在实际应用中的最佳运算量进行了讨论G 并给出参数选取数表U 使用者在应用该N L 对#$%方法进行了改进G 方法进行实际问题分析时E 如动力学问题V 传热问可不必考虑时间步长的大小U 题L
A L 给出了算法的实现过程W
作者已将本文算法在计算机上实现E 用双精度L 通过题目的计算表明算法是很有效的W G
+u }, {}}u x |r&x {s |{y i t u , r ’, x y z {s r s u x |x-s . i y r s t u vi v z x |i |s u r ’
m G /m /[1**********]923:;5
E ? W 4W 1W E W K W G N W 4W G N >B ? M N G S @; @>A>BC ; D E ? @F 8G @5; H 4F I 5J L 8=M ; H =; 5O 5=P E Q >G R 54H ; H =; 5>R =5; L
&91. 7’7, *81; , . ’41. 0
9’. /, . . 02+7
U
V i W X x t Y }X+’-*1b U+’-*1b5
F
02+7
万方数据
第! 卷第#期" 年%月$" " "
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
文章编号AB " " " C D E " D F $" " " G " #C " #$$C " !
大连理工大学学报
&’() *+, ’-. +, /+*0*/12) 3/45’-6278*’, ’95
; ! " 2?
矩阵指数计算算法讨论
张洪武
F 大连理工大学工业装备结构分析国家重点实验室
B B E " $!G
摘要A 对矩阵指数运算的L 在实际应用中的最佳运算量等问M M N 方法与精细积分方法F L O P G
题进行了讨论; 可以发现
且算法由计算机位数限制造成的截断误差较L L O P 方法则具有无需矩阵求逆的特点
Q 的低; 进一步对L 这对于O P 算法在$运算中Q 值的选取与展开项数的选取提出了改进建议
矩阵指数计算效率的提高是十分有益的;
关键词A 矩阵H 矩阵函数H 数值计算R 逼近H 精细积分L S T U 中图分类号A V J $B
文献标识码A N
W 引
言
特别是在结构自振周期未知的情况下
何保证算法的精确度仍是值得研究的工作; 本文将在文献Y 工作的基础上
矩阵的指数运算与许多科学计算工作有关
计算方法进行了评述
虽然L J Z 的评述可以发现
特别是由舍入误差F 计算机G 对算法的影响仍是不明的问题
钟万勰提出矩阵指数运算的精细积分方法F G ; 该算法通过L O P
运算的思想达到对矩阵指数的求解
Y ! Z
p L M M N 方法与L O P 方法
q
令q 为r 求矩阵指数运算U 的s r 阶方阵
q q u v
U t F U G
q v
F B G
q u {B
U t w F q u G t Y z x y F q u G Z |x y F q u G F $G x y
其中A
y
z x y F q u G t |x y F q u G t
}
x
~t "
~
F {q u G
F x ! y G " ~" F y {~G " ~
F J G F ! G
F q u G }F x ! y G " ~" F x{~G "
~t "
简单
式中A 分别为展开项数
#
的精度有关; 取vt $算法的误差估计为
Y %Z
w x y
q #$
$
#
q !&
t U F #G
x ! y (D #F E G ’q ’F x ! y G " F x ! y ! B G " $
在算法实现上取#使
%
’q u ’t
则误差进一步表示为
#($$
F I G
收稿日期AB %%%C B B C $#H 修订日期A$" " " C " I C B D
基金项目A 国家自然科学基金资助项目F B %I J $" $" G H 国家重点基础研究专项经费资助项目F B %%%" J $D " #G K 作者简介A 张洪武F B %E ! C G
万方数据
第T 期
张洪武等=矩阵指数计算算法讨论
T (-
, -) *+$! #! (/)*+0. /)*+*’0.
作为算法实现2将式/另写为10
&
/10
! " ! $3! #!
/50
34
(/)*+0. /)*+*’0.
可以发现上述算法一般会出现矩阵的求逆6
&
) *+, -
/’50
+
! #E ! _3’
/+*) 0.
而当+4
! #E ! _3/(
显然2式/的限制较式/宽松了许多2特别是(
鉴于式/的原则2因而在判定时将式/与^0’50替代显然这种替代是式/中的! 利用;*(
(’
不安全的2因而在检测时将容许值3取得较计算机’
, ’(
有效位数高一些6在以下讨论中取34’
当式/成立时’50c /(
‘a b 4’当式/失败时’50c /(
/(’? 0
)
! #E ! _3’
/+*) 0.
89
为避免这一问题2钟万勰提出精细积分算法7其2
运算十分简单2此时式/同样有效2但取’0
;
:4(/’
式中=; 一般取值为(展? @A B C 开的精细积分法可描述为/)4(0
)
D F
#E
G
H 4
E
4I *J 2J K K 4H .
;
;, ’
H
)
G
H 4’
E
H .
H
/’’0
;, ’
#((
D 4/I *J 04/I *J 0K K
;, ’
(
/I *J 0K 4
((
/I *(J 0/’(0K *J K 与L M M N 方法的显著不同是=L O P 在算法实现
上为减少计算机的舍入误差2单位阵I 在累加与乘法过程中不进行计算2而是通过对
(
J Q(J K K *J K
的; 次循环计算获得J 然后计算2K
/’-0
#
D 4I *J /’80K
注意=经过式/运行后2式/中的J 与式/’-0’80’’0K 中的J 是不一样的6K
‘/(’d 0a b 4
表’给出取式/’T 0后运算量的比较2其中取
, ’T
34’
由于) 在表达上具有对称性2因而表L M M N 方法2c +而没有给出中只给出关于) 为连续值对应的结果2
的连续数值/通过) 轮换可以获得0+c +6
不难发现; 4
R L M M N 方法与L O P 方法的简单改
进与讨论
基于以上叙述2可以对L M M N 方法与L O P 方法在使用过程中进行简单的改进2即取
S *;
:4(/’T 0
式中=S 的取值同L 具体见后M M N 算法中的策略/文论述0而; 的取值应根据对结果的误差要求确2
定6由式/算法的误差为U 0
! " ! $3! #!
/’U 0) *+
341;*’
/)*+0. /)*+*’0. (
首先说明算法/乘法0的计算量问题6如果将
e 对算法在实际应用过程中的讨论
, ’T
一般说来2在实际应用过程中2选取34’
, 1
的精度2要求过高6如取3则可使计算结果4’
&
-矩阵的求逆运算的计算量取为V 则不难发现2当W 2
法效率最高6而此时对应+的算法/的选4
展开的L 时-2) 4(2+4? @A B C O P 方法在; 4’最好6
为方便读者对L 对不同精度O P 方法的使用2参数选取的计算量结果示于表-6由于选取不同参数的计算量由Z 值体现2因而读者可以很容易发现具有较佳计算量的参数选择6特别应注意2有时不同参数的选择具有相同的计算量但却可以获得不同的计算精度6
忽略算法实现所附加的+X
必要的额外运算而只考虑矩阵乘法0
-Y4/Z *S 0W 2Z 4/[*; *V , ’02
/’^0[4\? ]/) 2+0而当+算法无需矩阵求逆2算法计算量为4
-Y4/Z *S 0W 2Z 4)*; , ’/’10
在>展开式中还应注意末端项计算机的? @A B C
有效位数的舍入误差问题如果本端顶太小会造成2万方数据展开项的作用消失2当+X
&F E
大连理工大学学报
%! &
表! " 情况下算法的参数选取与效率比较#! $
%! &*! +#! $’() (, (-. /. , 00. 1. 2/345(56. 77323. 52824-9(, 3045:; . 5"
第E 卷$
=>?@?
=$? $? =$? ! ? =$? F ? =$? G ? =$? E ? =$? &? =$? I ? =$? H ? =! ? =! ? =! ? =! ? =F ? =F ? =F ? =F ?
G ?
E ? J ? I ? G ? E ? &? J ?
=G ? G ? =G ? E ? =G ? &?
D A ? B?C 36
! E ?! E ? $D ! F ?! F ? $D ! ! ?! ! ? ! D ! $?! $? ! D H ? H ? ! D I ? I ? ! D &? I ? ! D E ? H ? ! D K H ? L ? ! D J ? I ? ! D E ? I ? ! D E ? H ? ! D K J ? H ? ! D &? I ? ! D E ? I ? ! D G ? H ? ! D K &? H ? ! D E ? I ? ! D G ? H ? ! D K
%H
表F " 情况下算法的参数选取与效率比较#! $
%H *F +#! $’() (, (-. /. , 00. 1. 2/345(56. 77323. 52824-9(, 3045:; . 5"
=>?@?
=$? $? =$? ! ? =$? F ? =$? &? =$? J ? =! ? =! ? =! ? =! ?
F ?
G ? E ? &?
A ?
L ? H ? J ? G ? F ? K &? E ? G ? F ? K
D B?C 36
L ? ! D H ? ! D J ? ! D &? ! D J ? ! D J ? &? &? J ?
! D
! D ! D ! D
M 改进的+N O 算法过程
为应用方便? 并参考文献P 所建立的矩阵指E Q 数运算的算法原理? 给出改进的精细积分的算法过程R
选取适当的>S此时A 如=! D 按表G @=#$D ?
%! $
>#G ? @#J =" #! $D R
值U =F D 计算T
Y
! D 计算V #-(W \[]Z T X [
Z ? T #!
F D 计算^#14_]F V
取值为在数轴向左=负方向D 离^G D 计算C ? ^
值最近的整数]
E DT #-(W =C ? $D R ^‘!
=>?@?
=E ? F ? =E ? G ? =E ? E ? =E ? &? =&? =&? =&? =&?
F ?
G ? E ? &?
=J ? F ? =J ? G ? =J ? E ? =I ? F ? =I ? G ? =I ? E ? =H ? =H ? =H ? =H ?
! ?
F ? G ? E ?
=L ? F ? =L ? G ?
A ? B?C D 36
&? L ? ! D E ? H ? ! D G ? H ? ! D F ? L ? ! D K &?! $? ! D E ? L ? ! D G ? L ? ! D F ?! $? ! D K E ?! $? ! D G ? L ? ! D F ?! $? ! D K E ?! ! ? ! D G ?! $? ! D F ?! ! ? ! D K E ?! F ? $D G ?! ! ? ! D F ?! ! ? ! D ! ?! F ? $D K G ?! F ? ! D F ?! F ? ! D K
=>?@? =! $?! ? =! $?F ? =! $?G ? =! ! ?! ? =! ! ?F ? =! ! ?G ? =! F ?! ? =! F ?F ? =! F ?G ? =! G ?! ? =! G ?F ? =! G ?G ? =! E ?! ? =! E ?F ? =! E ?G ? =! &?F ? =! &?G ? =! J ?! ? =! J ?F ? =! J ?G ?
A ?
G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K G ? F ? ! ? K ! ? ! ? K F ? ! ? $? K
B?C D 36! G ? ! D ! F ? ! D ! G ? ! D ! E ? ! D ! G ? ! D ! E ? ! D ! &? $D ! E ? ! D ! &? $D ! J ? $D ! &? ! D ! J ? $D ! I ? $D ! J ? ! D ! I ? $D ! I ? ! D ! H ? $D ! H ? ! D ! H ? ! D ! H ? ! D
=>?@?
=! I ?! ? =! I ?F ? =! I ?G ? =! H ?! ? =! H ?F ? =! H ?G ? =! L ?! ? =! L ?F ? =! L ?G ? =F $?! ? =F $?F ? =F $?G ? =F &?! ? =F I ?! ? =F I ?F ?
A ?
F ? ! ? $? K F ? ! ? $? K F ? ! ? $? K F ? ! ? $? K ! ? K K ! ? $? K
B?C D 36! L ? ! D ! L ? ! D ! L ? ! D F $? ! D F $? ! D F $? $D F ! ? $D F ! ? $D F ! ? $D F F ? $D F F ? $D F F ? $D F J ? ! D F H ? ! D F H ? ! D
=>?@?
=F ? F ? =F ? G ? =F ? E ? =G ? =G ? =G ? =G ?
! ?
F ? G ? E ?
=E ? ! ? =E ? F ?
A ?
E ? G ? F ? K E ? G ? F ? ! ? K E ? G ?
B?C D 36
J ? ! D &? ! D J ? ! D I ? J ? J ? I ?
! D
! D ! D ! D
=>?@?
=E ? G ? =E ? E ? =E ? &? =&? =&? =&? =J ? =J ? ! ?
F ? E ? ! ? F ? H ? ! D
I ? ! D
A ?
F ? ! ? $? K G ? F ? $? K G ? F ? K
B?C D 36I ? ! D H ? ! D H ? ! H ? I ? H ? L ? H ? ! D
! D ! ! D ! D =>?@?
=I ? ! ? =I ? F ? =I ? G ? =I ? E ? =H ? =H ? =H ? =H ?
$?
! ? F ? G ?
=L ? F ? =L ? G ?
A ? B?C D 36
F ? L ? ! D ! ? L ? ! D ! ?! $? ! D $?! $? ! D K G ?! ! ? ! D F ?! $? ! D ! ?! $? ! D $?! $? ! K ! ?! ! ? ! D $?! ! ? ! D K
=G D 进行有关展开矩阵的计算U
! D 计算a b #T ]‘>a F b Z
a R d Z #! Z
次乘法计算U =E D 进行>‘T F D 计算c \#
@
X
F
e 4, Z #!/4>‘T f 4c c R \#F \‘c \
=&D 进行矩阵指数计算U
a
. #g ‘c R \
至于+主要是步骤=G D S =E D h h i 算法的实现?
的不同? 将=改为对式=的运算? 而将步G D F D j =E D 骤=改为对式=的运算? 也就是>‘T 次矩阵E D ! D 的相乘R 步骤=也不再需要R &D
万方数据
第A 期
张洪武等X 矩阵指数计算算法讨论
表! 不同" 情况下#$%算法的参数选取与效率比较
) ! #" &’(’*’+, -, *. . , /, 0-123’34, 55101, 30602+7’*1. 2352*#$%’/82*1-9+:1-94155, *, 3-; ’/
@A
" =>?
@B
" =>?
@C
" =>?
@D
" =>?
A M A
E FG H G
E N G N G E A G ! G
Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q @P Q @>? @>>@>M Q " =>? " =>? " =>? " =>?
E FG H G E A G A G E B G N G
I G
? G ? G L JGK 14
P G >L P G >L
E FG H G
E ? G>>G E N G B G E A G A G E B G A G
I G
? G ? G ? G ? G JGK L 14>? G >L P G >L P G >L >? G >L
E FG H G
E A G B G E B G A G
I G
? G ? G JGK L 14>? G >L >? G >L
E FG H G
E ? G>M G E >G>? G E N G C G E A G B G E B G A G
I G
? G ? G ? G ? G ? G JGK L 14>>G >L >? G >L >? G ? L >? G >L >? G >L
I G
? G ? G O
L JGK 14
C G >L C G >L E FG H G
E ! G A G E N G N G E A G N G
I G
? G ? G ? G O
JGK L 14C G >L C G >L D G >L E FG H G
E N G N G E A G N G
I G
? G ? G O
JGK L 14C G >D G >L E FG H G
E ! G B G E N G A G E A G N G
I G
? G ? G ? G O
JGK L 14D G >L D G >L D G >L
R 结
论
参考文献X
Y >Z%[\]^_G\[T ‘_a W‘13, -, , 34
02+7P C P Gk l E N L X D ? >m D ! B W
Y M Zn [\o pnq G \[T ‘_aW gr s t u v w x y z {s r s u x |}Y %ZW
‘, :~2*! X &9, c 293. q 27! 13. o 31; , *. 1-6#*, . . G >P D ! W
Y ! Z " T ^#^_W ‘
, b 723, 3-1’/:1-9’00P P C G () E N L X B ? ? m B >? W
Y N Z 钟万勰W 结构动力方程的精细时程积分Y c Z W 大连理工
大学学报G>P P N G *) E M L X >! >m >! B W
$
>L 本文对矩阵指数运算的#S S T 方法与#$%
方法进行了描述U
M L 对#S S T 方法稍加改进即可将#S S T 方法与#$%方法统一起来U ! L 对矩阵指数运算算法在实际应用中的最佳运算量进行了讨论G 并给出参数选取数表U 使用者在应用该N L 对#$%方法进行了改进G 方法进行实际问题分析时E 如动力学问题V 传热问可不必考虑时间步长的大小U 题L
A L 给出了算法的实现过程W
作者已将本文算法在计算机上实现E 用双精度L 通过题目的计算表明算法是很有效的W G
+u }, {}}u x |r&x {s |{y i t u , r ’, x y z {s r s u x |x-s . i y r s t u vi v z x |i |s u r ’
m G /m /[1**********]923:;5
E ? W 4W 1W E W K W G N W 4W G N >B ? M N G S @; @>A>BC ; D E ? @F 8G @5; H 4F I 5J L 8=M ; H =; 5O 5=P E Q >G R 54H ; H =; 5>R =5; L
&91. 7’7, *81; , . ’41. 0
9’. /, . . 02+7
U
V i W X x t Y }X+’-*1b U+’-*1b5
F
02+7
万方数据