#import "../../utils/core.typ": *

== Матрица линейного отображения

#ticket[Свойство универсальности базиса. Пространство линейных отображений]

#pr[
    Пусть $V$, $W$ --- линейные пространства над $K$. $e_1, ..., e_n #[--- базис] V$, $sq(w) in W$.
    Тогда $exists! Aa in Hom(V, W): Aa e_i = w_i, i = 1, ..., n$.
]

#proof[
    - #[
        "Единственность": Пусть $Aa$ --- как в условии, $v = alpha_1 e_1 + ... + alpha_n e_n$. Тогда  $Aa v = alpha_1 Aa e_1 + ... + alpha_n Aa e_n = alpha_1 w_1 + ... + alpha_n w_n. $ 
        В силу единственности разложения в базисе, получается, что линейное отображение однозначно определяется своими значениями на базисных векторах.
    ]
    - #[
        "Существование":
        Рассмотрим $alpha_1 w_1 + ... + alpha_n w_n = Aa(alpha_1 e_1 + ... + alpha_n e_n)$. Оно подходит.
    ]
]

#def[
    Пусть $dim V = n, dim W = m$, $E = (sq(e))$ --- базис $V$, а $F = (sq(f, m))$ --- базис $W$. $Aa in Hom(V, W)$.

    _Матрицей линейного отображения $Aa$ в базисах $E, F$_ называется:
    $ [Aa]_(E, F) = A = ([Aa e_1]_F, [Aa e_2]_F, ..., [Aa e_n]_F) in M_(m,n)(K) $
]

#example[
    - $V = W = {f in K[X] bar zws deg f <= 2}$, $E = (1, x, x^2) = F$, $Aa: f maps 5f - f'$. #h(1fr)
        $ mat(5, -1, 0; 0, 5, -2; 0, 0, 5) = [A]_(E, F) $
]

#ticket[Изменение координат вектора под действием линейного отображения]

#pr[
    $Aa: V --> W$, $v in V$, $E$ и $F$ --- базисы, $A := [Aa]_(E, F)$ --- знаем, тогда $[Aa v]_F = A mul [v]_E$.
]
#proof[
    $v = E mul [v]_E$, $underbrace(F dot [Aa v]_F, in K^m) = Aa v = Aa E mul [v]_E = (F A)[v]_E = F(A mul [v]_e)$ \
    $F$ --- базис $==> [Aa v]_F = A mul [v]_E$
]

#example[
    Пусть $V = K[x]_(<=2)$, $W = K[x]_(<=1)$, $Aa: f maps f'$, $E = (x^2, x, 1)$, $F = (1, x)$. Тогда
    $
        A = [Aa]_(E, F) = mat(0, 1, 0; 2, 0, 0).
    $
    Посчитаем производную $3x^2 - 5x + 7$:
    $
        [Aa(3x^2 - 5x + 7)]_F = A mul [3x^2 - 5x + 7]_E = mat(0, 1, 0; 2, 0, 0) mul mat(3; -5; 7) = mat(-5; 6) = [6x - 5]_F.
    $
    Еще отметим, что $Aa E = F A$:
    $
        Aa E = (2x, 1, 0) = (1, x) mat(0, 1, 0; 2, 0, 0) = F A.
    $
]

#def[
    _Изоморфизмом_ между линейными пространствами $V$ и $W$ называется биективный гомоморфизм $phi in Hom(V, W)$.
    Линейные пространства называют _изоморфными_, если между ними существует изоморфизм.
]

#pr[
    Пусть $phi: V --> W$ --- изоморфизм, $sq(e)$ --- базис $V$. Тогда $phi(e_1), ..., phi(e_n)$ --- базис $W$.
]

#proof[
    $ w in W ==> w = phi(v) = phi(alpha_1e_1 + ... + alpha_n e_n) = alpha_1phi(e_1) + ... + alpha_n phi(e_n) in Lin(phi(e_1), ..., phi(e_n)). $
    $ alpha_1 phi(e_1) + ... + alpha_n phi(e_n) = phi(alpha_1 e_1 + ... + alpha_n e_n) = 0 ==> alpha_1 e_1 + ... + alpha_n e_n = 0 ==> alpha_1 = ... = alpha_n = 0 $
]

#notice[
    Чтобы построить непосредственно изоморфизм, нужно зафиксивать базис $E$ пространства $V.$ Получим изоморфизм $K^n  limits(-->)^(phi_E) V$, и аналогично $K^m limits(-->)^(phi_F) W.$ Тогда любое линейное отображение $Aa$ после применения обратных изоморфизмов $phi_E^(-1)$ и $phi_F^(-1)$ превращается в матричное отображение.
]

#pr[
    Пусть $E$ --- базис $V$, $n = dim V$, $F$ --- базис $W$, $m = dim W$. Тогда $Hom(V, W) --> M_(m, n)(K)$ --- изоморфизм линейных пространств.    
]

#proof-left-to-the-reader()

#follow[
    $dim Hom(V, W) = (dim V) mul (dim W)$.
]

#ticket[Матрица композиции линейных отображений]

#pr[
    Пусть $Aa in Hom(U, V)$, $Bb in Hom(V, W)$; $E, F, G$ --- базисы $U, V, W$. Тогда $ [Bb Aa]_(E, G) = underbrace([Bb]_(F, G), B) underbrace([Aa]_(E,F), A) $
]

#proof[
    $
        cases(Aa E = F A, Bb F = G B) ==> Bb Aa E = (Bb F) A = G B A = G (B A) = G [Bb Aa]_(E, G) ==> [Bb Aa]_(E, G) = B A.
    $
]

#ticket[Изменение матрицы линейного отображения при замене базисов]

#pr[
    Рассмотрим $Aa in Hom(V, W)$, $E, E'$ --- базисы $V$, $F, F'$ --- базисы $W$. Тогда $ [Aa]_(E', F') = M_(F' --> F) mul [Aa]_(E, F) mul M_(E --> E') $
]


#import "../../packages/commute.typ": *

#proof[
    Пусть матрица $[Aa]_(E, F)$ --- это какая-то матрица $A$. Пусть дан вектор $v in V$.
    Его можно записать в координатах $E$, домножить на матрицу $A$, получив координаты $Aa v$ в базисе $F$, и записать обратно в базисе $F$, получив $[Aa v]_F$.

    #align(center)[#commutative-diagram(
        node((0, 0), [$V$]),
        node((0, 1), [$W$]),
        node((1, 0), [$K^(dim V) (E)$]),
        node((1, 1), [$K^(dim W) (F)$]),
        arr((0, 0), (0, 1), [$Aa$]),
        arr((0, 0), (1, 0), [$[v]_E$], "bij"),
        arr((0, 1), (1, 1), [$[Aa v]_F$], label_pos: 1.5em, "bij"),
        arr((1, 0), (1, 1), [$times A$]),
    )]

    Мы же хотим понять, что произойдет с вектором в базисе $E'$ при его переводе в базис $F'$.
    Из координат вектора в $E'$ можно восстановить вектор $v$, а затем перевести его в базис $E$.
    Аналогично координаты $Aa v$ в базисе $F$ можно превратить в $Aa v$, а затем записать этот вектор в координатах в базисе $F'$.

    #align(center)[#commutative-diagram(
        node((1, 0), [$K^(dim V) (E')$]),
        node((0, 1), [$V$]),
        node((0, 2), [$W$]),
        node((1, 1), [$K^(dim V) (E)$]),
        node((1, 2), [$K^(dim W) (F)$]),
        node((1, 3), [$K^(dim W) (F')$]),
        arr((1, 0), (0, 1), [$[v]_(E')$], "bij", curve: 30deg, label_pos: -1.2em),
        arr((0, 1), (0, 2), [$Aa$]),
        arr((0, 1), (1, 1), [$[v]_E$], "bij"),
        arr((0, 2), (1, 2), [$[Aa v]_F$], label_pos: 1.5em, "bij"),
        arr((1, 1), (1, 2), [$A times$]),
        arr((0, 2), (1, 3), [$[Aa v]_(F')$], "bij", curve: 30deg, label_pos: -1.5em),
    )]

    То есть, мы как бы хотим посчитать страшную матрицу 
    $
        [Aa]_(E', F') = [F dot A dot [(E' [v]_(E'))]_E]_(F')
    $
    Однако мы постоянно переходим из координат в векторные пространства, и наоборот. Как избавиться от таких переходов? Объединив преобразования туда и обратно через матрицы перехода. Действительно,
    $
        [E' [v]_(E')]_E = M_(E -> E') [v]_(E').
    $

    #align(center)[#commutative-diagram(
        node((1, 0), $K^(dim V) (E')$),
        node((0, 1), $V$),
        node((0, 2), $W$),
        node((1, 1), $K^(dim V) (E)$),
        node((1, 2), $K^(dim W) (F)$),
        node((1, 3), $K^(dim W) (F')$),
        arr((1, 0), (0, 1), $[v]_(E')$, "bij", curve: 30deg, label_pos: -1.2em),
        arr((0, 1), (0, 2), $Aa$),
        arr((0, 1), (1, 1), $[v]_E$, "bij"),
        arr((0, 2), (1, 2), $[Aa v]_F$, label_pos: 1.5em, "bij"),
        arr((1, 1), (1, 2), $A times$),
        arr((0, 2), (1, 3), $[Aa v]_(F')$, "bij", curve: 30deg, label_pos: -1.5em),
        arr((1, 0), (1, 1), $M_(E -> E') times$, curve: -20deg, label_pos: 0.5em),
        arr((1, 3), (1, 2), $M_(F' -> F) times$, curve: +20deg, label_pos: -0.5em),
        arr((1, 2), (1, 3), $M_(F -> F') times$, curve: +20deg, label_pos: -1em),
    )]

    Прочитаем то что снизу, и получим что хотим.

    $ [Aa]_(E', F') = M_(F' --> F) mul A mul M_(E --> E') $
]

#magic[
    Давайте я еще оставлю легаси объяснение, которое тут было, но которое кажется мне какой-то магией.

    $ Aa: limits(V)^(E, E') --> limits(W)^(F, F') $
    $ [Aa]_(E, F) = A, [Aa]_(E', F') = ? $
    $ Aa = Id_W compose Aa compose Id_V $
    $ [Aa]_(E', F') = [Id_W]_(F, F') mul A mul [Id_v]_(E', E) = M_(F' --> F) mul A mul M_(E --> E') $
    $ [Aa]_(E', F') = M_(F' --> F) mul A mul M_(E --> E') $

    #align(center)[#commutative-diagram(
        node((0, 0), [$V$]),
        node((0, 1), [$W$]),
        node((1, 0), [$V$]),
        node((1, 1), [$W$]),
        arr((0, 0), (0, 1), [$Aa$]),
        arr((1, 0), (0, 0), [$"id"_V$]),
        arr((0, 1), (1, 1), [$"id"_W$]),
        arr((1, 0), (1, 1), [$Aa$], "dashed"),
    )]
]

#pr[
    Пусть $V$, $W$ --- конечномерные, $Aa in Hom(V, W)$. Тогда в $V$ и $W$ существуют базисы $E$ и $F$ такие, что $[Aa]_(E, F)$ --- окаймленная единичная.
]

#proof[
    Пусть $E, F$ --- произвольные базисы $V, W$, тогда
    $ Aa E = F A ==> Aa E = F P D Q ==> Aa (E Q^(-1)) = (F P) D $
    Тогда в базисах $E Q^(-1), F P$ матрица этого линейного отображения будет единичной окаймленной.
]
