# ComplexCategory RΒΆ

This category represents the extension of a ring by a square root of `-1`.

0: %

from AbelianMonoid

1: %

from MagmaWithUnit

*: (%, %) -> %

from LeftModule %

*: (%, Fraction Integer) -> % if R has Field
*: (%, Integer) -> % if R has LinearlyExplicitOver Integer
*: (%, R) -> %

from RightModule R

*: (Fraction Integer, %) -> % if R has Field
*: (Integer, %) -> %

from AbelianGroup

*: (NonNegativeInteger, %) -> %

from AbelianMonoid

*: (PositiveInteger, %) -> %

from AbelianSemiGroup

*: (R, %) -> %

from LeftModule R

+: (%, %) -> %

from AbelianSemiGroup

-: % -> %

from AbelianGroup

-: (%, %) -> %

from AbelianGroup

/: (%, %) -> % if R has Field

from Field

=: (%, %) -> Boolean

from BasicType

^: (%, %) -> % if R has TranscendentalFunctionCategory
^: (%, Fraction Integer) -> % if R has RadicalCategory and R has TranscendentalFunctionCategory

^: (%, Integer) -> % if R has Field

from DivisionRing

^: (%, NonNegativeInteger) -> %

from MagmaWithUnit

^: (%, PositiveInteger) -> %

from Magma

~=: (%, %) -> Boolean

from BasicType

abs: % -> % if R has RealNumberSystem

`abs(x)` returns the absolute value of `x` = sqrt(norm(`x`)).

acos: % -> % if R has TranscendentalFunctionCategory
acosh: % -> % if R has TranscendentalFunctionCategory
acot: % -> % if R has TranscendentalFunctionCategory
acoth: % -> % if R has TranscendentalFunctionCategory
acsc: % -> % if R has TranscendentalFunctionCategory
acsch: % -> % if R has TranscendentalFunctionCategory
annihilate?: (%, %) -> Boolean

from Rng

antiCommutator: (%, %) -> %
argument: % -> R if R has TranscendentalFunctionCategory

`argument(x)` returns the angle made by (1, 0) and `x`.

asec: % -> % if R has TranscendentalFunctionCategory
asech: % -> % if R has TranscendentalFunctionCategory
asin: % -> % if R has TranscendentalFunctionCategory
asinh: % -> % if R has TranscendentalFunctionCategory
associates?: (%, %) -> Boolean if R has IntegralDomain

from EntireRing

associator: (%, %, %) -> %
atan: % -> % if R has TranscendentalFunctionCategory
atanh: % -> % if R has TranscendentalFunctionCategory
basis: () -> Vector %

from FramedModule R

characteristic: () -> NonNegativeInteger
characteristicPolynomial: % -> SparseUnivariatePolynomial R
charthRoot: % -> % if R has FiniteFieldCategory
charthRoot: % -> Union(%, failed) if R has CharacteristicNonZero or R has EuclideanDomain and % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
coerce: % -> %

from Algebra %

coerce: % -> OutputForm
coerce: Fraction Integer -> % if R has RetractableTo Fraction Integer or R has Field
coerce: Integer -> %
coerce: R -> %

from Algebra R

commutator: (%, %) -> %
complex: (R, R) -> %

`complex(x, y)` constructs `x` + %i*y.

conditionP: Matrix % -> Union(Vector %, failed) if R has FiniteFieldCategory or R has EuclideanDomain and % has CharacteristicNonZero and R has PolynomialFactorizationExplicit
conjugate: % -> %

`conjugate(x + \%i y)` returns `x` - %`i` `y`.

convert: % -> Complex DoubleFloat if R has RealConstant
convert: % -> Complex Float if R has RealConstant
convert: % -> InputForm if R has ConvertibleTo InputForm
convert: % -> Pattern Float if R has ConvertibleTo Pattern Float
convert: % -> Pattern Integer if R has ConvertibleTo Pattern Integer
convert: % -> SparseUnivariatePolynomial R
convert: % -> Vector R

from FramedModule R

convert: SparseUnivariatePolynomial R -> %
convert: Vector R -> %

from FramedModule R

coordinates: % -> Vector R

from FramedModule R

coordinates: (%, Vector %) -> Vector R
coordinates: (Vector %, Vector %) -> Matrix R
coordinates: Vector % -> Matrix R

from FramedModule R

cos: % -> % if R has TranscendentalFunctionCategory
cosh: % -> % if R has TranscendentalFunctionCategory
cot: % -> % if R has TranscendentalFunctionCategory
coth: % -> % if R has TranscendentalFunctionCategory
createPrimitiveElement: () -> % if R has FiniteFieldCategory
csc: % -> % if R has TranscendentalFunctionCategory
csch: % -> % if R has TranscendentalFunctionCategory
D: % -> % if R has DifferentialRing

from DifferentialRing

D: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol
D: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol
D: (%, NonNegativeInteger) -> % if R has DifferentialRing

from DifferentialRing

D: (%, R -> R) -> %
D: (%, R -> R, NonNegativeInteger) -> %
D: (%, Symbol) -> % if R has PartialDifferentialRing Symbol
D: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol
definingPolynomial: () -> SparseUnivariatePolynomial R
derivationCoordinates: (Vector %, R -> R) -> Matrix R if R has Field
differentiate: % -> % if R has DifferentialRing

from DifferentialRing

differentiate: (%, List Symbol) -> % if R has PartialDifferentialRing Symbol
differentiate: (%, List Symbol, List NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol
differentiate: (%, NonNegativeInteger) -> % if R has DifferentialRing

from DifferentialRing

differentiate: (%, R -> R) -> %
differentiate: (%, R -> R, NonNegativeInteger) -> %
differentiate: (%, Symbol) -> % if R has PartialDifferentialRing Symbol
differentiate: (%, Symbol, NonNegativeInteger) -> % if R has PartialDifferentialRing Symbol
discreteLog: % -> NonNegativeInteger if R has FiniteFieldCategory
discreteLog: (%, %) -> Union(NonNegativeInteger, failed) if R has FiniteFieldCategory
discriminant: () -> R
discriminant: Vector % -> R
divide: (%, %) -> Record(quotient: %, remainder: %) if R has IntegerNumberSystem or R has Field

from EuclideanDomain

elt: (%, R) -> % if R has Eltable(R, R)

from Eltable(R, %)

enumerate: () -> List % if R has Finite

from Finite

euclideanSize: % -> NonNegativeInteger if R has IntegerNumberSystem or R has Field

from EuclideanDomain

eval: (%, Equation R) -> % if R has Evalable R

from Evalable R

eval: (%, List Equation R) -> % if R has Evalable R

from Evalable R

eval: (%, List R, List R) -> % if R has Evalable R

from InnerEvalable(R, R)

eval: (%, List Symbol, List R) -> % if R has InnerEvalable(Symbol, R)

from InnerEvalable(Symbol, R)

eval: (%, R, R) -> % if R has Evalable R

from InnerEvalable(R, R)

eval: (%, Symbol, R) -> % if R has InnerEvalable(Symbol, R)

from InnerEvalable(Symbol, R)

exp: % -> % if R has TranscendentalFunctionCategory
expressIdealMember: (List %, %) -> Union(List %, failed) if R has IntegerNumberSystem or R has Field
exquo: (%, %) -> Union(%, failed) if R has IntegralDomain

from EntireRing

exquo: (%, R) -> Union(%, failed) if R has IntegralDomain

`exquo(x, r)` returns the exact quotient of `x` by `r`, or βfailedβ if `r` does not divide `x` exactly.

extendedEuclidean: (%, %) -> Record(coef1: %, coef2: %, generator: %) if R has IntegerNumberSystem or R has Field

from EuclideanDomain

extendedEuclidean: (%, %, %) -> Union(Record(coef1: %, coef2: %), failed) if R has IntegerNumberSystem or R has Field

from EuclideanDomain

factor: % -> Factored % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem
factorPolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory or R has EuclideanDomain and R has PolynomialFactorizationExplicit
factorsOfCyclicGroupSize: () -> List Record(factor: Integer, exponent: NonNegativeInteger) if R has FiniteFieldCategory
factorSquareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory or R has EuclideanDomain and R has PolynomialFactorizationExplicit
gcd: (%, %) -> % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from GcdDomain

gcd: List % -> % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from GcdDomain

gcdPolynomial: (SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from GcdDomain

generator: () -> %
hash: % -> SingleInteger if R has Hashable

from Hashable

hashUpdate!: (HashState, %) -> HashState if R has Hashable

from Hashable

imag: % -> R

`imag(x)` returns imaginary part of `x`.

imaginary: () -> %

`imaginary()` = sqrt(`-1`) = %`i`.

index: PositiveInteger -> % if R has Finite

from Finite

init: % if R has FiniteFieldCategory

from StepThrough

inv: % -> % if R has Field

from DivisionRing

latex: % -> String

from SetCategory

lcm: (%, %) -> % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from GcdDomain

lcm: List % -> % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from GcdDomain

lcmCoef: (%, %) -> Record(llcm_res: %, coeff1: %, coeff2: %) if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

from LeftOreRing

leftPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

leftPower: (%, PositiveInteger) -> %

from Magma

leftRecip: % -> Union(%, failed)

from MagmaWithUnit

lift: % -> SparseUnivariatePolynomial R
log: % -> % if R has TranscendentalFunctionCategory
lookup: % -> PositiveInteger if R has Finite

from Finite

map: (R -> R, %) -> %

from FullyEvalableOver R

minimalPolynomial: % -> SparseUnivariatePolynomial R if R has Field
multiEuclidean: (List %, %) -> Union(List %, failed) if R has IntegerNumberSystem or R has Field

from EuclideanDomain

nextItem: % -> Union(%, failed) if R has FiniteFieldCategory

from StepThrough

norm: % -> R

`norm(x)` returns `x` * conjugate(`x`)

nthRoot: (%, Integer) -> % if R has RadicalCategory and R has TranscendentalFunctionCategory

one?: % -> Boolean

from MagmaWithUnit

opposite?: (%, %) -> Boolean

from AbelianMonoid

order: % -> OnePointCompletion PositiveInteger if R has FiniteFieldCategory
order: % -> PositiveInteger if R has FiniteFieldCategory
patternMatch: (%, Pattern Float, PatternMatchResult(Float, %)) -> PatternMatchResult(Float, %) if R has PatternMatchable Float
patternMatch: (%, Pattern Integer, PatternMatchResult(Integer, %)) -> PatternMatchResult(Integer, %) if R has PatternMatchable Integer
pi: () -> % if R has TranscendentalFunctionCategory
plenaryPower: (%, PositiveInteger) -> %
polarCoordinates: % -> Record(r: R, phi: R) if R has RealNumberSystem and R has TranscendentalFunctionCategory

`polarCoordinates(x)` returns (`r`, phi) such that `x` = `r` * exp(%`i` * phi).

prime?: % -> Boolean if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem
primeFrobenius: % -> % if R has FiniteFieldCategory
primeFrobenius: (%, NonNegativeInteger) -> % if R has FiniteFieldCategory
primitive?: % -> Boolean if R has FiniteFieldCategory
primitiveElement: () -> % if R has FiniteFieldCategory
principalIdeal: List % -> Record(coef: List %, generator: %) if R has IntegerNumberSystem or R has Field
quo: (%, %) -> % if R has IntegerNumberSystem or R has Field

from EuclideanDomain

random: () -> % if R has Finite

from Finite

rank: () -> PositiveInteger

from FramedModule R

rational?: % -> Boolean if R has IntegerNumberSystem

`rational?(x)` tests if `x` is a rational number.

rational: % -> Fraction Integer if R has IntegerNumberSystem

`rational(x)` returns `x` as a rational number. Error: if `x` is not a rational number.

rationalIfCan: % -> Union(Fraction Integer, failed) if R has IntegerNumberSystem

`rationalIfCan(x)` returns `x` as a rational number, or βfailedβ if `x` is not a rational number.

real: % -> R

`real(x)` returns real part of `x`.

recip: % -> Union(%, failed)

from MagmaWithUnit

reduce: Fraction SparseUnivariatePolynomial R -> Union(%, failed) if R has Field
reduce: SparseUnivariatePolynomial R -> %
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix Integer, vec: Vector Integer) if R has LinearlyExplicitOver Integer
reducedSystem: (Matrix %, Vector %) -> Record(mat: Matrix R, vec: Vector R)

from LinearlyExplicitOver R

reducedSystem: Matrix % -> Matrix Integer if R has LinearlyExplicitOver Integer
reducedSystem: Matrix % -> Matrix R

from LinearlyExplicitOver R

regularRepresentation: % -> Matrix R
regularRepresentation: (%, Vector %) -> Matrix R
rem: (%, %) -> % if R has IntegerNumberSystem or R has Field

from EuclideanDomain

representationType: () -> Union(prime, polynomial, normal, cyclic) if R has FiniteFieldCategory
represents: (Vector R, Vector %) -> %
represents: Vector R -> %

from FramedModule R

retract: % -> Fraction Integer if R has RetractableTo Fraction Integer
retract: % -> Integer if R has RetractableTo Integer
retract: % -> R

from RetractableTo R

retractIfCan: % -> Union(Fraction Integer, failed) if R has RetractableTo Fraction Integer
retractIfCan: % -> Union(Integer, failed) if R has RetractableTo Integer
retractIfCan: % -> Union(R, failed)

from RetractableTo R

rightPower: (%, NonNegativeInteger) -> %

from MagmaWithUnit

rightPower: (%, PositiveInteger) -> %

from Magma

rightRecip: % -> Union(%, failed)

from MagmaWithUnit

sample: %

from AbelianMonoid

sec: % -> % if R has TranscendentalFunctionCategory
sech: % -> % if R has TranscendentalFunctionCategory
sin: % -> % if R has TranscendentalFunctionCategory
sinh: % -> % if R has TranscendentalFunctionCategory
size: () -> NonNegativeInteger if R has Finite

from Finite

sizeLess?: (%, %) -> Boolean if R has IntegerNumberSystem or R has Field

from EuclideanDomain

smaller?: (%, %) -> Boolean if R has Comparable

from Comparable

solveLinearPolynomialEquation: (List SparseUnivariatePolynomial %, SparseUnivariatePolynomial %) -> Union(List SparseUnivariatePolynomial %, failed) if R has FiniteFieldCategory or R has EuclideanDomain and R has PolynomialFactorizationExplicit
sqrt: % -> % if R has RadicalCategory and R has TranscendentalFunctionCategory

squareFree: % -> Factored % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem
squareFreePart: % -> % if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem
squareFreePolynomial: SparseUnivariatePolynomial % -> Factored SparseUnivariatePolynomial % if R has FiniteFieldCategory or R has EuclideanDomain and R has PolynomialFactorizationExplicit
subtractIfCan: (%, %) -> Union(%, failed)
tableForDiscreteLogarithm: Integer -> Table(PositiveInteger, NonNegativeInteger) if R has FiniteFieldCategory
tan: % -> % if R has TranscendentalFunctionCategory
tanh: % -> % if R has TranscendentalFunctionCategory
trace: % -> R
traceMatrix: () -> Matrix R
traceMatrix: Vector % -> Matrix R
unit?: % -> Boolean if R has IntegralDomain

from EntireRing

unitCanonical: % -> % if R has IntegralDomain

from EntireRing

unitNormal: % -> Record(unit: %, canonical: %, associate: %) if R has IntegralDomain

from EntireRing

zero?: % -> Boolean

from AbelianMonoid

AbelianGroup

AbelianMonoid

AbelianSemiGroup

Algebra Fraction Integer if R has Field

BasicType

BiModule(%, %)

BiModule(Fraction Integer, Fraction Integer) if R has Field

BiModule(R, R)

CancellationAbelianMonoid

canonicalsClosed if R has Field

canonicalUnitNormal if R has Field

CommutativeRing

CommutativeStar

Comparable if R has Comparable

DifferentialRing if R has DifferentialRing

DivisionRing if R has Field

Eltable(R, %) if R has Eltable(R, R)

EntireRing if R has IntegralDomain

EuclideanDomain if R has IntegerNumberSystem or R has Field

Evalable R if R has Evalable R

Field if R has Field

Finite if R has Finite

GcdDomain if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

Hashable if R has Hashable

InnerEvalable(R, R) if R has Evalable R

InnerEvalable(Symbol, R) if R has InnerEvalable(Symbol, R)

IntegralDomain if R has IntegralDomain

LeftModule Fraction Integer if R has Field

LeftOreRing if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

Magma

MagmaWithUnit

Module Fraction Integer if R has Field

Monoid

NonAssociativeRing

NonAssociativeRng

NonAssociativeSemiRing

NonAssociativeSemiRng

noZeroDivisors if R has IntegralDomain

PolynomialFactorizationExplicit if R has FiniteFieldCategory or R has EuclideanDomain and R has PolynomialFactorizationExplicit

PrincipalIdealDomain if R has IntegerNumberSystem or R has Field

RightModule Fraction Integer if R has Field

Ring

Rng

SemiGroup

SemiRing

SemiRng

SetCategory

StepThrough if R has FiniteFieldCategory

TwoSidedRecip

UniqueFactorizationDomain if R has Field or R has EuclideanDomain and R has PolynomialFactorizationExplicit or R has IntegerNumberSystem

unitsKnown