use crate::DType;
mod anderson;
mod broyden;
pub mod helpers;
mod levenberg_marquardt;
mod newton;
mod powell_hybrid;
pub use anderson::anderson_impl;
pub use broyden::broyden1_impl;
pub use helpers::{jacobian_forward_impl, jvp_impl};
pub use levenberg_marquardt::levenberg_marquardt_impl;
pub use newton::newton_system_impl;
pub use powell_hybrid::powell_hybrid_impl;
use numr::runtime::Runtime;
use numr::tensor::Tensor;
#[derive(Debug, Clone)]
pub struct TensorRootResult<R: Runtime<DType = DType>> {
pub x: Tensor<R>,
pub fun: Tensor<R>,
pub iterations: usize,
pub residual_norm: f64,
pub converged: bool,
}