object

# `hodge_rank`

HodgeRank pairwise measurement ranker. Learns one deterministic zero-sum score per item from a dataset object implementing the `pairwise_measurement_dataset_protocol` protocol by solving the weighted graph-Laplacian least-squares system induced by signed edge measurements and returns a self-describing ranker term with diagnostics and residuals.

Availability:
`logtalk_load(hodge_rank(loader))`
Author: Paulo Moura
Version: 1:1:0
Date: 2026-05-21
Compilation flags:
`static, context_switching_calls`
Imports:
`public` ranking_dataset_common
`public` score_ranker_model_common
`public` pairwise_strength_ranker_common
Uses:
avltree
list
numberlist
Remarks:
(none)
Inherited public predicates:
check_option/1 check_options/1 check_ranker/1 default_option/1 default_options/1 diagnostic/2 diagnostics/2 export_to_clauses/4 export_to_file/4 grouped_dataset_groups/2 grouped_dataset_items/2 grouped_dataset_items/3 grouped_dataset_summary/2 learn/2 learn/3 option/2 option/3 pairwise_dataset_connected_components/2 pairwise_dataset_declared_items/2 pairwise_dataset_items/2 pairwise_dataset_matchups/2 pairwise_dataset_preferences/2 pairwise_dataset_summary/2 pairwise_dataset_win_totals/2 pairwise_measurement_dataset_connected_components/2 pairwise_measurement_dataset_declared_items/2 pairwise_measurement_dataset_items/2 pairwise_measurement_dataset_measurements/2 pairwise_measurement_dataset_summary/2 print_ranker/1 rank/3 ranker_options/2 scores/2 temporal_pairwise_dataset_connected_components/2 temporal_pairwise_dataset_declared_items/2 temporal_pairwise_dataset_games/2 temporal_pairwise_dataset_games/3 temporal_pairwise_dataset_items/2 temporal_pairwise_dataset_periods/2 temporal_pairwise_dataset_summary/2 valid_option/1 valid_options/1 valid_ranker/1 validate_grouped_dataset/1 validate_grouped_dataset/2 validate_pairwise_dataset/1 validate_pairwise_dataset/2 validate_pairwise_measurement_dataset/1 validate_pairwise_measurement_dataset/2 validate_temporal_pairwise_dataset/1 validate_temporal_pairwise_dataset/2

## Public predicates

### `residuals/2`

Returns the learned weighted edge residuals as `residual(Item1,Item2,Residual,Weight)` terms preserving measurement enumeration order.

Compilation flags:
`static`
Template:
`residuals(Ranker,Residuals)`
Mode and number of proofs:
`residuals(+compound,-list(compound))` - `one`

## Protected predicates

(no local declarations; see entity ancestors if any)

## Private predicates

(no local declarations; see entity ancestors if any)

## Operators

(none)

See also

pairwise_measurement_dataset_protocol, ranker_protocol, massey_ranker