Skip to content

Adele ​

An adèle: a real number rr beside a profinite number z∈Q^z \in \hat{\mathbb{Q}}. Adele(q) for rational qq is the principal adèle, qq at every place.

Adele(r, z)the real rr beside the finite part zz (a ProfiniteNumber)
SageMathAdeles(QQ)([r], z)
Adele(q)the principal adèle of a rational qq: qq at the real place and every finite one
SageMathAdeles(QQ)(q)
Adele(idele)the underlying adèle of an Idele
SageMathAdeles(QQ)(idele)
Typed signatures
TypePackageApplies
(value, value?) -> valueadelesalways

Domain: Adèles and idèles

Details
  • The real part is any closed-form real constant compute-engine can evaluate numerically, not only a rational.
  • Add, Multiply, Negate, Divide, Power, Equal, NotEqual thread over an adèle, real part and finite part separately.
  • An Idele is an adèle together with the extra data an idèle carries (a finite set of distinguished units); Adele(idele) forgets that and keeps only the value.

Examples

15 more kept as data, checked against the oracles
Basic #

the principal adèle: 5 at every place

live ↗
InAdele(5)\mathrm{Adele}(5)OutAdele(5,5)\mathrm{Adele}(5, 5)
live ↗
In3Adele(2,ProfiniteNumber(1,6))3\mathrm{Adele}(2, \mathrm{ProfiniteNumber}(1, 6))OutAdele(6,ProfiniteNumber(3,18))\mathrm{Adele}(6, \mathrm{ProfiniteNumber}(3, 18))
live ↗
InAdele(5)+Adele(π,ProfiniteNumber(1,6))\mathrm{Adele}(5)+\mathrm{Adele}(π, \mathrm{ProfiniteNumber}(1, 6))OutAdele(5+π,ProfiniteNumber(0,6))\mathrm{Adele}(5+π, \mathrm{ProfiniteNumber}(0, 6))

equal adèles need not share a modulus

live ↗
InAdele(1,ProfiniteNumber(2,6))=Adele(1,ProfiniteNumber(5,9))\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(2, 6))=\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(5, 9))OutTrue\mathrm{True}
live ↗
InAdele(2,ProfiniteNumber(2,6))=Adele(1,ProfiniteNumber(5,9))\mathrm{Adele}(2, \mathrm{ProfiniteNumber}(2, 6))=\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(5, 9))OutFalse\mathrm{False}
Scope #

the adèle underlying an idèle

live ↗
InAdele(Idele(1,1,[AdicNumeral(3,2,2)]))\mathrm{Adele}(\mathrm{Idele}(1, 1, \bigl\lbrack\mathrm{AdicNumeral}(3, 2, 2)\bigr\rbrack))OutAdele(1,ProfiniteNumber(11,18))\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(11, 18))
Possible issues #

an adèle and a bare profinite number do not combine

live ↗
InAdele(1,ProfiniteNumber(2,6))+ProfiniteNumber(1,6)\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(2, 6))+\mathrm{ProfiniteNumber}(1, 6)OutProfiniteNumber(1,6)+Adele(1,ProfiniteNumber(2,6))\mathrm{ProfiniteNumber}(1, 6)+\mathrm{Adele}(1, \mathrm{ProfiniteNumber}(2, 6))
About
Examples22
Checked againstSageMath 15 agree
CrosswalkSageMath ×2

Implementation

mappedsagepackages/oracle/src/mappings.ts

Hertogh's adeles package; coerces a rational (the principal adele) or an idele (forgetting its idele structure) -- Sage's own coercion dispatches on the argument's type, like ours.

mappedsagepackages/oracle/src/mappings.ts

Hertogh's adeles package; real $1 beside the finite part $2 (a ProfiniteNumber).

See also: ProfiniteNumber, Idele