pub struct BarabasiOptions<'a> {
pub power: f64,
pub m: usize,
pub outseq: Option<&'a [i64]>,
pub outpref: bool,
pub a: f64,
pub directed: bool,
pub algorithm: BarabasiAlgorithm,
pub start_from: Option<&'a Graph>,
}Expand description
Options of Graph::barabasi_game, with the defaults of the classic
undirected Barabási–Albert model (m = 1, power = 1, A = 1,
BarabasiAlgorithm::Psumtree).
use igraph::prelude::*;
use igraph::games::BarabasiOptions;
let opts = BarabasiOptions::default().with_m(3).with_directed(true).with_power(0.5);
assert_eq!((opts.m, opts.directed, opts.power), (3, true, 0.5));Fields§
§power: f64Exponent of the preferential attachment: the probability of citing a
vertex of degree d is proportional to d^power + a (default 1).
m: usizeNumber of edges added with each new vertex, used when outseq is
None (default 1).
outseq: Option<&'a [i64]>Explicit number of edges added with each vertex (the first entry is
ignored, as the first vertex cannot cite anybody). With start_from,
it refers only to the newly added vertices. Default None.
outpref: boolWhether the out-degree also counts in the attractiveness (i.e. total
degree instead of in-degree). Ignored (assumed true) for undirected
graphs. Default false.
a: f64The constant attractiveness A of vertices (default 1).
directed: boolWhether to create a directed graph (default false).
algorithm: BarabasiAlgorithmThe sampling algorithm (default BarabasiAlgorithm::Psumtree, that
creates simple graphs).
start_from: Option<&'a Graph>An optional non-empty starting graph; by default the process starts
from a single vertex (the C documentation mentions a clique of size
m, but the implementation starts from one vertex in igraph 1.0.0 and
1.0.1). The generated graph contains it as its first vertices and
edges.
Implementations§
Source§impl<'a> BarabasiOptions<'a>
impl<'a> BarabasiOptions<'a>
Sourcepub fn with_power(self, power: f64) -> Self
pub fn with_power(self, power: f64) -> Self
Sets power.
Sourcepub fn with_outseq(self, outseq: &'a [i64]) -> Self
pub fn with_outseq(self, outseq: &'a [i64]) -> Self
Sets outseq.
Sourcepub fn with_outpref(self, outpref: bool) -> Self
pub fn with_outpref(self, outpref: bool) -> Self
Sets outpref.
Sourcepub fn with_directed(self, directed: bool) -> Self
pub fn with_directed(self, directed: bool) -> Self
Sets directed.
Sourcepub fn with_algorithm(self, algorithm: BarabasiAlgorithm) -> Self
pub fn with_algorithm(self, algorithm: BarabasiAlgorithm) -> Self
Sets algorithm.
Sourcepub fn with_start_from(self, start_from: &'a Graph) -> Self
pub fn with_start_from(self, start_from: &'a Graph) -> Self
Sets start_from.
Trait Implementations§
Source§impl<'a> Clone for BarabasiOptions<'a>
impl<'a> Clone for BarabasiOptions<'a>
Source§fn clone(&self) -> BarabasiOptions<'a>
fn clone(&self) -> BarabasiOptions<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more