LAch7

Similar documents
Ⅰ Ⅱ Ⅲ Ⅳ

Ⅰ Ⅱ1 2 Ⅲ Ⅳ


Ⅰ Ⅱ1 2 Ⅲ Ⅳ

Ⅰ Ⅱ Ⅲ Ⅳ


Ⅰ Ⅱ1 2 Ⅲ Ⅳ

Ⅰ Ⅱ Ⅲ Ⅳ


Ⅰ Ⅱ Ⅲ1 2 Ⅳ1 2?

Ⅰ Ⅱ 1 2 Ⅲ Ⅳ

(D1-1~10_

ⅠⅡ 1 2Ⅲ 1 2 Ⅳ

CIP / ISBN Ⅰ. Ⅱ. Ⅲ. - Ⅳ. E CIP ISBN 7-8

- (,,, ), ) - (,,, )( ): (,,, ),,, ),,, ) (,,, )( ):, ), ) (,,, ) (,,, ) (,,, ) (,,, ) (,,, ) (,,, ) (,,, ) (,,, )( ): (,,, ) (,,, ) (,,, ) (,,, ) ( )

,.2018, 38,.1 :1, 220 ( ) 140, ;2,,,;3,,,, >180 ( ) >120,,, [10] :,,,,,,,, ( ), [6,11],,,,,, ( ), ( Ⅱ ),,, ( -6),,,,, -,, [2],, [12],, (

Ⅰ Ⅱ Ⅲ Ⅳ



? ⅠⅡⅢ Ⅳ 1 2

(CIP) /. :,2004 ISBN Ⅰ Ⅱ Ⅲ 1 2 Ⅳ D CIP (2004) ( 1 :100029) : : :4 00 : :0

Ⅰ Ⅱ Ⅲ Ⅳ

CIP / ISBN Ⅰ. Ⅱ. Ⅲ. - Ⅳ. C CIP / ISBN /C27

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 1

Ⅰ Ⅱ Ⅲ Ⅳ ~

Ⅰ Ⅱ Ⅲ Ⅳ



0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1


Ⅰ Ⅱ Ⅲ Ⅳ

2009高考英语满分作文大全




Ⅰ Ⅱ Ⅲ Ⅳ

一量动…


untitled

CIP / ISBN Ⅰ. Ⅱ. Ⅲ. Ⅳ. F CIP www. economyph. com com A

? Ⅰ Ⅱ Ⅲ Ⅳ ~

动画发展史

%% &% %% %% %% % () (! #! %!!!!!!!%! # %& ( % & ) +, # (.. /,) %& 0

Ⅰ Ⅱ Ⅲ Ⅳ

女性视野下的明清小说


! + +, ) % %.!&!, /! 0! 0 # ( ( # (,, # ( % 1 2 ) (, ( 4! 0 & 2 /, # # ( &

untitled


0.,,,,,, ;, ( ) ⅠM ⅠM ⅠM M0 M M ( ) BM M M Ⅱ M8 M9 M ( 7 ) ( ) M M Ⅲ M M M8 Ⅴ M0 M0 ( ) 8 ( ) ( ) ( ) , 979 ;,,98,89-7;,,997,-9;, ,,99,-0


军事十万个为什么 军事约章

Ⅰ Ⅱ 1 2Ⅲ Ⅳ

Ⅰ Ⅱ Ⅲ Ⅳ

!!"#! " # $%%&#! ()*+ %& %,&,, &!!# # # #! "# ## # #! $# # #! %#! &# -,.$# /! 0(1 $%%& %&23%2!!!!!!!!!!!!!! %,% 4&%.&.22!!! &! 2%% 2,% %.32!,%%%,,! 56

危险化学品废物的处理

山东建筑大学学分制管理规定(试行)

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

??? Ⅰ Ⅱ Ⅲ Ⅳ????


untitled

重庆渝开发股份有限公司




, 2016,.51,.1 7, (ε) ;,,, ;,,, [14-15], 2,( ),2,,, [14-15] (), [16],,, [17-18],, [19-20] Ⅰ,, 2 [21-22] ;,, [23],,,

人 物 春 秋 杨 永 泰 将 其 削 藩 策 略 概 括 为 : 以 经 济 方 法 瓦 解 冯 玉 祥 的 第 二 集 团 军, 以 政 治 方 法 解 决 阎 锡 山 的 第 3 集 团 军, 以 军 事 方 法 解 决 李 宗 仁 的 第 四 集 团 军, 以 外 交 方 法 对 付 张 学

Microsoft Word 養生與保健_中山大學_講義


萬里社區老人健康照護手冊

Microsoft Word - 強制汽車責任保險承保及理賠作業處理辦法 doc

Microsoft Word - 06.Understanding of Pregnancy and Birth.doc

(➂)11. 炎 炎 夏 日, 即 使 下 起 滂 沱 大 雨, 都 消 除 不 了 令 人 心 煩 的 暑 氣 這 句 話 主 要 想 表 達 什 麼? ➀ 夏 日 裡 經 常 下 著 滂 沱 大 雨, 令 人 心 煩 ➁ 下 著 滂 沱 大 雨 的 日 子, 可 以 消 除 暑 氣 ➂ 夏 日

範本檔

附 件 一 : 办 理 集 中 式 银 期 转 账 业 务 网 点 名 单 序 号 地 区 网 点 名 称 地 址 联 系 人 电 话 23 工 商 银 行 安 徽 省 铜 陵 百 大 支 行 铜 陵 市 长 江 东 路 50 号 鲁 桂 珍 工 商 银 行 安 徽

2. 二 年 級 吳 毓 秀 老 師 : 感 謝 午 餐 公 司 平 時 均 能 準 時 送 餐, 但 希 望 能 不 要 使 用 加 工 品, 且 學 生 反 映 希 望 能 多 加 蛋 品 的 食 物 3. 三 年 級 柯 阿 青 老 師 : 雞 肉 有 血 水 味, 請 午 餐 公 司 能 調

高雄市立五福國民中學九十四學年度第一學期第三次段考二年級本國語文學習領域試題卷

台北老爺校外實地參訪結案報告


糖尿病食譜



,,,,,,, (,, ),,,,,,,,,,,,,,, ,,, 4 11,, ( ),,,, ( ), :, ( ),,, 1995, 66 ; ( ),, 1996, , 3-4,,


2002 4,,, 1941,,,,,,,,,,,,,,,,,, : ;:, 1991,

11 ( 22) 12 ( 22) 13 22) 14 ( ) ( 426) 15 () ( ) 16 () ( ) 17 ( ) 18 ( ) 19 ( ) 20 ( ) 22 (

1 2 3 Ⅰ Ⅱ Ⅲ Ⅳ

Ⅰ Ⅱ 1 2 Ⅲ Ⅳ

(CIP). / - : ISBN Ⅰ. Ⅱ. Ⅲ. - - Ⅳ G CIP (2005) ( ) ( ) htp:// E /3

(CIP) / : ISBN Ⅰ Ⅱ Ⅲ Ⅳ C913 8 CIP (2007) : : 45 : :(010) ( ) (010) ( ) :(010)

(., ;, ;, ),,,,,, ( &, : ),,,, ( &, : ; - ) ( &, : ):, ( - ), ( - ),,, ( ), ( ), ( ), ( )( ),, ( ),,, ( &, ) ( &, ) ( &, ) ( &, ), *, ( ) *, ;( ) *, (

C32N25.dvi

Ⅰ Ⅱ Ⅲ Ⅳ


57v05-輸出

CIP / ISBN Ⅰ. Ⅱ. Ⅲ. Ⅳ. G CIP /

4 A C n n, AA = A A, A,,, Hermite, Hermite,, A, A A, A, A 4 (, 4,, A A, ( A C n n, A A n, 4 A = (a ij n n, λ, λ,, λ n A n n ( (Schur λ i n


1-2 二元一次聯立方程式 21 例 1 代入法判斷二元一次聯立方程式的 { x3y5 2xy3 x1y2 x3y3 x2y1 xy 二元一次式 x y x+3y x-y x2y1 x2y1 { x3y5 2xy3 { 2x3y1 xy3 x2y1


Transcription:

Maxima 在線性代數上之應用 正準形式 國立屏東教育大學應用數學系研究助理徐偉玲 weilinghsu@mail.npue.edu.tw 日期 :2009/9/8 除另有說明外, 本文件採用創用 CC 姓名標示 非商業性 2.5 台灣條款

第七章正準形式 7.1 Jordan 正準形式 Ⅰ 2. 對每一個矩陣 A, 對 L A 的每一個廣義特徵空間找一組由不相交的廣義特徵向 量循環集之聯集所組成之基底, 再求 A 的一 Jordan 正準形式 J 1 (a) 1 1 3 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們 可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指 令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計 算 jordan canonical form // 讀取 diag 模組 (%i2) A:matrix([1,1],[-1,3]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 1, 第二列元素有 -1, 3 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 1 (b)a= 3 2 2 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以 用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為

什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([1,2],[3,2])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 2, 第二列元素有 3, 2 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 11 (a) A= 21 3 4 8 1 5 11 0 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([11,-4,-5],[21,-8,-11],[3,-1,0])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 11, -4, -5, 第二列元素有 21, -8, -11, 第三列元素有 3, -1, 0

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 2 0 (b) A= 0 0 1 2 0 1 0 0 1 0 3 0 1 3 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([2,1,0,0],[0,2,1,0],[0,0,3,0],[0,1,-1,3])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, 1, 0, 0, 第二列元素有 0, 2, 1, 0, 第三列元素有 0, 0, 3, 0, 第四列元素有 0, 1, -1, 3 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出

3. 對每一個線性算子 T, 對 T 的每一個廣義特徵空間找一組由不相交之廣義特徵向量循環集之聯集所組成的基底, 再求 T 的一 Jordan 正準形式 (a) T 為 P 2 (R) 上的線性算子定義為 T ( f ( x)) = 2 f ( x) f ( x) (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([2,-1,0],[0,2,-2],[0,0,2])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, -1, 0, 第二列元素有 0, 2, -2, 第三列元素有 0, 0, 2 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 所生成的函數實向量空間, 且 T 為 V 上的線性算子定義為 T ( f ) = f (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可 2 (b) V 為由實值函數 { 1, t, t, e t, te t } 以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan

(%i2) A:matrix([0,0,0,0,0],[1,0,0,0,0],[0,2,0,0,0],[0,0,0,1,0],[0,1,0,0,1])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, 0, 0, 0, 0, 第二列元素有 1,,0,,0,,0,,0, 第三列元素有 0, 2, 0, 0, 0, 第四列元素有 0, 0, 0, 1, 0, 第五列元素有 0, 1, 0, 0, 1 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 1 1 (c) T 為 M 2 2 (R) 上的線性算子定義為 T(A)= A, A M 2 2 (R) 0 1 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) B:matrix([1,1],[0,1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 1, 第二列元素有 0, 1

1 0 (%i3) B.matrix([1,0],[0,0]); // 計算矩陣 B 乘上矩陣 0 0 0 0 (%i4) B.matrix([0,0],[1,0]); // 計算矩陣 B 乘上矩陣 1 0 0 1 (%i5) B.matrix([0,1],[0,0]); // 計算矩陣 B 乘上矩陣 0 0 0 0 (%i6) B.matrix([0,0],[0,1]); // 計算矩陣 B 乘上矩陣 = 0 1 (%i7) A:matrix([1,0,0,0],[1,1,0,0],[0,0,1,0],[0,0,1,1])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 0, 0, 0, 第二列元素有 1, 1, 0, 0, 第三列元素有 0, 0, 1, 0, 第四列元素有 0, 0, 1, 1 Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式 (%i8) jordan(a); Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式 (%i9) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出

t (c) T(A)= 2 A + A, M 2 R) A 2 ( (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([3,0,0,0],[0,2,1,0],[0,1,2,0],[0,0,0,3])$ // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 3, 0, 0, 0, 第二列元素有 0, 2, 1, 0, 第三列元素有 0, 1, 2, 0, 第四列元素有 0, 0, 0, 3 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 7.2 Jordan 正準形式 Ⅱ

3. 設 T 為有限維度向量空間 V 上的一線性算子, 使 T 的 Jordan 正準形式為 2 0 0 0 0 0 0 1 0 0 0 0 2 1 0 0 0 0 2 0 0 0 0 0 2 1 0 0 0 0 2 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 3 (a) 求 T 的特徵多項式 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) T:matrix([2,1,0,0,0,0,0],[0,2,1,0,0,0,0],[0,0,2,0,0,0,0],[0,0,0,2,1,0,0],[0,0,0,0,2,0,0],[0, 0,0,0,0,3,0],[0,0,0,0,0,0,3]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, 1, 0, 0, 0, 0, 0, 第二列元素有 0, 2, 1, 0, 0, 0, 0, 第三列元素有 0, 0, 2, 0, 0, 0, 0, 第四列元素有 0, 0, 0, 2, 1, 0, 0, 第五列元素有 0, 0, 0, 0, 2, 0, 0, 第六列元素有 0, 0, 0, 0, 0, 3, 0, 第七列元素有 0, 0, 0, 0, 0, 0, 3

(%i3) f:charpoly(t,t); 特徵多項式指令 :charpoly( 矩陣, 變數 ) // 求矩陣 T 的特 徵多項式, 名稱訂為 f (b) 求對應 T 每一特徵值的點圖 (c) 使 E λ = K λ 的特徵值 λ i 為何? i i (d) 對每一特徵值 λ i, 求最小正整數 p 使 K = N(( T λ )) i λ i i I p i (e) 令 U i 表示 T λi I 在 K λ 上的限制變換, i, 試求下列 : i ( Ⅰ) rank( U ) i ( Ⅱ) rank( U ) 2 i ( Ⅲ) nullity( U ) i ( Ⅳ) nullity( U ) 2 i 4. 對下列各矩陣 A, 求 Jordan 正準形式 J 及可逆矩陣 Q, 使 J=Q 1 AQ, 注意 (a), (b) 及 (c) 的矩陣即例 5 中使用的矩陣 3 (a) A= 7 1 3 6 1 2 3 2 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan

(%i2) A:matrix([-3,3,-2],[-7,6,-3],[1,-1,2]); // 定義一矩陣, 矩陣名稱叫作 A, 第一 列元素有 -3, 3, -2, 第二列元素有 -7, 6, -3, 第三列元素有 1, -1, 2 (%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 0 (b) A= 4 2 1 4 1 1 2 1 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([0,1,-1],[-4,4,-2],[-2,1,1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, 1, -1, 第二列元素有 -4, 4, -2, 第三列元素有 -2, 1, 1

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 0 (c) A= 3 7 1 1 5 1 2 6 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([0,-1,-1],[-3,-1,-2],[7,5,6]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, -1, -1, 第二列元素有 -3, -1, -2, 第三列元素有 7, 5, 6 (%i3) jordan(a); Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數 字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 0 2 (d) A= 2 2 3 1 1 3 1 1 1 1 2 2 2 4 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([0,-3,1,2],[-2,1,-1,2],[-2,1,-1,2],[-2,-3,1,4]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, -3, 1, 2, 第二列元素有 -2, 1, -1, 2, 第三列元素有 -2, 1, -1, 2, 第四列元素有 -2, -3, 1, 4

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 5. 對下列各線性算子 T, 求 T 的 Jordan 的正準形式及 T 的一組 Jordan 正準基底 β t t 2 t 2t (a) V 為由實值函數集 { e, te, t e, e } 所生成的函數之實向量空間, 且 T 為 V 上的線性算子定義為 T ( f ) = f (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([1,1,0,0],[0,1,2,0],[0,0,1,0],[0,0,0,2]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 1, 0, 0, 第二列元素有 0, 1, 2, 0, 第三列元素有 0, 0, 1, 0, 第四列元素有 0, 0, 0, 2

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 (b) T 為 P 3 (R) 上的線性算子定義為 T ( f ( x)) = xf ( x) (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([0,0,0,0],[0,0,0,0],[0,2,0,0],[0,0,6,0]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, 0, 0, 0, 第二列元素有 0, 0, 0, 0, 第三列元素有 0, 2, 0, 0, 第四列元素有 0, 0, 6, 0

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 (c) T 為 P 3 (R) 上的線性算子定義為 T ( f ( x)) = f ( x) + 2 f ( x) (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([2,0,0,0],[0,2,0,0],[2,0,2,0],[0,6,0,2]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, 0, 0, 0, 第二列元素有 0, 2, 0, 0, 第三列元素有 2, 0, 2, 0, 第四列元素有 0, 6, 0, 2

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 3 1 t (d) T 為 M 2 2 (R) 上的線性算子定義為 T(A)= A A 0 3 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以 用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為 什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是 很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要 使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一 矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form // 讀取 diag 模組 (%i2) A:matrix([2,0,0,0],[0,3,-1,0],[1,-1,3,0],[0,1,0,2]); // 定義一矩陣, 矩陣名稱叫 作 A, 第一列元素有 2, 0, 0, 0, 第二列元素有 0, 3, -1, 0, 第三列元素有 1, -1, 3, 0, 第四列元素有 0, 1, 0, 2

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 3 1 t (d) T 為 M 2 2 (R) 上的線性算子定義為 T(A)= ( A A ) 0 3 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 disjordan 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算正準形式 // 我們要算一矩陣的 jordan 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan (%i2) A:matrix([0,0,0,0],[-1,3,-3,0],[1,-3,3,0],[0,0,0,0]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, 0, 0, 0, 第二列元素有 -1, 3, -3, 0, 第三列元素有 1, -3, 3, 0, 第四列元素有 0, 0, 0, 0 (%i3) jordan(a); Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數 字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式

(%i4) dispjordan(%); disjordan 指令是將上列所算出 jodan form 以矩陣形式表現出來,% 是引用前面計算出來的結果 //A 的正準形式矩陣的輸出 (e) V 為項數至多為 2 的兩變數 x 及 y 之多項式函數所成的向量空間, 如例 4 所 δ δ 定義, 且 T 為 V 上的線性算子定義為 T ( f ( x, y)) = f ( x, y) + f ( x, y) δx δy 24. 利用 23 求下列各微分方程組的通解, 其中 x,y, 及 z 是實變數 t 的實值可微 分函數 (a) x = 2x + y y = 2y z z = 3z x = 2x + y (b) y = 2y + z z = 2z 7.3 最小多項式 2. 求下列各矩陣的最小多項式 (a) 2 1 1 2 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的

jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([2,1],[1,2]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, 1, 第二列元素有 1, 2 (%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 1 (b) 0 1 1 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([1,1],[0,1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 1, 第二列元素有 0, 1

(%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 4 (c) 1 1 14 4 6 5 2 4 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([4,-14,5],[1,-4,2],[1,-6,4]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 4, -14, 5, 第二列元素有 1, -4, 2, 第三列元素有 1, -6, 4

(%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 3 (d) 2 0 2 1 2 1 0 1 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([3,0,1],[2,2,2],[-1,0,1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 3, 0, 1, 第二列元素有 2, 2, 2, 第三列元素有 -1, 0, 1 (%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 3. 對下列 V 上的各線性算子 T, 求 T 的最小多項式 (a) V=R 3, 且 T(a, b)=(a+b, a-b)

(%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([1,1],[1,-1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 1, 1, 第二列元素有 1, -1 (%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (b) V=P 2 (R), 且 T ( g( x)) = g ( x) + 2g( x) (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式

(%i2) A:matrix([2,1,0],[0,2,2],[0,0,2]); 素有 2, 1, 0, 第二列元素有 0, 2, 2, 第三列元素有 0, 0, 2 // 定義一矩陣, 矩陣名稱叫作 A, 第一列元 (%i3) jordan(a); Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數 字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式 (%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (c) V=P 2 (R), 且 T ( f ( x)) = xf ( x) + f ( x) + 2 f ( x) (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([2,1,0],[0,2,0],[0,0,2]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 2, 1, 0, 第二列元素有 0, 2, 0, 第三列元素有 0, 0, 2

(%i4) minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (d) V=M n n (R), 且 T(A)=A t, 提示 : 注意 T 2 =I 7.4 有理正準形式 2. 對下面的每一個矩陣 A M n n (F), 求矩陣 A 的有理正準形式 C 及矩陣, 1 Q M n n (F), 使 Q AQ = C 3 (a) A= 0 0 1 3 0 0 1,F=R 3 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式

(%i2) A:matrix([3,1,0],[0,3,1],[0,0,3]); 素有 3, 1, 0, 第二列元素有 0, 3, 1, 第三列元素有 0, 0, 3 // 定義一矩陣, 矩陣名稱叫作 A, 第一列元 (%i4) f:minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (%i5) expand(f); 多項式展開指令 :expand( 多項式名稱 ) // 將最小多項式 f 展開 (%i6) C:matrix([0,0,27],[1,0,-27],[0,1,9]); //// 定義一矩陣, 矩陣名稱叫作 C, 第一 列元素有 0, 0, 27, 第二列元素有 1, 0, -27, 第三列元素有 0, 1, 9 0 (b) A= 1 1,F=R 1 0 (c) A= 1 1,F=C 1 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些

指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([0,-1],[1,-1]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, -1, 第二列元素有 1, -1 (%i4) f:minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (%i5) expand(f); 多項式展開指令 :expand( 多項式名稱 ) // 將最小多項式 f 展開 (%i6) C:matrix([-(sqrt(3)*%i-1)/2,0],[0,(sqrt(3)*%i+1)/2]); // 定義一矩陣, 矩陣名 1 3i 稱叫作 C, 第一列元素有 2, 0, 第二列元素有 0, 3 i +1 2

0 1 (d) A= 0 0 7 4 4 4 14 6 9 11 6 3,F=R 4 5 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([0,-7,14,-6],[1,-4,6,-3],[0,-4,9,-4],[0,-4,11,-5]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, -7, 14, -6, 第二列元素有 1, -4, 6, -3, 第三列元素有 0, -4, 9, -4, 第四列元素有 0, -4, 11, -5 (%i3) jordan(a); Jordan form 指令 :jordan( 矩陣 ), 但 jordan 指令只會把算出的數 字在 Maxima 上分類列舉出來 // 求矩陣 A 的正準形式 (%i4) f:minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果 (%i5) expand(f); 多項式展開指令 :expand( 多項式名稱 ) // 將最小多項式 f 展開 (%i6) C:matrix([0,-1,0,0],[1,0,0,0],[0,0,0,-1],[0,0,1,0]); // 定義一矩陣, 矩陣名稱叫 作 C, 第一列元素有 0, -1, 0, 0, 第二列元素有 1, 0, 0, 0, 第三列元素有 0, 0, 0, -1,

第四列元素有 0, 0, 1, 0 0 1 (e)a= 0 0 4 1 1 1 12 3 6 8 7 3,F=R 4 5 (%i1) load("diag")$ Maxima 本身是 不會 算 jordan 跟 minimal polynomial 的, 我們可以用適當的模組來做這件事, 所謂模組就是一段小程式, 通常是增加一些指令, 為什麼 Maxima 一開始就把這些模組都加進來? 那是因為一來太佔記憶體, 一來是很多對某些人很重要的指令也許你永遠也沒用到 我們要算一矩陣的 jordanc minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令和 minimalpoly 指令去計算正準形式跟最小多項式 // 我們要算一矩陣的 jordan 和 minimalpoly 要使用 diag 這個模組, 此模組提供了 jordan 指令去計算 jordan canonical form 和 minimalpoly 指令去算最小多項式 (%i2) A:matrix([0,-4,12,-7],[1,-1,3,-3],[0,-1,6,-4],[0,-1,8,-5]); // 定義一矩陣, 矩陣名稱叫作 A, 第一列元素有 0, -4, 12, -7, 第二列元素有 1, -1, 3, -3, 第三列元素有 0, -1, 6, -4, 第四列元素有 0, -1, 8, -5 (%i4) f:minimalpoly(%); 最小多項式指令 :minimalpoly( 矩陣 ) // 求矩陣 A 的最 小多項式,% 是表示引用前面所計算出來的結果

(%i5) expand(f); 多項式展開指令 :expand( 多項式名稱 ) // 將最小多項式 f 展開 (%i6) C:matrix([0,-2,0,0],[1,0,0,0],[0,0,0,-3],[0,0,1,0]); // 定義一矩陣, 矩陣名稱叫作 C, 第一列元素有 0, -2, 0, 0, 第二列元素有 1, 0, 0, 0, 第三列元素有 0, 0, 0,-3, 第四列元素有 0, 0, 1, 0 3. 對下面各線性算子 T, 求其基本約式, 有理正準形式 C, 及一組有理正準基底 β (a) T 為 P 3 (R) 上的線性算子定義為 T ( f ( x)) = f (0) x f (1) (b) 令 S={sinx,cosx,xsinx,xcosx} 為 F(R,R) 的一子集合, 且令 V=span(S), 定義 T 為 V 上的線性算子滿足 T ( f ) = f 0 1 (c) T 為 M 2 2 (R) 上的線性算子定義為 T (A) = A 1 1 (d) 令 S={sinxsiny,sinxcosy,cosxsiny,cosxcosy} 為 F(R R,R) 的一子集合, 且 f ( x, y) f ( x, y) 令 V=span(S), 定義 T 為 V 上的線性算子滿足 T ( f )( x, y) = + x y