@@ -54,7 +54,27 @@ square diagonal matrix of size `(k, k)`, with `k` is set by the truncation strat
5454
5555The function also returns `ϵ`, the truncation error defined as the 2-norm of the
5656discarded singular values.
57-
57+
58+ ## Keyword arguments
59+ The behavior of this function is controlled by the following keyword arguments:
60+
61+ - `trunc`: Specifies the truncation strategy. This can be:
62+ - A `NamedTuple` with fields `atol`, `rtol`, and/or `maxrank`, which will be converted to
63+ a [`TruncationStrategy`](@ref). For details on available truncation strategies, see
64+ [Truncations](@ref).
65+ - A `TruncationStrategy` object directly (e.g., `truncrank(10)`, `trunctol(atol=1e-6)`, or
66+ combinations using `&`).
67+ - `nothing` (default), which keeps all singular values.
68+
69+ - Other keyword arguments are passed to the algorithm selection procedure. If no explicit
70+ `alg` is provided, these keywords are used to select and configure the algorithm through
71+ [`MatrixAlgebraKit.select_algorithm`](@ref). The remaining keywords after algorithm
72+ selection are passed to the algorithm constructor. See [`MatrixAlgebraKit.default_algorithm`](@ref)
73+ for the default algorithm selection behavior.
74+
75+ When `alg` is a [`TruncatedAlgorithm`](@ref), the `trunc` keyword cannot be specified as the
76+ truncation strategy is already embedded in the algorithm.
77+
5878!!! note
5979 The bang method `svd_trunc!` optionally accepts the output structure and
6080 possibly destroys the input matrix `A`. Always use the return value of the function
0 commit comments