tfp.math.lu_solve
Stay organized with collections
Save and categorize content based on your preferences.
Solves systems of linear eqns A X = RHS
, given LU factorizations.
tfp . math . lu_solve (
lower_upper , perm , rhs , validate_args = False , name = None
)
Note: this function does not verify the implied matrix is actually invertible
nor is this condition checked even when validate_args=True
.
Args
lower_upper
lu
as returned by tf.linalg.lu
, i.e., if
matmul(P, matmul(L, U)) = X
then lower_upper = L + U - eye
.
perm
p
as returned by tf.linag.lu
, i.e., if
matmul(P, matmul(L, U)) = X
then perm = argmax(P)
.
rhs
Matrix-shaped float Tensor
representing targets for which to solve;
A X = RHS
. To handle vector cases, use:
lu_solve(..., rhs[..., tf.newaxis])[..., 0]
.
validate_args
Python bool
indicating whether arguments should be checked
for correctness. Note: this function does not verify the implied matrix is
actually invertible, even when validate_args=True
.
Default value: False
(i.e., don't validate arguments).
name
Python str
name given to ops managed by this object.
Default value: None
(i.e., 'lu_solve').
Returns
x
The X
in A @ X = RHS
.
Examples
import numpy as np
import tensorflow as tf
import tensorflow_probability as tfp
x = [[[ 1. , 2 ],
[ 3 , 4 ]],
[[ 7 , 8 ],
[ 3 , 4 ]]]
inv_x = tfp . math . lu_solve ( * tf . linalg . lu ( x ), rhs = tf . eye ( 2 ))
tf . assert_near ( tf . matrix_inverse ( x ), inv_x )
# ==> True
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-11-21 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2023-11-21 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-11-21 UTC."],[],[]]