This shows you the differences between two versions of the page.
documentation:ref:sum [2015/11/21 12:33] |
documentation:ref:sum [2015/11/21 12:33] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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: | ||
+ | <sxh groovy; gutter: false> | ||
+ | def t = 'f_ba^c_c + t_ab^d_d'.t | ||
+ | println t.indice | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > _ab | ||
+ | </sxh> | ||
+ | |||
+ | ''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]]: | ||
+ | |||
+ | <html> | ||
+ | <table style="width:600px;" cellpadding="10"> | ||
+ | <tr> | ||
+ | <td valign="top" style="padding: 15px;margin-top: 35px;border: 1px solid gray;"><code>.select(positions)</code></td> | ||
+ | <td valign="top" style="padding: 15px;margin-top: 35px;border: 1px solid gray;">returns a sum of elements at specified positions</td> | ||
+ | </tr> | ||
+ | <tr> | ||
+ | <td valign="top" style="padding: 15px;margin-top: 35px;border: 1px solid gray;"><code>.remove(positions)</code></td> | ||
+ | <td valign="top" style="padding: 15px;margin-top: 35px;border: 1px solid gray;">returns a sum with removed elements at specified positions</td> | ||
+ | </tr> | ||
+ | </table> | ||
+ | </html> | ||
+ | |||
+ | Consider examples: | ||
+ | <sxh groovy; gutter: true> | ||
+ | def s = 'a + b + c + d + e + f'.t | ||
+ | println s.select(2, 3, 5) | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > c+b+a | ||
+ | </sxh> | ||
+ | <sxh groovy; gutter: true;first-line: 3> | ||
+ | println s.remove(2, 3, 5) | ||
+ | </sxh> | ||
+ | <sxh plain; gutter: false> | ||
+ | > d+e+f | ||
+ | </sxh> | ||
+ | ====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]] | ||