====== Sum ====== ---- ====Basics==== ''Sum'' represents a sum of terms. Like any other expression, it inherits all properties of [[Tensor]]. ''Sum'' adopts the following convention on its indices: the indices of sum are free sorted indices of its summands: def t = 'f_ba^c_c + t_ab^d_d'.t println t.indice > _ab ''Sum'' sorts its arguments and reduces any equal terms. Additionally, it reduces terms with same tensorial parts as described in [[documentation:guide:standard_form_of_mathematical_expressions]]. ====Additional features==== There are several features in addition to those defined in [[Tensor]] that are inherent only in [[Sum]] and [[Product]]:
.select(positions) returns a sum of elements at specified positions
.remove(positions) returns a sum with removed elements at specified positions
Consider examples: def s = 'a + b + c + d + e + f'.t println s.select(2, 3, 5) > c+b+a println s.remove(2, 3, 5) > d+e+f ====See also==== * Related guides: [[documentation:guide:tensors_and_indices]], [[documentation:guide:tree_traversal]] * Reference: [[documentation:ref:tensor]], [[documentation:ref:product]], [[documentation:ref:indices]], [[documentation:ref:simpletensor]], [[documentation:ref:tensorfield]] * JavaDocs: [[http://api.redberry.cc/redberry/1.1.9/java-api/cc/redberry/core/tensor/Sum.html| Sum]] * Source code: [[https://bitbucket.org/redberry/redberry/src/tip/core/src/main/java/cc/redberry/core/tensor/Sum.java|Sum.java]]