CGAL 5.1 - Algebraic Foundations
|
#include <Concepts/AlgebraicStructureTraits--UnitPart.h>
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.
AdaptableUnaryFunction
AlgebraicStructureTraits
Types | |
typedef unspecified_type | result_type |
Is AlgebraicStructureTraits::Type . More... | |
typedef unspecified_type | argument_type |
Is AlgebraicStructureTraits::Type . More... | |
Operations | |
result_type | operator() (argument_type x) |
returns the unit part of \( x\). More... | |
typedef unspecified_type AlgebraicStructureTraits_::UnitPart::argument_type |
typedef unspecified_type AlgebraicStructureTraits_::UnitPart::result_type |
result_type AlgebraicStructureTraits_::UnitPart::operator() | ( | argument_type | x | ) |
returns the unit part of \( x\).