[numerics.defns]

# 26 Algorithms library [[algorithms]](./#algorithms)

## 26.10 Generalized numeric operations [[numeric.ops]](numeric.ops#numerics.defns)

### 26.10.2 Definitions [numerics.defns]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/algorithms.tex#L12270)

Define *GENERALIZED_NONCOMMUTATIVE_SUM*(op, a1, …, aN) as follows:

- [(1.1)](#1.1)

a1 when N is 1, otherwise

- [(1.2)](#1.2)

op(*GENERALIZED_NONCOMMUTATIVE_SUM*(op, a1, …, aK),   
  op(*GENERALIZED_NONCOMMUTATIVE_SUM*(op, aM, …, aN)) for any K where 1<K+1=Mâ¤N[.](#1.2.sentence-2)

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/algorithms.tex#L12284)

Define *GENERALIZED_SUM*(op, a1, …, aN) as*GENERALIZED_NONCOMMUTATIVE_SUM*(op, b1, …, bN),  
whereb1, …, bN may be any permutation of a1, …, aN[.](#2.sentence-1)
