Version: dev

This is the documentation for the development version. For the latest release, see v0.1.0.

column_block_plan

Stable type · Sparsity and structure

Tier: stable · Kind: type · Topic: Sparsity and structure

JuliaPythonRust
ColumnBlockPlanColumnBlockPlanColumnLines

Julia

struct ColumnBlockPlan <: FactorizationPlan
ColumnBlockPlan(axis::String, line_length::Int64, block_vars::Vector{String}, pattern::String, kl::Int64, ku::Int64)
ColumnBlockPlan(axis, line_length, block_vars, pattern, kl, ku)
ColumnBlockPlan <: FactorizationPlan

Line-by-line factorization info for a :column_block Jacobian: every coupling stays within one line along axis, so the matrix is one (length(block_vars)·line_length)-square block per line. pattern names the coupling along the line ("dense", "lower", "upper", "banded") and kl / ku bound it below and above the diagonal, so a solver can pick a column solver (banded LU, a triangular sweep, dense LU) without looking at the entries.

Source

Python

class ColumnBlockPlan
ColumnBlockPlan(axis: str, line_length: int, block_vars: list[str], pattern: str, kl: int, ku: int)

Line-by-line factorization info for a "column_block" Jacobian: every coupling stays within one line along axis, so the matrix is one (len(block_vars)·line_length)-square block per line. pattern names the coupling along the line ("dense", "lower", "upper", "banded") and kl / ku bound it below and above the diagonal.

Source

Rust

pub struct ColumnLines {
    pub axis: String,
    pub dim: usize,
    pub line_length: i64,
    pub block_vars: Vec<String>,
    pub kl: i64,
    pub ku: i64,
    pub pattern: &'static str,
}

The per-line structure of a state Jacobian whose couplings all stay within one line along an index set (structure.jl column_lines).

Source · Rust docs