# Matrix ^ Array -- component of map corresponding to summand of target

## Synopsis

• Operator: ^
• Usage:
F^[i,j,...,k]
• Inputs:
• F, , or or
• [i,j,...,k], an array of indices
• Outputs:
• , , or

## Description

The target of the module or chain complex F should be a direct sum, and the result is the component of this map corresponding to the sum of the components numbered or named i, j, ..., k. Free modules are regarded as direct sums of modules. In otherwords, this routine returns the map given by certain blocks of columns.
 i1 : R = ZZ[a..d]; i2 : F = (vars R) ++ ((vars R) ++ matrix{{a-1,b-3},{c,d}}) o2 = | a b c d 0 0 0 0 0 0 | | 0 0 0 0 a b c d 0 0 | | 0 0 0 0 0 0 0 0 a-1 b-3 | | 0 0 0 0 0 0 0 0 c d | 4 10 o2 : Matrix R <--- R i3 : F^[1] o3 = | 0 0 0 0 a b c d 0 0 | | 0 0 0 0 0 0 0 0 a-1 b-3 | | 0 0 0 0 0 0 0 0 c d | 3 10 o3 : Matrix R <--- R i4 : F_[1]^[1] o4 = | a b c d 0 0 | | 0 0 0 0 a-1 b-3 | | 0 0 0 0 c d | 3 6 o4 : Matrix R <--- R

If the components have been given names (see directSum), use those instead.

 i5 : G = (a=>R^2) ++ (b=>R^1) 3 o5 = R o5 : R-module, free i6 : N = map(G,R^2, (i,j) -> (i+37*j)_R) o6 = | 0 37 | | 1 38 | | 2 39 | 3 2 o6 : Matrix R <--- R i7 : N^[a] o7 = | 0 37 | | 1 38 | 2 2 o7 : Matrix R <--- R i8 : N^[b] o8 = | 2 39 | 1 2 o8 : Matrix R <--- R i9 : N = directSum(x1 => matrix{{a,b-1}}, x2 => matrix{{a-3,b-17,c-35}}, x3 => vars R) o9 = | a b-1 0 0 0 0 0 0 0 | | 0 0 a-3 b-17 c-35 0 0 0 0 | | 0 0 0 0 0 a b c d | 3 9 o9 : Matrix R <--- R i10 : N^[x1,x3] o10 = | a b-1 0 0 0 0 0 0 0 | | 0 0 0 0 0 a b c d | 2 9 o10 : Matrix R <--- R

This works the same way for maps between chain complexes.