@@ -54,7 +54,24 @@ 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+ - `trunc`: Specifies the truncation strategy. This can be:
61+ - A `NamedTuple` with fields `atol`, `rtol`, and/or `maxrank`, which will be converted to
62+ a [`TruncationStrategy`](@ref). For details on available truncation strategies, see
63+ [Truncations](@ref).
64+ - A `TruncationStrategy` object directly (e.g., `truncrank(10)`, `trunctol(atol=1e-6)`, or
65+ combinations using `&`).
66+ - `nothing` (default), which keeps all singular values.
67+ - Other keyword arguments are passed to the algorithm selection procedure. If no explicit
68+ `alg` is provided, these keywords are used to select and configure the algorithm through
69+ [`MatrixAlgebraKit.select_algorithm`](@ref). The remaining keywords after algorithm
70+ selection are passed to the algorithm constructor. See [`MatrixAlgebraKit.default_algorithm`](@ref)
71+ for the default algorithm selection behavior.
72+ When `alg` is a [`TruncatedAlgorithm`](@ref), the `trunc` keyword cannot be specified as the
73+ truncation strategy is already embedded in the algorithm.
74+
5875!!! note
5976 The bang method `svd_trunc!` optionally accepts the output structure and
6077 possibly destroys the input matrix `A`. Always use the return value of the function
0 commit comments