bisection(edge_weights, a, b, n_perturbations, epsilon=1e-05, iter_max=100000.0)
Find root using bisection method for edge weight adjustment.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Define target function
- Iterative bisection
- Check convergence
- Update bounds
Features:
- Numerical optimization
- Convergence control
- Iteration limiting
diff(t1, t2)
Compute normalized squared Euclidean distance between tensors.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Normalize input tensors
- Compute squared differences
- Calculate mean distance
Features:
- L2 normalization
- Euclidean distance
- Batch processing
get_modified_adj(modified_edge_index, perturbed_edge_weight, n, device, edge_index, edge_weight, make_undirected=False)
Create modified adjacency matrix with perturbed edges.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Handle undirected option
- Combine edges
- Coalesce edges
- Adjust weights
Features:
- Graph modification
- Edge coalescing
- Weight adjustment
- Undirected support
grad_with_checkpoint(outputs, inputs)
Compute gradients with checkpointing for memory efficiency.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Handle single/multiple inputs
- Retain gradients for non-leaf tensors
- Compute backward pass
- Clone and clear gradients
Features:
- Memory efficient
- Multiple input support
- Gradient preservation
- Clean gradient states
inner(t1, t2)
Compute normalized inner product distance between tensors.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Normalize input tensors
- Compute inner products
- Calculate mean distance
Features:
- L2 normalization
- Numerical stability
- Batch processing
inner_margin(t1, t2, margin)
Compute margin-based inner product distance between tensors.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Normalize input tensors
- Compute inner products
- Apply margin threshold
- Calculate mean distance
Features:
- Margin-based learning
- L2 normalization
- ReLU activation
linear_to_triu_idx(n, lin_idx)
Convert linear indices to upper triangular matrix indices.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Calculate row indices
- Calculate column indices
- Stack indices together
Features:
- Matrix coordinate conversion
- Efficient computation
- Double precision handling
project(n_perturbations, values, eps, inplace=False)
Project values onto constrained space with perturbation budget.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Check perturbation budget
- Find projection threshold
- Apply clamping
- Handle numerical bounds
Features:
- Constraint satisfaction
- Memory efficiency
- Numerical stability
to_symmetric(edge_index, edge_weight, n, op='mean')
Convert directed graph to undirected by symmetrization.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
Processing Steps:
- Mirror edges
- Duplicate weights
- Coalesce edges
- Combine weights
Features:
- Edge symmetrization
- Weight handling
- Efficient coalescing
- Operation flexibility