let n be Nat; for K being Field
for M being diagonal Matrix of n,K st the_rank_of M = n holds
lines M is Basis of (n -VectSp_over K)
let K be Field; for M being diagonal Matrix of n,K st the_rank_of M = n holds
lines M is Basis of (n -VectSp_over K)
let M be diagonal Matrix of n,K; ( the_rank_of M = n implies lines M is Basis of (n -VectSp_over K) )
assume A1:
the_rank_of M = n
; lines M is Basis of (n -VectSp_over K)
set lM = lines M;
set V = n -VectSp_over K;
reconsider V9 = n -VectSp_over K as Subspace of n -VectSp_over K by VECTSP_4:24;
now for v being Vector of (n -VectSp_over K) holds
( ( v in Lin (lines M) implies v in V9 ) & ( v in V9 implies v in Lin (lines M) ) )let v be
Vector of
(n -VectSp_over K);
( ( v in Lin (lines M) implies v in V9 ) & ( v in V9 implies v in Lin (lines M) ) )thus
(
v in Lin (lines M) implies
v in V9 )
;
( v in V9 implies v in Lin (lines M) )thus
(
v in V9 implies
v in Lin (lines M) )
verumproof
reconsider t =
v as
Element of
n -tuples_on the
carrier of
K by Th102;
assume
v in V9
;
v in Lin (lines M)
deffunc H1(
Nat)
-> Element of
(width M) -tuples_on the
carrier of
K =
((t /. $1) * ((M * ($1,$1)) ")) * (Line (M,$1));
consider f being
FinSequence of
(width M) -tuples_on the
carrier of
K such that A2:
len f = n
and A3:
for
j being
Nat st
j in dom f holds
f . j = H1(
j)
from FINSEQ_2:sch 1();
A4:
dom f = Seg n
by A2, FINSEQ_1:def 3;
width M = n
by MATRIX_0:24;
then reconsider f =
f as
FinSequence of the
carrier of
(n -VectSp_over K) by Th102;
reconsider M1 =
FinS2MX f as
Matrix of
n,
K by A2;
now for i being Nat st i in Seg n holds
ex a being Element of K st Line (M1,i) = a * (Line (M,i))let i be
Nat;
( i in Seg n implies ex a being Element of K st Line (M1,i) = a * (Line (M,i)) )assume A5:
i in Seg n
;
ex a being Element of K st Line (M1,i) = a * (Line (M,i)) Line (
M1,
i) =
M1 . i
by A5, MATRIX_0:52
.=
H1(
i)
by A3, A4, A5
;
hence
ex
a being
Element of
K st
Line (
M1,
i)
= a * (Line (M,i))
;
verum end;
then consider L being
Linear_Combination of
lines M such that A6:
L (#) (MX2FinS M) = M1
by A1, Th105, Th108;
set MX =
MX2FinS M;
A7:
len t = n
by CARD_1:def 7;
reconsider SumL =
Sum L as
Element of
n -tuples_on the
carrier of
K by Th102;
A8:
Carrier L c= lines M
by VECTSP_6:def 4;
A9:
now for i being Nat st 1 <= i & i <= n holds
SumL . i = t . iset diag =
diagonal_of_Matrix M;
let i be
Nat;
( 1 <= i & i <= n implies SumL . i = t . i )assume that A10:
1
<= i
and A11:
i <= n
;
SumL . i = t . iA12:
i in Seg n
by A10, A11;
then A13:
(diagonal_of_Matrix M) . i = M * (
i,
i)
by MATRIX_3:def 10;
len (diagonal_of_Matrix M) = n
by MATRIX_3:def 10;
then A14:
dom (diagonal_of_Matrix M) = Seg n
by FINSEQ_1:def 3;
A15:
width M = n
by MATRIX_0:24;
then A16:
(Line (M,i)) . i = M * (
i,
i)
by A12, MATRIX_0:def 7;
set C =
Col (
M1,
i);
A17:
dom t = Seg n
by FINSEQ_2:124;
len (Col (M1,i)) = len M1
by MATRIX_0:def 8;
then A18:
dom (Col (M1,i)) = Seg (len M1)
by FINSEQ_1:def 3;
len M = n
by MATRIX_0:24;
then A19:
dom M = Seg n
by FINSEQ_1:def 3;
A20:
Det M <> 0. K
by A1, Th83;
A21:
len M1 = n
by MATRIX_0:24;
then A22:
dom M1 = Seg n
by FINSEQ_1:def 3;
Det M = Product (diagonal_of_Matrix M)
by A10, A11, MATRIX_7:17, NAT_1:14;
then A23:
(diagonal_of_Matrix M) . i <> 0. K
by A12, A20, A14, FVSUM_1:82;
A24:
Line (
M1,
i) =
M1 . i
by A12, MATRIX_0:52
.=
((t /. i) * ((M * (i,i)) ")) * (Line (M,i))
by A3, A12, A22
;
A25:
width M1 = n
by MATRIX_0:24;
now for k being Nat st k in dom (Col (M1,i)) & k <> i holds
0. K = (Col (M1,i)) . klet k be
Nat;
( k in dom (Col (M1,i)) & k <> i implies 0. K = (Col (M1,i)) . k )assume that A26:
k in dom (Col (M1,i))
and A27:
k <> i
;
0. K = (Col (M1,i)) . kA28:
[k,i] in Indices M
by A21, A15, A12, A18, A19, A26, ZFMISC_1:87;
A29:
(Line (M,k)) . i =
M * (
k,
i)
by A15, A12, MATRIX_0:def 7
.=
0. K
by A27, A28, MATRIX_1:def 6
;
A30:
(MX2FinS M) /. k =
M . k
by A21, A18, A19, A26, PARTFUN1:def 6
.=
Line (
M,
k)
by A21, A18, A26, MATRIX_0:52
;
Line (
M1,
k) =
M1 . k
by A18, A26, MATRIX_0:52
.=
(L . ((MX2FinS M) /. k)) * ((MX2FinS M) /. k)
by A6, A21, A18, A22, A26, VECTSP_6:def 5
.=
(L . ((MX2FinS M) /. k)) * (Line (M,k))
by A15, A30, Th102
;
then (Line (M1,k)) . i =
(L . ((MX2FinS M) /. k)) * (0. K)
by A15, A12, A29, FVSUM_1:51
.=
0. K
;
hence 0. K =
M1 * (
k,
i)
by A25, A12, MATRIX_0:def 7
.=
(Col (M1,i)) . k
by A21, A18, A22, A26, MATRIX_0:def 8
;
verum end; then (Col (M1,i)) . i =
Sum (Col (M1,i))
by A21, A12, A18, MATRIX_3:12
.=
SumL . i
by A1, A6, A8, A12, Th105, Th107
;
hence SumL . i =
M1 * (
i,
i)
by A12, A22, MATRIX_0:def 8
.=
(Line (M1,i)) . i
by A25, A12, MATRIX_0:def 7
.=
((t /. i) * ((M * (i,i)) ")) * (M * (i,i))
by A15, A12, A24, A16, FVSUM_1:51
.=
(t /. i) * (((M * (i,i)) ") * (M * (i,i)))
by GROUP_1:def 3
.=
(t /. i) * (1_ K)
by A23, A13, VECTSP_1:def 10
.=
t /. i
.=
t . i
by A12, A17, PARTFUN1:def 6
;
verum end;
len SumL = n
by CARD_1:def 7;
then
SumL = t
by A7, A9;
hence
v in Lin (lines M)
by VECTSP_7:7;
verum
end; end;
then A31:
Lin (lines M) = ModuleStr(# the carrier of (n -VectSp_over K), the addF of (n -VectSp_over K), the ZeroF of (n -VectSp_over K), the lmult of (n -VectSp_over K) #)
by VECTSP_4:30;
lines M is linearly-independent
by A1, Th110;
hence
lines M is Basis of (n -VectSp_over K)
by A31, VECTSP_7:def 3; verum