  
  [1X2 [33X[0;0YExamples and Tests[133X[101X
  
  
  [1X2.1 [33X[0;0YBasic Commands[133X[101X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XQ := HomalgFieldOfRationals();;[127X[104X
    [4X[25Xgap>[125X [27Xa := VectorSpaceObject( 3, Q );[127X[104X
    [4X[28X<A vector space object over Q of dimension 3>[128X[104X
    [4X[25Xgap>[125X [27Xb := VectorSpaceObject( 4, Q );[127X[104X
    [4X[28X<A vector space object over Q of dimension 4>[128X[104X
    [4X[25Xgap>[125X [27Xhomalg_matrix := HomalgMatrix( [ [ 1, 0, 0, 0 ],[127X[104X
    [4X[25X>[125X [27X                                  [ 0, 1, 0, -1 ],[127X[104X
    [4X[25X>[125X [27X                                  [ -1, 0, 2, 1 ] ], 3, 4, Q );[127X[104X
    [4X[28X<A matrix over an internal ring>[128X[104X
    [4X[25Xgap>[125X [27Xalpha := VectorSpaceMorphism( a, homalg_matrix, b );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27XDisplay( alpha );[127X[104X
    [4X[28X[ [   1,   0,   0,   0 ],[128X[104X
    [4X[28X  [   0,   1,   0,  -1 ],[128X[104X
    [4X[28X  [  -1,   0,   2,   1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28XA morphism in Category of matrices over Q[128X[104X
    [4X[25Xgap>[125X [27Xhomalg_matrix := HomalgMatrix( [ [ 1, 1, 0, 0 ],[127X[104X
    [4X[25X>[125X [27X                                  [ 0, 1, 0, -1 ],[127X[104X
    [4X[25X>[125X [27X                                  [ -1, 0, 2, 1 ] ], 3, 4, Q );[127X[104X
    [4X[28X<A matrix over an internal ring>[128X[104X
    [4X[25Xgap>[125X [27Xbeta := VectorSpaceMorphism( a, homalg_matrix, b );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27XCokernelObject( alpha );[127X[104X
    [4X[28X<A vector space object over Q of dimension 1>[128X[104X
    [4X[25Xgap>[125X [27Xc := CokernelProjection( alpha );;[127X[104X
    [4X[25Xgap>[125X [27XDisplay( c );[127X[104X
    [4X[28X[ [     0 ],[128X[104X
    [4X[28X  [     1 ],[128X[104X
    [4X[28X  [  -1/2 ],[128X[104X
    [4X[28X  [     1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28XA split epi morphism in Category of matrices over Q[128X[104X
    [4X[25Xgap>[125X [27Xgamma := UniversalMorphismIntoDirectSum( [ c, c ] );;[127X[104X
    [4X[25Xgap>[125X [27XDisplay( gamma );[127X[104X
    [4X[28X[ [     0,     0 ],[128X[104X
    [4X[28X  [     1,     1 ],[128X[104X
    [4X[28X  [  -1/2,  -1/2 ],[128X[104X
    [4X[28X  [     1,     1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28XA morphism in Category of matrices over Q[128X[104X
    [4X[25Xgap>[125X [27Xcolift := CokernelColift( alpha, gamma );;[127X[104X
    [4X[25Xgap>[125X [27XIsEqualForMorphisms( PreCompose( c, colift ), gamma );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XFiberProduct( alpha, beta );[127X[104X
    [4X[28X<A vector space object over Q of dimension 2>[128X[104X
    [4X[25Xgap>[125X [27XF := FiberProduct( alpha, beta );[127X[104X
    [4X[28X<A vector space object over Q of dimension 2>[128X[104X
    [4X[25Xgap>[125X [27Xp1 := ProjectionInFactorOfFiberProduct( [ alpha, beta ], 1 );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27XDisplay( PreCompose( p1, alpha ) );[127X[104X
    [4X[28X[ [   0,   1,   0,  -1 ],[128X[104X
    [4X[28X  [  -1,   0,   2,   1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28XA morphism in Category of matrices over Q[128X[104X
    [4X[25Xgap>[125X [27XPushout( alpha, beta );[127X[104X
    [4X[28X<A vector space object over Q of dimension 5>[128X[104X
    [4X[25Xgap>[125X [27Xi1 := InjectionOfCofactorOfPushout( [ alpha, beta ], 1 );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27Xi2 := InjectionOfCofactorOfPushout( [ alpha, beta ], 2 );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27Xu := UniversalMorphismFromDirectSum( [ b, b ], [ i1, i2 ] );[127X[104X
    [4X[28X<A morphism in Category of matrices over Q>[128X[104X
    [4X[25Xgap>[125X [27XDisplay( u );[127X[104X
    [4X[28X[ [     0,     1,     1,     0,     0 ],[128X[104X
    [4X[28X  [     1,     0,     1,     0,    -1 ],[128X[104X
    [4X[28X  [  -1/2,     0,   1/2,     1,   1/2 ],[128X[104X
    [4X[28X  [     1,     0,     0,     0,     0 ],[128X[104X
    [4X[28X  [     0,     1,     0,     0,     0 ],[128X[104X
    [4X[28X  [     0,     0,     1,     0,     0 ],[128X[104X
    [4X[28X  [     0,     0,     0,     1,     0 ],[128X[104X
    [4X[28X  [     0,     0,     0,     0,     1 ] ][128X[104X
    [4X[28X[128X[104X
    [4X[28XA morphism in Category of matrices over Q[128X[104X
  [4X[32X[104X
  
