块矩阵

(类来自 pyomo.contrib.pynumero.sparse.block_matrix)

class pyomo.contrib.pynumero.sparse.block_matrix.BlockMatrix(nbrows, nbcols)[source]

基础类:BaseBlockMatrix

结构化矩阵接口

_blocks

存储子矩阵的二维数组

Type:

numpy.ndarray

_bshape

块行数和块列数

Type:

tuple

_block_mask

带有布尔值的二维数组,表示块是否不为空。 空块用 None 表示

Type:

numpy.ndarray

_brow_lengths

具有块行大小的1D数组

Type:

numpy.ndarray

_bcol_lengths

具有块列大小的1D数组

Type:

numpy.ndarray

_undefined_brows

具有未定义维度的块行索引集合

Type:

set

_undefined_bcols

具有未定义维度的块列索引集合

Type:

set

Parameters:
  • nbrows (int) – 矩阵中的块行数

  • nbcols (int) – 矩阵中的块列数

__init__(nbrows, nbcols)[source]

方法

__init__(nbrows, nbcols)

block_shapes()

返回此BlockMatrix中块的形状列表

col_block_sizes([copy])

返回带有列块大小的数组

coo_data()

返回矩阵的数据数组。

copy([deep])

复制此BlockMatrix

copy_structure()

复制此BlockMatrix的结构。

copyfrom(other[, deep])

将其他矩阵的条目复制到此矩阵中。

copyto(other[, deep])

将此BlockMatrix的条目复制到其他。

diagonal([k])

dot(other)

普通点积

get_block(row, col)

get_block_column_index(index)

从矩阵列索引返回块列索引。

get_block_mask([copy])

get_block_row_index(index)

从矩阵行索引返回块行索引。

get_col_size(col)

get_row_size(row)

getcol(j)

返回列j的向量

getrow(i)

返回第i列的向量

has_undefined_col_sizes()

指示矩阵是否具有未定义维度的块列

has_undefined_row_sizes()

指示矩阵是否具有未定义维度的块行

is_col_size_defined(col)

is_empty_block(idx, jdx)

指示一个块是否为None

is_row_size_defined(row)

mean([axis, dtype, out])

nonzero()

reset_bcol(jdx)

将所选块列中的所有块重置为无

reset_brow(idx)

将所选块行中的所有块重置为无

row_block_sizes([copy])

返回包含行块大小的数组

set_block(row, col, value)

set_col_size(col, size)

set_row_size(row, size)

setdiag(values[, k])

sum([axis, dtype, out])

toarray([order, out])

返回此矩阵的numpy.ndarray表示。

tobsr([blocksize, copy])

tocoo([copy])

将此矩阵转换为COOrdinate格式。

tocsc([copy])

将此矩阵转换为压缩稀疏列格式。

tocsr([copy])

将此矩阵转换为压缩稀疏行格式。

todia([copy])

tolil([copy])

tostring([order])

transpose([axes, copy])

创建BlockMatrix的转置副本。

属性

T

转置矩阵

bshape

返回矩阵的块形状的元组

dtype

返回矩阵的数据类型。

format

nnz

返回此矩阵中非零值的总数

shape

返回包含总行数和总列数的元组

成员文档

block_shapes()[source]

返回此BlockMatrix中块的形状列表

注释

对于一个具有2个块行和2个块列的BlockMatrix 此方法返回[[Block_00.shape, Block_01.shape],[Block_10.shape, Block_11.shape]]

Return type:

list

col_block_sizes(copy=True)[source]

返回带有列块大小的数组

Parameters:

复制 (bool) – 如果为False,则返回存储列块大小的内部数组而不进行复制。 将copy设置为False是有风险的,应极其谨慎地进行。

Return type:

numpy.ndarray

coo_data()[source]

返回矩阵的数据数组。该数组对应于COOrdinate矩阵格式中的数据指针。

Return type:

numpy.ndarray 包含矩阵中所有条目的值

copy(deep=True)[source]

复制此BlockMatrix

Parameters:

deep (bool) – 如果 deep 为 True,则此 BlockMatrix 中的块将被复制

Return type:

BlockMatrix

copy_structure()[source]

复制此BlockMatrix的结构。这提供了一个轻量级的此BlockMatrix中每个块的副本。结果矩阵中的块具有与原始矩阵相同的形状,但不具有相同的非零元素数量。

Return type:

BlockMatrix

copyfrom(other, deep=True)[source]

将其他矩阵的条目复制到此矩阵中。此方法提供了一种从scipy.sparse矩阵填充BlockMatrix的简便方式。它还旨在促进从其他BlockMatrix复制值到此BlockMatrix。

Parameters:
  • 其他 (BlockMatrixscipy.spmatrix)

  • deep (bool) – 如果 deep 为 True 且 other 是 BlockMatrix,则复制 other 中的块。如果 deep 为 False 且 other 是 BlockMatrix,则不复制 other 中的块。

Return type:

copyto(other, deep=True)[source]

将此BlockMatrix的条目复制到其他矩阵中。此方法提供了一种简单的方式将此矩阵的值复制到另一种格式中。

Parameters:
  • 其他 (BlockMatrixscipy.spmatrix)

  • deep (bool) – 如果 deep 为 True 且 other 是 BlockMatrix,则此 BlockMatrix 中的块会被复制。如果 deep 为 False 且 other 是 BlockMatrix,则此 BlockMatrix 中的块不会被复制。

Return type:

dot(other)[source]

普通点积

get_block_column_index(index)[source]

从矩阵列索引返回块列索引。

Parameters:

index (int) – 列索引

Return type:

int

get_block_row_index(index)[source]

从矩阵行索引返回块行索引。

Parameters:

index (int) – 行索引

Return type:

int

getcol(j)[source]

返回列j的向量

Parameters:

j (int) – 列索引

Return type:

pyomo.contrib.pynumero.sparse BlockVector

getrow(i)[source]

返回第i列的向量

Parameters:

i (int) – 行索引

Return type:

pyomo.contrib.pynumero.sparse BlockVector

has_undefined_col_sizes()[source]

指示矩阵是否具有未定义维度的块列

Return type:

bool

has_undefined_row_sizes()[source]

指示矩阵是否具有未定义维度的块行

Return type:

bool

is_empty_block(idx, jdx)[source]

指示一个块是否为None

Parameters:
  • idx (int) – 块行索引

  • jdx (int) – 块列索引

Return type:

bool

reset_bcol(jdx)[source]

将所选块列中的所有块重置为无

Parameters:

jdx (int) – 要重置的块列索引

Return type:

reset_brow(idx)[source]

将所选块行中的所有块重置为无

Parameters:

idx (int) – 要重置的块行索引

Return type:

row_block_sizes(copy=True)[source]

返回包含行块大小的数组

Parameters:

复制 (bool) – 如果为 False,则返回存储行块大小的内部数组而不进行复制。 将 copy 设置为 False 是有风险的,应极其谨慎地进行。

Return type:

numpy.ndarray

toarray(order=None, out=None)[source]

返回此矩阵的numpy.ndarray表示。

Parameters:
  • order ({'C', 'F'}, optional) – 是否在内存中以C(行优先)或Fortran(列优先)顺序存储多维数据。默认值为‘None’,表示NumPy默认的C顺序。不能与out参数一起指定。

  • out (ndarray, 2-dimensional, optional) – 如果指定,则使用此数组作为输出缓冲区,而不是分配一个新数组来返回。提供的数组必须具有与调用方法的稀疏矩阵相同的形状和数据类型。对于大多数稀疏类型,out 需要是内存连续的(无论是C顺序还是Fortran顺序)。

Returns:

arr – 一个具有相同形状并包含由BlockMatrix表示的相同数据的数组。

Return type:

ndarray,二维

tocoo(copy=True)[source]

将此矩阵转换为COOrdinate格式。

Parameters:

复制 (bool, 可选) – 这个参数在签名中仅出于与Scipy兼容的原因。它没有任何作用。数据总是被复制。

Return type:

scipy.sparse.coo_matrix

tocsc(copy=True)[source]

将此矩阵转换为压缩稀疏列格式。

Parameters:

复制 (bool, 可选) – 这个参数在签名中仅出于与Scipy兼容的原因。它没有任何作用。数据总是被复制。

Return type:

scipy.sparse.csc_matrix

tocsr(copy=True)[source]

将此矩阵转换为压缩稀疏行格式。

Parameters:

复制 (bool, 可选) – 这个参数在签名中仅出于与Scipy兼容的原因。它没有任何作用。数据总是被复制。

Return type:

scipy.sparse.csr_matrix

transpose(axes=None, copy=True)[source]

创建BlockMatrix的转置副本。

Parameters:
  • axes (None, optional) – 此参数仅出于NumPy兼容性原因存在于签名中。除了默认值外,不要传递任何内容。

  • copy (bool) – 这个参数在签名中仅出于与scipy兼容的原因。不要传入默认值以外的任何内容。

Return type:

维度反转的BlockMatrix

property T

转置矩阵

property bshape

返回矩阵的块形状的元组

property dtype

返回矩阵的数据类型。

property nnz

返回此矩阵中非零值的总数

property shape

返回包含总行数和总列数的元组