类 SparseGradient
java.lang.Object
org.hipparchus.analysis.differentiation.SparseGradient
- 所有已实现的接口:
-
Serializable
,CalculusFieldElement<SparseGradient>
,FieldElement<SparseGradient>
public class SparseGradient extends Object implements CalculusFieldElement<SparseGradient>, Serializable
大量变量的一阶导数计算。
这个类在处理大量独立变量且大多数计算仅依赖于其中少数变量,并且只需要一阶导数时起到类似于DerivativeStructure
的作用。在满足这些条件时,这个类应该比DerivativeStructure
快得多,并且使用的内存更少。
- 另请参阅:
-
方法概要
修饰符和类型方法说明abs()
绝对值。acos()
反余弦运算。acosh()
反双曲余弦运算。add
(double c) '+' 运算符。计算 this + a。void
就地相加。asin()
反正弦运算。asinh()
反双曲正弦运算。atan()
反正切运算。两参数反正切运算。static SparseGradient
两参数反正切运算。atanh()
反双曲正切运算。cbrt()
立方根。ceil()
获取大于实例的最小整数。compose
(double... f) 计算实例通过单变量函数的复合。copySign
(double sign) 返回带有参数符号的实例。copySign
(SparseGradient sign) 返回带有参数符号的实例。cos()
余弦运算。cosh()
双曲余弦运算。static SparseGradient
createConstant
(double value) 创建一个常数的工厂方法。static SparseGradient
createVariable
(int idx, double value) 创建一个独立变量的工厂方法。divide
(double c) '÷' 运算符。计算 this ÷ a。boolean
测试两个稀疏梯度是否相等。exp()
指数。expm1()
指数减1。floor()
获取小于实例的最大整数。double
getDerivative
(int index) 获取相对于特定索引变量的导数。getField()
获取实例所属的Field
。getPi()
获取阿基米德常数 π。double
getReal()
获取数字的实部值。double
getValue()
获取函数的值。int
hashCode()
为导数结构获取哈希码。返回三角形的斜边,其两边为this
和y
- sqrt(this2 +y2),避免中间溢出或下溢。static SparseGradient
返回三角形的斜边,其两边为x
和y
- sqrt(x2 +y2),避免中间溢出或下溢。linearCombination
(double[] a, SparseGradient[] b) 计算线性组合。linearCombination
(double a1, SparseGradient b1, double a2, SparseGradient b2) 计算线性组合。linearCombination
(double a1, SparseGradient b1, double a2, SparseGradient b2, double a3, SparseGradient b3) 计算线性组合。linearCombination
(double a1, SparseGradient b1, double a2, SparseGradient b2, double a3, SparseGradient b3, double a4, SparseGradient b4) 计算线性组合。linearCombination
(SparseGradient[] a, SparseGradient[] b) 计算线性组合。linearCombination
(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2) 计算线性组合。linearCombination
(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2, SparseGradient a3, SparseGradient b3) 计算线性组合。linearCombination
(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2, SparseGradient a3, SparseGradient b3, SparseGradient a4, SparseGradient b4) 计算线性组合。log()
自然对数。log10()
以10为底的对数。log1p()
移位自然对数。multiply
(double c) '×' 运算符。multiply
(int n) 计算 n × this。计算 this × a。void
就地相乘。negate()
返回this
元素的加法逆元。newInstance
(double v) 创建与常数实值对应的实例。int
numVars()
查找变量的数量。pow
(double p) 幂运算。static SparseGradient
pow
(double a, SparseGradient x) 计算ax,其中a是一个双精度浮点数,x是一个SparseGradient
。pow
(int n) 整数幂运算。幂运算。返回this
元素的乘法逆元。remainder
(double a) IEEE余数运算符。IEEE余数运算符。rint()
获取最接近实例的整数,如果x恰好处于两个整数之间,则取偶数。rootN
(int n) Nth根。scalb
(int n) 将实例乘以2的幂。sign()
计算实例的符号。sin()
正弦运算。sinCos()
组合正弦和余弦运算。sinh()
双曲正弦运算。sinhCosh()
组合双曲正弦和余弦运算。sqrt()
平方根。subtract
(double c) '-' 运算符。计算 this - a。tan()
正切运算。tanh()
双曲正切运算。double
taylor
(double... delta) 计算稀疏梯度的泰勒展开。将弧度转换为度,误差小于0.5 ULP将度转换为弧度,误差小于0.5 ULPulp()
计算数字的最低有效位(最后一位单位)。从接口继承的方法 org.hipparchus.CalculusFieldElement
getExponent, isFinite, isInfinite, isNaN, norm, round
从接口继承的方法 org.hipparchus.FieldElement
isZero
-
方法详细资料
-
newInstance
创建与常数实值对应的实例。- 指定者:
-
newInstance
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
v
- 常数实值 - 返回:
- 与常数实值对应的实例
-
createConstant
创建一个常数的工厂方法。- 参数:
-
value
- 常数的值 - 返回:
- 一个新实例
-
createVariable
创建一个独立变量的工厂方法。- 参数:
-
idx
- 变量的索引 -
value
- 变量的值 - 返回:
- 一个新实例
-
numVars
public int numVars()查找变量的数量。- 返回:
- 变量的数量
-
getDerivative
public double getDerivative(int index) 获取相对于特定索引变量的导数。- 参数:
-
index
- 要求导数的索引。 - 返回:
- 相对于特定索引变量的导数
-
getValue
public double getValue()获取函数的值。- 返回:
- 函数的值。
-
getReal
public double getReal()获取数字的实部值。- 指定者:
-
getReal
在接口中FieldElement<SparseGradient>
- 返回:
- 实部值
-
add
计算 this + a。- 指定者:
-
add
在接口中FieldElement<SparseGradient>
- 参数:
-
a
- 要相加的元素 - 返回:
- 代表 this + a 的新元素
-
addInPlace
添加到当前位置。此方法设计为在循环中多次使用时更快。
在这里更改实例,为了不更改实例,应该使用
add(SparseGradient)
方法。- 参数:
-
a
- 要添加的实例
-
add
'+' 运算符。- 指定者:
-
add
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
c
- 运算符的右操作数 - 返回:
- this+a
-
subtract
计算 this - a。- 指定者:
-
subtract
在接口中FieldElement<SparseGradient>
- 参数:
-
a
- 要减去的元素 - 返回:
- 一个新元素,表示 this - a
-
subtract
'-' 运算符。- 指定者:
-
subtract
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
c
- 运算符的右操作数 - 返回:
- this-a
-
multiply
计算 this × a。- 指定者:
-
multiply
在接口中FieldElement<SparseGradient>
- 参数:
-
a
- 要相乘的元素 - 返回:
- 一个新元素,表示 this × a
-
multiplyInPlace
原地相乘。此方法设计为在循环中多次使用时更快。
在这里更改实例,为了不更改实例,应该使用
add(SparseGradient)
方法。- 参数:
-
a
- 要相乘的实例
-
multiply
'×' 运算符。- 指定者:
-
multiply
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
c
- 运算符的右操作数 - 返回:
- this×a
-
multiply
计算 n × this。将整数乘以一个数定义为以下求和 \[ n \times \mathrm{this} = \sum_{i=1}^n \mathrm{this} \]- 指定者:
-
multiply
在接口中FieldElement<SparseGradient>
- 参数:
-
n
- 必须将this
加到自身的次数 - 返回:
- 表示 n × this 的新元素
-
divide
计算 this ÷ a。- 指定者:
-
divide
在接口中FieldElement<SparseGradient>
- 参数:
-
a
- 要除以的元素 - 返回:
- 一个新元素,表示 this ÷ a
-
divide
'÷' 运算符。- 指定者:
-
divide
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
c
- 运算符的右操作数 - 返回:
- this÷a
-
negate
返回this
元素的加法逆元。- 指定者:
-
negate
在接口中FieldElement<SparseGradient>
- 返回:
-
this
的相反数。
-
getField
获取实例所属的Field
。- 指定者:
-
getField
在接口中FieldElement<SparseGradient>
- 返回:
-
实例所属的
Field
-
remainder
IEEE 取余运算符。- 指定者:
-
remainder
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a
- 运算符的右操作数 - 返回:
- this - n × a,其中 n 是最接近 this/a 的整数
-
remainder
IEEE 取余运算符。- 指定者:
-
remainder
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a
- 运算符的右操作数 - 返回:
- this - n × a,其中 n 是最接近 this/a 的整数
-
abs
绝对值。只是
CalculusFieldElement.norm()
的另一个名称- 指定者:
-
abs
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- abs(this)
-
ceil
获取大于实例的最小整数。- 指定者:
-
ceil
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- ceil(this)
-
floor
获取小于实例的最大整数。- 指定者:
-
floor
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- floor(this)
-
rint
获取最接近实例的整数,如果 x 正好处于两个整数之间,则取偶数。- 指定者:
-
rint
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 一个双精度数 r,使得 r 是整数 r - 0.5 ≤ this ≤ r + 0.5
-
sign
计算实例的符号。负数的符号为 -1,正数的符号为 +1,否则为 0,对于复数,它在单位圆上扩展(等同于 z/|z|,对于 0 和 NaN 进行特殊处理)- 指定者:
-
sign
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- -1.0, -0.0, +0.0, +1.0 或 NaN,取决于 a 的符号
-
copySign
返回具有参数符号的实例。将 NaNsign
参数视为正数。- 指定者:
-
copySign
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
sign
- 返回值的符号 - 返回:
-
具有与
sign
参数相同符号的实例
-
copySign
返回具有参数符号的实例。将 NaNsign
参数视为正数。- 指定者:
-
copySign
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
sign
- 返回值的符号 - 返回:
-
与
sign
参数具有相同符号的实例
-
scalb
将实例乘以2的幂。- 指定者:
-
scalb
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
n
- 2的幂 - 返回:
- this × 2n
-
ulp
计算数字的最低有效位(最后一位单位)。ulp
函数是一个阶跃函数,因此其所有导数均为0。- 指定者:
-
ulp
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- ulp(this)
- 从以下版本开始:
- 2.0
-
hypot
返回三角形的斜边,其两边为this
和y
- sqrt(this2 +y2),避免中间溢出或下溢。- 如果任一参数为无穷大,则结果为正无穷大。
- 否则,如果任一参数为NaN,则结果为NaN。
- 指定者:
-
hypot
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
y
- 一个值 - 返回:
- sqrt(this2 +y2)
-
hypot
返回三角形的斜边,其两边为x
和y
- sqrt(x2 +y2),避免中间溢出或下溢。- 如果任一参数为无穷大,则结果为正无穷大。
- 否则,如果任一参数为NaN,则结果为NaN。
- 参数:
-
x
- 一个值 -
y
- 一个值 - 返回:
- sqrt(x2 +y2)
-
reciprocal
返回this
元素的乘法逆元。- 指定者:
-
reciprocal
在接口中CalculusFieldElement<SparseGradient>
- 指定者:
-
reciprocal
在接口中FieldElement<SparseGradient>
- 返回:
-
this
的倒数。
-
sqrt
平方根。- 指定者:
-
sqrt
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的平方根
-
cbrt
立方根。- 指定者:
-
cbrt
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的立方根
-
rootN
Nth根。- 指定者:
-
rootN
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
n
- 根的阶数 - 返回:
- 实例的nth根
-
pow
幂运算。- 指定者:
-
pow
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
p
- 要应用的幂 - 返回:
- thisp
-
pow
整数幂运算。- 指定者:
-
pow
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
n
- 要应用的幂 - 返回:
- thisn
-
pow
幂运算。- 指定者:
-
pow
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
e
- 指数 - 返回:
- thise
-
pow
计算ax,其中a是一个double,x是一个SparseGradient
- 参数:
-
a
- 要求幂的数字 -
x
- 要应用的幂 - 返回:
- ax
-
exp
指数。- 指定者:
-
exp
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的指数
-
expm1
指数减1。- 指定者:
-
expm1
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的指数减一
-
log
自然对数。- 指定者:
-
log
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的对数
-
log10
以10为底的对数。- 指定者:
-
log10
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 实例的以10为底的对数
-
log1p
移位的自然对数。- 指定者:
-
log1p
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 一加实例的对数
-
cos
余弦运算。- 指定者:
-
cos
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- cos(this)
-
sin
正弦运算。- 指定者:
-
sin
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- sin(this)
-
sinCos
组合正弦和余弦运算。- 指定者:
-
sinCos
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- [sin(this), cos(this)]
-
tan
正切运算。- 指定者:
-
tan
在接口中<
-
acos
Arc cosine operation.- 指定者:
-
acos
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- acos(this)
-
asin
反余弦运算。- 指定者:
-
asin
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- asin(this)
-
atan
反正弦运算。- 指定者:
-
atan
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- atan(this)
-
atan2
反正切运算。- 指定者:
-
atan2
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
x
- 反正切的第二个参数 - 返回:
- atan2(this, x)
-
atan2
反正切运算。- 参数:
-
y
- 反正切的第一个参数 -
x
- 反正切的第二个参数 - 返回:
- atan2(y, x)
-
cosh
双曲余弦运算。- 指定者:
-
cosh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- cosh(this)
-
sinh
双曲正弦运算。- 指定者:
-
sinh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- sinh(this)
-
sinhCosh
双曲正弦和余弦的组合运算。- 指定者:
-
sinhCosh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- [sinh(this), cosh(this)]
-
tanh
双曲正切运算。- 指定者:
-
tanh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- tanh(this)
-
acosh
反双曲余弦运算。- 指定者:
-
acosh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- acosh(this)
-
asinh
反双曲正弦运算。- 指定者:
-
asinh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- asin(this)
-
atanh
反双曲正切运算。- 指定者:
-
atanh
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- atanh(this)
-
toDegrees
将弧度转换为度,误差小于0.5 ULP- 指定者:
-
toDegrees
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 将实例转换为度
-
toRadians
将度转换为弧度,误差小于0.5 ULP- 指定者:
-
toRadians
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 将实例转换为弧度
-
taylor
public double taylor(double... delta) 计算稀疏梯度的泰勒展开。- 参数:
-
delta
- 参数偏移(Δx,Δy,...) - 返回:
- 在 x + Δx,y + Δy 等处的泰勒展开值
-
compose
计算实例通过单变量函数的组合。- 参数:
-
f
- 当前点函数值和导数的数组(即 [f(getValue()
), f'(getValue()
), f''(getValue()
)...]) - 返回:
- f(this)
- 抛出:
-
MathIllegalArgumentException
- 如果数组中的元素数量不等于2(即值和一阶导数)
-
linearCombination
public SparseGradient linearCombination(SparseGradient[] a, SparseGradient[] b) throws MathIllegalArgumentException 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a
- 因子 -
b
- 因子 - 返回:
-
Σi ai bi
- 抛出:
-
MathIllegalArgumentException
- 如果数组维度不匹配
-
linearCombination
计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a
- 因子 -
b
- 因子 - 返回:
-
Σi ai bi
-
linearCombination
public SparseGradient linearCombination(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 - 返回:
- a1×b1 + a2×b2
- 另请参阅:
-
linearCombination
计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 - 返回:
- a1×b1 + a2×b2
- 另请参阅:
-
linearCombination
public SparseGradient linearCombination(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2, SparseGradient a3, SparseGradient b3) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3
- 另请参阅:
-
linearCombination
public SparseGradient linearCombination(double a1, SparseGradient b1, double a2, SparseGradient b2, double a3, SparseGradient b3) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3
- 另请参阅:
-
linearCombination
public SparseGradient linearCombination(SparseGradient a1, SparseGradient b1, SparseGradient a2, SparseGradient b2, SparseGradient a3, SparseGradient b3, SparseGradient a4, SparseGradient b4) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 -
a4
- 第四项的第一个因子 -
b4
- 第四项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- 另请参阅:
-
linearCombination
public SparseGradient linearCombination(double a1, SparseGradient b1, double a2, SparseGradient b2, double a3, SparseGradient b3, double a4, SparseGradient b4) 计算线性组合。- 指定者:
-
linearCombination
在接口中CalculusFieldElement<SparseGradient>
- 参数:
-
a1
- 第一项的第一个因子 -
b1
- 第一项的第二个因子 -
a2
- 第二项的第一个因子 -
b2
- 第二项的第二个因子 -
a3
- 第三项的第一个因子 -
b3
- 第三项的第二个因子 -
a4
- 第四项的第一个因子 -
b4
- 第四项的第二个因子 - 返回:
- a1×b1 + a2×b2 + a3×b3 + a4×b4
- 另请参阅:
-
getPi
获取阿基米德常数 π。阿基米德常数是圆周长与直径的比值。
- 指定者:
-
getPi
在接口中CalculusFieldElement<SparseGradient>
- 返回:
- 阿基米德常数 π
-
equals
测试两个稀疏梯度是否相等。如果两个稀疏梯度具有相同的值和相同的导数,则认为它们相等。
-
hashCode
public int hashCode()为导数结构获取哈希码。
-