Giải các hệ phương trình tuyến tính với ma trận tam giác trên hoặc dưới bằng cách thay thế ngược.
`ma trận` là một tenxơ có dạng `[..., M, M]` có 2 chiều trong cùng tạo thành ma trận vuông. Nếu `dưới` là `True` thì phần tam giác phía trên của mỗi ma trận trong cùng được coi là bằng 0 và không được truy cập. Nếu `thấp hơn` là Sai thì phần tam giác phía dưới của mỗi ma trận trong cùng được coi là bằng 0 và không được truy cập. `rhs` là một tensor có hình dạng `[..., M, N]`.
Đầu ra là một tensor có hình dạng `[..., M, N]`. Nếu `adjoint` là `True` thì các ma trận trong cùng trong `output` thỏa mãn phương trình ma trận `ma trận[..., :, :] * out[..., :, :] = rhs[..., :, :]`. Nếu `adjoint` là `False` thì các ma trận trong cùng trong `output` thỏa mãn phương trình ma trận `adjoint(matrix[..., i, k]) * out[..., k, j] = rhs[ ..., tôi, j]`.
Lưu ý, hình dạng lô cho đầu vào chỉ cần phát.
Ví dụ:
a = tf.constant([[3, 0, 0, 0],
[2, 1, 0, 0],
[1, 0, 1, 0],
[1, 1, 1, 1]], dtype=tf.float32)
b = tf.constant([[4],
[2],
[4],
[2]], dtype=tf.float32)
x = tf.linalg.triangular_solve(a, b, lower=True)
x
# <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
# array([[ 1.3333334 ],
# [-0.66666675],
# [ 2.6666665 ],
# [-1.3333331 ]], dtype=float32)>
# in python3 one can use `a@x`
tf.matmul(a, x)
# <tf.Tensor: shape=(4, 1), dtype=float32, numpy=
# array([[4. ],
# [2. ],
# [4. ],
# [1.9999999]], dtype=float32)>
Các lớp lồng nhau
lớp học | TriangleSolve.Options | Thuộc tính tùy chọn cho TriangularSolve |
Hằng số
Sợi dây | OP_NAME | Tên của op này, được biết đến bởi công cụ lõi TensorFlow |
Phương pháp công cộng
tĩnh TriangleSolve.Options | liên kết (liên kết Boolean) |
Đầu ra <T> | asOutput () Trả về tay cầm tượng trưng của tensor. |
tĩnh <T mở rộng TType > TriangularSolve <T> | tạo (Phạm vi phạm vi , Ma trận toán hạng <T>, Toán hạng <T> rhs, Tùy chọn... tùy chọn) Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác TriangleSolve mới. |
tĩnh TriangleSolve.Options | thấp hơn (Boolean thấp hơn) |
Đầu ra <T> | đầu ra () Hình dạng là `[..., M, K]`. |
Phương pháp kế thừa
Hằng số
Chuỗi cuối cùng tĩnh công khai OP_NAME
Tên của op này, được biết đến bởi công cụ lõi TensorFlow
Phương pháp công cộng
công cộng tĩnh TriangleSolve.Options điều chỉnh (điều chỉnh Boolean)
Thông số
tiếp giáp | Boolean cho biết nên giải quyết bằng `ma trận` hay phép nối (theo khối) của nó. |
---|
Đầu ra công khai <T> asOutput ()
Trả về tay cầm tượng trưng của tensor.
Đầu vào của các hoạt động TensorFlow là đầu ra của một hoạt động TensorFlow khác. Phương pháp này được sử dụng để thu được một thẻ điều khiển mang tính biểu tượng đại diện cho việc tính toán đầu vào.
public static TriangleSolve <T> tạo (Phạm vi phạm vi , Ma trận toán hạng <T>, Toán hạng <T> rhs, Tùy chọn... tùy chọn)
Phương thức xuất xưởng để tạo một lớp bao bọc một thao tác TriangleSolve mới.
Thông số
phạm vi | phạm vi hiện tại |
---|---|
ma trận | Hình dạng là `[..., M, M]`. |
ừ | Hình dạng là `[..., M, K]`. |
tùy chọn | mang các giá trị thuộc tính tùy chọn |
Trả lại
- một phiên bản mới của TriangleSolve
public static TriangleSolve.Options thấp hơn (Boolean thấp hơn)
Thông số
thấp hơn | Boolean cho biết ma trận trong cùng trong `ma trận` là tam giác dưới hay tam giác trên. |
---|