我希望将一个简单的2D数组转换为SparseMatrix,以提高性能和运行时间,因为我正在处理大小在50,000-70,000之间的数组。
到目前为止我所拥有的:
<?php
namespace DW\UserBundle\Twig;
use DW\UserBundle\Service\UserService;
use Iflylabs\iFlyChat;
class ChatExtension extends \Twig_Extension
{
/**
* @var UserService
*/
private $userService;
/**
* @var string
*/
private $appId;
/**
* @var string
*/
private $apiKey;
/**
* @param UserService $userService
* @param string $appId
* @param string $apiKey
*/
public function __construct(UserService $userService, string $appId, string $apiKey)
{
$this->userService = $userService;
$this->appId = $appId;
$this->apiKey = $apiKey;
}
/**
* @return array
*/
public function getFunctions()
{
return [
new \Twig_SimpleFunction("chat", [$this, "chat"])
];
}
public function chat()
{
$iflyChat = new iFlyChat($this->appId, $this->apiKey);
echo $iflyChat->getHtmlCode();
}
/**
* @return string
*/
public function getName()
{
return 'chat_extension';
}
}
编译器在模板参数列表中的参数1处返回类型不匹配值,用于&#39;模板类Eigen :: Map&#39;。 我知道我在这里遗漏了一些东西,但我无法理解。
答案 0 :(得分:1)
制作一个密集矩阵并将其转换为稀疏矩阵:
double matrix[numCells * numCells]; // 1d array representation of your matrix
SparseMatrix<double> sp = Map<MatrixXd>(matrix,numCells,numCells).sparseView();