Решите прямоугольные разреженные системы линейных уравнений с Cupy - PullRequest
0 голосов
/ 30 августа 2018

Я пытаюсь решить прямоугольную систему для разреженных функций, используя Cupy. Я знаю встроенную функцию sparse.linalg.lsqr(A, b) сделать это для квадратной матрицы A. Однако мне нравится решать разреженную прямоугольную систему. Вот как мы можем решить систему в квадрате:

Import cupy as cp

A = cp.sparse.rand(200, 100, density=0.1)
b = cp.random.random(100)

x = cp.sparse.linalg.lsqr (A, b)
print(x)

Это дает ошибку несоответствия размеров для прямоугольных систем, и я не могу найти встроенный разреженный метод, эквивалентный, например, cupy.tensorsolve().

Кстати, есть ли способ сделать это с Tensorflow? Спасибо за помощь. Я использую гугл колабораторную тетрадь.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2018

Это может быть слишком поздно для спрашивающего, но для потомков я отвечаю на этот вопрос.

Это может быть реализовано путем переноса lsqr в MAGMA , как показано в в этом примере .

0 голосов
/ 30 августа 2018

Вы можете обратиться к https://docs -cupy.chainer.org / en / stable / reference / linalg.html для текущих функций поддержки Cupy для линейной алгебры. Я могу найти cupy.linalg.tensorsolve, но пока не могу найти cupy.linalg.lsqr.

Также я думаю, что было бы хорошо отметить этот вопрос как "cupy" или "numpy".

...