Vector and Matrix Objects This chapter is work in progress. It will eventually describe the new interface to vector and matrix objects.

Traditionally, vectors in &GAP; have been lists and matrices have been lists of lists (of equal length). Unfortunately, such lists cannot store their type and so it is impossible to use the full advantages of &GAP;'s method selection on them. This situation is unsustainable in the long run since more special representations (compressed, sparse, etc.) have already been and even more will be implemented. To eventually solve this problem, this chapter describes a new programming interface to vectors and matrices.
Fundamental Ideas and Rules <#Include Label="MatObj_Overview">
Categories of Vectors and Matrices
Constructing Vector and Matrix Objects
Operations for Vector Objects <#Include Label="MatObj_PositionNonZero"> <#Include Label="MatObj_PositionLastNonZero"> <#Include Label="MatObj_ListOp"> <#Include Label="MatObj_UnpackVector"> <#Include Label="MatObj_ConcatenationOfVectors"> <#Include Label="MatObj_ExtractSubVector"> <#Include Label="MatObj_ZeroVector"> <#Include Label="MatObj_ConstructingFilter_Vector"> <#Include Label="MatObj_Randomize_Vectors"> <#Include Label="MatObj_WeightOfVector"> <#Include Label="MatObj_DistanceOfVectors">
Operations for Row List Matrix Objects
Operations for Flat Matrix Objects