类 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 SparseGradientcreateConstant(double value) 创建一个常数的工厂方法。static SparseGradientcreateVariable(int idx, double value) 创建一个独立变量的工厂方法。divide(double c) '÷' 运算符。计算 this ÷ a。boolean测试两个稀疏梯度是否相等。exp()指数。expm1()指数减1。floor()获取小于实例的最大整数。doublegetDerivative(int index) 获取相对于特定索引变量的导数。getField()获取实例所属的Field。getPi()获取阿基米德常数 π。doublegetReal()获取数字的实部值。doublegetValue()获取函数的值。inthashCode()为导数结构获取哈希码。返回三角形的斜边,其两边为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) 创建与常数实值对应的实例。intnumVars()查找变量的数量。pow(double p) 幂运算。static SparseGradientpow(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()双曲正切运算。doubletaylor(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()为导数结构获取哈希码。
-