类 FieldComplex<T extends CalculusFieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
- 所有已实现的接口:
-
CalculusFieldElement<FieldComplex<T>>
,FieldElement<FieldComplex<T>>
- 直接已知子类:
-
FieldComplexTest.TestComplex
算术运算的实现根据 Double
的规则处理 NaN
和无限值,即对于具有实部或虚部中的 NaN
的所有实例,equals(java.lang.Object)
是一个等价关系,例如以下被认为是相等的:
1 + NaNi
NaN + i
NaN + NaNi
请注意,这与 IEEE-754 浮点数标准相矛盾(根据该标准,如果 x
是 NaN
,则测试 x == x
必须失败)。Precision
中的 equals for primitive double
方法符合 IEEE-754,而此类符合 Java 对象类型的标准行为。
- 从以下版本开始:
- 2.0
-
构造器概要
-
方法概要
修饰符和类型方法说明abs()
返回此复数的绝对值。acos()
计算此复数的反余弦。acosh()
反双曲余弦运算。add
(double addend) 返回一个值为(this + addend)
的Complex
,其中addend
被解释为实数。add
(FieldComplex<T> addend) 返回一个值为(this + addend)
的Complex
。返回一个值为(this + addend)
的Complex
,其中addend
被解释为实数。asin()
计算此复数的反正弦。asinh()
反双曲正弦运算。atan()
计算此复数的反正切。atan2
(FieldComplex<T> x) 两参数反正切运算。atanh()
反双曲正切运算。cbrt()
立方根。ceil()
获取大于实例的最小整数。返回此复数的共轭。copySign
(double r) 返回具有参数符号的实例。copySign
(FieldComplex<T> z) 返回具有参数符号的实例。cos()
计算此复数的余弦。cosh()
计算此复数的双曲余弦。protected FieldComplex
<T> createComplex
(T realPart, T imaginaryPart) 给定实部和虚部创建一个复数。divide
(double divisor) 返回一个值为(this / divisor)
的Complex
,其中divisor
被解释为实数。divide
(FieldComplex<T> divisor) 返回一个值为(this / divisor)
的Complex
。返回一个值为(this / divisor)
的Complex
,其中divisor
被解释为实数。boolean
与另一个对象进行相等性测试。static <T extends CalculusFieldElement<T>>
booleanequals
(FieldComplex<T> x, FieldComplex<T> y) 如果值根据equals(x, y, 1)
定义相等,则返回true
。static <T extends CalculusFieldElement<T>>
booleanequals
(FieldComplex<T> x, FieldComplex<T> y, double eps) 如果对于实部和虚部,没有 T 值严格在参数之间或它们之间的差在允许误差范围内(包括在内),则返回true
。static <T extends CalculusFieldElement<T>>
booleanequals
(FieldComplex<T> x, FieldComplex<T> y, int maxUlps) 复数对象之间的浮点数相等性测试。static <T extends CalculusFieldElement<T>>
booleanequalsWithRelativeTolerance
(FieldComplex<T> x, FieldComplex<T> y, double eps) 如果对于实部和虚部,没有 T 值严格在参数之间或它们之间的相对差小于或等于给定的容差,则返回true
。exp()
计算此复数的指数函数。expm1()
指数减 1。floor()
获取小于实例的最大整数。计算此复数的幅角。getField()
获取实例所属的Field
。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取 -1 的平方根。访问虚部。访问虚部。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取表示 "+INF + INFi" 的复数。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取 -1 的平方根。static <T extends CalculusFieldElement<T>>
FieldComplex<T> getMinusOne
(Field<T> field) 获取表示 "-1.0 + 0.0i" 的复数。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取表示 "NaN + NaNi" 的复数。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取表示 "1.0 + 0.0i" 的复数。获取实部和虚部所属的Field
。getPi()
获取阿基米德常数 π。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取表示 "π + 0.0i" 的复数。double
getReal()
访问实部。访问实部。static <T extends CalculusFieldElement<T>>
FieldComplex<T> 获取表示 "0.0 + 0.0i" 的复数。int
hashCode()
获取复数的哈希码。hypot
(FieldComplex<T> y) 返回三角形的斜边,其两边为this
和y
- sqrt(this2 +y2),避免中间溢出或下溢。boolean
检查此复数的实部或虚部是否取无限值(Double.POSITIVE_INFINITY
或Double.NEGATIVE_INFINITY
)且两部分都不是NaN
。boolean
检查实例是否为整数(即虚部为零且实部没有小数部分)。boolean
isNaN()
检查此复数的任一部分或两部分是否为NaN
。boolean
isReal()
检查实例是否为实数(即虚部为零)。boolean
isZero()
检查元素是否语义上等于零。linearCombination
(double[] a, FieldComplex<T>[] b) 计算线性组合。linearCombination
(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2) 计算线性组合。linearCombination
(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2, double a3, FieldComplex<T> b3) 计算线性组合。linearCombination
(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2, double a3, FieldComplex<T> b3, double a4, FieldComplex<T> b4) 计算线性组合。linearCombination
(FieldComplex<T>[] a, FieldComplex<T>[] b) 计算线性组合。linearCombination
(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2) 计算线性组合。linearCombination
(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2, FieldComplex<T> a3, FieldComplex<T> b3) 计算线性组合。linearCombination
(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2, FieldComplex<T> a3, FieldComplex<T> b3, FieldComplex<T> a4, FieldComplex<T> b4) 计算线性组合。log()
计算此复数的自然对数。log10()
以 10 为底的对数。log1p()
移位的自然对数。multiply
(double factor) 返回一个值为this * factor
的Complex
,其中factor
被解释为实数。multiply
(int factor) 返回一个值为this * factor
的Complex
,其中factor
被解释为整数。multiply
(FieldComplex<T> factor) 返回一个值为this * factor
的Complex
。返回一个值为this * factor
的Complex
,其中factor
被解释为实数。计算此 *- -i。计算此 * i。negate()
返回一个值为(-this)
的Complex
。newInstance
(double realPart) 创建与常数实值对应的实例。nthRoot
(int n) 计算此复数的第n个根。pow
(double x) 返回此复数的值的x
次幂。pow
(int n) 整数幂运算。pow
(FieldComplex<T> x) 返回此复数的值的x
次幂。返回此复数的值的x
次幂。返回this
元素的乘法逆。remainder
(double a) IEEE余数运算符。remainder
(FieldComplex<T> a) IEEE余数运算符。rint()
获取最接近实例的整数,如果x恰好处于两个整数之间,则获取偶数。rootN
(int n) Nth根。scalb
(int n) 将实例乘以2的幂。sign()
计算实例的符号。sin()
计算此复数的正弦值。sinCos()
组合正弦和余弦运算。sinh()
计算此复数的双曲正弦值。sinhCosh()
组合双曲正弦和余弦运算。sqrt()
计算此复数的平方根。sqrt1z()
计算此复数的1 - this2
的平方根。subtract
(double subtrahend) 返回一个值为(this - subtrahend)
的Complex
。subtract
(FieldComplex<T> subtrahend) 返回一个值为(this - subtrahend)
的Complex
。返回一个值为(this - subtrahend)
的Complex
。tan()
计算此复数的正切值。tanh()
计算此复数的双曲正切值。将弧度转换为度,误差小于0.5 ULP将度转换为弧度,误差小于0.5 ULPtoString()
ulp()
计算数字的最低有效位(最后一位单位)。static <T extends CalculusFieldElement<T>>
FieldComplex<T> valueOf
(T realPart) 仅给出实部创建一个复数。static <T extends CalculusFieldElement<T>>
FieldComplex<T> valueOf
(T realPart, T imaginaryPart) 给出实部和虚部创建一个复数。从接口继承的方法 org.hipparchus.CalculusFieldElement
getExponent, isFinite, norm, round
-
构造器详细资料
-
FieldComplex
仅给出实部创建一个复数。- 参数:
-
real
- 实部。
-
FieldComplex
给出实部和虚部创建一个复数。- 参数:
-
real
- 实部。 -
imaginary
- 虚部。
-
-
方法详细资料
-
getI
获取-1的平方根。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"0.0 + 1.0i"的数字
-
getMinusI
获取-1的平方根。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"0.0 _ 1.0i"的数字
-
getNaN
获取表示"NaN + NaNi"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"NaN + NaNi"的复数
-
getInf
获取表示"+INF + INFi"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"+INF + INFi"的复数
-
getOne
获取表示"1.0 + 0.0i"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"1.0 + 0.0i"的复数
-
getMinusOne
获取表示"-1.0 + 0.0i"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"-1.0 + 0.0i"的复数
-
getZero
获取表示"0.0 + 0.0i"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"0.0 + 0.0i"的复数
-
getPi
获取表示"π + 0.0i"的复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
field
- 复数组件所属的字段 - 返回:
- 表示"π + 0.0i"的复数
-
abs
返回此复数的绝对值。如果实部或虚部中有一个是NaN
,则返回NaN
,如果两部分中至少有一部分是无穷大,则返回Double.POSITIVE_INFINITY
。- 指定者:
-
abs
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 绝对值。
-
add
返回一个值为(this + addend)
的Complex
。使用定义公式
如果(a + bi) + (c + di) = (a+c) + (b+d)i
this
或addend
的任一部分具有NaN
值,则返回getNaN(Field)
;否则,根据Double
算术规则,在结果的部分中返回无限和NaN
值。- 指定者:
-
add
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
addend
- 要添加到此Complex
的值。 - 返回:
-
this + addend
。 - 抛出:
-
NullArgumentException
- 如果addend
为null
。
-
add
返回一个值为(this + addend)
的Complex
,将addend
解释为实数。- 参数:
-
addend
- 要添加到此Complex
的值。 - 返回:
-
this + addend
。 - 另请参阅:
-
add
返回一个值为(this + addend)
的Complex
,将addend
解释为实数。- 指定者:
-
add
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
addend
- 要添加到此Complex
的值。 - 返回:
-
this + addend
。 - 另请参阅:
-
conjugate
返回此复数的共轭。a + bi
的共轭是a - bi
。如果此复数的实部或虚部等于
Double.NaN
,则返回getNaN(Field)
。如果虚部是无穷大,并且实部不是
NaN
,则返回值具有相反符号的无限虚部,例如1 + POSITIVE_INFINITY i
的共轭是1 - NEGATIVE_INFINITY i
。- 返回:
- 此复数的共轭。
-
divide
返回一个Complex
,其值为(this / divisor)
。实现定义公式a + bi ac + bd + (bc - ad)i ----------- = ------------------------- c + di c2 + d2
Infinite
和NaN
值根据以下规则处理,按照呈现的顺序应用:- 如果
this
或divisor
的任一部分具有NaN
值,则返回getNaN(Field)
。 - 如果
divisor
等于getZero(Field)
,则返回getNaN(Field)
。 - 如果
this
和divisor
都是无穷大,则返回getNaN(Field)
。 - 如果
this
是有限的(即没有Infinite
或NaN
部分),而divisor
是无穷大(一个或两个部分无穷大),则返回getZero(Field)
。 - 如果
this
是无穷大且divisor
是有限的,则如果应用于定义公式的Double
规则强制产生NaN
结果,则在结果的部分中返回NaN
值。
- 指定者:
-
divide
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
divisor
- 用于除以此Complex
的值。 - 返回:
-
this / divisor
。 - 抛出:
-
NullArgumentException
- 如果divisor
为null
。
- 如果
-
divide
返回一个Complex
,其值为(this / divisor)
,其中divisor
被解释为实数。- 参数:
-
divisor
- 用于除以此Complex
的值。 - 返回:
-
this / divisor
。 - 另请参阅:
-
divide
返回一个Complex
,其值为(this / divisor)
,其中divisor
被解释为实数。- 指定者:
-
divide
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
divisor
- 用于除以此Complex
的值。 - 返回:
-
this / divisor
。 - 另请参阅:
-
reciprocal
返回this
元素的乘法逆元。- 指定者:
-
reciprocal
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 指定者:
-
reciprocal
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
this
的逆元。
-
equals
与另一个对象进行相等性测试。如果两个复数的实部和虚部完全相同,并且都不是Double.NaN
,则认为两个Complex对象是相等的。行为与JDK的Double
相同:- 所有
NaN
值被认为是相等的,即,如果复数的实部和虚部中的任一部分(或两者)等于Double.NaN
,则该复数等于NaN
。 - 使用不同表示的零(即“0”或“-0”)构造的实例不被视为相等。
- 所有
-
equals
public static <T extends CalculusFieldElement<T>> boolean equals(FieldComplex<T> x, FieldComplex<T> y, int maxUlps) 浮点数等式测试Complex对象之间的相等性。如果两个参数相等或在允许的误差范围内(包括边界),则返回true
。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
x
- 第一个值(不能为null
)。 -
y
- 第二个值(不能为null
)。 -
maxUlps
-(maxUlps - 1)
是x
和y
的实部(或虚部)之间的浮点值数量。 - 返回:
-
如果
x
和y
的实部(或虚部)之间的浮点值少于maxUlps
,则返回true
。 - 另请参阅:
-
equals
public static <T extends CalculusFieldElement<T>> boolean equals(FieldComplex<T> x, FieldComplex<T> y) 返回true
,如果值由equals(x, y, 1)
定义为相等。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
x
- 第一个值(不能为null
)。 -
y
- 第二个值(不能为null
)。 - 返回:
-
如果值相等,则返回
true
。
-
equals
public static <T extends CalculusFieldElement<T>> boolean equals(FieldComplex<T> x, FieldComplex<T> y, double eps) 如果对于实部和虚部,两个参数之间没有T值严格位于其间,或它们之间的差异在允许的误差范围内(包括边界),则返回true
。如果任一参数为NaN,则返回false
。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
x
- 第一个值(不能为null
)。 -
y
- 第二个值(不能为null
)。 -
eps
- 允许的绝对误差量。 - 返回:
-
如果值是两个相邻浮点数,或它们在范围内,返回
true
。 - 另请参阅:
-
equalsWithRelativeTolerance
public static <T extends CalculusFieldElement<T>> boolean equalsWithRelativeTolerance(FieldComplex<T> x, FieldComplex<T> y, double eps) 如果对于实部和虚部,两个参数之间没有T值严格位于其间,或它们之间的相对差异小于或等于给定的容差,则返回true
。如果任一参数为NaN,则返回false
。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
x
- 第一个值(不能为null
)。 -
y
- 第二个值(不能为null
)。 -
eps
- 允许的相对误差量。 - 返回:
-
如果值是两个相邻浮点数,或它们在范围内,返回
true
。 - 另请参阅:
-
hashCode
public int hashCode()为复数获取一个hashCode。实部或虚部中的任何Double.NaN
值都会产生相同的哈希码7
。 -
isZero
public boolean isZero()检查元素是否在语义上等于零。默认实现简单地调用
equals(getField().getZero())
。但是,在某些情况下可能需要覆盖此方法,因为由于与hashCode()
的兼容性,一些类以equals(Object)
的方式实现,即-0.0和+0.0是不同的,这可能是一个问题。例如,当在LU分解中进行部分主元素选取时,它会阻止识别对角线元素为零,应避免这种情况。此实现认为+0.0和-0.0对于实部和虚部都是相等的。
- 指定者:
-
isZero
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 如果元素在语义上等于零,则为true
-
getImaginary
访问虚部。- 返回:
- 虚部。
-
getImaginaryPart
访问虚部。- 返回:
- 虚部。
-
getReal
public double getReal()访问实部。- 指定者:
-
getReal
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实部。
-
getRealPart
访问实部。- 返回:
- 实部。
-
isNaN
public boolean isNaN()检查此复数的实部或虚部或两者是否为NaN
。- 指定者:
-
isNaN
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
如果此复数的实部或虚部或两者为
NaN
,则为true;否则为false。
-
isReal
public boolean isReal()检查实例是否为实数(即虚部为零)。- 返回:
- 如果虚部为零,则为true
-
isMathematicalInteger
public boolean isMathematicalInteger()检查实例是否为整数(即虚部为零且实部没有小数部分)。- 返回:
- 如果虚部为零且实部没有小数部分,则为true
-
isInfinite
public boolean isInfinite()检查此复数的实部或虚部是否取无限值(即Double.POSITIVE_INFINITY
或Double.NEGATIVE_INFINITY
),且两部分均不为NaN
。- 指定者:
-
isInfinite
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
如果此复数的一部分或两部分均为无限大且两部分均不为
NaN
,则为true。
-
multiply
返回一个值为this * factor
的Complex
。实现了对NaN
和无穷大的初步检查,然后按照定义公式进行计算:
如果(a + bi)(c + di) = (ac - bd) + (ad + bc)i
this
或factor
中有一个或多个NaN
部分,则返回getNaN(Field)
。如果
this
和factor
中均没有一个或多个NaN
部分,并且this
或factor
中有一个或多个无限大部分(无论组件的符号如何),则返回getInf(Field)
。在所有其他情况下,根据定义公式在结果的组件中返回有限值。
- 指定者:
-
multiply
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
factor
- 与此Complex
相乘的值。 - 返回:
-
this * factor
。 - 抛出:
-
NullArgumentException
- 如果factor
为null
。
-
multiply
返回一个值为this * factor
的Complex
,其中factor
被解释为整数。- 指定者:
-
multiply
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
factor
- 与此Complex
相乘的值。 - 返回:
-
this * factor
。 - 另请参阅:
-
multiply
返回一个值为this * factor
的Complex
,其中factor
被解释为实数。- 指定者:
-
multiply
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
factor
- 与此Complex
相乘的值。 - 返回:
-
this * factor
。 - 另请参阅:
-
multiply
返回一个值为this * factor
的Complex
,其中factor
被解释为实数。- 参数:
-
factor
- 与此Complex
相乘的值。 - 返回:
-
this * factor
。 - 另请参阅:
-
multiplyPlusI
计算this * i
。- 返回:
-
this * i
- 从以下版本开始:
- 2.0
-
multiplyMinusI
计算this *- -i
。- 返回:
-
this * i
- 从以下版本开始:
- 2.0
-
negate
返回一个值为(-this)
的Complex
。如果此复数的实部或虚部之一为Double.NaN
,则返回NaN
。- 指定者:
-
negate
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
-this
。
-
subtract
返回一个值为(this - subtrahend)
的Complex
。使用定义公式
如果(a + bi) - (c + di) = (a-c) + (b-d)i
this
或subtrahend
的任一部分具有NaN
值,则根据Double
算术规则,在结果的部分中返回无限大和NaN
值。- 指定者:
-
subtract
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
subtrahend
- 从此Complex
中减去的值。 - 返回:
-
this - subtrahend
。 - 抛出:
-
NullArgumentException
- 如果subtrahend
为null
。
-
subtract
返回一个值为(this - subtrahend)
的Complex
。- 指定者:
-
subtract
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
subtrahend
- 从此Complex
中减去的值。 - 返回:
-
this - subtrahend
。 - 另请参阅:
-
subtract
返回一个值为(this - subtrahend)
的Complex
。- 参数:
-
subtrahend
- 从此Complex
中减去的值。 - 返回:
-
this - subtrahend
。 - 另请参阅:
-
acos
计算此复数的反余弦。实现公式:
如果输入参数的实部或虚部为acos(z) = -i (log(z + i (sqrt(1 - z<sup>2</sup>))))
NaN
或无穷大,则返回getNaN(Field)
。- 指定者:
-
acos
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的反余弦。
-
asin
计算此复数的反正弦。实现公式:asin(z) = -i (log(sqrt(1 - z<sup>2</sup>) + iz))
如果输入参数的实部或虚部为
NaN
或无穷大,则返回getNaN(Field)
。- 指定者:
-
asin
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的反正弦。
-
atan
- 指定者:
-
atan
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的反正切
-
cos
计算此复数的余弦。实现公式:cos(a + bi) = cos(a)cosh(b) - sin(a)sinh(b)i
其中右侧的(实)函数为
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部为无穷大值可能导致结果的部分为无穷大或NaN值。
例子:
cos(1 ± INFINITY i) = 1 ∓ INFINITY i cos(±INFINITY + i) = NaN + NaN i cos(±INFINITY ± INFINITY i) = NaN + NaN i
- 指定者:
-
cos
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的余弦。
-
cosh
计算此复数的双曲余弦。实现公式:cosh(a + bi) = cosh(a)cos(b) + sinh(a)sin(b)i
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
输入的实部或虚部为无穷大值可能导致结果的部分为无穷大或NaN值。NaN
,则返回getNaN(Field)
。例子:
cosh(1 ± INFINITY i) = NaN + NaN i cosh(±INFINITY + i) = INFINITY ± INFINITY i cosh(±INFINITY ± INFINITY i) = NaN + NaN i
- 指定者:
-
cosh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的双曲余弦。
-
exp
计算此复数的指数函数。实现公式:exp(a + bi) = exp(a)cos(b) + exp(a)sin(b)i
FastMath.exp(double)
、FastMath.cos(double)
和FastMath.sin(double)
。如果输入参数的实部或虚部为
输入的实部或虚部为无穷大值可能导致结果的部分为无穷大或NaN值。NaN
,则返回getNaN(Field)
。例子:
exp(1 ± INFINITY i) = NaN + NaN i exp(INFINITY + i) = INFINITY + INFINITY i exp(-INFINITY + i) = 0 + 0i exp(±INFINITY ± INFINITY i) = NaN + NaN i
- 指定者:
-
exp
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
ethis
。
-
expm1
指数减1。- 指定者:
-
expm1
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例的指数减一
-
log
计算此复数的自然对数。实现公式:log(a + bi) = ln(|a + bi|) + arg(a + bi)i
FastMath.log(double)
,|a + bi|
是模,abs()
,而arg(a + bi) =
FastMath.atan2(double, double)
(b, a)。如果输入参数的实部或虚部为
输入的实部或虚部为无穷大值可能导致结果的部分为无穷大或NaN值。NaN
,则返回getNaN(Field)
。例子:
log(1 ± INFINITY i) = INFINITY ± (π/2)i log(INFINITY + i) = INFINITY + 0i log(-INFINITY + i) = INFINITY + πi log(INFINITY ± INFINITY i) = INFINITY ± (π/4)i log(-INFINITY ± INFINITY i) = INFINITY ± (3π/4)i log(0 + 0i) = -INFINITY + 0i
- 指定者:
-
log
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
值
ln this
,即this
的自然对数。
-
log1p
移位的自然对数。- 指定者:
-
log1p
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例加一的对数
-
log10
底数为10的对数。- 指定者:
-
log10
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例的底数为10的对数
-
pow
返回此复数的值的幂次方x
。如果
x
是一个实数,其实部为整数值,则返回pow(int)
,如果this
和x
都是实数,并且FastMath.pow(double, double)
与相应的实数参数返回一个有限数(既不是NaN也不是无穷大),则返回转换为Complex
的相同值,具有相同的特殊情况。在所有其他情况下,实现yx = exp(x·log(y))。- 指定者:
-
pow
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
x
- 要提升为的幂次方。 - 返回:
-
thisx
。 - 抛出:
-
NullArgumentException
- 如果x为null
。
-
pow
返回此复数的值的幂次方x
。如果
x
具有整数值,则返回pow(int)
,如果this
是实数,并且FastMath.pow(double, double)
与相应的实数参数返回一个有限数(既不是NaN也不是无穷大),则返回转换为Complex
的相同值,具有相同的特殊情况。在所有其他情况下,实现yx = exp(x·log(y))。- 参数:
-
x
- 要提升为的幂次方。 - 返回:
-
thisx
。
-
pow
返回此复数的值的幂次方x
。如果
x
具有整数值,则返回pow(int)
,如果this
是实数,并且FastMath.pow(double, double)
与相应的实数参数返回一个有限数(既不是NaN也不是无穷大),则返回转换为Complex
的相同值,具有相同的特殊情况。在所有其他情况下,实现yx = exp(x·log(y))。- 指定者:
-
pow
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
x
- 要提升为的幂次方。 - 返回:
-
thisx
。
-
pow
整数幂运算。- 指定者:
-
pow
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
n
- 要应用的幂次方 - 返回:
- thisn
-
sin
计算此复数的正弦。实现公式:sin(a + bi) = sin(a)cosh(b) + cos(a)sinh(b)i
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部中的无穷大值可能导致结果的部分返回为无穷大或
NaN
值。示例:
sin(1 ± INFINITY i) = 1 ± INFINITY i sin(±INFINITY + i) = NaN + NaN i sin(±INFINITY ± INFINITY i) = NaN + NaN i
- 指定者:
-
sin
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 此复数的正弦。
-
sinCos
组合正弦和余弦运算。- 指定者:
-
sinCos
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- [sin(this), cos(this)]
-
atan2
两个参数的反正切运算。注意参数的顺序!由于这是基于两个参数的函数,为了与参数顺序保持一致,实例是第一个参数,提供的单个参数是第二个参数。为了与编程语言
atan2
保持一致,此方法计算atan2(this, x)
,即实例表示y
参数,传递的x
参数是作为单个参数传递的。这可能会令人困惑,特别是对于Wolfram alpha的用户,因为该站点与编程语言atan2
的两个参数反正切不一致,并将x
作为其第一个参数。- 指定者:
-
atan2
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
x
- 反正切的第二个参数 - 返回:
- atan2(this, x)
-
acosh
反双曲余弦运算。分支切割在实轴上,低于+1。
- 指定者:
-
acosh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- acosh(this)
-
asinh
反双曲正弦运算。分支切割在虚轴上,高于+i且低于-i。
- 指定者:
-
asinh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- asin(this)
-
atanh
反双曲正切运算。分支切割在实轴上,高于+1且低于-1。
- 指定者:
-
atanh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- atanh(this)
-
sinh
计算此复数的双曲正弦。实现公式:sinh(a + bi) = sinh(a)cos(b)) + cosh(a)sin(b)i
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部中的无穷大值可能导致结果的部分返回为无穷大或NaN值。
示例:
sinh(1 ± INFINITY i) = NaN + NaN i sinh(±INFINITY + i) = ± INFINITY + INFINITY i sinh(±INFINITY ± INFINITY i) = NaN + NaN i
- 指定者:
-
sinh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
this
的双曲正弦。
-
sinhCosh
组合双曲正弦和余弦运算。- 指定者:
-
sinhCosh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- [sinh(this), cosh(this)]
-
sqrt
计算此复数的平方根。实现以下算法来计算sqrt(a + bi)
:- 令
t = sqrt((|a| + |a + bi|) / 2)
-
如果
a ≥ 0
,返回t + (b/2t)i
否则返回|b|/2t + sign(b)t i
|a| =
abs(a)
|a + bi| =
hypot(a, b)
sign(b) =
copySign(1, b)
如果输入参数的实部或虚部为
NaN
,则返回NaN
。输入的实部或虚部中的无限值可能导致结果的某些部分返回无限或
NaN
值。示例:
sqrt(1 ± ∞ i) = ∞ + NaN i sqrt(∞ + i) = ∞ + 0i sqrt(-∞ + i) = 0 + ∞ i sqrt(∞ ± ∞ i) = ∞ + NaN i sqrt(-∞ ± ∞ i) = NaN ± ∞ i
- 指定者:
-
sqrt
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
具有非负实部的
this
的平方根。
- 令
-
sqrt1z
计算此复数的1 - this2
的平方根。直接计算结果为sqrt(ONE.subtract(z.multiply(z)))
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部中的无限值可能导致结果的某些部分返回无限或NaN
值。- 返回:
-
1 - this2
的平方根。
-
cbrt
立方根。此实现通过沿着实负轴的分支切割来计算主立方根。
- 指定者:
-
cbrt
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例的立方根
-
rootN
Nth根。此实现通过沿着实负轴的分支切割来计算主nth根。
- 指定者:
-
rootN
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
n
- 根的阶数 - 返回:
- 实例的nth根
-
tan
计算此复数的正切。实现公式:tan(a + bi) = sin(2a)/(cos(2a)+cosh(2b)) + [sinh(2b)/(cos(2a)+cosh(2b))]i
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部中的无限(或临界)值可能导致结果的某些部分返回无限或NaN
值。示例:
tan(a ± INFINITY i) = 0 ± i tan(±INFINITY + bi) = NaN + NaN i tan(±INFINITY ± INFINITY i) = NaN + NaN i tan(±π/2 + 0 i) = ±INFINITY + NaN i
- 指定者:
-
tan
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
this
的正切。
-
tanh
计算此复数的双曲正切。实现公式:tan(a + bi) = sinh(2a)/(cosh(2a)+cos(2b)) + [sin(2b)/(cosh(2a)+cos(2b))]i
FastMath.sin(double)
、FastMath.cos(double)
、FastMath.cosh(double)
和FastMath.sinh(double)
。如果输入参数的实部或虚部为
NaN
,则返回getNaN(Field)
。输入的实部或虚部中的无限值可能导致结果的某些部分返回无限或NaN
值。示例:
tanh(a ± INFINITY i) = NaN + NaN i tanh(±INFINITY + bi) = ±1 + 0 i tanh(±INFINITY ± INFINITY i) = NaN + NaN i tanh(0 + (π/2)i) = NaN + INFINITY i
- 指定者:
-
tanh
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
this
的双曲正切。
-
getArgument
计算此复数的幅角。幅角是正实轴与在复平面中表示此数的点之间的角度phi。返回值介于-PI(不包括)和PI(包括)之间,对于具有负虚部的数字,返回负值。如果实部或虚部(或两者)为NaN,则返回NaN。无限部分的处理方式类似于
Math.atan2
处理它们,基本上在存在无限坐标时将有限部分视为零,并根据无限部分的符号返回pi/4的倍数。有关完整详细信息,请参阅Math.atan2
的javadoc。- 返回:
-
this
的幅角。
-
nthRoot
计算此复数的n次根。n次根由以下公式定义:zk = abs1/n (cos(phi + 2πk/n) + i (sin(phi + 2πk/n))
k=0, 1, ..., n-1
,其中abs
和phi
分别是此复数的模
和幅角
。如果此复数的一个或两个部分为NaN,则返回一个只包含一个元素
getNaN(Field)
的列表。如果两个部分都不是NaN,但至少有一个部分是无限的,则结果是一个包含getInf(Field)
的一个元素列表。- 参数:
-
n
- 根的次数。 - 返回:
-
所有
n
次根的列表。 - 抛出:
-
MathIllegalArgumentException
- 如果n <= 0
。
-
createComplex
给定实部和虚部创建一个复数。- 参数:
-
realPart
- 实部。 -
imaginaryPart
- 虚部。 - 返回:
- 一个新的复数实例。
- 另请参阅:
-
valueOf
public static <T extends CalculusFieldElement<T>> FieldComplex<T> valueOf(T realPart, T imaginaryPart) 给定实部和虚部创建一个复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
realPart
- 实部。 -
imaginaryPart
- 虚部。 - 返回:
- 一个复数实例。
-
valueOf
仅给定实部创建一个复数。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
realPart
- 实部。 - 返回:
- 一个复数实例。
-
newInstance
创建与常数实值对应的实例。- 指定者:
-
newInstance
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
realPart
- 常数实部值 - 返回:
- 对应于常数实部值的实例
-
getField
获取实例所属的Field
。- 指定者:
-
getField
在接口中FieldElement<T extends CalculusFieldElement<T>>
- 返回:
-
实例所属的
Field
-
getPartsField
获取实部和虚部所属的Field
。- 返回:
-
实部和虚部所属的
Field
-
toString
-
scalb
将实例乘以2的幂。- 指定者:
-
scalb
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
n
- 2的幂 - 返回:
- this × 2n
-
ulp
计算一个数的最低有效位(最后一位单位)。- 指定者:
-
ulp
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- ulp(this)
-
hypot
返回三角形的斜边,其两边为this
和y
- sqrt(this2 +y2),避免中间溢出或下溢。- 如果任一参数为无穷大,则结果为正无穷大。
- 否则,如果任一参数为NaN,则结果为NaN。
- 指定者:
-
hypot
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
y
- 一个值 - 返回:
- sqrt(this2 +y2)
-
linearCombination
public FieldComplex<T> linearCombination(FieldComplex<T>[] a, FieldComplex<T>[] b) throws MathIllegalArgumentException 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a
- 因子。 -
b
- 因子。 - 返回:
-
Σi ai bi
。 - 抛出:
-
MathIllegalArgumentException
- 如果数组维度不匹配
-
linearCombination
public FieldComplex<T> linearCombination(double[] a, FieldComplex<T>[] b) throws MathIllegalArgumentException 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a
- 因子。 -
b
- 因子。 - 返回:
-
Σi ai bi
。 - 抛出:
-
MathIllegalArgumentException
- 如果数组维度不匹配
-
linearCombination
public FieldComplex<T> linearCombination(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 - 返回:
- a1×b1 + a2×b2
- 另请参阅:
-
linearCombination
public FieldComplex<T> linearCombination(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 - 返回:
- a1×b1 + a2×b2
- 另请参阅:
-
linearCombination
public FieldComplex<T> linearCombination(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2, FieldComplex<T> a3, FieldComplex<T> b3) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3
- 另请参阅:
-
linearCombination
public FieldComplex<T> linearCombination(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2, double a3, FieldComplex<T> b3) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3
- 另请参阅:
-
linearCombination
public FieldComplex<T> linearCombination(FieldComplex<T> a1, FieldComplex<T> b1, FieldComplex<T> a2, FieldComplex<T> b2, FieldComplex<T> a3, FieldComplex<T> b3, FieldComplex<T> a4, FieldComplex<T> b4) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 -
a4
- 第四项的第一个因子 -
b4
- 第四项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- 另请参阅:
-
linearCombination
public FieldComplex<T> linearCombination(double a1, FieldComplex<T> b1, double a2, FieldComplex<T> b2, double a3, FieldComplex<T> b3, double a4, FieldComplex<T> b4) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 -
a4
- 第四项的第一个因子 -
b4
- 第四项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- 另请参阅:
-
ceil
获取大于实例的最小整数。- 指定者:
-
ceil
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- ceil(this)
-
floor
获取小于实例的最大整数。- 指定者:
-
floor
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- floor(this)
-
rint
获取最接近实例的整数,如果x恰好处于两个整数之间,则取偶数。- 指定者:
-
rint
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 一个双精度数r,使得r是整数r - 0.5 ≤ this ≤ r + 0.5
-
remainder
IEEE余数运算符。对于复数,与
this.subtract(remainder(a)).divide(a)
对应的整数n是一个维基百科 - 高斯整数。- 指定者:
-
remainder
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a
- 运算符的右侧参数 - 返回:
- this - n × a,其中n是最接近this/a的整数
-
remainder
IEEE余数运算符。对于复数,与
this.subtract(remainder(a)).divide(a)
对应的整数n是一个维基百科 - 高斯整数。- 指定者:
-
remainder
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
a
- 运算符的右侧参数 - 返回:
- this - n × a,其中n是最接近this/a的整数
-
sign
计算实例的符号。负数为-1,正数为+1,否则为0,对于复数,它在单位圆上延伸(等同于z/|z|,对于0和NaN有特殊处理)- 指定者:
-
sign
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- -1.0, -0.0, +0.0, +1.0或NaN,取决于a的符号
-
copySign
返回具有参数符号的实例。NaNsign
参数被视为正数。实部和虚部的符号独立复制。
- 指定者:
-
copySign
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
z
- 返回值的符号 - 返回:
-
具有与
sign
参数相同符号的实例
-
copySign
返回具有参数符号的实例。NaNsign
参数被视为正数。- 指定者:
-
copySign
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 参数:
-
r
- 返回值的符号 - 返回:
-
具有与
sign
参数相同符号的实例
-
toDegrees
将弧度转换为度,误差小于0.5 ULP- 指定者:
-
toDegrees
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例转换为度
-
toRadians
将度转换为弧度,误差小于0.5 ULP- 指定者:
-
toRadians
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 实例转换为弧度
-
getPi
获取阿基米德常数 π。阿基米德常数是圆周长与直径的比值。
- 指定者:
-
getPi
在接口中CalculusFieldElement<T extends CalculusFieldElement<T>>
- 返回:
- 阿基米德常数 π
-