In this paper I describe two geometric algorithms for certifying discreteness and freeness of finitely generated subgroups of
O
(
n
,
1
)
O(n,1)
,
S
L
(
n
,
R
)
SL(n,\mathbb {R})
and, more generally, algorithms for discreteness and faithfulness of certain linear representations of finitely-presented groups.