Documentation

Monlib.LinearAlgebra.ToMatrixOfEquiv

to_matrix_of_equiv #

This defines the identification $L(M_{n \times m})\cong_{a} M_{n \times m}$ (see linear_map.to_matrix_of_alg_equiv; also see matrix.to_lin_of_alg_equiv).

noncomputable def OrthonormalBasis.toMatrix {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {E : Type u_3} [Fintype n] [DecidableEq n] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] (b : OrthonormalBasis n ๐•œ E) :
(E โ†’โ‚—[๐•œ] E) โ‰ƒโ‹†โ‚[๐•œ] Matrix n n ๐•œ

the star-algebraic isomorphism from E โ†’โ‚—[๐•œ] E to the matrix ring M_n(๐•œ) given by the orthonormal basis b on E

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem OrthonormalBasis.toMatrix_apply {๐•œ : Type u_3} [RCLike ๐•œ] {n : Type u_1} {E : Type u_2} [Fintype n] [DecidableEq n] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] (b : OrthonormalBasis n ๐•œ E) (x : E โ†’โ‚—[๐•œ] E) (i : n) (j : n) :
    b.toMatrix x i j = inner (b i) (x (b j))
    theorem OrthonormalBasis.toMatrix_symm_apply {๐•œ : Type u_3} [RCLike ๐•œ] {n : Type u_1} {E : Type u_2} [Fintype n] [DecidableEq n] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] (b : OrthonormalBasis n ๐•œ E) (x : Matrix n n ๐•œ) :
    b.toMatrix.symm x = โˆ‘ i : n, โˆ‘ j : n, x i j โ€ข โ†‘(((rankOne ๐•œ) (b i)) (b j))
    theorem OrthonormalBasis.toMatrix_symm_apply' {๐•œ : Type u_3} [RCLike ๐•œ] {n : Type u_1} {E : Type u_2} [Fintype n] [DecidableEq n] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] (b : OrthonormalBasis n ๐•œ E) (x : Matrix n n ๐•œ) :
    b.toMatrix.symm x = b.repr.symm.conj (Matrix.toEuclideanLin x)
    theorem orthonormalBasis_toMatrix_eq_basis_toMatrix {๐•œ : Type u_3} [RCLike ๐•œ] {n : Type u_1} {E : Type u_2} [Fintype n] [DecidableEq n] [NormedAddCommGroup E] [InnerProductSpace ๐•œ E] [FiniteDimensional ๐•œ E] (b : OrthonormalBasis n ๐•œ E) :
    LinearMap.toMatrixAlgEquiv b.toBasis = b.toMatrix.toAlgEquiv
    def EuclideanSpace.orthonormalBasis (ฮน : Type u_1) (๐•œ : Type u_3) [RCLike ๐•œ] [Fintype ฮน] :
    OrthonormalBasis ฮน ๐•œ (EuclideanSpace ๐•œ ฮน)

    Alias of EuclideanSpace.basisFun.


    The basis Pi.basisFun, bundled as an orthornormal basis of EuclideanSpace ๐•œ ฮน.

    Equations
    Instances For
      theorem EuclideanSpace.orthonormalBasis.repr_eq_one {๐•œ : Type u_2} [RCLike ๐•œ] {n : Type u_1} [Fintype n] [DecidableEq n] :
      (EuclideanSpace.orthonormalBasis n ๐•œ).repr = 1
      theorem LinearIsometryEquiv.toLinearEquiv_one {R : Type u_1} {E : Type u_2} [_inst_1 : Semiring R] [_inst_25 : SeminormedAddCommGroup E] [_inst_29 : Module R E] :
      theorem LinearEquiv.one_symm {R : Type u_1} {E : Type u_2} [Semiring R] [AddCommMonoid E] [Module R E] :
      theorem LinearEquiv.toLinearMap_one {R : Type u_1} {E : Type u_2} [Semiring R] [AddCommMonoid E] [Module R E] :
      โ†‘1 = 1
      theorem LinearEquiv.refl_conj {R : Type u_1} {E : Type u_2} [CommSemiring R] [AddCommMonoid E] [Module R E] :
      (LinearEquiv.refl R E).conj = 1
      theorem LinearEquiv.conj_hMul {R : Type u_1} {E : Type u_2} {F : Type u_3} [CommSemiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] (f : E โ‰ƒโ‚—[R] F) (x : Module.End R E) (y : Module.End R E) :
      f.conj (x * y) = f.conj x * f.conj y
      theorem LinearEquiv.conj_apply_one {R : Type u_1} {E : Type u_2} {F : Type u_3} [CommSemiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] (f : E โ‰ƒโ‚—[R] F) :
      f.conj 1 = 1
      theorem LinearEquiv.one_apply {R : Type u_1} {E : Type u_2} [CommSemiring R] [AddCommMonoid E] [Module R E] (x : E) :
      1 x = x
      theorem OrthonormalBasis.std_toMatrix {๐•œ : Type u_2} [RCLike ๐•œ] {n : Type u_1} [Fintype n] [DecidableEq n] :
      (EuclideanSpace.orthonormalBasis n ๐•œ).toMatrix.symm.toLinearEquiv = Matrix.toEuclideanLin
      theorem Matrix.stdBasis_repr_eq_reshape {R : Type u_1} {I : Type u_2} {J : Type u_3} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] :
      (Matrix.stdBasis R I J).equivFun = Matrix.reshape
      def LinearEquiv.innerConj {R : Type u_1} {E : Type u_2} {F : Type u_3} [CommSemiring R] [AddCommMonoid E] [AddCommMonoid F] [Module R E] [Module R F] (ฯฑ : E โ‰ƒโ‚—[R] F) :
      Equations
      Instances For
        theorem LinearMap.toMatrix_stdBasis_stdBasis {R : Type u_5} [CommSemiring R] {I : Type u_1} {J : Type u_2} {K : Type u_3} {L : Type u_4} [Fintype I] [Fintype J] [Fintype K] [Fintype L] [DecidableEq I] [DecidableEq J] (x : Matrix I J R โ†’โ‚—[R] Matrix K L R) :
        (LinearMap.toMatrix (Matrix.stdBasis R I J) (Matrix.stdBasis R K L)) x = LinearMap.toMatrix' (โ†‘Matrix.reshape โˆ˜โ‚— x โˆ˜โ‚— โ†‘Matrix.reshape.symm)
        theorem LinearMap.toLin_stdBasis_stdBasis {R : Type u_5} [CommSemiring R] {I : Type u_1} {J : Type u_2} {K : Type u_3} {L : Type u_4} [Fintype I] [Fintype J] [Fintype K] [Fintype L] [DecidableEq I] [DecidableEq J] (x : Matrix (K ร— L) (I ร— J) R) :
        (Matrix.toLin (Matrix.stdBasis R I J) (Matrix.stdBasis R K L)) x = โ†‘Matrix.reshape.symm โˆ˜โ‚— Matrix.toLin' x โˆ˜โ‚— โ†‘Matrix.reshape
        def LinearMap.toMatrixOfAlgEquiv {R : Type u_1} {I : Type u_2} {J : Type u_3} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] :
        Equations
        • LinearMap.toMatrixOfAlgEquiv = Matrix.reshape.innerConj.trans LinearMap.toMatrixAlgEquiv'
        Instances For
          theorem LinearMap.toMatrixOfAlgEquiv_apply {R : Type u_1} {I : Type u_3} {J : Type u_2} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix I J R โ†’โ‚—[R] Matrix I J R) :
          LinearMap.toMatrixOfAlgEquiv x = LinearMap.toMatrixAlgEquiv' (โ†‘Matrix.reshape โˆ˜โ‚— x โˆ˜โ‚— โ†‘Matrix.reshape.symm)
          theorem LinearMap.toMatrixOfAlgEquiv_symm_apply {R : Type u_3} {I : Type u_2} {J : Type u_1} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix (I ร— J) (I ร— J) R) :
          LinearMap.toMatrixOfAlgEquiv.symm x = โ†‘Matrix.reshape.symm โˆ˜โ‚— LinearMap.toMatrixAlgEquiv'.symm x โˆ˜โ‚— โ†‘Matrix.reshape
          theorem LinearMap.toMatrixOfAlgEquiv_apply' {R : Type u_1} {I : Type u_3} {J : Type u_2} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix I J R โ†’โ‚—[R] Matrix I J R) (ij : I ร— J) (kl : I ร— J) :
          LinearMap.toMatrixOfAlgEquiv x ij kl = x (Matrix.stdBasisMatrix kl.1 kl.2 1) ij.1 ij.2
          def Matrix.toLinOfAlgEquiv {R : Type u_1} {I : Type u_2} {J : Type u_3} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] :
          Equations
          • Matrix.toLinOfAlgEquiv = LinearMap.toMatrixOfAlgEquiv.symm
          Instances For
            theorem Matrix.toLinOfAlgEquiv_apply {R : Type u_3} {I : Type u_2} {J : Type u_1} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix (I ร— J) (I ร— J) R) (y : Matrix I J R) :
            (Matrix.toLinOfAlgEquiv x) y = Matrix.reshape.symm ((Matrix.toLinAlgEquiv' x) (Matrix.reshape y))
            def Matrix.rankOneStdBasis {R : Type u_1} [CommSemiring R] {I : Type u_2} {J : Type u_3} [DecidableEq I] [DecidableEq J] (ij : I ร— J) (kl : I ร— J) (r : R) :
            Equations
            Instances For
              theorem Matrix.rankOneStdBasis_apply {R : Type u_3} [CommSemiring R] {I : Type u_1} {J : Type u_2} [DecidableEq I] [DecidableEq J] (ij : I ร— J) (kl : I ร— J) (r : R) (x : Matrix I J R) :
              (Matrix.rankOneStdBasis ij kl r) x = Matrix.stdBasisMatrix ij.1 ij.2 (r โ€ข r โ€ข x kl.1 kl.2)
              theorem Matrix.toLinOfAlgEquiv_eq {R : Type u_3} {I : Type u_2} {J : Type u_1} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix (I ร— J) (I ร— J) R) :
              Matrix.toLinOfAlgEquiv x = โˆ‘ ij : I ร— J, โˆ‘ kl : I ร— J, x ij kl โ€ข Matrix.rankOneStdBasis ij kl 1
              theorem Matrix.toLinOfAlgEquiv_toMatrixOfAlgEquiv {R : Type u_3} {I : Type u_2} {J : Type u_1} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix (I ร— J) (I ร— J) R) :
              LinearMap.toMatrixOfAlgEquiv (Matrix.toLinOfAlgEquiv x) = x
              theorem LinearMap.toMatrixOfAlgEquiv_toLinOfAlgEquiv {R : Type u_1} {I : Type u_3} {J : Type u_2} [Fintype I] [Fintype J] [CommSemiring R] [DecidableEq I] [DecidableEq J] (x : Matrix I J R โ†’โ‚—[R] Matrix I J R) :
              Matrix.toLinOfAlgEquiv (LinearMap.toMatrixOfAlgEquiv x) = x
              theorem innerAut_toMatrix {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] [DecidableEq n] (U : โ†ฅ(Matrix.unitaryGroup n ๐•œ)) :
              LinearMap.toMatrixOfAlgEquiv (Matrix.innerAut U) = Matrix.kroneckerMap (fun (x1 x2 : ๐•œ) => x1 * x2) (โ†‘U) (โ†‘U).conj
              theorem innerAut_coord {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] [DecidableEq n] (U : โ†ฅ(Matrix.unitaryGroup n ๐•œ)) (ij : n ร— n) (kl : n ร— n) :
              LinearMap.toMatrixOfAlgEquiv (Matrix.innerAut U) ij kl = โ†‘U ij.1 kl.1 * star (โ†‘U ij.2 kl.2)
              theorem innerAut_inv_coord {n : Type u_1} [Fintype n] [DecidableEq n] (U : โ†ฅ(Matrix.unitaryGroup n โ„‚)) (ij : n ร— n) (kl : n ร— n) :
              LinearMap.toMatrixOfAlgEquiv (Matrix.innerAut Uโปยน) ij kl = โ†‘U kl.2 ij.2 * star (โ†‘U kl.1 ij.1)