From bc8b887455080ea7dc93dbf83a1d3abeb2c564b8 Mon Sep 17 00:00:00 2001 From: kevinsung Date: Sat, 23 Sep 2023 01:21:21 +0000 Subject: [PATCH] deploy: 578cb50d3d50e7666761f5a1bd40f7d08d443d7c --- .doctrees/api/generated/ffsim.linalg.doctree | Bin 130631 -> 128466 bytes .doctrees/environment.pickle | Bin 1511252 -> 1508209 bytes .../nbsphinx/tutorials/01-introduction.ipynb | 24 ++-- .../tutorials/02-orbital-rotation.ipynb | 32 ++--- .../tutorials/03-double-factorized.ipynb | 80 ++++++------ .doctrees/nbsphinx/tutorials/04-lucj.ipynb | 32 ++--- _modules/ffsim/gates/orbital_rotation.html | 17 +-- _modules/ffsim/linalg/givens.html | 116 ++++++++---------- api/generated/ffsim.html | 2 +- api/generated/ffsim.linalg.html | 44 ++----- genindex.html | 10 +- objects.inv | Bin 4310 -> 4313 bytes searchindex.js | 2 +- tutorials/01-introduction.ipynb | 24 ++-- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.ipynb | 80 ++++++------ tutorials/04-lucj.ipynb | 32 ++--- 17 files changed, 246 insertions(+), 281 deletions(-) diff --git a/.doctrees/api/generated/ffsim.linalg.doctree b/.doctrees/api/generated/ffsim.linalg.doctree index 87cfbc122cd1801b3c2298fc6ae4d09965fc8a17..e7f0329cd7f6cf683b0ea3e5465cf4871fa75991 100644 GIT binary patch delta 10750 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 delta 12498 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 delta 119433 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 aqI5F^i$rQ4M2RRB*4HOsx5DAJ>i+{zv+EE5 diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index b8b0526e1..e7096502b 100644 --- a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb +++ b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:16.279811Z", - "iopub.status.busy": "2023-09-22T21:03:16.279424Z", - "iopub.status.idle": "2023-09-22T21:03:16.582247Z", - "shell.execute_reply": "2023-09-22T21:03:16.581675Z" + "iopub.execute_input": "2023-09-23T01:21:10.728516Z", + "iopub.status.busy": "2023-09-23T01:21:10.728159Z", + "iopub.status.idle": "2023-09-23T01:21:11.032417Z", + "shell.execute_reply": "2023-09-23T01:21:11.031854Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:16.586628Z", - "iopub.status.busy": "2023-09-22T21:03:16.585111Z", - "iopub.status.idle": "2023-09-22T21:03:16.590572Z", - "shell.execute_reply": "2023-09-22T21:03:16.590118Z" + "iopub.execute_input": "2023-09-23T01:21:11.037047Z", + "iopub.status.busy": "2023-09-23T01:21:11.035562Z", + "iopub.status.idle": "2023-09-23T01:21:11.040972Z", + "shell.execute_reply": "2023-09-23T01:21:11.040514Z" } }, "outputs": [], @@ -92,10 +92,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:16.594310Z", - "iopub.status.busy": "2023-09-22T21:03:16.593415Z", - "iopub.status.idle": "2023-09-22T21:03:16.597294Z", - "shell.execute_reply": "2023-09-22T21:03:16.596845Z" + "iopub.execute_input": "2023-09-23T01:21:11.044733Z", + "iopub.status.busy": "2023-09-23T01:21:11.043841Z", + "iopub.status.idle": "2023-09-23T01:21:11.047740Z", + "shell.execute_reply": "2023-09-23T01:21:11.047295Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index 7ee0c5f50..d6b907b41 100644 --- a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:18.236148Z", - "iopub.status.busy": "2023-09-22T21:03:18.235765Z", - "iopub.status.idle": "2023-09-22T21:03:18.536110Z", - "shell.execute_reply": "2023-09-22T21:03:18.535486Z" + "iopub.execute_input": "2023-09-23T01:21:12.555910Z", + "iopub.status.busy": "2023-09-23T01:21:12.555674Z", + "iopub.status.idle": "2023-09-23T01:21:12.856048Z", + "shell.execute_reply": "2023-09-23T01:21:12.855430Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:18.539935Z", - "iopub.status.busy": "2023-09-22T21:03:18.539625Z", - "iopub.status.idle": "2023-09-22T21:03:18.566180Z", - "shell.execute_reply": "2023-09-22T21:03:18.565631Z" + "iopub.execute_input": "2023-09-23T01:21:12.859974Z", + "iopub.status.busy": "2023-09-23T01:21:12.859457Z", + "iopub.status.idle": "2023-09-23T01:21:12.885192Z", + "shell.execute_reply": "2023-09-23T01:21:12.884669Z" } }, "outputs": [], @@ -160,10 +160,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:18.569585Z", - "iopub.status.busy": "2023-09-22T21:03:18.569376Z", - "iopub.status.idle": "2023-09-22T21:03:18.580624Z", - "shell.execute_reply": "2023-09-22T21:03:18.580075Z" + "iopub.execute_input": "2023-09-23T01:21:12.889505Z", + "iopub.status.busy": "2023-09-23T01:21:12.888315Z", + "iopub.status.idle": "2023-09-23T01:21:12.900215Z", + "shell.execute_reply": "2023-09-23T01:21:12.899700Z" } }, "outputs": [], @@ -203,10 +203,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:18.583300Z", - "iopub.status.busy": "2023-09-22T21:03:18.583102Z", - "iopub.status.idle": "2023-09-22T21:03:18.588294Z", - "shell.execute_reply": "2023-09-22T21:03:18.587757Z" + "iopub.execute_input": "2023-09-23T01:21:12.904675Z", + "iopub.status.busy": "2023-09-23T01:21:12.903115Z", + "iopub.status.idle": "2023-09-23T01:21:12.909645Z", + "shell.execute_reply": "2023-09-23T01:21:12.909124Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 1f6dd43d9..260ffc4b5 100644 --- a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.293237Z", - "iopub.status.busy": "2023-09-22T21:03:20.292688Z", - "iopub.status.idle": "2023-09-22T21:03:20.699547Z", - "shell.execute_reply": "2023-09-22T21:03:20.699005Z" + "iopub.execute_input": "2023-09-23T01:21:14.538466Z", + "iopub.status.busy": "2023-09-23T01:21:14.538260Z", + "iopub.status.idle": "2023-09-23T01:21:14.944173Z", + "shell.execute_reply": "2023-09-23T01:21:14.943411Z" } }, "outputs": [ @@ -93,10 +93,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.713380Z", - "iopub.status.busy": "2023-09-22T21:03:20.712853Z", - "iopub.status.idle": "2023-09-22T21:03:20.719004Z", - "shell.execute_reply": "2023-09-22T21:03:20.718537Z" + "iopub.execute_input": "2023-09-23T01:21:14.963251Z", + "iopub.status.busy": "2023-09-23T01:21:14.962671Z", + "iopub.status.idle": "2023-09-23T01:21:14.969003Z", + "shell.execute_reply": "2023-09-23T01:21:14.968514Z" } }, "outputs": [ @@ -227,10 +227,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.721657Z", - "iopub.status.busy": "2023-09-22T21:03:20.721273Z", - "iopub.status.idle": "2023-09-22T21:03:20.725738Z", - "shell.execute_reply": "2023-09-22T21:03:20.725283Z" + "iopub.execute_input": "2023-09-23T01:21:14.971924Z", + "iopub.status.busy": "2023-09-23T01:21:14.971350Z", + "iopub.status.idle": "2023-09-23T01:21:14.976136Z", + "shell.execute_reply": "2023-09-23T01:21:14.975672Z" } }, "outputs": [], @@ -285,10 +285,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.728216Z", - "iopub.status.busy": "2023-09-22T21:03:20.727839Z", - "iopub.status.idle": "2023-09-22T21:03:20.731504Z", - "shell.execute_reply": "2023-09-22T21:03:20.731060Z" + "iopub.execute_input": "2023-09-23T01:21:14.978817Z", + "iopub.status.busy": "2023-09-23T01:21:14.978442Z", + "iopub.status.idle": "2023-09-23T01:21:14.982342Z", + "shell.execute_reply": "2023-09-23T01:21:14.981860Z" } }, "outputs": [], @@ -325,10 +325,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.734014Z", - "iopub.status.busy": "2023-09-22T21:03:20.733642Z", - "iopub.status.idle": "2023-09-22T21:03:20.738284Z", - "shell.execute_reply": "2023-09-22T21:03:20.737833Z" + "iopub.execute_input": "2023-09-23T01:21:14.984891Z", + "iopub.status.busy": "2023-09-23T01:21:14.984507Z", + "iopub.status.idle": "2023-09-23T01:21:14.989382Z", + "shell.execute_reply": "2023-09-23T01:21:14.988900Z" } }, "outputs": [ @@ -367,10 +367,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.740698Z", - "iopub.status.busy": "2023-09-22T21:03:20.740308Z", - "iopub.status.idle": "2023-09-22T21:03:20.753973Z", - "shell.execute_reply": "2023-09-22T21:03:20.753394Z" + "iopub.execute_input": "2023-09-23T01:21:14.991924Z", + "iopub.status.busy": "2023-09-23T01:21:14.991546Z", + "iopub.status.idle": "2023-09-23T01:21:15.000804Z", + "shell.execute_reply": "2023-09-23T01:21:15.000310Z" } }, "outputs": [ @@ -409,10 +409,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.756581Z", - "iopub.status.busy": "2023-09-22T21:03:20.756030Z", - "iopub.status.idle": "2023-09-22T21:03:20.763740Z", - "shell.execute_reply": "2023-09-22T21:03:20.763274Z" + "iopub.execute_input": "2023-09-23T01:21:15.003508Z", + "iopub.status.busy": "2023-09-23T01:21:15.003108Z", + "iopub.status.idle": "2023-09-23T01:21:15.010861Z", + "shell.execute_reply": "2023-09-23T01:21:15.010380Z" } }, "outputs": [ @@ -450,10 +450,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.766424Z", - "iopub.status.busy": "2023-09-22T21:03:20.765969Z", - "iopub.status.idle": "2023-09-22T21:03:20.802839Z", - "shell.execute_reply": "2023-09-22T21:03:20.802363Z" + "iopub.execute_input": "2023-09-23T01:21:15.013478Z", + "iopub.status.busy": "2023-09-23T01:21:15.013072Z", + "iopub.status.idle": "2023-09-23T01:21:15.049959Z", + "shell.execute_reply": "2023-09-23T01:21:15.049443Z" } }, "outputs": [ @@ -493,10 +493,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.805492Z", - "iopub.status.busy": "2023-09-22T21:03:20.805199Z", - "iopub.status.idle": "2023-09-22T21:03:20.838642Z", - "shell.execute_reply": "2023-09-22T21:03:20.838163Z" + "iopub.execute_input": "2023-09-23T01:21:15.052667Z", + "iopub.status.busy": "2023-09-23T01:21:15.052330Z", + "iopub.status.idle": "2023-09-23T01:21:15.085976Z", + "shell.execute_reply": "2023-09-23T01:21:15.080583Z" } }, "outputs": [ @@ -535,10 +535,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:20.842012Z", - "iopub.status.busy": "2023-09-22T21:03:20.841702Z", - "iopub.status.idle": "2023-09-22T21:03:20.856836Z", - "shell.execute_reply": "2023-09-22T21:03:20.856269Z" + "iopub.execute_input": "2023-09-23T01:21:15.089868Z", + "iopub.status.busy": "2023-09-23T01:21:15.089518Z", + "iopub.status.idle": "2023-09-23T01:21:15.102275Z", + "shell.execute_reply": "2023-09-23T01:21:15.101739Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 8edc35981..050d5e27a 100644 --- a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb +++ b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:22.734065Z", - "iopub.status.busy": "2023-09-22T21:03:22.733637Z", - "iopub.status.idle": "2023-09-22T21:03:23.108073Z", - "shell.execute_reply": "2023-09-22T21:03:23.107515Z" + "iopub.execute_input": "2023-09-23T01:21:17.005056Z", + "iopub.status.busy": "2023-09-23T01:21:17.004496Z", + "iopub.status.idle": "2023-09-23T01:21:17.411951Z", + "shell.execute_reply": "2023-09-23T01:21:17.411330Z" } }, "outputs": [ @@ -80,10 +80,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:23.111168Z", - "iopub.status.busy": "2023-09-22T21:03:23.110704Z", - "iopub.status.idle": "2023-09-22T21:03:23.283244Z", - "shell.execute_reply": "2023-09-22T21:03:23.282713Z" + "iopub.execute_input": "2023-09-23T01:21:17.415299Z", + "iopub.status.busy": "2023-09-23T01:21:17.414894Z", + "iopub.status.idle": "2023-09-23T01:21:17.628856Z", + "shell.execute_reply": "2023-09-23T01:21:17.628276Z" } }, "outputs": [ @@ -145,10 +145,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:23.287326Z", - "iopub.status.busy": "2023-09-22T21:03:23.286393Z", - "iopub.status.idle": "2023-09-22T21:03:23.432837Z", - "shell.execute_reply": "2023-09-22T21:03:23.432304Z" + "iopub.execute_input": "2023-09-23T01:21:17.632430Z", + "iopub.status.busy": "2023-09-23T01:21:17.631772Z", + "iopub.status.idle": "2023-09-23T01:21:17.780200Z", + "shell.execute_reply": "2023-09-23T01:21:17.779696Z" } }, "outputs": [ @@ -222,10 +222,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-22T21:03:23.436955Z", - "iopub.status.busy": "2023-09-22T21:03:23.435969Z", - "iopub.status.idle": "2023-09-22T21:03:23.607950Z", - "shell.execute_reply": "2023-09-22T21:03:23.607426Z" + "iopub.execute_input": "2023-09-23T01:21:17.784386Z", + "iopub.status.busy": "2023-09-23T01:21:17.783238Z", + "iopub.status.idle": "2023-09-23T01:21:17.954821Z", + "shell.execute_reply": "2023-09-23T01:21:17.954247Z" } }, "outputs": [ diff --git a/_modules/ffsim/gates/orbital_rotation.html b/_modules/ffsim/gates/orbital_rotation.html index 4aa2318fc..4265a9e4b 100644 --- a/_modules/ffsim/gates/orbital_rotation.html +++ b/_modules/ffsim/gates/orbital_rotation.html @@ -314,9 +314,9 @@

Source code for ffsim.gates.orbital_rotation

dim_b = comb(norb, n_beta, exact=True)
     vec = vec.reshape((dim_a, dim_b))
     # transform alpha
-    for givens_mat, target_orbs in givens_rotations:
+    for (c, s), target_orbs in givens_rotations:
         _apply_orbital_rotation_adjacent_spin_in_place(
-            vec, givens_mat.conj(), target_orbs, norb, n_alpha
+            vec, c, s.conjugate(), target_orbs, norb, n_alpha
         )
     for i, phase_shift in enumerate(phase_shifts):
         indices = _one_subspace_indices(norb, n_alpha, (i,))
@@ -325,9 +325,9 @@ 

Source code for ffsim.gates.orbital_rotation

# transform beta
     # transpose vector to align memory layout
     vec = vec.T.copy()
-    for givens_mat, target_orbs in givens_rotations:
+    for (c, s), target_orbs in givens_rotations:
         _apply_orbital_rotation_adjacent_spin_in_place(
-            vec, givens_mat.conj(), target_orbs, norb, n_beta
+            vec, c, s.conjugate(), target_orbs, norb, n_beta
         )
     for i, phase_shift in enumerate(phase_shifts):
         indices = _one_subspace_indices(norb, n_beta, (i,))
@@ -337,7 +337,12 @@ 

Source code for ffsim.gates.orbital_rotation

def _apply_orbital_rotation_adjacent_spin_in_place(
-    vec: np.ndarray, mat: np.ndarray, target_orbs: tuple[int, int], norb: int, nocc: int
+    vec: np.ndarray,
+    c: float,
+    s: complex,
+    target_orbs: tuple[int, int],
+    norb: int,
+    nocc: int,
 ) -> None:
     """Apply an orbital rotation to adjacent orbitals.
 
@@ -353,8 +358,6 @@ 

Source code for ffsim.gates.orbital_rotation

indices = _zero_one_subspace_indices(norb, nocc, target_orbs)
     slice1 = indices[: len(indices) // 2]
     slice2 = indices[len(indices) // 2 :]
-    c, s = mat[0]
-    c = c.real
     apply_givens_rotation_in_place(vec, c, s, slice1, slice2)
 
 
diff --git a/_modules/ffsim/linalg/givens.html b/_modules/ffsim/linalg/givens.html
index 29216d349..fa356b3fd 100644
--- a/_modules/ffsim/linalg/givens.html
+++ b/_modules/ffsim/linalg/givens.html
@@ -50,6 +50,8 @@ 

Source code for ffsim.linalg.givens

 from __future__ import annotations
 
 import numpy as np
+from scipy.linalg.blas import zrotg as zrotg_
+from scipy.linalg.lapack import zrot
 
 
 
@@ -85,55 +87,24 @@

Source code for ffsim.linalg.givens

 
 
 
-
-[docs] -def givens_matrix(a: complex, b: complex) -> np.ndarray: - r"""Compute the Givens rotation to zero out a row entry. +
+[docs] +def zrotg(a: complex, b: complex, tol=1e-12) -> tuple[float, complex]: + r"""Safe version of the zrotg BLAS function. - Returns a :math:`2 \times 2` unitary matrix G that satisfies + The BLAS implementation of zrotg can return NaN values if either a or b is very + close to zero. This function detects if either a or b is close to zero up to the + specified tolerance, in which case it behaves as if it were exactly zero. - .. math:: - - G - \begin{pmatrix} - a \\ - b - \end{pmatrix} - = - \begin{pmatrix} - r \\ - 0 - \end{pmatrix} - - where :math:`r` is a complex number. - - References: - - `<https://en.wikipedia.org/wiki/Givens_rotation#Stable_calculation>`_ - - `<https://www.netlib.org/lapack/lawnspdf/lawn148.pdf>`_ - - Args: - a: A complex number representing the first row entry - b: A complex number representing the second row entry - - Returns: - The Givens rotation matrix. + Note that in contrast to `scipy.linalg.blas.zrotg`, this function returns c as a + float rather than a complex. """ - # Handle case that a is zero - if np.isclose(a, 0.0): - cosine = 0.0 - sine = 1.0 - # Handle case that b is zero and a is nonzero - elif np.isclose(b, 0.0): - cosine = 1.0 - sine = 0.0 - # Handle case that a and b are both nonzero - else: - hypotenuse = np.hypot(abs(a), abs(b)) - cosine = abs(a) / hypotenuse - sign_a = a / abs(a) - sine = sign_a * b.conjugate() / hypotenuse - - return np.array([[cosine, sine], [-sine.conjugate(), cosine]])
+ if np.isclose(a, 0.0, atol=tol): + return 0.0, 1 + 0j + if np.isclose(b, 0.0, atol=tol): + return 1.0, 0j + c, s = zrotg_(a, b) + return c.real, s
@@ -141,12 +112,12 @@

Source code for ffsim.linalg.givens

 [docs]
 def givens_decomposition(
     mat: np.ndarray,
-) -> tuple[list[tuple[np.ndarray, tuple[int, int]]], np.ndarray]:
+) -> tuple[list[tuple[tuple[float, complex], tuple[int, int]]], np.ndarray]:
     """Givens rotation decomposition of a unitary matrix."""
     n, _ = mat.shape
-    current_matrix = mat
+    current_matrix = mat.astype(complex, copy=False)
     left_rotations = []
-    right_rotations: list[tuple[np.ndarray, tuple[int, int]]] = []
+    right_rotations: list[tuple[tuple[float, complex], tuple[int, int]]] = []
 
     # compute left and right Givens rotations
     for i in range(n - 1):
@@ -157,18 +128,22 @@ 

Source code for ffsim.linalg.givens

                 row = n - j - 1
                 if not np.isclose(current_matrix[row, target_index], 0.0):
                     # zero out element at target index in given row
-                    givens_mat = givens_matrix(
+                    c, s = zrotg(
                         current_matrix[row, target_index + 1],
                         current_matrix[row, target_index],
                     )
-                    right_rotations.append(
-                        (givens_mat, (target_index + 1, target_index))
-                    )
-                    current_matrix = apply_matrix_to_slices(
-                        current_matrix,
-                        givens_mat,
-                        [(Ellipsis, target_index + 1), (Ellipsis, target_index)],
+                    right_rotations.append(((c, s), (target_index + 1, target_index)))
+                    current_matrix = current_matrix.T.copy()
+                    (
+                        current_matrix[target_index + 1],
+                        current_matrix[target_index],
+                    ) = zrot(
+                        current_matrix[target_index + 1],
+                        current_matrix[target_index],
+                        c,
+                        s,
                     )
+                    current_matrix = current_matrix.T
         else:
             # rotate rows by left multiplication
             for j in range(i + 1):
@@ -176,24 +151,31 @@ 

Source code for ffsim.linalg.givens

                 col = j
                 if not np.isclose(current_matrix[target_index, col], 0.0):
                     # zero out element at target index in given column
-                    givens_mat = givens_matrix(
+                    c, s = zrotg(
                         current_matrix[target_index - 1, col],
                         current_matrix[target_index, col],
                     )
-                    left_rotations.append(
-                        (givens_mat, (target_index - 1, target_index))
-                    )
-                    current_matrix = apply_matrix_to_slices(
-                        current_matrix, givens_mat, [target_index - 1, target_index]
+                    left_rotations.append(((c, s), (target_index - 1, target_index)))
+                    (
+                        current_matrix[target_index - 1],
+                        current_matrix[target_index],
+                    ) = zrot(
+                        current_matrix[target_index - 1],
+                        current_matrix[target_index],
+                        c,
+                        s,
                     )
 
     # convert left rotations to right rotations
-    for givens_mat, (i, j) in reversed(left_rotations):
-        givens_mat = givens_mat.T.conj().astype(mat.dtype, copy=False)
+    for (c, s), (i, j) in reversed(left_rotations):
+        c, s = zrotg(c * current_matrix[j, j], s.conjugate() * current_matrix[i, i])
+        right_rotations.append(((c, -s.conjugate()), (i, j)))
+
+        givens_mat = np.array([[c, -s], [s.conjugate(), c]])
         givens_mat[:, 0] *= current_matrix[i, i]
         givens_mat[:, 1] *= current_matrix[j, j]
-        new_givens_mat = givens_matrix(givens_mat[1, 1], givens_mat[1, 0])
-        right_rotations.append((new_givens_mat.T, (i, j)))
+        c, s = zrotg(givens_mat[1, 1], givens_mat[1, 0])
+        new_givens_mat = np.array([[c, s], [-s.conjugate(), c]])
         phase_matrix = givens_mat @ new_givens_mat
         current_matrix[i, i] = phase_matrix[0, 0]
         current_matrix[j, j] = phase_matrix[1, 1]
diff --git a/api/generated/ffsim.html b/api/generated/ffsim.html
index 2df89f45c..07b2ebc65 100644
--- a/api/generated/ffsim.html
+++ b/api/generated/ffsim.html
@@ -135,7 +135,7 @@ 

Subpackagesffsim.linalg.givens module
  • ffsim.linalg.linalg module
      diff --git a/api/generated/ffsim.linalg.html b/api/generated/ffsim.linalg.html index 514c5d761..1a3f4fb60 100644 --- a/api/generated/ffsim.linalg.html +++ b/api/generated/ffsim.linalg.html @@ -250,45 +250,23 @@

      Submodules
      Return type:
      -

      tuple[list[tuple[ndarray, tuple[int, int]]], ndarray]

      +

      tuple[list[tuple[tuple[float, complex], tuple[int, int]]], ndarray]

      -
      -ffsim.linalg.givens.givens_matrix(a, b)[source]¶
      -

      Compute the Givens rotation to zero out a row entry.

      -

      Returns a \(2 \times 2\) unitary matrix G that satisfies

      -
      -\[\begin{split}G -\begin{pmatrix} - a \\ - b -\end{pmatrix} -= -\begin{pmatrix} - r \\ - 0 -\end{pmatrix}\end{split}\]
      -

      where \(r\) is a complex number.

      -

      References

      - +
      +ffsim.linalg.givens.zrotg(a, b, tol=1e-12)[source]¶
      +

      Safe version of the zrotg BLAS function.

      +

      The BLAS implementation of zrotg can return NaN values if either a or b is very +close to zero. This function detects if either a or b is close to zero up to the +specified tolerance, in which case it behaves as if it were exactly zero.

      +

      Note that in contrast to scipy.linalg.blas.zrotg, this function returns c as a +float rather than a complex.

      -
      Parameters:
      -
        -
      • a (complex) – A complex number representing the first row entry

      • -
      • b (complex) – A complex number representing the second row entry

      • -
      -
      -
      Return type:
      -

      ndarray

      -
      -
      Returns:
      -

      The Givens rotation matrix.

      +
      Return type:
      +

      tuple[float, complex]

      diff --git a/genindex.html b/genindex.html index 1bb8daf4d..6da1b5f8f 100644 --- a/genindex.html +++ b/genindex.html @@ -456,14 +456,12 @@

      G

      @@ -761,6 +759,10 @@

      Z

      +
      diff --git a/objects.inv b/objects.inv index 289b4cda22ef6c7633217b72dda3836021cbd708..b4b6b2505760855b2ae121ac2fc6c748a32edb0c 100644 GIT binary patch delta 3601 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 X-asN`j<*?n^%@DZL;U{%aES!ht7!+& delta 3598 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