# + -- a unary or binary operator, usually used for addition

## Synopsis

• Usage:
+y
x+y

## Description

In most cases, this operator refers to standard addition.

In many cases, the integer 1 can be used as the identity, and scalars function as multiples of the identity. For example, the 1 below refers to the identity matrix and the 2 to twice the identity matrix.
 i1 : M = matrix{{1,2,3},{2,3,4},{3,4,6}} o1 = | 1 2 3 | | 2 3 4 | | 3 4 6 | 3 3 o1 : Matrix ZZ <--- ZZ i2 : M+1, M+2 o2 = (| 2 2 3 |, | 3 2 3 |) | 2 4 4 | | 2 5 4 | | 3 4 7 | | 3 4 8 | o2 : Sequence

### Intervals

If one of the addends is an RRi, the output is an interval containing all sums of pairs in the addends.

 i3 : 2+interval(1,3) o3 = [3,5] o3 : RRi (of precision 53) i4 : interval(1,3)+interval(-1,2) o4 = [0,5] o4 : RRi (of precision 53) i5 : interval(-1,1)+interval(-1,1) o5 = [-2,2] o5 : RRi (of precision 53)

• sum -- compute the sum

## Ways to use symbol + :

• "+ CC"
• "+ Constant"
• "+ QQ"
• "+ RR"
• "+ RRi"
• "+ ZZ"
• "CC + CC"
• "CC + QQ"
• "CC + RR"
• "CC + ZZ"
• "ChainComplexMap + ChainComplexMap"
• "ChainComplexMap + RingElement"
• "ChainComplexMap + ZZ"
• "Constant + Constant"
• "Constant + InexactNumber"
• "Constant + Number"
• "Ideal + RingElement"
• "InexactNumber + Constant"
• "InfiniteNumber + InfiniteNumber"
• "InfiniteNumber + Number"
• "Matrix + Matrix"
• "Matrix + Number"
• "Matrix + RingElement"
• "MonomialIdeal + MonomialIdeal"
• "MutableMatrix + MutableMatrix"
• "Number + Constant"
• "Number + InfiniteNumber"
• "Number + Matrix"
• "ProjectiveHilbertPolynomial + ProjectiveHilbertPolynomial"
• "ProjectiveHilbertPolynomial + ZZ"
• "QQ + CC"
• "QQ + QQ"
• "QQ + RR"
• "QQ + RRi"
• "QQ + ZZ"
• "RingElement + ChainComplexMap"
• "RingElement + Matrix"
• "RingElement + RingElement"
• "RR + CC"
• "RR + QQ"
• "RR + RR"
• "RR + RRi"
• "RR + ZZ"
• "RRi + QQ"
• "RRi + RR"
• "RRi + RRi"
• "RRi + ZZ"
• "Vector + Vector"
• "ZZ + CC"
• "ZZ + ChainComplexMap"
• "ZZ + ProjectiveHilbertPolynomial"
• "ZZ + QQ"
• "ZZ + RR"
• "ZZ + RRi"
• "ZZ + ZZ"
• + RingElement (missing documentation)
• CC + InfiniteNumber (missing documentation)
• "Constant + RingElement" -- see Constant
• "RingElement + Constant" -- see Constant
• Constant + InfiniteNumber (missing documentation)
• Expression + Expression (missing documentation)
• Expression + Sum (missing documentation)
• Expression + Thing (missing documentation)
• Ideal + Ideal -- sum of ideals
• "Ideal + MonomialIdeal" -- see Ideal + Ideal -- sum of ideals
• "MonomialIdeal + Ideal" -- see Ideal + Ideal -- sum of ideals
• Ideal + Number (missing documentation)
• InexactNumber + RingElement (missing documentation)
• InfiniteNumber + CC (missing documentation)
• InfiniteNumber + Constant (missing documentation)
• List + List -- sum of two vectors
• Module + Module -- sum of submodules
• Number + Ideal (missing documentation)
• RingElement + Ideal (missing documentation)
• RingElement + InexactNumber (missing documentation)
• Set + Set -- set union
• Sum + Expression (missing documentation)
• Tally + Tally -- union of tallies
• Thing + Expression (missing documentation)
• VirtualTally + VirtualTally -- union of tallies

## For the programmer

The object + is .

This operator may be used as a binary operator in an expression like x+y. The user may install binary methods for handling such expressions with code such as

         X + Y := (x,y) -> ...

where X is the class of x and Y is the class of y.

This operator may be used as a prefix unary operator in an expression like +y. The user may install a method for handling such expressions with code such as

           + Y := (y) -> ...

where Y is the class of y.