ax=b 求解 三种方法
import tensorflow.compat.v1 as tf
import numpy as np
import scipy
A = np.array([
[1, 4, 7],
[5, 2, 8],
[9, 6, 3]
])
b = np.array([21, 24, 39])
numpy 方法:
print(np.linalg.solve(A, b))
scipy 方法:
print(scipy.linalg.solve(A, b))
tensorflow 方法
with tf.Session() as sess:
A = tf.constant(A, dtype='float64')
b = tf.constant(b.reshape(-1, 1), dtype='float64')
x = tf.matrix_solve(A, b)
# print('A:', sess.run(A))
# print('b:', sess.run(b))
print(sess.run(x))
# 验算
b_ = tf.matmul(A, x)
# print('b_:', sess.run(b_))