ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Inverse.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
11 
12 namespace cloudViewer {
13 namespace core {
14 
16 void Inverse(const Tensor& A, Tensor& output);
17 
18 void InverseCPU(void* A_data,
19  void* ipiv_data,
20  [[maybe_unused]] void* output_data,
21  int64_t n,
22  Dtype dtype,
23  const Device& device);
24 
25 #ifdef BUILD_SYCL_MODULE
26 void InverseSYCL(void* A_data,
27  void* ipiv_data,
28  [[maybe_unused]] void* output_data,
29  int64_t n,
30  Dtype dtype,
31  const Device& device);
32 #endif
33 
34 #ifdef BUILD_CUDA_MODULE
35 void InverseCUDA(void* A_data,
36  void* ipiv_data,
37  void* output_data,
38  int64_t n,
39  Dtype dtype,
40  const Device& device);
41 #endif
42 
43 } // namespace core
44 } // namespace cloudViewer
void InverseCPU(void *A_data, void *ipiv_data, [[maybe_unused]] void *output_data, int64_t n, Dtype dtype, const Device &device)
void InverseSYCL(void *A_data, void *ipiv_data, void *output_data, int64_t n, Dtype dtype, const Device &device)
Definition: InverseSYCL.cpp:19
void Inverse(const Tensor &A, Tensor &output)
Computes A^{-1} with LU factorization, where A is a N x N square matrix.
Definition: Inverse.cpp:18
void InverseCUDA(void *A_data, void *ipiv_data, void *output_data, int64_t n, Dtype dtype, const Device &device)
Definition: InverseCUDA.cpp:16
Generic file read and write utility for python interface.