QR/UDT
Index
StableDQMC.fact_multStableDQMC.inv!StableDQMC.inv_one_plusStableDQMC.inv_one_plusStableDQMC.inv_one_plus!StableDQMC.inv_one_plus!StableDQMC.inv_one_plus_lohStableDQMC.inv_one_plus_loh!StableDQMC.inv_sumStableDQMC.inv_sum!StableDQMC.inv_sum_lohStableDQMC.inv_sum_loh!StableDQMC.udtStableDQMC.udt!StableDQMC.udt_inv_one_plusStableDQMC.udt_inv_one_plusStableDQMC.udt_inv_one_plus_lohStableDQMC.udt_inv_sumStableDQMC.udt_inv_sum_loh
Documentation
StableDQMC.fact_mult — Methodfact_mult(A::UDT, B::UDT) -> UDTStabilized multiplication of two UDT decompositions. Returns a UDT factorization object.
StableDQMC.inv! — Methodinv!(res, F::UDT) -> resSame as inv but writes result into preallocated res.
StableDQMC.inv_one_plus! — Methodinv_one_plus!(res, A::UDT, Bdagger::UDT) -> resStabilized calculation of [1 + UlDlTl(UrDrTr)^†]^(-1). Writes the result into res.
See udt_inv_one_plus for preallocation options.
StableDQMC.inv_one_plus! — Methodinv_one_plus!(res, F::UDT) -> resSame as inv_one_plus but stores the result in preallocated res.
StableDQMC.inv_one_plus — Methodinv_one_plus(A::UDT, Bdagger::UDT) -> AbstractMatrixStabilized calculation of [1 + UlDlTl(UrDrTr)^†]^(-1).
See udt_inv_one_plus for preallocation options.
StableDQMC.inv_one_plus — Methodinv_one_plus(F::UDT) -> AbstractMatrixStabilized calculation of [1 + UDT]^(-1):
- Use one intermediate UDT decomposition.
Faster but potentially less accurate than inv_one_plus_loh.
See udt_inv_one_plus for preallocation options.
StableDQMC.inv_one_plus_loh! — Methodinv_one_plus_loh!(res, F::UDT) -> resStabilized calculation of [1 + UDT]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
Writes the result into res.
See udt_inv_one_plus_loh for preallocation options.
StableDQMC.inv_one_plus_loh — Methodinv_one_plus_loh(F::UDT) -> AbstractMatrixStabilized calculation of [1 + UDT]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
See udt_inv_one_plus_loh for preallocation options.
StableDQMC.inv_sum! — Methodinv_sum!(res, A::UDT, B::UDT) -> resStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Use one intermediate UDT decompositions.
See udt_inv_sum for preallocation options.
StableDQMC.inv_sum — Methodinv_sum(A::UDT, B::UDT) -> AbstractMatrixStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Use one intermediate UDT decompositions.
See udt_inv_sum for preallocation options.
StableDQMC.inv_sum_loh! — Methodinv_sum_loh!(res, A::UDT, B::UDT) -> resStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
Writes the result into res.
See udt_inv_sum_loh for preallocation options.
StableDQMC.inv_sum_loh — Methodinv_sum_loh(A::UDT, B::UDT) -> AbstractMatrixStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
See udt_inv_sum_loh for preallocation options.
StableDQMC.udt! — Methodudv! is the same as svd, but saves space by overwriting the input A, instead of creating a copy.
StableDQMC.udt — MethodCompute the UDT decomposition of A and return an UDT object.
U, D, and T, can be obtained from the factorization F with F.U, F.D, and F.T such that A = U * Diagonal(D) * T.
Iterating the decomposition produces the components U, D, and V.
Note that T is upper triangular only up to permutations of columns of T.
StableDQMC.udt_inv_one_plus — Methodudt_inv_one_plus(A::UDT, Bdagger::UDT) -> UDTStabilized calculation of [1 + UlDlTl(UrDrTr)^†]^(-1). Returns and UDT factorization object.
Optional preallocations via keyword arguments:
tmp = similar(A.U)tmp2 = similar(A.U)tmp3 = similar(A.U)
StableDQMC.udt_inv_one_plus — Methodudt_inv_one_plus(F::UDT) -> UDTStabilized calculation of [1 + UDT]^(-1). Returns and UDT factorization object.
Optional preallocations via keyword arguments:
u = similar(F.U)t = similar(F.T)
StableDQMC.udt_inv_one_plus_loh — Methodudt_inv_one_plus_loh(F::UDT) -> UDTStabilized calculation of [1 + UDT]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
Options for preallocation via keyword arguments:
l = similar(F.U)r = similar(F.U)Dp = similar(F.D)Dm = similar(F.D)
StableDQMC.udt_inv_sum — Methodudt_inv_sum(A::UDT, B::UDT) -> UDTStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Use one intermediate UDT decompositions.
Optional preallocations via keyword arguments:
m2 = similar(A.U)
StableDQMC.udt_inv_sum_loh — Methodudt_inv_sum_loh(A::UDT, B::UDT) -> UDTStabilized calculation of [UaDaTa + UbDbTb]^(-1):
- Separate scales larger and smaller than unity
- Use two intermediate UDT decompositions.
Options for preallocations via keyword arguments:
mat2 = similar(A.U)Dap = similar(A.D)Dam = similar(A.D)Dbp = similar(A.D)Dbm = similar(A.D)