簡體   English   中英

xtensor-blas 計算不正確

[英]xtensor-blas incorrect computation

我第一次嘗試使用 xtensor-blas。 我在鏈接到它時遇到了很多困難,但最后,我做到了,並嘗試運行示例程序 但是,作為 output,我得到第一個為0 0, -inf

我正在使用Windows 10 x64Clion 2021.1
使用 anaconda 安裝cmake 3.19.7xtensor 0.23.4xtensor-blas 0.19.0openblas 0.3.13anaconda lapack 3.6.1
使用Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29910\bin\HostX64\x64\cl.exe

cmake_minimum_required(VERSION 3.19)
project(tstxtensor6)

set(CMAKE_CXX_STANDARD 20)

find_package(xtensor)
find_package(xtensor-blas)
add_executable(${PROJECT_NAME} main.cpp)

target_link_libraries(${PROJECT_NAME} xtensor xtensor-blas)
#include <xtensor-blas/xlinalg.hpp>

int main()
{
    {
        xt::xarray<double> a = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        auto d = xt::linalg::det(a);
        std::cout << d << std::endl;  // 6.661338e-16
    }
    {
        xt::xarray<double> a = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
        auto d = xt::linalg::slogdet(a);
        std::cout << std::get<0>(d) << ", " << std::get<1>(d) << std::endl;  // 1, -34.9450...
    }
}

問題在於使用奇異矩陣的示例。 當您的代碼正確輸出時,它的行列式應該是 0。

這個案例在 xtensor-blas 的拉取請求中進行了討論,解決方案是更改示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM