graph_rescaling
Lambda-based graph rescaling.
Direct translation of C++ graph_rescaling.cpp:lambdaRescaling.
lambda_rescaling(P, lambda_, tol=1e-05, max_iter=100)
Rescale column-stochastic graph using lambda parameter.
For each column j of the input matrix (which must already be column-stochastic):
- Convert probabilities to distances:
D = -log(P) - Binary-search for
sigmasuch thatsum(exp(-D * sigma)) == lambda_ - Update values:
P_ij = exp(-D_ij * sigma) - Normalize column to sum to 1
This matches C++ graph_rescaling.cpp:lambdaRescaling (lines 19-103).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
P
|
csc_matrix
|
Column-stochastic sparse matrix (values in (0, 1]). |
required |
lambda_
|
float
|
Target column sum after rescaling (before normalization). |
required |
tol
|
float
|
Convergence tolerance for bisection. |
1e-05
|
max_iter
|
int
|
Maximum bisection iterations per column. |
100
|
Returns:
| Type | Description |
|---|---|
csc_matrix
|
Rescaled column-stochastic matrix. |
Source code in src/pysgtsnepi/utils/graph_rescaling.py
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | |