CGAL 5.0.2 - Algebraic Foundations
AlgebraicStructureTraits_::UnitPart Concept Reference

## Definition

This AdaptableUnaryFunction computes the unit part of a given ring element.

The mathematical definition of unit part is as follows: Two ring elements $$a$$ and $$b$$ are said to be associate if there exists an invertible ring element (i.e. a unit) $$u$$ such that $$a = ub$$. This defines an equivalence relation. We can distinguish exactly one element of every equivalence class as being unit normal. Then each element of a ring possesses a factorization into a unit (called its unit part) and a unit-normal ring element (called its unit normal associate).

For the integers, the non-negative numbers are by convention unit normal, hence the unit-part of a non-zero integer is its sign. For a Field, every non-zero element is a unit and is its own unit part, its unit normal associate being one. The unit part of zero is, by convention, one.

Refines:
AdaptableUnaryFunction
AlgebraicStructureTraits

## Types

typedef unspecified_type result_type
Is AlgebraicStructureTraits::Type.

typedef unspecified_type argument_type
Is AlgebraicStructureTraits::Type.

## Operations

result_type operator() (argument_type x)
returns the unit part of $$x$$.