# Interface AbelianGroup<G>

Type Parameters:
G - an Abelian group
All Known Subinterfaces:
BanachSpace<B,F>, Field<F>, GenericMatrix<T,F>, HilbertSpace<H,F>, Matrix, MatrixRing, Ring<R>, SparseMatrix, Vector, VectorSpace<V,F>
All Known Implementing Classes:
Basis, BidiagonalMatrix, BorderedHessian, CauchyPolynomial, ColumnBindMatrix, CombinedVectorByRef, Complex, ComplexMatrix, CongruentMatrix, CorrelationMatrix, CSCSparseMatrix, CSRSparseMatrix, DenseMatrix, DenseVector, DiagonalMatrix, DiagonalSum, DOKSparseMatrix, DPolynomial, FastKroneckerProduct, GenericFieldMatrix, GivensMatrix, GoldfeldQuandtTrotter, Gradient, Hessian, HilbertMatrix, ImmutableMatrix, ImmutableVector, Inverse, Jacobian, KroneckerProduct, LILSparseMatrix, LowerTriangularMatrix, MAT, MatrixRootByDiagonalization, MatthewsDavies, OuterProduct, PermutationMatrix, Polynomial, PositiveDefiniteMatrixByPositiveDiagonal, PositiveSemiDefiniteMatrixNonNegativeDiagonal, Pow, PseudoInverse, QuadraticMonomial, Real, RealMatrix, ReturnsMatrix, SampleCovariance, ScaledPolynomial, SimilarMatrix, SparseVector, SubMatrixRef, SubVectorRef, SVEC, SymmetricKronecker, SymmetricMatrix, TridiagonalMatrix, UpperTriangularMatrix, VariancebtX

public interface AbelianGroup<G>
An Abelian group is a group with a binary additive operation (+), satisfying the group axioms:
1. closure
2. associativity
• ## Method Summary

Modifier and Type
Method
Description
G
add(G that)
+ : G × G → G
G
minus(G that)
- : G × G → G
G
opposite()
For each a in G, there exists an element b in G such that a + b = b + a = 0.
G
ZERO()
The additive element 0 in the group, such that for all elements a in the group, the equation 0 + a = a + 0 = a holds.
• ## Method Details

+ : G × G → G
Parameters:
that - the object to be added
Returns:
this + that
• ### minus

G minus(G that)
- : G × G → G

The operation "-" is not in the definition of of an additive group but can be deduced. This function is provided for convenience purpose. It is equivalent to

this.add(that.opposite())
.
Parameters:
that - the object to be subtracted (subtrahend)
Returns:
this - that
• ### opposite

G opposite()
For each a in G, there exists an element b in G such that a + b = b + a = 0. That is, it is the object such as
this.add(this.opposite()) == this.ZERO
Returns: