cMHN 1.2
C++ library for learning MHNs with pRC
Loading...
Searching...
No Matches
lq.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-2-Clause
2
3#ifndef pRC_ALGORITHMS_LQ_H
4#define pRC_ALGORITHMS_LQ_H
5
8
9namespace pRC
10{
11 template<Size B = 32, class X, IsTensorish R = RemoveReference<X>>
12 requires IsFloat<Value<R>> && (R::Dimension == 2)
13 static inline constexpr auto lq(X &&input)
14 {
15 auto const [q, r] = qr<B>(adjoint(forward<X>(input)));
16 return Tuple(eval(adjoint(r)), eval(adjoint(q)));
17 }
18}
19#endif // pRC_ALGORITHMS_LQ_H
Definition cholesky.hpp:10
std::tuple< Ts... > Tuple
Definition basics.hpp:23
static constexpr auto qr(X &&input)
Definition qr.hpp:13
static constexpr auto adjoint(JacobiRotation< T > const &a)
Definition jacobi_rotation.hpp:312
static constexpr auto lq(X &&input)
Definition lq.hpp:13
static constexpr decltype(auto) eval(X &&a)
Definition eval.hpp:12