The AdjacencyMatrix class represents the adjacency matrix of the network.
More...
#include <AdjacencyMatrix.hpp>
|
| AdjacencyMatrix () |
| Construct a new AdjacencyMatrix object.
|
|
| AdjacencyMatrix (std::string const &fileName) |
| Construct a new AdjacencyMatrix object using the read method.
|
|
| AdjacencyMatrix (const std::unordered_map< Id, std::unique_ptr< Street > > &streets) |
| Construct a new AdjacencyMatrix object using the streets of the network.
|
|
bool | operator== (const AdjacencyMatrix &other) const |
|
bool | operator() (Id row, Id col) const |
| Get the link at the specified row and column.
|
|
size_t | size () const |
| Get the number of links in the adjacency matrix.
|
|
bool | empty () const |
| Check if the adjacency matrix is empty.
|
|
size_t | n () const |
| Get the number of nodes in the adjacency matrix.
|
|
void | insert (Id row, Id col) |
| Inserts the link row -> col in the adjacency matrix.
|
|
bool | contains (Id row, Id col) const |
| Check if the link row -> col exists in the adjacency matrix.
|
|
std::vector< Id > | getRow (Id row) const |
| Get the row at the specified index.
|
|
std::vector< Id > | getCol (Id col) const |
| Get the column at the specified index.
|
|
std::vector< std::pair< Id, Id > > | elements () const |
| Get a vector containing all the links in the adjacency matrix as pairs of nodes.
|
|
void | clear () |
| Clear the adjacency matrix.
|
|
void | clearRow (Id row) |
| Clear the row at the specified index.
|
|
void | clearCol (Id col) |
| Clear the column at the specified index.
|
|
std::vector< int > | getInDegreeVector () const |
| Get the input degree vector of the adjacency matrix.
|
|
std::vector< int > | getOutDegreeVector () const |
| Get the output degree vector of the adjacency matrix.
|
|
void | read (std::string const &fileName) |
| Read the adjacency matrix from a binary file.
|
|
void | save (std::string const &fileName) const |
| Write the adjacency matrix to a binary file.
|
|
The AdjacencyMatrix class represents the adjacency matrix of the network.
The AdjacencyMatrix class represents the adjacency matrix of the network. It is defined as A = (a_{ij}), where a_{ij} \in \{0, 1\}. Moreover, a_{ij} = 1 if there is an edge from node i to node j and a_{ij} = 0 otherwise. It is used to store the adjacency matrix of the network and to perform operations on it. The adjacency matrix is stored in both CSR and CSC formats, to optimize access to rows and columns. Thus, this matrix has very fast access, using double the memory of a standard CSR/CSC one.
◆ AdjacencyMatrix() [1/2]
dsm::AdjacencyMatrix::AdjacencyMatrix |
( |
std::string const & | fileName | ) |
|
Construct a new AdjacencyMatrix object using the read method.
- Parameters
-
fileName | The name of the file containing the adjacency matrix |
◆ AdjacencyMatrix() [2/2]
dsm::AdjacencyMatrix::AdjacencyMatrix |
( |
const std::unordered_map< Id, std::unique_ptr< Street > > & | streets | ) |
|
Construct a new AdjacencyMatrix object using the streets of the network.
- Parameters
-
streets | An std::unordered_map containing the streets of the network |
◆ clearCol()
void dsm::AdjacencyMatrix::clearCol |
( |
Id | col | ) |
|
Clear the column at the specified index.
The dimension of the matrix does not change.
◆ clearRow()
void dsm::AdjacencyMatrix::clearRow |
( |
Id | row | ) |
|
Clear the row at the specified index.
The dimension of the matrix does not change.
◆ contains()
bool dsm::AdjacencyMatrix::contains |
( |
Id | row, |
|
|
Id | col ) const |
Check if the link row -> col exists in the adjacency matrix.
- Parameters
-
row | The row index of the element |
col | The column index of the element |
- Returns
- True if the link exists, false otherwise
This function actually returns element a_{ij} of the adjacency matrix. Where i is the row index and j is the column index.
◆ elements()
std::vector< std::pair< Id, Id > > dsm::AdjacencyMatrix::elements |
( |
| ) |
const |
Get a vector containing all the links in the adjacency matrix as pairs of nodes.
- Returns
- A vector containing all the links in the adjacency matrix as pairs of nodes
◆ empty()
bool dsm::AdjacencyMatrix::empty |
( |
| ) |
const |
Check if the adjacency matrix is empty.
- Returns
- True if the adjacency matrix is empty, false otherwise
◆ getCol()
std::vector< Id > dsm::AdjacencyMatrix::getCol |
( |
Id | col | ) |
const |
Get the column at the specified index.
- Parameters
-
- Returns
- The column at the specified index
◆ getInDegreeVector()
std::vector< int > dsm::AdjacencyMatrix::getInDegreeVector |
( |
| ) |
const |
Get the input degree vector of the adjacency matrix.
- Returns
- The input degree vector of the adjacency matrix
◆ getOutDegreeVector()
std::vector< int > dsm::AdjacencyMatrix::getOutDegreeVector |
( |
| ) |
const |
Get the output degree vector of the adjacency matrix.
- Returns
- The output degree vector of the adjacency matrix
◆ getRow()
std::vector< Id > dsm::AdjacencyMatrix::getRow |
( |
Id | row | ) |
const |
Get the row at the specified index.
- Parameters
-
- Returns
- The row at the specified index
◆ insert()
void dsm::AdjacencyMatrix::insert |
( |
Id | row, |
|
|
Id | col ) |
Inserts the link row -> col in the adjacency matrix.
- Parameters
-
row | The row index of the element |
col | The column index of the element |
This function inserts the link (row, col) in the adjacency matrix. Where row is the row index and col is the column index.
◆ n()
size_t dsm::AdjacencyMatrix::n |
( |
| ) |
const |
Get the number of nodes in the adjacency matrix.
- Returns
- The number of nodes in the adjacency matrix
◆ operator()()
bool dsm::AdjacencyMatrix::operator() |
( |
Id | row, |
|
|
Id | col ) const |
Get the link at the specified row and column.
- Parameters
-
row | The row index of the element |
col | The column index of the element |
- Returns
- True if the link exists, false otherwise
This function actually returns element a_{ij} of the adjacency matrix. Where i is the row index and j is the column index.
◆ read()
void dsm::AdjacencyMatrix::read |
( |
std::string const & | fileName | ) |
|
Read the adjacency matrix from a binary file.
- Parameters
-
fileName | The name of the file containing the adjacency matrix |
◆ save()
void dsm::AdjacencyMatrix::save |
( |
std::string const & | fileName | ) |
const |
Write the adjacency matrix to a binary file.
- Parameters
-
fileName | The name of the file where the adjacency matrix will be written |
◆ size()
size_t dsm::AdjacencyMatrix::size |
( |
| ) |
const |
Get the number of links in the adjacency matrix.
- Returns
- The number of links in the adjacency matrix
The documentation for this class was generated from the following file: