guanaqo main
Utilities for scientific software
Loading...
Searching...
No Matches
Sparsity Conversions

Detailed Description

Sparse matrix conversions.

Collaboration diagram for Sparsity Conversions:

Files

file  sparse.hpp
 Eigen interop for sparse matrices.
file  sparsity-conversions.hpp
 Convert between dense and sparse sparsity descriptors.

Classes

struct  guanaqo::linalg::sparsity::unsupported_conversion
 The requested conversion between sparsity structures could not be performed (most likely because certain compiler or standard library features were unavailable when the library was built). More...
struct  guanaqo::linalg::sparsity::SparsityConverter< From, To >
 Converts one matrix storage format to another. More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< To >
 Additional options for the conversion performed by SparsityConverter. More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< Dense >
 Conversion to dense format does not require any additional options. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, Dense >
 Conversion from dense to dense is trivial. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< Index, StorageIndex >, Dense >
 Conversion from CSC to dense format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< Index >, Dense >
 Conversion from COO to dense format. More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCOO< Index > >
 Conversion to COO format allows customization of the index offset (zero-based or one-based). More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, SparseCOO< Index > >
 Conversion from dense to COO format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< IndexFrom, StorageIndexFrom >, SparseCOO< IndexTo > >
 Conversion from CSC to COO format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< IndexFrom >, SparseCOO< IndexTo > >
 Conversion from COO to COO format (with possibly different index types and offsets). More...
struct  guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCSC< Index, StorageIndex > >
 Conversion to CSC format allows sorting the indices in the output if desired. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCOO< IndexFrom >, SparseCSC< IndexTo, StorageIndexTo > >
 Conversion from COO to CSC format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< SparseCSC< IndexFrom, StorageIndexFrom >, SparseCSC< IndexTo, StorageIndexTo > >
 Conversion from CSC to CSC format (with possibly different index types and sorting). More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Dense, SparseCSC< Index, StorageIndex > >
 Conversion from dense to CSC format. More...
struct  guanaqo::linalg::sparsity::SparsityConverter< Sparsity, To >
 Converts any supported matrix storage format to the given format. More...

Typedefs

template<class To>
using guanaqo::linalg::sparsity::ConverterVariant

Functions

template<class I, class T>
auto guanaqo::linalg::sparsity::as_eigen (const SparseCSC< I, I > sparsity, std::span< T > values)
 Convert a guanaqo::MatrixView to an Eigen::Matrix view.
template<class Derived>
auto guanaqo::linalg::sparsity::as_sparsity (const Eigen::SparseMatrixBase< Derived > &M, Symmetry symmetry=Symmetry::Unsymmetric)
 Convert an Eigen::SparseMatrix to a guanaqo::SparseCSC view.

Class Documentation

◆ guanaqo::linalg::sparsity::SparsityConverter

struct guanaqo::linalg::sparsity::SparsityConverter
Collaboration diagram for guanaqo::linalg::sparsity::SparsityConverter< From, To >:

◆ guanaqo::linalg::sparsity::SparsityConversionRequest

struct guanaqo::linalg::sparsity::SparsityConversionRequest
Collaboration diagram for guanaqo::linalg::sparsity::SparsityConversionRequest< To >:

◆ guanaqo::linalg::sparsity::SparsityConversionRequest< Dense >

struct guanaqo::linalg::sparsity::SparsityConversionRequest< Dense >
Collaboration diagram for guanaqo::linalg::sparsity::SparsityConversionRequest< Dense >:

◆ guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCOO< Index > >

struct guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCOO< Index > >
Collaboration diagram for guanaqo::linalg::sparsity::SparsityConversionRequest< SparseCOO< Index > >:
Class Members
optional< Index > first_index = std::nullopt Convert the index offset (zero for C/C++, one for Fortran).

Typedef Documentation

◆ ConverterVariant

Function Documentation

◆ as_eigen()

template<class I, class T>
auto guanaqo::linalg::sparsity::as_eigen ( const SparseCSC< I, I > sparsity,
std::span< T > values )

#include <guanaqo/linalg/eigen/sparse.hpp>

Convert a guanaqo::MatrixView to an Eigen::Matrix view.

Definition at line 16 of file sparse.hpp.

◆ as_sparsity()

template<class Derived>
auto guanaqo::linalg::sparsity::as_sparsity ( const Eigen::SparseMatrixBase< Derived > & M,
Symmetry symmetry = Symmetry::Unsymmetric )

#include <guanaqo/linalg/eigen/sparse.hpp>

Convert an Eigen::SparseMatrix to a guanaqo::SparseCSC view.

Definition at line 35 of file sparse.hpp.