[INFO] fetching crate scirs2-autograd 0.6.5...
[INFO] documenting scirs2-autograd-0.6.5 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate scirs2-autograd 0.6.5 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate scirs2-autograd 0.6.5
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate scirs2-autograd 0.6.5
[INFO] tweaked toml for crates.io crate scirs2-autograd 0.6.5 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate scirs2-autograd 0.6.5 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate scirs2-autograd 0.6.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2
[INFO] running `Command { std: "docker" "start" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling matrixmultiply v0.3.11
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.4.3
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking num-lazy v0.4.1
[INFO] [stderr]    Compiling scirs2-core v0.6.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking uuid v1.24.0
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking libloading v0.9.0
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking serde_json v1.0.151
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking toml v1.1.4+spec-1.1.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.20
[INFO] [stderr]     Checking crossbeam-channel v0.5.16
[INFO] [stderr]     Checking crossbeam-queue v0.3.13
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rand_distr v0.6.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking lambert_w v2.0.4
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling numeric_literals v0.2.0
[INFO] [stderr]     Checking ellip v1.1.1
[INFO] [stderr]     Checking ndarray v0.17.2
[INFO] [stderr]     Checking special v0.13.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand_chacha v0.10.0
[INFO] [stderr]     Checking rand v0.9.5
[INFO] [stderr]     Checking rand_distr v0.5.1
[INFO] [stderr]     Checking ndarray-rand v0.16.0
[INFO] [stderr]  Documenting scirs2-autograd v0.6.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]   --> src/tensor_ops/gradient_descent_ops/adam.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | /// Handles both shape [] and shape [1] (GitHub Issue #98)
[INFO] [stdout]    |                                      ^ no item named `1` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `crate::tensor_ops::decomposition_ops::cholesky_eigen_ops`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           [`crate::tensor_ops::decomposition_ops::cholesky_eigen_ops`].
[INFO] [stdout]            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `cholesky_eigen_ops` in module `decomposition_ops`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `frechet_vjp`
[INFO] [stdout]   |
[INFO] [stdout]   = note: the link appears in this line:
[INFO] [stdout]           
[INFO] [stdout]           exactly what [`frechet_vjp`] computes. Because `L_f(A, ·)` is linear in its second
[INFO] [stdout]                         ^^^^^^^^^^^^^
[INFO] [stdout]   = note: no item named `frechet_vjp` in scope
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `:,i`
[INFO] [stdout]    --> src/tensor_ops/advanced_decompositions.rs:516:54
[INFO] [stdout]     |
[INFO] [stdout] 516 | /// Givens rotations to columns of A to annihilate A[:,i]·A[:,j].  Accumulates
[INFO] [stdout]     |                                                      ^^^ invalid path separator
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `:,j`
[INFO] [stdout]    --> src/tensor_ops/advanced_decompositions.rs:516:61
[INFO] [stdout]     |
[INFO] [stdout] 516 | /// Givens rotations to columns of A to annihilate A[:,i]·A[:,j].  Accumulates
[INFO] [stdout]     |                                                             ^^^ invalid path separator
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `:,i`
[INFO] [stdout]    --> src/tensor_ops/advanced_decompositions.rs:517:36
[INFO] [stdout]     |
[INFO] [stdout] 517 | /// V.  After convergence σ_i = ‖A[:,i]‖ and U[:,i] = A[:,i]/σ_i.
[INFO] [stdout]     |                                    ^^^ invalid path separator
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `:,i`
[INFO] [stdout]    --> src/tensor_ops/advanced_decompositions.rs:517:48
[INFO] [stdout]     |
[INFO] [stdout] 517 | /// V.  After convergence σ_i = ‖A[:,i]‖ and U[:,i] = A[:,i]/σ_i.
[INFO] [stdout]     |                                                ^^^ invalid path separator
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `:,i`
[INFO] [stdout]    --> src/tensor_ops/advanced_decompositions.rs:517:57
[INFO] [stdout]     |
[INFO] [stdout] 517 | /// V.  After convergence σ_i = ‖A[:,i]‖ and U[:,i] = A[:,i]/σ_i.
[INFO] [stdout]     |                                                         ^^^ invalid path separator
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `j`
[INFO] [stdout]    --> src/symbolic/symbolic_tape.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |     /// rows[i][j] = d(output_i)/d(input_j)
[INFO] [stdout]     |                 ^ no item named `j` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `F`
[INFO] [stdout]    --> src/memory_pool.rs:135:53
[INFO] [stdout]     |
[INFO] [stdout] 135 |     /// Raw bytes. Length = num_elements * size_of::<F>().
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 135 |     /// Raw bytes. Length = num_elements * `size_of::<F>`().
[INFO] [stdout]     |                                            +            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/tensor.rs:179:39
[INFO] [stdout]     |
[INFO] [stdout] 179 |     /// Creates a new [TensorBuilder](struct.TensorBuilder.html).
[INFO] [stdout]     |                        -------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout]     = note: `#[warn(rustdoc::redundant_explicit_links)]` on by default
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 179 -     /// Creates a new [TensorBuilder](struct.TensorBuilder.html).
[INFO] [stdout] 179 +     /// Creates a new [TensorBuilder].
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: redundant explicit link target
[INFO] [stdout]    --> src/tensor.rs:728:30
[INFO] [stdout]     |
[INFO] [stdout] 728 | /// See also [TensorBuilder](struct.TensorBuilder.html).
[INFO] [stdout]     |               -------------  ^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant
[INFO] [stdout]     |               |
[INFO] [stdout]     |               because label contains path that resolves to same destination
[INFO] [stdout]     |
[INFO] [stdout]     = note: when a link's destination is not specified,
[INFO] [stdout]             the label is used to resolve intra-doc links
[INFO] [stdout] help: remove explicit link target
[INFO] [stdout]     |
[INFO] [stdout] 728 - /// See also [TensorBuilder](struct.TensorBuilder.html).
[INFO] [stdout] 728 + /// See also [TensorBuilder].
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_norms.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | / pub fn norm1<'g, F: Float>(matrix: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 423 | |     let g = matrix.graph();
[INFO] [stdout] 424 | |     Tensor::builder(g)
[INFO] [stdout] 425 | |         .append_input(matrix, false)
[INFO] [stdout] 426 | |         .build(Matrix1NormOp)
[INFO] [stdout] 427 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute the 1-norm of a matrix (maximum column sum)`
[INFO] [stdout]     = help: ends near `Compute the 1-norm of a matrix (maximum column sum)`
[INFO] [stdout]     = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_norms.rs:431:1
[INFO] [stdout]     |
[INFO] [stdout] 431 | / pub fn norm2<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 432 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 433 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 434 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 437 | |         .build(Matrix2NormOp)
[INFO] [stdout] 438 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute the 2-norm of a matrix (largest singular value)`
[INFO] [stdout]     = help: ends near `Compute the 2-norm of a matrix (largest singular value)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_norms.rs:442:1
[INFO] [stdout]     |
[INFO] [stdout] 442 | / pub fn norminf<'g, F: Float>(matrix: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 443 | |     let g = matrix.graph();
[INFO] [stdout] 444 | |     Tensor::builder(g)
[INFO] [stdout] 445 | |         .append_input(matrix, false)
[INFO] [stdout] 446 | |         .build(MatrixInfNormOp)
[INFO] [stdout] 447 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute the infinity-norm of a matrix (maximum row sum)`
[INFO] [stdout]     = help: ends near `Compute the infinity-norm of a matrix (maximum row sum)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_norms.rs:452:1
[INFO] [stdout]     |
[INFO] [stdout] 452 | / pub fn normfro<'g, F: Float>(matrix: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 453 | |     crate::tensor_ops::norm_ops::frobenius_norm(matrix)
[INFO] [stdout] 454 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute the Frobenius norm of a matrix (alias)`
[INFO] [stdout]     = help: ends near `This is an alias for the Frobenius norm in norm_ops.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_norms.rs:452:1
[INFO] [stdout]     |
[INFO] [stdout] 452 | / pub fn normfro<'g, F: Float>(matrix: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 453 | |     crate::tensor_ops::norm_ops::frobenius_norm(matrix)
[INFO] [stdout] 454 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute the Frobenius norm of a matrix`
[INFO] [stdout]     = help: ends near `Compute the Frobenius norm of a matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_solvers.rs:828:1
[INFO] [stdout]     |
[INFO] [stdout] 828 | / pub fn solve_sylvester<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 829 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 830 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 831 | |     c: &Tensor<'g, F>,
[INFO] [stdout] ...   |
[INFO] [stdout] 841 | |         .build(SylvesterSolveOp)
[INFO] [stdout] 842 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Sylvester equation AX + XB = C`
[INFO] [stdout]     = help: ends near `Solve Sylvester equation AX + XB = C`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_solvers.rs:846:1
[INFO] [stdout]     |
[INFO] [stdout] 846 | / pub fn solve_lyapunov<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 847 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 848 | |     q: &Tensor<'g, F>,
[INFO] [stdout] 849 | | ) -> Tensor<'g, F> {
[INFO] [stdout] ...   |
[INFO] [stdout] 857 | |         .build(LyapunovSolveOp)
[INFO] [stdout] 858 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Lyapunov equation AX + XA^T = Q`
[INFO] [stdout]     = help: ends near `Solve Lyapunov equation AX + XA^T = Q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_solvers.rs:862:1
[INFO] [stdout]     |
[INFO] [stdout] 862 | / pub fn cholesky_solve<'g, F: Float>(a: &Tensor<'g, F>, b: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 863 | |     let g = a.graph();
[INFO] [stdout] 864 | |     let bshape = crate::tensor_ops::shape(b);
[INFO] [stdout] ...   |
[INFO] [stdout] 870 | |         .build(CholeskySolveOp)
[INFO] [stdout] 871 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve linear system AX = B using Cholesky decomposition`
[INFO] [stdout]     = help: ends near `Solve linear system AX = B using Cholesky decomposition for positive definite A`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_solvers.rs:862:1
[INFO] [stdout]     |
[INFO] [stdout] 862 | / pub fn cholesky_solve<'g, F: Float>(a: &Tensor<'g, F>, b: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] 863 | |     let g = a.graph();
[INFO] [stdout] 864 | |     let bshape = crate::tensor_ops::shape(b);
[INFO] [stdout] ...   |
[INFO] [stdout] 870 | |         .build(CholeskySolveOp)
[INFO] [stdout] 871 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve linear system AX = B using Cholesky decomposition for positive definite A`
[INFO] [stdout]     = help: ends near `Solve linear system AX = B using Cholesky decomposition for positive definite A`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/symmetric_ops.rs:460:1
[INFO] [stdout]     |
[INFO] [stdout] 460 | / pub fn eigh<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 461 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 462 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 463 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 475 | |     (values, vectors)
[INFO] [stdout] 476 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Eigendecomposition for symmetric/Hermitian matrices`
[INFO] [stdout]     = help: ends near `Compute eigenvalues and eigenvectors of a symmetric matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/symmetric_ops.rs:460:1
[INFO] [stdout]     |
[INFO] [stdout] 460 | / pub fn eigh<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 461 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 462 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 463 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 475 | |     (values, vectors)
[INFO] [stdout] 476 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute eigenvalues and eigenvectors of a symmetric matrix`
[INFO] [stdout]     = help: ends near `Compute eigenvalues and eigenvectors of a symmetric matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/symmetric_ops.rs:480:1
[INFO] [stdout]     |
[INFO] [stdout] 480 | / pub fn eigvalsh<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 481 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 482 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 483 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         .build(SymmetricEigenExtractOp { component: 0 })
[INFO] [stdout] 488 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Eigenvalues only for symmetric/Hermitian matrices`
[INFO] [stdout]     = help: ends near `Compute only the eigenvalues of a symmetric matrix (more efficient)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/symmetric_ops.rs:480:1
[INFO] [stdout]     |
[INFO] [stdout] 480 | / pub fn eigvalsh<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 481 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 482 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 483 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 487 | |         .build(SymmetricEigenExtractOp { component: 0 })
[INFO] [stdout] 488 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute only the eigenvalues of a symmetric matrix (more efficient)`
[INFO] [stdout]     = help: ends near `Compute only the eigenvalues of a symmetric matrix (more efficient)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/special_decompositions.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / pub fn polar<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 593 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 594 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 595 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 605 | |     (u, p)
[INFO] [stdout] 606 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Polar decomposition A = UP`
[INFO] [stdout]     = help: ends near `where U is unitary and P is positive semidefinite`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/special_decompositions.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | / pub fn polar<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 593 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 594 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 595 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 605 | |     (u, p)
[INFO] [stdout] 606 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute polar decomposition A = UP`
[INFO] [stdout]     = help: ends near `Compute polar decomposition A = UP`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/special_decompositions.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / pub fn schur<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 612 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 613 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 614 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 624 | |     (q, t)
[INFO] [stdout] 625 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Schur decomposition A = QTQ^T`
[INFO] [stdout]     = help: ends near `where Q is orthogonal and T is quasi-upper triangular`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/special_decompositions.rs:611:1
[INFO] [stdout]     |
[INFO] [stdout] 611 | / pub fn schur<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 612 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 613 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 614 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 624 | |     (q, t)
[INFO] [stdout] 625 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute Schur decomposition A = QTQ^T`
[INFO] [stdout]     = help: ends near `Compute Schur decomposition A = QTQ^T`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_ops.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | / pub fn expm2<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 752 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 753 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 754 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 760 | |         .build(MatrixExp2Op)
[INFO] [stdout] 761 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix exponential using Padé approximation (method 2)`
[INFO] [stdout]     = help: ends near `Matrix exponential using improved Padé approximation (method 2)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_ops.rs:751:1
[INFO] [stdout]     |
[INFO] [stdout] 751 | / pub fn expm2<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 752 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 753 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 754 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 760 | |         .build(MatrixExp2Op)
[INFO] [stdout] 761 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix exponential using improved Padé approximation (method 2)`
[INFO] [stdout]     = help: ends near `Matrix exponential using improved Padé approximation (method 2)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_ops.rs:765:1
[INFO] [stdout]     |
[INFO] [stdout] 765 | / pub fn expm3<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 766 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 767 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 768 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 774 | |         .build(MatrixExp3Op)
[INFO] [stdout] 775 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix exponential using eigendecomposition (method 3)`
[INFO] [stdout]     = help: ends near `Matrix exponential using eigendecomposition (method 3)  `
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_ops.rs:765:1
[INFO] [stdout]     |
[INFO] [stdout] 765 | / pub fn expm3<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 766 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 767 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 768 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 774 | |         .build(MatrixExp3Op)
[INFO] [stdout] 775 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix exponential using eigendecomposition (method 3)  `
[INFO] [stdout]     = help: ends near `Matrix exponential using eigendecomposition (method 3)  `
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/advanced_tensor_ops.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | / pub fn tensor_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 791 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 792 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 793 | |     axes: Option<Vec<i32>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 800 | |         .build(TensorSolveOp { axes })
[INFO] [stdout] 801 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve tensor equation`
[INFO] [stdout]     = help: ends near `Solve tensor equation a @ x = b for x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/advanced_tensor_ops.rs:790:1
[INFO] [stdout]     |
[INFO] [stdout] 790 | / pub fn tensor_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 791 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 792 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 793 | |     axes: Option<Vec<i32>>,
[INFO] [stdout] ...   |
[INFO] [stdout] 800 | |         .build(TensorSolveOp { axes })
[INFO] [stdout] 801 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve tensor equation a @ x = b for x`
[INFO] [stdout]     = help: ends near `Solve tensor equation a @ x = b for x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/advanced_tensor_ops.rs:805:1
[INFO] [stdout]     |
[INFO] [stdout] 805 | / pub fn einsum<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 806 | |     pattern: &str,
[INFO] [stdout] 807 | |     operands: &[&Tensor<'g, F>],
[INFO] [stdout] 808 | | ) -> Tensor<'g, F> {
[INFO] [stdout] ...   |
[INFO] [stdout] 820 | |         })
[INFO] [stdout] 821 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Einstein summation convention`
[INFO] [stdout]     = help: ends near `Einstein summation convention`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/advanced_tensor_ops.rs:825:1
[INFO] [stdout]     |
[INFO] [stdout] 825 | / pub fn kron<'g, F: Float>(a: &Tensor<'g, F>, b: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] ...   |
[INFO] [stdout] 835 | |     crate::tensor_ops::kronecker_ops::kron(a, b)
[INFO] [stdout] 836 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Kronecker product (tensor product)`
[INFO] [stdout]     = help: ends near `Kronecker product (tensor product of matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/advanced_tensor_ops.rs:825:1
[INFO] [stdout]     |
[INFO] [stdout] 825 | / pub fn kron<'g, F: Float>(a: &Tensor<'g, F>, b: &Tensor<'g, F>) -> Tensor<'g, F> {
[INFO] [stdout] ...   |
[INFO] [stdout] 835 | |     crate::tensor_ops::kronecker_ops::kron(a, b)
[INFO] [stdout] 836 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Kronecker product (tensor product of matrices)`
[INFO] [stdout]     = help: ends near `Kronecker product (tensor product of matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1203:1
[INFO] [stdout]      |
[INFO] [stdout] 1203 | / pub fn svd_jacobi<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1204 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 1205 | |     full_matrices: bool,
[INFO] [stdout] 1206 | | ) -> (Tensor<'g, F>, Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1222 | |     (component(0), component(1), component(2))
[INFO] [stdout] 1223 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `SVD using Jacobi algorithm for improved numerical stability`
[INFO] [stdout]      = help: ends near `Compute SVD using improved Jacobi algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1203:1
[INFO] [stdout]      |
[INFO] [stdout] 1203 | / pub fn svd_jacobi<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1204 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 1205 | |     full_matrices: bool,
[INFO] [stdout] 1206 | | ) -> (Tensor<'g, F>, Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1222 | |     (component(0), component(1), component(2))
[INFO] [stdout] 1223 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `Compute SVD using improved Jacobi algorithm`
[INFO] [stdout]      = help: ends near `Compute SVD using improved Jacobi algorithm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1227:1
[INFO] [stdout]      |
[INFO] [stdout] 1227 | / pub fn randomized_svd<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1228 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 1229 | |     rank: usize,
[INFO] [stdout] 1230 | |     oversampling: usize,
[INFO] [stdout] ...    |
[INFO] [stdout] 1246 | |     (component(0), component(1), component(2))
[INFO] [stdout] 1247 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `Randomized SVD for large matrices`
[INFO] [stdout]      = help: ends near `Compute randomized SVD for large matrices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1227:1
[INFO] [stdout]      |
[INFO] [stdout] 1227 | / pub fn randomized_svd<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1228 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 1229 | |     rank: usize,
[INFO] [stdout] 1230 | |     oversampling: usize,
[INFO] [stdout] ...    |
[INFO] [stdout] 1246 | |     (component(0), component(1), component(2))
[INFO] [stdout] 1247 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `Compute randomized SVD for large matrices`
[INFO] [stdout]      = help: ends near `Compute randomized SVD for large matrices`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1251:1
[INFO] [stdout]      |
[INFO] [stdout] 1251 | / pub fn generalized_eigen<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1252 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 1253 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 1254 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1264 | |     (component(0), component(1))
[INFO] [stdout] 1265 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `Generalized eigenvalue problem Ax = λBx`
[INFO] [stdout]      = help: ends near `Solve generalized eigenvalue problem Ax = λBx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1251:1
[INFO] [stdout]      |
[INFO] [stdout] 1251 | / pub fn generalized_eigen<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 1252 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 1253 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 1254 | | ) -> (Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] ...    |
[INFO] [stdout] 1264 | |     (component(0), component(1))
[INFO] [stdout] 1265 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `Solve generalized eigenvalue problem Ax = λBx`
[INFO] [stdout]      = help: ends near `Solve generalized eigenvalue problem Ax = λBx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]     --> src/tensor_ops/advanced_decompositions.rs:1269:1
[INFO] [stdout]      |
[INFO] [stdout] 1269 | / pub fn qr_pivot<'g, F: Float + scirs2_core::ndarray::ScalarOperand>(
[INFO] [stdout] 1270 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 1271 | | ) -> (Tensor<'g, F>, Tensor<'g, F>, Tensor<'g, F>) {
[INFO] [stdout] 1272 | |     let g = matrix.graph();
[INFO] [stdout] ...    |
[INFO] [stdout] 1280 | |     (component(0), component(1), component(2))
[INFO] [stdout] 1281 | | }
[INFO] [stdout]      | |_^
[INFO] [stdout]      |
[INFO] [stdout]      = help: the way this is parsed might change in the future
[INFO] [stdout]      = help: starts near `QR decomposition with column pivoting`
[INFO] [stdout]      = help: ends near `QR decomposition with column pivoting`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:774:1
[INFO] [stdout]     |
[INFO] [stdout] 774 | / pub fn conjugate_gradient_solve<
[INFO] [stdout] 775 | |     'g,
[INFO] [stdout] 776 | |     F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive,
[INFO] [stdout] 777 | | >(
[INFO] [stdout] ...   |
[INFO] [stdout] 791 | |         })
[INFO] [stdout] 792 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Conjugate gradient solver for symmetric positive definite systems`
[INFO] [stdout]     = help: ends near `Solve Ax = b using Conjugate Gradient (for symmetric positive definite A)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:774:1
[INFO] [stdout]     |
[INFO] [stdout] 774 | / pub fn conjugate_gradient_solve<
[INFO] [stdout] 775 | |     'g,
[INFO] [stdout] 776 | |     F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive,
[INFO] [stdout] 777 | | >(
[INFO] [stdout] ...   |
[INFO] [stdout] 791 | |         })
[INFO] [stdout] 792 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Ax = b using Conjugate Gradient (for symmetric positive definite A)`
[INFO] [stdout]     = help: ends near `Solve Ax = b using Conjugate Gradient (for symmetric positive definite A)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:796:1
[INFO] [stdout]     |
[INFO] [stdout] 796 | / pub fn gmres_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 797 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 798 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 799 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 812 | |         })
[INFO] [stdout] 813 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `GMRES solver for general linear systems`
[INFO] [stdout]     = help: ends near `Solve Ax = b using GMRES (for general matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:796:1
[INFO] [stdout]     |
[INFO] [stdout] 796 | / pub fn gmres_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 797 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 798 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 799 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 812 | |         })
[INFO] [stdout] 813 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Ax = b using GMRES (for general matrices)`
[INFO] [stdout]     = help: ends near `Solve Ax = b using GMRES (for general matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:817:1
[INFO] [stdout]     |
[INFO] [stdout] 817 | / pub fn bicgstab_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 818 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 819 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 820 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 831 | |         })
[INFO] [stdout] 832 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `BiCGSTAB solver for non-symmetric systems`
[INFO] [stdout]     = help: ends near `Solve Ax = b using BiCGSTAB (for general matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:817:1
[INFO] [stdout]     |
[INFO] [stdout] 817 | / pub fn bicgstab_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 818 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 819 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 820 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 831 | |         })
[INFO] [stdout] 832 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Ax = b using BiCGSTAB (for general matrices)`
[INFO] [stdout]     = help: ends near `Solve Ax = b using BiCGSTAB (for general matrices)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:836:1
[INFO] [stdout]     |
[INFO] [stdout] 836 | / pub fn pcg_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 837 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 838 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 839 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 852 | |         })
[INFO] [stdout] 853 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Preconditioned conjugate gradient solver`
[INFO] [stdout]     = help: ends near `Solve Ax = b using Preconditioned Conjugate Gradient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/iterative_solvers.rs:836:1
[INFO] [stdout]     |
[INFO] [stdout] 836 | / pub fn pcg_solve<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 837 | |     a: &Tensor<'g, F>,
[INFO] [stdout] 838 | |     b: &Tensor<'g, F>,
[INFO] [stdout] 839 | |     max_iter: usize,
[INFO] [stdout] ...   |
[INFO] [stdout] 852 | |         })
[INFO] [stdout] 853 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Solve Ax = b using Preconditioned Conjugate Gradient`
[INFO] [stdout]     = help: ends near `Solve Ax = b using Preconditioned Conjugate Gradient`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:334:1
[INFO] [stdout]     |
[INFO] [stdout] 334 | / pub fn sinm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 335 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 336 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 337 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 343 | |         .build(MatrixSineOp)
[INFO] [stdout] 344 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix sine function`
[INFO] [stdout]     = help: ends near `Compute matrix sine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:334:1
[INFO] [stdout]     |
[INFO] [stdout] 334 | / pub fn sinm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 335 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 336 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 337 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 343 | |         .build(MatrixSineOp)
[INFO] [stdout] 344 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute matrix sine`
[INFO] [stdout]     = help: ends near `Compute matrix sine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub fn cosm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 349 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 350 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 351 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 357 | |         .build(MatrixCosineOp)
[INFO] [stdout] 358 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix cosine function`
[INFO] [stdout]     = help: ends near `Compute matrix cosine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:348:1
[INFO] [stdout]     |
[INFO] [stdout] 348 | / pub fn cosm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 349 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 350 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 351 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 357 | |         .build(MatrixCosineOp)
[INFO] [stdout] 358 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute matrix cosine`
[INFO] [stdout]     = help: ends near `Compute matrix cosine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | / pub fn signm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 363 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 364 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 365 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 371 | |         .build(MatrixSignOp)
[INFO] [stdout] 372 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix sign function`
[INFO] [stdout]     = help: ends near `Compute matrix sign function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:362:1
[INFO] [stdout]     |
[INFO] [stdout] 362 | / pub fn signm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 363 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 364 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 365 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 371 | |         .build(MatrixSignOp)
[INFO] [stdout] 372 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute matrix sign function`
[INFO] [stdout]     = help: ends near `Compute matrix sign function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | / pub fn sinhm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 377 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 378 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 379 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 385 | |         .build(MatrixSinhOp)
[INFO] [stdout] 386 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix hyperbolic sine function`
[INFO] [stdout]     = help: ends near `Compute matrix hyperbolic sine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:376:1
[INFO] [stdout]     |
[INFO] [stdout] 376 | / pub fn sinhm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 377 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 378 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 379 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 385 | |         .build(MatrixSinhOp)
[INFO] [stdout] 386 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute matrix hyperbolic sine`
[INFO] [stdout]     = help: ends near `Compute matrix hyperbolic sine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / pub fn coshm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 391 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 392 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 393 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         .build(MatrixCoshOp)
[INFO] [stdout] 400 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Matrix hyperbolic cosine function`
[INFO] [stdout]     = help: ends near `Compute matrix hyperbolic cosine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:390:1
[INFO] [stdout]     |
[INFO] [stdout] 390 | / pub fn coshm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 391 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 392 | | ) -> Tensor<'g, F> {
[INFO] [stdout] 393 | |     let g = matrix.graph();
[INFO] [stdout] ...   |
[INFO] [stdout] 399 | |         .build(MatrixCoshOp)
[INFO] [stdout] 400 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute matrix hyperbolic cosine`
[INFO] [stdout]     = help: ends near `Compute matrix hyperbolic cosine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:404:1
[INFO] [stdout]     |
[INFO] [stdout] 404 | / pub fn funm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 405 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 406 | |     func: fn(F) -> F,
[INFO] [stdout] 407 | |     name: &'static str,
[INFO] [stdout] ...   |
[INFO] [stdout] 418 | |         })
[INFO] [stdout] 419 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `General matrix function`
[INFO] [stdout]     = help: ends near `Compute general matrix function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]    --> src/tensor_ops/matrix_trig_functions.rs:404:1
[INFO] [stdout]     |
[INFO] [stdout] 404 | / pub fn funm<'g, F: Float + scirs2_core::ndarray::ScalarOperand + FromPrimitive>(
[INFO] [stdout] 405 | |     matrix: &Tensor<'g, F>,
[INFO] [stdout] 406 | |     func: fn(F) -> F,
[INFO] [stdout] 407 | |     name: &'static str,
[INFO] [stdout] ...   |
[INFO] [stdout] 418 | |         })
[INFO] [stdout] 419 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the way this is parsed might change in the future
[INFO] [stdout]     = help: starts near `Compute general matrix function`
[INFO] [stdout]     = help: ends near `Compute general matrix function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `scirs2-autograd`
[INFO] running `Command { std: "docker" "inspect" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2", kill_on_drop: false }`
[INFO] [stdout] bcc2c66b0fcd6c61f23ee83a2547a73967995dcbd6afe2c90cf6646e758d41a2
