.. _SectGrpLieHom:

.. _homomorphism:

Algebraic Homomorphisms
=======================

.. magma:function:: GroupOfLieTypeHomomorphism(phi, k)
   :input_types: Map, Rng
   :output_types: .
   :label: GroupOfLieTypeHomomorphism_Map_Rng

   The algebraic homomorphism of groups of Lie type over the ring :math:`k`
   corresponding to the root datum morphism :math:`\phi`. See
   Chapter :ref:`ChapGrpLie`.

.. magma:example:: Example: Creating Root Data Homomorphisms
   :label: CreatingRootDataHomomorphisms

   This example constructs the algebraic projection
   :math:`{GL}_4({\mathbb{Q}})\to{PGL}_4({\mathbb{Q}})`.

   .. code-block:: magma

      > RGL := StandardRootDatum( "A", 3 );
      > RPGL := RootDatum( "A3" );
      > A := VerticalJoin( SimpleRoots(RGL), Vector([Rationals()|1,1,1,1]) )^-1 *
      >   VerticalJoin( SimpleRoots(RPGL), Vector([Rationals()|0,0,0]) );
      > B := VerticalJoin( SimpleCoroots(RGL), Vector([Rationals()|1,1,1,1]) )^-1 *
      >   VerticalJoin( SimpleCoroots(RPGL), Vector([Rationals()|0,0,0]) );
      > phi := GroupOfLieTypeHomomorphism( hom< RGL -> RPGL | A, B >, Rationals() );
      > GL := Domain( phi );                                 
      > phi( elt<GL|<1,2>, Vector([Rationals()| 7,1,11,1])> );
      x1(2) (   7 1/11   11)
