块向量
实现一个通用的“块向量”
pyomo.contrib.pynumero.sparse.block_vector 模块包含了一些方法,这些方法扩展了 numpy 中的线性代数操作,适用于具有固有块结构的结构化问题。此接口考虑以下形式的向量:
其中 v_i 是维度为1的numpy数组
目录
特定于BlockVector的方法:
get_block_size()
is_block_defined()
特定于BlockVector的属性:
NumPy 兼容方法:
例如,
>>> import numpy as np
>>> from pyomo.contrib.pynumero.sparse import BlockVector
>>> v = BlockVector(2)
>>> v.set_block(0, np.random.normal(size=100))
>>> v.set_block(1, np.random.normal(size=30))
>>> avg = v.mean()
NumPy 兼容函数:
log10()
sin()
cos()
exp()
ceil()
floor()
tan()
arctan()
arcsin()
arccos()
sinh()
cosh()
abs()
tanh()
arccosh()
arcsinh()
arctanh()
fabs()
sqrt()
log()
log2()
absolute()
isfinite()
isinf()
isnan()
log1p()
logical_not()
expm1()
exp2()
sign()
rint()
square()
positive()
negative()
rad2deg()
deg2rad()
conjugate()
reciprocal()
signbit()
add()
multiply()
divide()
subtract()
greater()
greater_equal()
less()
less_equal()
not_equal()
maximum()
minimum()
fmax()
fmin()
equal()
logical_and()
logical_or()
logical_xor()
logaddexp()
logaddexp2()
remainder()
heaviside()
hypot()
例如,
>>> import numpy as np
>>> from pyomo.contrib.pynumero.sparse import BlockVector
>>> v = BlockVector(2)
>>> v.set_block(0, np.random.normal(size=100))
>>> v.set_block(1, np.random.normal(size=30))
>>> inf_norm = np.max(np.abs(v))
|
结构化向量接口。 |
|
设置一个块。 |
访问一个块。 |
|
|
返回一个包含此BlockVector中各个块大小的1D数组 |
|
|
|
|
|
将其他向量的条目复制到此向量中 |
|
将此BlockVector的条目复制到其他 |
返回一个填充了零的BlockVector结构的副本 |
|
|
以块为单位分配向量 |
以漂亮的格式打印BlockVector |
|
返回块的数量。 |
|
返回此BlockVector中的块数,以元组形式表示。 |
|
指示此BlockVector是否有任何非零条目。 |
Classes
|
结构化向量接口。 |
异常
Functions