# + -- 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
• + Vector
• + 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)
• Sum + Expression (missing documentation)
• Sum + ZeroExpression (missing documentation)
• Tally + Tally -- union of tallies
• Thing + Expression (missing documentation)
• Set + Set -- see union(Set,Set) -- set union
• VirtualTally + VirtualTally -- union of tallies
• ZeroExpression + Sum (missing documentation)

## 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.