From 1e5d6501baafe5ca6061c730c4db103c2d0571fa Mon Sep 17 00:00:00 2001
From: Michel Crucifix <michel.crucifix@uclouvain.be>
Date: Sun, 6 Oct 2024 22:49:27 +0200
Subject: [PATCH] debugged

---
 R/mfft_real_quatro.R    |  116 +-
 R/mfft_real_ter.R       |    2 +-
 notebook/Untitled.ipynb | 2425 +++++++++++++++++++--------------------
 3 files changed, 1243 insertions(+), 1300 deletions(-)

diff --git a/R/mfft_real_quatro.R b/R/mfft_real_quatro.R
index b06b501..bee407e 100644
--- a/R/mfft_real_quatro.R
+++ b/R/mfft_real_quatro.R
@@ -6,6 +6,7 @@ Qsecond0 <- 2/pi^2 - 1./3.
 analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
   
 
+  # nu = c(0.0429, 0.0186)
   # nu can be provided, in which case the frequencies
   # are considered to be given
   if (!is.null(nu))
@@ -20,10 +21,6 @@ analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
       nu[2*nfreq] <- NA
       phase[2*nfreq] <- NA
     }
-    print ('nu 2')
-    print(nu)
-    print ('phase 2')
-    print(phase)
   } else 
   {
     nu <- rep(NA,2*nfreq)
@@ -43,6 +40,7 @@ analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
   # x_m what remains of the signal at time step m
   
   S <- rep(0,2*nfreq)
+  Prod <- rep(0,2*nfreq)
   amp <- rep(NA,2*nfreq)
   A <- matrix(0,2*nfreq,2*nfreq)
   Q <- matrix(0,2*nfreq,2*nfreq)
@@ -185,14 +183,28 @@ analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
     
     A[m,] = A[m,] / sqrt(norm)
       
-    # S[m] = x_orig %*% B[[m]] = sum hprod(x[[1]],f[[j]])*A[m,j]
      
+    Prod[m] = hprod(x[[1]],f[[m]])
+    # les prods sont corrects
+
     S[m] = 0. 
-    for (j in seq(m))  S[m] = S[m] + hprod(x[[1]],f[[j]])*A[m,j]
+    for (j in seq(m))  S[m] = S[m] + Prod[j]*A[m,j]
+    # for (j in seq(m))  S[m] = S[m] + A[m,j] * hprod(x[[1]], f[[j]])
+
+    # les Sm sont les projections dans la nouvelle base
     # not necessary, for verification only
-    B[[m]]=0
-    for (j in seq(m)) B[[m]] = B[[m]] + A[m,j] * f[[j]]
-    
+    # computes the B and verify they are orthonormal
+     B[[m]]=0
+     for (j in seq(m)) B[[m]] = B[[m]] + A[m,j] * f[[j]]
+
+
+    #print ('S[m] calcule de deux facons')
+    #print (m)
+    #print (S[m])
+    #print (hprod(x[[1]], B[[m]]))
+    #print ('end test')
+
+    # for (j in seq(m)) print (sprintf("B%i%i : %3g", i, j, hprod(B[[j]], B[[m]])))
     # if you are curious, the amplitude of the signal will be
     # amp[j] = contribution of the sum( S[m]*B[m]) to the f[[m]]
     # amp[j] = sum(m in seq(j)) S(m) * A[m,j]
@@ -200,38 +212,85 @@ analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
     # for (i in seq(m)) amp[j] = amp[j]+S[m]*A[m,j]
     # and the residual signal
     
-    # f[[m+1]] = f[[m]] - S[m] * B[[m]]
+    # x[[m+1]] = x[[m]] - S[m] * B[[m]]
+
 
     x[[m+1]] = x[[m]]
-    for (j in seq(m))  x[[m+1]] = x[[m+1]] - S[m] * A[m,j]*f[[j]]
+    # for (j in seq(m))  x[[m+1]] = x[[m+1]] - S[m] * A[m,j]*f[[j]]
+    x[[m+1]] = x[[m+1]] - S[m] * B[[m]]
+#     print('residu final')
+#     print(m)
+#     print (x[[m+1]][seq(20)])
   
   }
 
   }
   
+  #print ('TESTESTEST')
+  #xtest <- 0 
+  #xtest2 <- 0 
+  #coeftests <- rep(0,m)
+  #phi1 <- 0.4 ; phi2 <- 0.1234
+  # coefreals <- c(cos(phi1), -sin(phi1), cos(phi2), -sin(phi2))
+  # for (j in seq(m)) xtest <- xtest + coefreals[j] * f[[j]]
+  # for (j in seq(m)) for (i in seq(j)) xtest2 <- xtest2 + S[j] * A[j,i] * f[[i]]
+  # for (j in seq(m)) for (i in seq(j)) coeftests[i] <- coeftests[i] + S[j] * A[j,i]
+  # print ((xtest - x[[1]])[seq(20)])
+  # print ('ENDTESTESTET1')
+  # print ((xtest2 - x[[1]])[seq(20)])
+  # print ('ENDTESTESTET2')
+  # print ("cofreals")
+  # print (coefreals)
+  # print ("coftests")
+  # print (coeftests)
+  
+  # donc: j'ai demontre que les deux xtests sont les memes
+  # coefreals est la bonne solution
+  # et je sais ussi que B = sum A_mj f_j
+  # donc je devroais simplement avour les Sj A_mj
+  
+
+  # at htis point I would like to make a littel check
+  # make A full
+  # is A Q t(A) = BtB orthonormal ? 
+  #print ('TEST')
+  #for (m in seq(2,2*nfreq)) for (j in seq(m-1)) A[j,m]=A[m,j]
+  #for (m in seq(2,2*nfreq)) for (j in seq(m-1)) Q[j,m]=Q[m,j]
+  #print (A*t(Q)*t(A))
+  print ('END TEST')
+
+  print (A) 
+  print (A %*% S)
   # amplitudes
   
-  for (m in seq(2*nfreq)){
-    if (!is.na(nu[m])) {
-    amp[m]=0;
-    for (j in seq(m)) amp[m] = amp[m] + A[m,j]*S[m]
+  mmax <- 2*nfreq
+  if (is.na(nu[mmax])) mmax <- mmax - 1
+
+  amp[1:mmax] = 0;
+  for (m in seq(mmax)) for (j in seq(m)) amp[j] <- amp[j] + S[m] * A[m,j]
+#   print ('ampp...')
+#   print (amp)
+
+  amp2m <- amp;
+
+  for (m in seq(mmax)){
     # if the perivous "m" was already of the same frequency, we can merge amplitudes and set phase
     if ((m > 1) && (nu[m-1] == -nu[m])){
-        print("phase computation")
-        print (c(m-1, m))
-        print (c(nu[m-1], nu[m]))
-        print (c(amp[m-1], amp[m]))
-        print("phase computation (2)")
         
         phase[m] <- Arg (-1i * amp[m] + amp[m-1])
         amp[m] <- sqrt(amp[m-1]^2 + amp[m]^2)
         print ("phase")
-        print (c(phase[m], amp[m]))
+        print (c(m, phase[m], amp[m], amp[m-1]))
         amp[m-1] <- NA
         phase[m-1] <- NA
     }
-    }
   }
+#   print ('amp2m')
+#   print (amp2m)
+#   print ('S')
+#   print (S)
+#   print ('PRod')
+#   print (Prod)
   
   # at this point we should have exactly nfreq non na values
   # we print a message if this is not right, and in that case I suspect some debugging will be needed. 
@@ -240,7 +299,12 @@ analyse_quatro <- function(xdata, nfreq, fast = TRUE, nu = NULL){
   nu <- -nu[valid_frequencies]
   amp <- amp[valid_frequencies]
   phase <- phase[valid_frequencies]
-  if (length(valid_frequencies) != nfreq) message (sprintf("something goes wrong : %i valid frequencies, and nfreq = %i"), valid_frequencies, nfreq)
+  if (length(valid_frequencies) != nfreq) message (sprintf("something goes wrong : %i valid frequencies, and nfreq = %i", valid_frequencies, nfreq))
+#   print ("nu")
+#   print(nu)
+#   print ("amp")
+#   print (amp)
+
   OUT = data.frame(nu=nu, amp=amp, phase=phase) 
   return(OUT)
 }
@@ -298,15 +362,15 @@ mfft_real_quatro <- function(xdata, nfreq=5, correction=1, fast=TRUE){
 
     for (j in seq(nfreq)){
        epsilon = OUT$amp[j] * Qprime(-2 * OUT$nu[j] * N2)*cos(2 * OUT$nu[j] * N2 + 2 * OUT$phase[j])
-       print ('epsilon')
-       print (c(epsilon,j, OUT$amp[j], OUT$nu[j], OUT$phase[j]))
+#        print ('epsilon')
+#        print (c(epsilon,j, OUT$amp[j], OUT$nu[j], OUT$phase[j]))
        if ((j+1) <= nfreq) { for (s in seq(j+1, nfreq)) {
         epsilon = epsilon + OUT$amp[s]  * 
          ( 
           Qprime( (OUT$nu[s] - OUT$nu[j])*N2)*cos((OUT$nu[j] - OUT$nu[s])*N2 + OUT$phase[j] - OUT$phase[s] ) -
           Qprime(( OUT$nu[s] + OUT$nu[j])*N2)*cos((OUT$nu[j] + OUT$nu[s])*N2 + OUT$phase[j] + OUT$phase[s] ) )
      }}
-    print(sprintf("j= %i, OUT$nu[j]= %.4f, OUT$amp[j] = %.4f", j, OUT$nu[j], OUT$amp[j]))   
+#     print(sprintf("j= %i, OUT$nu[j]= %.4f, OUT$amp[j] = %.4f", j, OUT$nu[j], OUT$amp[j]))   
     epsilon = epsilon / Qsecond0 / N2 / OUT$amp[j]
 
     OUT$nu[j] = OUT$nu[j] - epsilon
diff --git a/R/mfft_real_ter.R b/R/mfft_real_ter.R
index 171d76d..b9be57b 100644
--- a/R/mfft_real_ter.R
+++ b/R/mfft_real_ter.R
@@ -30,8 +30,8 @@ analyse <- function(xdata, nfreq, fast = TRUE, nu = NULL){
     sinp <- sin(fp)*Qp
     M <- 0.5 * matrix(c( 
             cosm + cosp , 
-           -sinm + sinp , 
             sinm + sinp , 
+            - sinm + sinp , 
             cosm - cosp ), 2 , 2 )
     return(M)
   }} else 
diff --git a/notebook/Untitled.ipynb b/notebook/Untitled.ipynb
index c00fdc0..483ac8a 100644
--- a/notebook/Untitled.ipynb
+++ b/notebook/Untitled.ipynb
@@ -10,7 +10,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 66,
    "id": "cf4e6e41",
    "metadata": {},
    "outputs": [],
@@ -30,7 +30,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "id": "20d32dda",
    "metadata": {},
    "outputs": [],
@@ -44,7 +44,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "id": "285d9179",
    "metadata": {},
    "outputs": [
@@ -86,28 +86,10 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 4,
+   "execution_count": 110,
    "id": "15010567",
    "metadata": {},
    "outputs": [
-    {
-     "data": {
-      "text/html": [
-       "50.05"
-      ],
-      "text/latex": [
-       "50.05"
-      ],
-      "text/markdown": [
-       "50.05"
-      ],
-      "text/plain": [
-       "[1] 50.05"
-      ]
-     },
-     "metadata": {},
-     "output_type": "display_data"
-    },
     {
      "data": {
       "text/html": [
@@ -147,7 +129,7 @@
    ],
    "source": [
     "T <- (diff(times)[1] * length(times))/2 \n",
-    "T\n",
+    "N <- T*2\n",
     "length(times)/2. \n",
     "analytical_estimate <- exp(1i*(w1-w2)*T) * Q((w1-w2)*T)\n",
     "analytical_estimate"
@@ -163,7 +145,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 5,
+   "execution_count": 6,
    "id": "0045eb04",
    "metadata": {},
    "outputs": [
@@ -208,7 +190,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 6,
+   "execution_count": 7,
    "id": "3d958631",
    "metadata": {},
    "outputs": [
@@ -364,7 +346,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 8,
    "id": "ed1c7bf3",
    "metadata": {},
    "outputs": [
@@ -398,7 +380,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 8,
+   "execution_count": 9,
    "id": "7908feb2",
    "metadata": {},
    "outputs": [
@@ -509,7 +491,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 9,
+   "execution_count": 10,
    "id": "b677cd5a",
    "metadata": {},
    "outputs": [
@@ -619,7 +601,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 10,
+   "execution_count": 11,
    "id": "43830f81",
    "metadata": {},
    "outputs": [
@@ -729,7 +711,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 11,
+   "execution_count": 12,
    "id": "bf3bccfc",
    "metadata": {},
    "outputs": [
@@ -839,7 +821,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 12,
+   "execution_count": 13,
    "id": "76775be8",
    "metadata": {},
    "outputs": [
@@ -963,7 +945,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 13,
+   "execution_count": 14,
    "id": "c522181b",
    "metadata": {},
    "outputs": [
@@ -1085,7 +1067,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 14,
+   "execution_count": 15,
    "id": "e2a55ee7",
    "metadata": {},
    "outputs": [
@@ -1214,7 +1196,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 15,
+   "execution_count": 16,
    "id": "40c35ca9",
    "metadata": {},
    "outputs": [
@@ -1294,7 +1276,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 17,
    "id": "2c7353b1",
    "metadata": {},
    "outputs": [
@@ -1372,7 +1354,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 18,
    "id": "3a5fb26c",
    "metadata": {},
    "outputs": [
@@ -1521,7 +1503,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 19,
    "id": "0be8a53a",
    "metadata": {},
    "outputs": [
@@ -1626,7 +1608,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 20,
    "id": "071e0de9",
    "metadata": {},
    "outputs": [],
@@ -1636,7 +1618,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 21,
    "id": "5039b290",
    "metadata": {},
    "outputs": [],
@@ -1672,7 +1654,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 22,
    "id": "8753f163-5575-487e-99da-390c1e6bf290",
    "metadata": {},
    "outputs": [
@@ -1758,7 +1740,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 170,
    "id": "05c3de2d-4dda-482d-b057-cb589771e388",
    "metadata": {},
    "outputs": [
@@ -1871,7 +1853,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 171,
    "id": "f9db79a1-7d4f-483e-a799-95073eac1c8e",
    "metadata": {},
    "outputs": [
@@ -1917,7 +1899,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 172,
    "id": "7e6b0310-fb9d-4d5d-abdb-ba0d6bc5d331",
    "metadata": {},
    "outputs": [
@@ -1946,7 +1928,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 173,
    "id": "fa60bdf6-7211-432f-91fd-cff8b1d8253a",
    "metadata": {},
    "outputs": [
@@ -1975,7 +1957,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 174,
    "id": "a2022719-e821-4124-bc81-3d1df326120b",
    "metadata": {},
    "outputs": [
@@ -2004,7 +1986,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 175,
    "id": "c50e05f5-919f-4fce-b03f-1333956b3460",
    "metadata": {},
    "outputs": [
@@ -2033,7 +2015,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 176,
    "id": "8b438f78-5a24-476e-b929-2db5360e64bc",
    "metadata": {},
    "outputs": [
@@ -2077,1034 +2059,139 @@
     "M*4995265/50002740"
    ]
   },
+  {
+   "cell_type": "markdown",
+   "id": "1f6adeec-9cbb-4c87-a81c-04c1e94e936c",
+   "metadata": {},
+   "source": [
+    "We will now attempt to understand better what is going one with the wrong phase estimation whene there are several signals"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 198,
+   "id": "c68a8c75-ad15-496c-a9fb-d3b6d47119d4",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1] 2.527826e-27\n",
+      "[1] 0.4\n",
+      "[1] 0.1234\n",
+      "[1] 1\n",
+      "[1] 1\n"
+     ]
+    }
+   ],
+   "source": [
+    "signal <- cos(omega1*times + phi1) + 1*cos(omega2*times + phi2)\n",
+    "v1 <- cos(omega1*times)\n",
+    "v2 <- sin(omega1*times)\n",
+    "v3 <- cos(omega2*times)\n",
+    "v4 <- sin(omega2*times)\n",
+    "\n",
+    "a1 <- cos(phi1)\n",
+    "a2 <- -sin(phi1)\n",
+    "a3 <- cos(phi2)\n",
+    "a4 <- -sin(phi2)\n",
+    "\n",
+    "check_reconstruction <- a1*v1 + a2*v2 + a3*v3 + a4*v4\n",
+    "\n",
+    "# a few sanity checks\n",
+    "\n",
+    "print(sum(signal - check_reconstruction)^2)\n",
+    "\n",
+    "print(atan(a2/(-a1)))\n",
+    "print(atan(a4/(-a3)))\n",
+    "print(a1^2 + a2^2)\n",
+    "print(a3^2 + a4^2)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 178,
+   "id": "cc4e4508-9934-487e-8629-1c1fdc50c1e4",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "signal_single <- cos(omega1*times + phi1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 302,
+   "id": "21e04034-0030-4762-9938-c31a752af43d",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "  quarto <- function(f1,f2){\n",
+    "    fm <- (f1-f2)*T\n",
+    "    fp <- (f1+f2)*T\n",
+    "    Qm <- ifelse(fm == 0, 1 ,  Q(fm))\n",
+    "    Qp <- ifelse(fp == 0, 1 ,  Q(fp))\n",
+    "    cosm <- cos(fm)*Qm\n",
+    "    cosp <- cos(fp)*Qp\n",
+    "    sinm <- sin(fm)*Qm\n",
+    "    sinp <- sin(fp)*Qp\n",
+    "    M <- 0.5 * matrix(c( \n",
+    "            cosm + cosp , \n",
+    "            sinm + sinp , \n",
+    "             - sinm + sinp , \n",
+    "            cosm - cosp ), 2 , 2 )\n",
+    "    return(M)\n",
+    "  }"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 303,
+   "id": "1baeafc8-f5de-4d8c-ac69-39fb7d0900e5",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "sinbit <- hprod(signal_single, sin(omega1*times), times)\n",
+    "cosbit <- hprod(signal_single, cos(omega1*times), times)\n",
+    "Qmat <- quarto(omega1,omega1)"
+   ]
+  },
   {
    "cell_type": "code",
-   "execution_count": 35,
-   "id": "cd62aed5-f81f-46b1-9925-a520ecd46017",
+   "execution_count": 304,
+   "id": "323d28ae-efa6-4ead-a7fe-57cff1a333b7",
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/html": [
-       "<style>\n",
-       ".list-inline {list-style: none; margin:0; padding: 0}\n",
-       ".list-inline>li {display: inline-block}\n",
-       ".list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n",
-       "</style>\n",
-       "<ol class=list-inline><li>1</li><li>0.999079936120883</li><li>0.996321437518614</li><li>0.991729580183044</li><li>0.985312813718316</li><li>0.977082945794521</li><li>0.967055120420072</li><li>0.955247790074796</li><li>0.94168268175501</li><li>0.926384756993079</li><li>0.909382165924999</li><li>0.890706195490557</li><li>0.870391211861362</li><li>0.848474597202697</li><li>0.824996680885562</li><li>0.800000665275479</li><li>0.773532546234616</li><li>0.745641028483529</li><li>0.716377435978251</li><li>0.685795617467657</li><li>0.653951847404885</li><li>0.620904722395154</li><li>0.586715053370525</li><li>0.551445753690015</li><li>0.515161723370979</li><li>0.477929729664789</li><li>0.439818284196557</li><li>0.400897516894995</li><li>0.361239046944388</li><li>0.32091585099614</li><li>0.280002128882418</li><li>0.238573167078973</li><li>0.196705200168417</li><li>0.154475270558841</li><li>0.11196108671595</li><li>0.0692408801695507</li><li>0.0263932615575467</li><li>-0.01650292402768</li><li>-0.059368742124311</li><li>-0.102125314150588</li><li>-0.144693962551477</li><li>-0.186996355575427</li><li>-0.228954651414794</li><li>-0.270491641444715</li><li>-0.311530892296844</li><li>-0.35199688650651</li><li>-0.391815161474503</li><li>-0.43091244648777</li><li>-0.469216797546886</li><li>-0.506657729752205</li><li>-0.543166347005084</li><li>-0.5786754687855</li><li>-0.613119753772794</li><li>-0.646435820082049</li><li>-0.678562361894854</li><li>-0.709440262269843</li><li>-0.73901270192542</li><li>-0.767225263794497</li><li>-0.794026033158846</li><li>-0.819365693178819</li><li>-0.843197615642628</li><li>-0.865477946768217</li><li>-0.886165687899817</li><li>-0.905222770950718</li><li>-0.922614128453406</li><li>-0.938307758088188</li><li>-0.952274781571545</li><li>-0.964489497795866</li><li>-0.974929430122767</li><li>-0.983575367742979</li><li>-0.990411401026692</li><li>-0.995424950799303</li><li>-0.99860679148871</li><li>-0.999951068101537</li><li>-0.999455306997073</li><li>-0.99712042043909</li><li>-0.992950704917154</li><li>-0.986953833240542</li><li>-0.979140840419288</li><li>-0.969526103358357</li><li>-0.958127314402303</li><li>-0.944965448779096</li><li>-0.930064726003017</li><li>-0.913452565307665</li><li>-0.89515953519106</li><li>-0.875219297165702</li><li>-0.853668543817087</li><li>-0.830546931284662</li><li>-0.805897006289464</li><li>-0.779764127842714</li><li>-0.752196383779446</li><li>-0.723244502270742</li><li>-0.692961758477418</li><li>-0.661403876516926</li><li>-0.62862892692385</li><li>-0.594697219792713</li><li>-0.55967119379969</li><li>-0.523615301307472</li><li>-0.486595889764683</li><li>-0.448681079618095</li><li>-0.409940638962306</li><li>-0.370445855157534</li><li>-0.330269403651764</li><li>-0.289485214248639</li><li>-0.248168335067177</li><li>-0.206394794443643</li><li>-0.164241461029697</li><li>-0.121785902344259</li><li>-0.0791062420393542</li><li>-0.0362810161426243</li><li>0.00661097145900751</li><li>0.0494907940285487</li><li>0.09227954721422</li><li>0.134898494243546</li><li>0.177269210809069</li><li>0.219313729379103</li><li>0.260954682667946</li><li>0.302115446001568</li><li>0.342720278316812</li><li>0.382694461534615</li><li>0.421964438050826</li><li>0.460457946091593</li><li>0.498104152684256</li><li>0.534833783999072</li><li>0.570579252821911</li><li>0.605274782923359</li><li>0.638856530095391</li><li>0.671262699632865</li><li>0.702433660043676</li><li>0.732312052778324</li><li>0.760842897776964</li><li>0.787973694639749</li><li>0.813654519234269</li><li>0.837838115562333</li><li>0.860479982717044</li><li>0.881538456770152</li><li>0.900974787439006</li><li>0.918753209392024</li><li>0.934841008061474</li><li>0.949208579842452</li><li>0.961829486567309</li><li>0.972680504155245</li><li>0.981741665347591</li><li>0.988996296450116</li><li>0.994431048014751</li><li>0.998035919404285</li><li>0.999804277194807</li><li>0.999732867382062</li><li>0.997821821369228</li><li>0.99407465572512</li><li>0.988498265713255</li><li>0.981102912603684</li><li>0.971902204790947</li><li>0.960913072752884</li><li>0.948155737896398</li><li>0.93365367534748</li><li>0.917433570753978</li><li>0.899525271180594</li><li>0.879961730186478</li><li>0.858778947186462</li><li>0.836015901207541</li><li>0.811714479162481</li><li>0.785919398772555</li><li>0.758678126281212</li><li>0.730040789110133</li><li>0.70006008361837</li><li>0.668791178134308</li><li>0.6362916114389</li><li>0.60262118688695</li><li>0.56784186236131</li><li>0.532017636262451</li><li>0.495214429743235</li><li>0.457499965405572</li><li>0.418943642682172</li><li>0.379616410132738</li><li>0.339590634889538</li><li>0.29893996949264</li><li>0.257739216359835</li><li>0.216064190140618</li><li>0.173991578207564</li><li>0.131598799541752</li><li>0.0889638622719511</li><li>0.0461652201297063</li><li>0.00328162808443396</li><li>-0.0396080025757696</li><li>-0.0824247494509826</li><li>-0.125089824256767</li><li>-0.167524717804663</li><li>-0.209651344469138</li><li>-0.251392185875103</li><li>-0.292670433541635</li><li>-0.333410130219395</li><li>-0.373536309661659</li><li>-0.412975134571807</li><li>-0.45165403247337</li><li>-0.489501829252658</li><li>-0.526448880128234</li><li>-0.562427197806194</li><li>-0.597370577585482</li><li>-0.631214719183006</li><li>⋯</li><li>-0.981121386747115</li><li>-0.988512704384468</li><li>-0.994085032355116</li><li>-0.997828116863683</li><li>-0.999735070156461</li><li>-0.999802383195764</li><li>-0.998029932117</li><li>-0.994420978456598</li><li>-0.988982163150368</li><li>-0.981723494313325</li><li>-0.972658328823485</li><li>-0.9618033477435</li><li>-0.949178525625368</li><li>-0.934807093754715</li><li>-0.91871549740225</li><li>-0.900933347161089</li><li>-0.881493364459503</li><li>-0.860431321349273</li><li>-0.837785974680577</li><li>-0.813598994784412</li><li>-0.787914888793869</li><li>-0.760780918745329</li><li>-0.732247014610271</li><li>-0.702365682417749</li><li>-0.671191907636579</li><li>-0.63878305399506</li><li>-0.6051987579244</li><li>-0.570500818820022</li><li>-0.53475308532285</li><li>-0.498021337829574</li><li>-0.460373167448359</li><li>-0.421877851622581</li><li>-0.382606226651443</li><li>-0.342630557342169</li><li>-0.302024404033518</li><li>-0.260862487235333</li><li>-0.219220550133312</li><li>-0.177175219211807</li><li>-0.134803863251367</li><li>-0.0921844509602341</li><li>-0.0493954075020113</li><li>-0.00651547018332186</li><li>0.036376456432917</li><li>0.0792014457219203</li><li>0.121880694232165</li><li>0.164335666693761</li><li>0.206488240533399</li><li>0.248260849629889</li><li>0.289576627045685</li><li>0.330359546471918</li><li>0.370534562126505</li><li>0.410027746847923</li><li>0.448766428130727</li><li>0.486679321852158</li><li>0.52369666344409</li><li>0.559750336268729</li><li>0.59477399696192</li><li>0.628703197513424</li><li>0.661475503859488</li><li>0.693030610769508</li><li>0.72331045281535</li><li>0.75225931121914</li><li>0.779823916382975</li><li>0.805953545911729</li><li>0.830600117948804</li><li>0.853718279652852</li><li>0.875265490652795</li><li>0.895202101327567</li><li>0.913491425766456</li><li>0.93009980927588</li><li>0.944996690308329</li><li>0.9581546566995</li><li>0.969549496110199</li><li>0.979160240580121</li><li>0.986969205111594</li><li>0.992962020212218</li><li>0.997127658336576</li><li>0.999458454178327</li><li>0.999950118775341</li><li>0.998601747401947</li><li>0.995415821233737</li><li>0.990398202781889</li><li>0.983558125105396</li><li>0.974908174821061</li><li>0.964464268942509</li><li>0.952245625590845</li><li>0.938274728630879</li><li>0.922577286297907</li><li>0.905182183891304</li><li>0.886121430621864</li><li>0.865430100710767</li><li>0.843146268848539</li><li>0.819310940132752</li><li>0.793967974613405</li><li>0.767164006584824</li><li>0.738948358772602</li><li>0.709372951573506</li><li>0.678492207515269</li><li>0.646362951112247</li><li>0.61304430430099</li><li>0.578597577648355</li><li>0.543086157532248</li><li>0.506575389502547</li><li>0.469132458036984</li><li>0.430826262913104</li><li>0.391727292423855</li><li>0.351907493670166</li><li>0.311440140169036</li><li>0.270399697020961</li><li>0.228861683884571</li><li>0.18690253601087</li><li>0.144599463592577</li><li>0.102030309687495</li><li>0.0592734069773824</li><li>0.0164074336257588</li><li>-0.026488731499921</li><li>-0.0693361539754803</li><li>-0.112055989069467</li><li>-0.154569626827484</li><li>-0.196798836724595</li><li>-0.238665911619469</li><li>-0.280093810745427</li><li>-0.321006301475322</li><li>-0.361328099599298</li><li>-0.400985007857371</li><li>-0.439904052471857</li><li>-0.478013617428429</li><li>-0.515243576258756</li><li>-0.551525421082152</li><li>-0.586792388668843</li><li>-0.62097958329283</li><li>-0.654024096148297</li><li>-0.685865121109897</li><li>-0.716444066623728</li><li>-0.745704663523343</li><li>-0.773593068572168</li><li>-0.800057963541931</li><li>-0.825050649644788</li><li>-0.848525137145285</li><li>-0.870438229987357</li><li>-0.890749605280604</li><li>-0.909421887499535</li><li>-0.926420717259334</li><li>-0.941714814541499</li><li>-0.955276036253088</li><li>-0.967079428013591</li><li>-0.977103270074187</li><li>-0.985329117284859</li><li>-0.991741833035817</li><li>-0.996329617110805</li><li>-0.999084027400996</li><li>-0.999999995439557</li><li>-0.999075835728275</li><li>-0.996313248839089</li><li>-0.991717318284818</li><li>-0.985296501164848</li><li>-0.977062612602993</li><li>-0.967030804006154</li><li>-0.955219535183797</li><li>-0.941650540379541</li><li>-0.926348788277374</li><li>-0.90934243605609</li><li>-0.890662777576479</li><li>-0.870344185796626</li><li>-0.848424049521271</li><li>-0.824942704601635</li><li>-0.799943359712312</li><li>-0.773472016841758</li><li>-0.745577386642805</li><li>-0.716310798798779</li><li>-0.685726107570356</li><li>-0.653879592696851</li><li>-0.620829855834276</li><li>-0.58663771272084</li><li>-0.551366081268205</li><li>-0.515079865784473</li><li>-0.477845837542009</li><li>-0.439732511909722</li><li>-0.400810022276078</li><li>-0.361149990994658</li><li>-0.320825397589923</li><li>-0.279910444465543</li><li>-0.238480420362475</li><li>-0.19661156181811</li><li>-0.154380912881246</li><li>-0.111866183341248</li><li>-0.0691456057320828</li><li>-0.0262977913744432</li><li>0.0165984142790776</li><li>0.0594640767297409</li><li>0.102220317682203</li><li>0.144788460190643</li><li>0.187090173434413</li><li>0.229047616856748</li><li>0.270583583401346</li><li>0.311621641583212</li><li>0.352086276132335</li><li>0.391903026951452</li><li>0.430998626132134</li><li>0.469301132777109</li></ol>\n"
+       "<table class=\"dataframe\">\n",
+       "<caption>A matrix: 2 × 2 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td> 5.000274e-01</td><td>-4.656294e-05</td></tr>\n",
+       "\t<tr><td>-4.656294e-05</td><td> 4.999726e-01</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n"
       ],
       "text/latex": [
-       "\\begin{enumerate*}\n",
-       "\\item 1\n",
-       "\\item 0.999079936120883\n",
-       "\\item 0.996321437518614\n",
-       "\\item 0.991729580183044\n",
-       "\\item 0.985312813718316\n",
-       "\\item 0.977082945794521\n",
-       "\\item 0.967055120420072\n",
-       "\\item 0.955247790074796\n",
-       "\\item 0.94168268175501\n",
-       "\\item 0.926384756993079\n",
-       "\\item 0.909382165924999\n",
-       "\\item 0.890706195490557\n",
-       "\\item 0.870391211861362\n",
-       "\\item 0.848474597202697\n",
-       "\\item 0.824996680885562\n",
-       "\\item 0.800000665275479\n",
-       "\\item 0.773532546234616\n",
-       "\\item 0.745641028483529\n",
-       "\\item 0.716377435978251\n",
-       "\\item 0.685795617467657\n",
-       "\\item 0.653951847404885\n",
-       "\\item 0.620904722395154\n",
-       "\\item 0.586715053370525\n",
-       "\\item 0.551445753690015\n",
-       "\\item 0.515161723370979\n",
-       "\\item 0.477929729664789\n",
-       "\\item 0.439818284196557\n",
-       "\\item 0.400897516894995\n",
-       "\\item 0.361239046944388\n",
-       "\\item 0.32091585099614\n",
-       "\\item 0.280002128882418\n",
-       "\\item 0.238573167078973\n",
-       "\\item 0.196705200168417\n",
-       "\\item 0.154475270558841\n",
-       "\\item 0.11196108671595\n",
-       "\\item 0.0692408801695507\n",
-       "\\item 0.0263932615575467\n",
-       "\\item -0.01650292402768\n",
-       "\\item -0.059368742124311\n",
-       "\\item -0.102125314150588\n",
-       "\\item -0.144693962551477\n",
-       "\\item -0.186996355575427\n",
-       "\\item -0.228954651414794\n",
-       "\\item -0.270491641444715\n",
-       "\\item -0.311530892296844\n",
-       "\\item -0.35199688650651\n",
-       "\\item -0.391815161474503\n",
-       "\\item -0.43091244648777\n",
-       "\\item -0.469216797546886\n",
-       "\\item -0.506657729752205\n",
-       "\\item -0.543166347005084\n",
-       "\\item -0.5786754687855\n",
-       "\\item -0.613119753772794\n",
-       "\\item -0.646435820082049\n",
-       "\\item -0.678562361894854\n",
-       "\\item -0.709440262269843\n",
-       "\\item -0.73901270192542\n",
-       "\\item -0.767225263794497\n",
-       "\\item -0.794026033158846\n",
-       "\\item -0.819365693178819\n",
-       "\\item -0.843197615642628\n",
-       "\\item -0.865477946768217\n",
-       "\\item -0.886165687899817\n",
-       "\\item -0.905222770950718\n",
-       "\\item -0.922614128453406\n",
-       "\\item -0.938307758088188\n",
-       "\\item -0.952274781571545\n",
-       "\\item -0.964489497795866\n",
-       "\\item -0.974929430122767\n",
-       "\\item -0.983575367742979\n",
-       "\\item -0.990411401026692\n",
-       "\\item -0.995424950799303\n",
-       "\\item -0.99860679148871\n",
-       "\\item -0.999951068101537\n",
-       "\\item -0.999455306997073\n",
-       "\\item -0.99712042043909\n",
-       "\\item -0.992950704917154\n",
-       "\\item -0.986953833240542\n",
-       "\\item -0.979140840419288\n",
-       "\\item -0.969526103358357\n",
-       "\\item -0.958127314402303\n",
-       "\\item -0.944965448779096\n",
-       "\\item -0.930064726003017\n",
-       "\\item -0.913452565307665\n",
-       "\\item -0.89515953519106\n",
-       "\\item -0.875219297165702\n",
-       "\\item -0.853668543817087\n",
-       "\\item -0.830546931284662\n",
-       "\\item -0.805897006289464\n",
-       "\\item -0.779764127842714\n",
-       "\\item -0.752196383779446\n",
-       "\\item -0.723244502270742\n",
-       "\\item -0.692961758477418\n",
-       "\\item -0.661403876516926\n",
-       "\\item -0.62862892692385\n",
-       "\\item -0.594697219792713\n",
-       "\\item -0.55967119379969\n",
-       "\\item -0.523615301307472\n",
-       "\\item -0.486595889764683\n",
-       "\\item -0.448681079618095\n",
-       "\\item -0.409940638962306\n",
-       "\\item -0.370445855157534\n",
-       "\\item -0.330269403651764\n",
-       "\\item -0.289485214248639\n",
-       "\\item -0.248168335067177\n",
-       "\\item -0.206394794443643\n",
-       "\\item -0.164241461029697\n",
-       "\\item -0.121785902344259\n",
-       "\\item -0.0791062420393542\n",
-       "\\item -0.0362810161426243\n",
-       "\\item 0.00661097145900751\n",
-       "\\item 0.0494907940285487\n",
-       "\\item 0.09227954721422\n",
-       "\\item 0.134898494243546\n",
-       "\\item 0.177269210809069\n",
-       "\\item 0.219313729379103\n",
-       "\\item 0.260954682667946\n",
-       "\\item 0.302115446001568\n",
-       "\\item 0.342720278316812\n",
-       "\\item 0.382694461534615\n",
-       "\\item 0.421964438050826\n",
-       "\\item 0.460457946091593\n",
-       "\\item 0.498104152684256\n",
-       "\\item 0.534833783999072\n",
-       "\\item 0.570579252821911\n",
-       "\\item 0.605274782923359\n",
-       "\\item 0.638856530095391\n",
-       "\\item 0.671262699632865\n",
-       "\\item 0.702433660043676\n",
-       "\\item 0.732312052778324\n",
-       "\\item 0.760842897776964\n",
-       "\\item 0.787973694639749\n",
-       "\\item 0.813654519234269\n",
-       "\\item 0.837838115562333\n",
-       "\\item 0.860479982717044\n",
-       "\\item 0.881538456770152\n",
-       "\\item 0.900974787439006\n",
-       "\\item 0.918753209392024\n",
-       "\\item 0.934841008061474\n",
-       "\\item 0.949208579842452\n",
-       "\\item 0.961829486567309\n",
-       "\\item 0.972680504155245\n",
-       "\\item 0.981741665347591\n",
-       "\\item 0.988996296450116\n",
-       "\\item 0.994431048014751\n",
-       "\\item 0.998035919404285\n",
-       "\\item 0.999804277194807\n",
-       "\\item 0.999732867382062\n",
-       "\\item 0.997821821369228\n",
-       "\\item 0.99407465572512\n",
-       "\\item 0.988498265713255\n",
-       "\\item 0.981102912603684\n",
-       "\\item 0.971902204790947\n",
-       "\\item 0.960913072752884\n",
-       "\\item 0.948155737896398\n",
-       "\\item 0.93365367534748\n",
-       "\\item 0.917433570753978\n",
-       "\\item 0.899525271180594\n",
-       "\\item 0.879961730186478\n",
-       "\\item 0.858778947186462\n",
-       "\\item 0.836015901207541\n",
-       "\\item 0.811714479162481\n",
-       "\\item 0.785919398772555\n",
-       "\\item 0.758678126281212\n",
-       "\\item 0.730040789110133\n",
-       "\\item 0.70006008361837\n",
-       "\\item 0.668791178134308\n",
-       "\\item 0.6362916114389\n",
-       "\\item 0.60262118688695\n",
-       "\\item 0.56784186236131\n",
-       "\\item 0.532017636262451\n",
-       "\\item 0.495214429743235\n",
-       "\\item 0.457499965405572\n",
-       "\\item 0.418943642682172\n",
-       "\\item 0.379616410132738\n",
-       "\\item 0.339590634889538\n",
-       "\\item 0.29893996949264\n",
-       "\\item 0.257739216359835\n",
-       "\\item 0.216064190140618\n",
-       "\\item 0.173991578207564\n",
-       "\\item 0.131598799541752\n",
-       "\\item 0.0889638622719511\n",
-       "\\item 0.0461652201297063\n",
-       "\\item 0.00328162808443396\n",
-       "\\item -0.0396080025757696\n",
-       "\\item -0.0824247494509826\n",
-       "\\item -0.125089824256767\n",
-       "\\item -0.167524717804663\n",
-       "\\item -0.209651344469138\n",
-       "\\item -0.251392185875103\n",
-       "\\item -0.292670433541635\n",
-       "\\item -0.333410130219395\n",
-       "\\item -0.373536309661659\n",
-       "\\item -0.412975134571807\n",
-       "\\item -0.45165403247337\n",
-       "\\item -0.489501829252658\n",
-       "\\item -0.526448880128234\n",
-       "\\item -0.562427197806194\n",
-       "\\item -0.597370577585482\n",
-       "\\item -0.631214719183006\n",
-       "\\item ⋯\n",
-       "\\item -0.981121386747115\n",
-       "\\item -0.988512704384468\n",
-       "\\item -0.994085032355116\n",
-       "\\item -0.997828116863683\n",
-       "\\item -0.999735070156461\n",
-       "\\item -0.999802383195764\n",
-       "\\item -0.998029932117\n",
-       "\\item -0.994420978456598\n",
-       "\\item -0.988982163150368\n",
-       "\\item -0.981723494313325\n",
-       "\\item -0.972658328823485\n",
-       "\\item -0.9618033477435\n",
-       "\\item -0.949178525625368\n",
-       "\\item -0.934807093754715\n",
-       "\\item -0.91871549740225\n",
-       "\\item -0.900933347161089\n",
-       "\\item -0.881493364459503\n",
-       "\\item -0.860431321349273\n",
-       "\\item -0.837785974680577\n",
-       "\\item -0.813598994784412\n",
-       "\\item -0.787914888793869\n",
-       "\\item -0.760780918745329\n",
-       "\\item -0.732247014610271\n",
-       "\\item -0.702365682417749\n",
-       "\\item -0.671191907636579\n",
-       "\\item -0.63878305399506\n",
-       "\\item -0.6051987579244\n",
-       "\\item -0.570500818820022\n",
-       "\\item -0.53475308532285\n",
-       "\\item -0.498021337829574\n",
-       "\\item -0.460373167448359\n",
-       "\\item -0.421877851622581\n",
-       "\\item -0.382606226651443\n",
-       "\\item -0.342630557342169\n",
-       "\\item -0.302024404033518\n",
-       "\\item -0.260862487235333\n",
-       "\\item -0.219220550133312\n",
-       "\\item -0.177175219211807\n",
-       "\\item -0.134803863251367\n",
-       "\\item -0.0921844509602341\n",
-       "\\item -0.0493954075020113\n",
-       "\\item -0.00651547018332186\n",
-       "\\item 0.036376456432917\n",
-       "\\item 0.0792014457219203\n",
-       "\\item 0.121880694232165\n",
-       "\\item 0.164335666693761\n",
-       "\\item 0.206488240533399\n",
-       "\\item 0.248260849629889\n",
-       "\\item 0.289576627045685\n",
-       "\\item 0.330359546471918\n",
-       "\\item 0.370534562126505\n",
-       "\\item 0.410027746847923\n",
-       "\\item 0.448766428130727\n",
-       "\\item 0.486679321852158\n",
-       "\\item 0.52369666344409\n",
-       "\\item 0.559750336268729\n",
-       "\\item 0.59477399696192\n",
-       "\\item 0.628703197513424\n",
-       "\\item 0.661475503859488\n",
-       "\\item 0.693030610769508\n",
-       "\\item 0.72331045281535\n",
-       "\\item 0.75225931121914\n",
-       "\\item 0.779823916382975\n",
-       "\\item 0.805953545911729\n",
-       "\\item 0.830600117948804\n",
-       "\\item 0.853718279652852\n",
-       "\\item 0.875265490652795\n",
-       "\\item 0.895202101327567\n",
-       "\\item 0.913491425766456\n",
-       "\\item 0.93009980927588\n",
-       "\\item 0.944996690308329\n",
-       "\\item 0.9581546566995\n",
-       "\\item 0.969549496110199\n",
-       "\\item 0.979160240580121\n",
-       "\\item 0.986969205111594\n",
-       "\\item 0.992962020212218\n",
-       "\\item 0.997127658336576\n",
-       "\\item 0.999458454178327\n",
-       "\\item 0.999950118775341\n",
-       "\\item 0.998601747401947\n",
-       "\\item 0.995415821233737\n",
-       "\\item 0.990398202781889\n",
-       "\\item 0.983558125105396\n",
-       "\\item 0.974908174821061\n",
-       "\\item 0.964464268942509\n",
-       "\\item 0.952245625590845\n",
-       "\\item 0.938274728630879\n",
-       "\\item 0.922577286297907\n",
-       "\\item 0.905182183891304\n",
-       "\\item 0.886121430621864\n",
-       "\\item 0.865430100710767\n",
-       "\\item 0.843146268848539\n",
-       "\\item 0.819310940132752\n",
-       "\\item 0.793967974613405\n",
-       "\\item 0.767164006584824\n",
-       "\\item 0.738948358772602\n",
-       "\\item 0.709372951573506\n",
-       "\\item 0.678492207515269\n",
-       "\\item 0.646362951112247\n",
-       "\\item 0.61304430430099\n",
-       "\\item 0.578597577648355\n",
-       "\\item 0.543086157532248\n",
-       "\\item 0.506575389502547\n",
-       "\\item 0.469132458036984\n",
-       "\\item 0.430826262913104\n",
-       "\\item 0.391727292423855\n",
-       "\\item 0.351907493670166\n",
-       "\\item 0.311440140169036\n",
-       "\\item 0.270399697020961\n",
-       "\\item 0.228861683884571\n",
-       "\\item 0.18690253601087\n",
-       "\\item 0.144599463592577\n",
-       "\\item 0.102030309687495\n",
-       "\\item 0.0592734069773824\n",
-       "\\item 0.0164074336257588\n",
-       "\\item -0.026488731499921\n",
-       "\\item -0.0693361539754803\n",
-       "\\item -0.112055989069467\n",
-       "\\item -0.154569626827484\n",
-       "\\item -0.196798836724595\n",
-       "\\item -0.238665911619469\n",
-       "\\item -0.280093810745427\n",
-       "\\item -0.321006301475322\n",
-       "\\item -0.361328099599298\n",
-       "\\item -0.400985007857371\n",
-       "\\item -0.439904052471857\n",
-       "\\item -0.478013617428429\n",
-       "\\item -0.515243576258756\n",
-       "\\item -0.551525421082152\n",
-       "\\item -0.586792388668843\n",
-       "\\item -0.62097958329283\n",
-       "\\item -0.654024096148297\n",
-       "\\item -0.685865121109897\n",
-       "\\item -0.716444066623728\n",
-       "\\item -0.745704663523343\n",
-       "\\item -0.773593068572168\n",
-       "\\item -0.800057963541931\n",
-       "\\item -0.825050649644788\n",
-       "\\item -0.848525137145285\n",
-       "\\item -0.870438229987357\n",
-       "\\item -0.890749605280604\n",
-       "\\item -0.909421887499535\n",
-       "\\item -0.926420717259334\n",
-       "\\item -0.941714814541499\n",
-       "\\item -0.955276036253088\n",
-       "\\item -0.967079428013591\n",
-       "\\item -0.977103270074187\n",
-       "\\item -0.985329117284859\n",
-       "\\item -0.991741833035817\n",
-       "\\item -0.996329617110805\n",
-       "\\item -0.999084027400996\n",
-       "\\item -0.999999995439557\n",
-       "\\item -0.999075835728275\n",
-       "\\item -0.996313248839089\n",
-       "\\item -0.991717318284818\n",
-       "\\item -0.985296501164848\n",
-       "\\item -0.977062612602993\n",
-       "\\item -0.967030804006154\n",
-       "\\item -0.955219535183797\n",
-       "\\item -0.941650540379541\n",
-       "\\item -0.926348788277374\n",
-       "\\item -0.90934243605609\n",
-       "\\item -0.890662777576479\n",
-       "\\item -0.870344185796626\n",
-       "\\item -0.848424049521271\n",
-       "\\item -0.824942704601635\n",
-       "\\item -0.799943359712312\n",
-       "\\item -0.773472016841758\n",
-       "\\item -0.745577386642805\n",
-       "\\item -0.716310798798779\n",
-       "\\item -0.685726107570356\n",
-       "\\item -0.653879592696851\n",
-       "\\item -0.620829855834276\n",
-       "\\item -0.58663771272084\n",
-       "\\item -0.551366081268205\n",
-       "\\item -0.515079865784473\n",
-       "\\item -0.477845837542009\n",
-       "\\item -0.439732511909722\n",
-       "\\item -0.400810022276078\n",
-       "\\item -0.361149990994658\n",
-       "\\item -0.320825397589923\n",
-       "\\item -0.279910444465543\n",
-       "\\item -0.238480420362475\n",
-       "\\item -0.19661156181811\n",
-       "\\item -0.154380912881246\n",
-       "\\item -0.111866183341248\n",
-       "\\item -0.0691456057320828\n",
-       "\\item -0.0262977913744432\n",
-       "\\item 0.0165984142790776\n",
-       "\\item 0.0594640767297409\n",
-       "\\item 0.102220317682203\n",
-       "\\item 0.144788460190643\n",
-       "\\item 0.187090173434413\n",
-       "\\item 0.229047616856748\n",
-       "\\item 0.270583583401346\n",
-       "\\item 0.311621641583212\n",
-       "\\item 0.352086276132335\n",
-       "\\item 0.391903026951452\n",
-       "\\item 0.430998626132134\n",
-       "\\item 0.469301132777109\n",
-       "\\end{enumerate*}\n"
+       "A matrix: 2 × 2 of type dbl\n",
+       "\\begin{tabular}{ll}\n",
+       "\t  5.000274e-01 & -4.656294e-05\\\\\n",
+       "\t -4.656294e-05 &  4.999726e-01\\\\\n",
+       "\\end{tabular}\n"
       ],
       "text/markdown": [
-       "1. 1\n",
-       "2. 0.999079936120883\n",
-       "3. 0.996321437518614\n",
-       "4. 0.991729580183044\n",
-       "5. 0.985312813718316\n",
-       "6. 0.977082945794521\n",
-       "7. 0.967055120420072\n",
-       "8. 0.955247790074796\n",
-       "9. 0.94168268175501\n",
-       "10. 0.926384756993079\n",
-       "11. 0.909382165924999\n",
-       "12. 0.890706195490557\n",
-       "13. 0.870391211861362\n",
-       "14. 0.848474597202697\n",
-       "15. 0.824996680885562\n",
-       "16. 0.800000665275479\n",
-       "17. 0.773532546234616\n",
-       "18. 0.745641028483529\n",
-       "19. 0.716377435978251\n",
-       "20. 0.685795617467657\n",
-       "21. 0.653951847404885\n",
-       "22. 0.620904722395154\n",
-       "23. 0.586715053370525\n",
-       "24. 0.551445753690015\n",
-       "25. 0.515161723370979\n",
-       "26. 0.477929729664789\n",
-       "27. 0.439818284196557\n",
-       "28. 0.400897516894995\n",
-       "29. 0.361239046944388\n",
-       "30. 0.32091585099614\n",
-       "31. 0.280002128882418\n",
-       "32. 0.238573167078973\n",
-       "33. 0.196705200168417\n",
-       "34. 0.154475270558841\n",
-       "35. 0.11196108671595\n",
-       "36. 0.0692408801695507\n",
-       "37. 0.0263932615575467\n",
-       "38. -0.01650292402768\n",
-       "39. -0.059368742124311\n",
-       "40. -0.102125314150588\n",
-       "41. -0.144693962551477\n",
-       "42. -0.186996355575427\n",
-       "43. -0.228954651414794\n",
-       "44. -0.270491641444715\n",
-       "45. -0.311530892296844\n",
-       "46. -0.35199688650651\n",
-       "47. -0.391815161474503\n",
-       "48. -0.43091244648777\n",
-       "49. -0.469216797546886\n",
-       "50. -0.506657729752205\n",
-       "51. -0.543166347005084\n",
-       "52. -0.5786754687855\n",
-       "53. -0.613119753772794\n",
-       "54. -0.646435820082049\n",
-       "55. -0.678562361894854\n",
-       "56. -0.709440262269843\n",
-       "57. -0.73901270192542\n",
-       "58. -0.767225263794497\n",
-       "59. -0.794026033158846\n",
-       "60. -0.819365693178819\n",
-       "61. -0.843197615642628\n",
-       "62. -0.865477946768217\n",
-       "63. -0.886165687899817\n",
-       "64. -0.905222770950718\n",
-       "65. -0.922614128453406\n",
-       "66. -0.938307758088188\n",
-       "67. -0.952274781571545\n",
-       "68. -0.964489497795866\n",
-       "69. -0.974929430122767\n",
-       "70. -0.983575367742979\n",
-       "71. -0.990411401026692\n",
-       "72. -0.995424950799303\n",
-       "73. -0.99860679148871\n",
-       "74. -0.999951068101537\n",
-       "75. -0.999455306997073\n",
-       "76. -0.99712042043909\n",
-       "77. -0.992950704917154\n",
-       "78. -0.986953833240542\n",
-       "79. -0.979140840419288\n",
-       "80. -0.969526103358357\n",
-       "81. -0.958127314402303\n",
-       "82. -0.944965448779096\n",
-       "83. -0.930064726003017\n",
-       "84. -0.913452565307665\n",
-       "85. -0.89515953519106\n",
-       "86. -0.875219297165702\n",
-       "87. -0.853668543817087\n",
-       "88. -0.830546931284662\n",
-       "89. -0.805897006289464\n",
-       "90. -0.779764127842714\n",
-       "91. -0.752196383779446\n",
-       "92. -0.723244502270742\n",
-       "93. -0.692961758477418\n",
-       "94. -0.661403876516926\n",
-       "95. -0.62862892692385\n",
-       "96. -0.594697219792713\n",
-       "97. -0.55967119379969\n",
-       "98. -0.523615301307472\n",
-       "99. -0.486595889764683\n",
-       "100. -0.448681079618095\n",
-       "101. -0.409940638962306\n",
-       "102. -0.370445855157534\n",
-       "103. -0.330269403651764\n",
-       "104. -0.289485214248639\n",
-       "105. -0.248168335067177\n",
-       "106. -0.206394794443643\n",
-       "107. -0.164241461029697\n",
-       "108. -0.121785902344259\n",
-       "109. -0.0791062420393542\n",
-       "110. -0.0362810161426243\n",
-       "111. 0.00661097145900751\n",
-       "112. 0.0494907940285487\n",
-       "113. 0.09227954721422\n",
-       "114. 0.134898494243546\n",
-       "115. 0.177269210809069\n",
-       "116. 0.219313729379103\n",
-       "117. 0.260954682667946\n",
-       "118. 0.302115446001568\n",
-       "119. 0.342720278316812\n",
-       "120. 0.382694461534615\n",
-       "121. 0.421964438050826\n",
-       "122. 0.460457946091593\n",
-       "123. 0.498104152684256\n",
-       "124. 0.534833783999072\n",
-       "125. 0.570579252821911\n",
-       "126. 0.605274782923359\n",
-       "127. 0.638856530095391\n",
-       "128. 0.671262699632865\n",
-       "129. 0.702433660043676\n",
-       "130. 0.732312052778324\n",
-       "131. 0.760842897776964\n",
-       "132. 0.787973694639749\n",
-       "133. 0.813654519234269\n",
-       "134. 0.837838115562333\n",
-       "135. 0.860479982717044\n",
-       "136. 0.881538456770152\n",
-       "137. 0.900974787439006\n",
-       "138. 0.918753209392024\n",
-       "139. 0.934841008061474\n",
-       "140. 0.949208579842452\n",
-       "141. 0.961829486567309\n",
-       "142. 0.972680504155245\n",
-       "143. 0.981741665347591\n",
-       "144. 0.988996296450116\n",
-       "145. 0.994431048014751\n",
-       "146. 0.998035919404285\n",
-       "147. 0.999804277194807\n",
-       "148. 0.999732867382062\n",
-       "149. 0.997821821369228\n",
-       "150. 0.99407465572512\n",
-       "151. 0.988498265713255\n",
-       "152. 0.981102912603684\n",
-       "153. 0.971902204790947\n",
-       "154. 0.960913072752884\n",
-       "155. 0.948155737896398\n",
-       "156. 0.93365367534748\n",
-       "157. 0.917433570753978\n",
-       "158. 0.899525271180594\n",
-       "159. 0.879961730186478\n",
-       "160. 0.858778947186462\n",
-       "161. 0.836015901207541\n",
-       "162. 0.811714479162481\n",
-       "163. 0.785919398772555\n",
-       "164. 0.758678126281212\n",
-       "165. 0.730040789110133\n",
-       "166. 0.70006008361837\n",
-       "167. 0.668791178134308\n",
-       "168. 0.6362916114389\n",
-       "169. 0.60262118688695\n",
-       "170. 0.56784186236131\n",
-       "171. 0.532017636262451\n",
-       "172. 0.495214429743235\n",
-       "173. 0.457499965405572\n",
-       "174. 0.418943642682172\n",
-       "175. 0.379616410132738\n",
-       "176. 0.339590634889538\n",
-       "177. 0.29893996949264\n",
-       "178. 0.257739216359835\n",
-       "179. 0.216064190140618\n",
-       "180. 0.173991578207564\n",
-       "181. 0.131598799541752\n",
-       "182. 0.0889638622719511\n",
-       "183. 0.0461652201297063\n",
-       "184. 0.00328162808443396\n",
-       "185. -0.0396080025757696\n",
-       "186. -0.0824247494509826\n",
-       "187. -0.125089824256767\n",
-       "188. -0.167524717804663\n",
-       "189. -0.209651344469138\n",
-       "190. -0.251392185875103\n",
-       "191. -0.292670433541635\n",
-       "192. -0.333410130219395\n",
-       "193. -0.373536309661659\n",
-       "194. -0.412975134571807\n",
-       "195. -0.45165403247337\n",
-       "196. -0.489501829252658\n",
-       "197. -0.526448880128234\n",
-       "198. -0.562427197806194\n",
-       "199. -0.597370577585482\n",
-       "200. -0.631214719183006\n",
-       "201. ⋯\n",
-       "202. -0.981121386747115\n",
-       "203. -0.988512704384468\n",
-       "204. -0.994085032355116\n",
-       "205. -0.997828116863683\n",
-       "206. -0.999735070156461\n",
-       "207. -0.999802383195764\n",
-       "208. -0.998029932117\n",
-       "209. -0.994420978456598\n",
-       "210. -0.988982163150368\n",
-       "211. -0.981723494313325\n",
-       "212. -0.972658328823485\n",
-       "213. -0.9618033477435\n",
-       "214. -0.949178525625368\n",
-       "215. -0.934807093754715\n",
-       "216. -0.91871549740225\n",
-       "217. -0.900933347161089\n",
-       "218. -0.881493364459503\n",
-       "219. -0.860431321349273\n",
-       "220. -0.837785974680577\n",
-       "221. -0.813598994784412\n",
-       "222. -0.787914888793869\n",
-       "223. -0.760780918745329\n",
-       "224. -0.732247014610271\n",
-       "225. -0.702365682417749\n",
-       "226. -0.671191907636579\n",
-       "227. -0.63878305399506\n",
-       "228. -0.6051987579244\n",
-       "229. -0.570500818820022\n",
-       "230. -0.53475308532285\n",
-       "231. -0.498021337829574\n",
-       "232. -0.460373167448359\n",
-       "233. -0.421877851622581\n",
-       "234. -0.382606226651443\n",
-       "235. -0.342630557342169\n",
-       "236. -0.302024404033518\n",
-       "237. -0.260862487235333\n",
-       "238. -0.219220550133312\n",
-       "239. -0.177175219211807\n",
-       "240. -0.134803863251367\n",
-       "241. -0.0921844509602341\n",
-       "242. -0.0493954075020113\n",
-       "243. -0.00651547018332186\n",
-       "244. 0.036376456432917\n",
-       "245. 0.0792014457219203\n",
-       "246. 0.121880694232165\n",
-       "247. 0.164335666693761\n",
-       "248. 0.206488240533399\n",
-       "249. 0.248260849629889\n",
-       "250. 0.289576627045685\n",
-       "251. 0.330359546471918\n",
-       "252. 0.370534562126505\n",
-       "253. 0.410027746847923\n",
-       "254. 0.448766428130727\n",
-       "255. 0.486679321852158\n",
-       "256. 0.52369666344409\n",
-       "257. 0.559750336268729\n",
-       "258. 0.59477399696192\n",
-       "259. 0.628703197513424\n",
-       "260. 0.661475503859488\n",
-       "261. 0.693030610769508\n",
-       "262. 0.72331045281535\n",
-       "263. 0.75225931121914\n",
-       "264. 0.779823916382975\n",
-       "265. 0.805953545911729\n",
-       "266. 0.830600117948804\n",
-       "267. 0.853718279652852\n",
-       "268. 0.875265490652795\n",
-       "269. 0.895202101327567\n",
-       "270. 0.913491425766456\n",
-       "271. 0.93009980927588\n",
-       "272. 0.944996690308329\n",
-       "273. 0.9581546566995\n",
-       "274. 0.969549496110199\n",
-       "275. 0.979160240580121\n",
-       "276. 0.986969205111594\n",
-       "277. 0.992962020212218\n",
-       "278. 0.997127658336576\n",
-       "279. 0.999458454178327\n",
-       "280. 0.999950118775341\n",
-       "281. 0.998601747401947\n",
-       "282. 0.995415821233737\n",
-       "283. 0.990398202781889\n",
-       "284. 0.983558125105396\n",
-       "285. 0.974908174821061\n",
-       "286. 0.964464268942509\n",
-       "287. 0.952245625590845\n",
-       "288. 0.938274728630879\n",
-       "289. 0.922577286297907\n",
-       "290. 0.905182183891304\n",
-       "291. 0.886121430621864\n",
-       "292. 0.865430100710767\n",
-       "293. 0.843146268848539\n",
-       "294. 0.819310940132752\n",
-       "295. 0.793967974613405\n",
-       "296. 0.767164006584824\n",
-       "297. 0.738948358772602\n",
-       "298. 0.709372951573506\n",
-       "299. 0.678492207515269\n",
-       "300. 0.646362951112247\n",
-       "301. 0.61304430430099\n",
-       "302. 0.578597577648355\n",
-       "303. 0.543086157532248\n",
-       "304. 0.506575389502547\n",
-       "305. 0.469132458036984\n",
-       "306. 0.430826262913104\n",
-       "307. 0.391727292423855\n",
-       "308. 0.351907493670166\n",
-       "309. 0.311440140169036\n",
-       "310. 0.270399697020961\n",
-       "311. 0.228861683884571\n",
-       "312. 0.18690253601087\n",
-       "313. 0.144599463592577\n",
-       "314. 0.102030309687495\n",
-       "315. 0.0592734069773824\n",
-       "316. 0.0164074336257588\n",
-       "317. -0.026488731499921\n",
-       "318. -0.0693361539754803\n",
-       "319. -0.112055989069467\n",
-       "320. -0.154569626827484\n",
-       "321. -0.196798836724595\n",
-       "322. -0.238665911619469\n",
-       "323. -0.280093810745427\n",
-       "324. -0.321006301475322\n",
-       "325. -0.361328099599298\n",
-       "326. -0.400985007857371\n",
-       "327. -0.439904052471857\n",
-       "328. -0.478013617428429\n",
-       "329. -0.515243576258756\n",
-       "330. -0.551525421082152\n",
-       "331. -0.586792388668843\n",
-       "332. -0.62097958329283\n",
-       "333. -0.654024096148297\n",
-       "334. -0.685865121109897\n",
-       "335. -0.716444066623728\n",
-       "336. -0.745704663523343\n",
-       "337. -0.773593068572168\n",
-       "338. -0.800057963541931\n",
-       "339. -0.825050649644788\n",
-       "340. -0.848525137145285\n",
-       "341. -0.870438229987357\n",
-       "342. -0.890749605280604\n",
-       "343. -0.909421887499535\n",
-       "344. -0.926420717259334\n",
-       "345. -0.941714814541499\n",
-       "346. -0.955276036253088\n",
-       "347. -0.967079428013591\n",
-       "348. -0.977103270074187\n",
-       "349. -0.985329117284859\n",
-       "350. -0.991741833035817\n",
-       "351. -0.996329617110805\n",
-       "352. -0.999084027400996\n",
-       "353. -0.999999995439557\n",
-       "354. -0.999075835728275\n",
-       "355. -0.996313248839089\n",
-       "356. -0.991717318284818\n",
-       "357. -0.985296501164848\n",
-       "358. -0.977062612602993\n",
-       "359. -0.967030804006154\n",
-       "360. -0.955219535183797\n",
-       "361. -0.941650540379541\n",
-       "362. -0.926348788277374\n",
-       "363. -0.90934243605609\n",
-       "364. -0.890662777576479\n",
-       "365. -0.870344185796626\n",
-       "366. -0.848424049521271\n",
-       "367. -0.824942704601635\n",
-       "368. -0.799943359712312\n",
-       "369. -0.773472016841758\n",
-       "370. -0.745577386642805\n",
-       "371. -0.716310798798779\n",
-       "372. -0.685726107570356\n",
-       "373. -0.653879592696851\n",
-       "374. -0.620829855834276\n",
-       "375. -0.58663771272084\n",
-       "376. -0.551366081268205\n",
-       "377. -0.515079865784473\n",
-       "378. -0.477845837542009\n",
-       "379. -0.439732511909722\n",
-       "380. -0.400810022276078\n",
-       "381. -0.361149990994658\n",
-       "382. -0.320825397589923\n",
-       "383. -0.279910444465543\n",
-       "384. -0.238480420362475\n",
-       "385. -0.19661156181811\n",
-       "386. -0.154380912881246\n",
-       "387. -0.111866183341248\n",
-       "388. -0.0691456057320828\n",
-       "389. -0.0262977913744432\n",
-       "390. 0.0165984142790776\n",
-       "391. 0.0594640767297409\n",
-       "392. 0.102220317682203\n",
-       "393. 0.144788460190643\n",
-       "394. 0.187090173434413\n",
-       "395. 0.229047616856748\n",
-       "396. 0.270583583401346\n",
-       "397. 0.311621641583212\n",
-       "398. 0.352086276132335\n",
-       "399. 0.391903026951452\n",
-       "400. 0.430998626132134\n",
-       "401. 0.469301132777109\n",
        "\n",
+       "A matrix: 2 × 2 of type dbl\n",
+       "\n",
+       "|  5.000274e-01 | -4.656294e-05 |\n",
+       "| -4.656294e-05 |  4.999726e-01 |\n",
        "\n"
       ],
       "text/plain": [
-       "   [1]  1.000000e+00  9.990799e-01  9.963214e-01  9.917296e-01  9.853128e-01\n",
-       "   [6]  9.770829e-01  9.670551e-01  9.552478e-01  9.416827e-01  9.263848e-01\n",
-       "  [11]  9.093822e-01  8.907062e-01  8.703912e-01  8.484746e-01  8.249967e-01\n",
-       "  [16]  8.000007e-01  7.735325e-01  7.456410e-01  7.163774e-01  6.857956e-01\n",
-       "  [21]  6.539518e-01  6.209047e-01  5.867151e-01  5.514458e-01  5.151617e-01\n",
-       "  [26]  4.779297e-01  4.398183e-01  4.008975e-01  3.612390e-01  3.209159e-01\n",
-       "  [31]  2.800021e-01  2.385732e-01  1.967052e-01  1.544753e-01  1.119611e-01\n",
-       "  [36]  6.924088e-02  2.639326e-02 -1.650292e-02 -5.936874e-02 -1.021253e-01\n",
-       "  [41] -1.446940e-01 -1.869964e-01 -2.289547e-01 -2.704916e-01 -3.115309e-01\n",
-       "  [46] -3.519969e-01 -3.918152e-01 -4.309124e-01 -4.692168e-01 -5.066577e-01\n",
-       "  [51] -5.431663e-01 -5.786755e-01 -6.131198e-01 -6.464358e-01 -6.785624e-01\n",
-       "  [56] -7.094403e-01 -7.390127e-01 -7.672253e-01 -7.940260e-01 -8.193657e-01\n",
-       "  [61] -8.431976e-01 -8.654779e-01 -8.861657e-01 -9.052228e-01 -9.226141e-01\n",
-       "  [66] -9.383078e-01 -9.522748e-01 -9.644895e-01 -9.749294e-01 -9.835754e-01\n",
-       "  [71] -9.904114e-01 -9.954250e-01 -9.986068e-01 -9.999511e-01 -9.994553e-01\n",
-       "  [76] -9.971204e-01 -9.929507e-01 -9.869538e-01 -9.791408e-01 -9.695261e-01\n",
-       "  [81] -9.581273e-01 -9.449654e-01 -9.300647e-01 -9.134526e-01 -8.951595e-01\n",
-       "  [86] -8.752193e-01 -8.536685e-01 -8.305469e-01 -8.058970e-01 -7.797641e-01\n",
-       "  [91] -7.521964e-01 -7.232445e-01 -6.929618e-01 -6.614039e-01 -6.286289e-01\n",
-       "  [96] -5.946972e-01 -5.596712e-01 -5.236153e-01 -4.865959e-01 -4.486811e-01\n",
-       " [101] -4.099406e-01 -3.704459e-01 -3.302694e-01 -2.894852e-01 -2.481683e-01\n",
-       " [106] -2.063948e-01 -1.642415e-01 -1.217859e-01 -7.910624e-02 -3.628102e-02\n",
-       " [111]  6.610971e-03  4.949079e-02  9.227955e-02  1.348985e-01  1.772692e-01\n",
-       " [116]  2.193137e-01  2.609547e-01  3.021154e-01  3.427203e-01  3.826945e-01\n",
-       " [121]  4.219644e-01  4.604579e-01  4.981042e-01  5.348338e-01  5.705793e-01\n",
-       " [126]  6.052748e-01  6.388565e-01  6.712627e-01  7.024337e-01  7.323121e-01\n",
-       " [131]  7.608429e-01  7.879737e-01  8.136545e-01  8.378381e-01  8.604800e-01\n",
-       " [136]  8.815385e-01  9.009748e-01  9.187532e-01  9.348410e-01  9.492086e-01\n",
-       " [141]  9.618295e-01  9.726805e-01  9.817417e-01  9.889963e-01  9.944310e-01\n",
-       " [146]  9.980359e-01  9.998043e-01  9.997329e-01  9.978218e-01  9.940747e-01\n",
-       " [151]  9.884983e-01  9.811029e-01  9.719022e-01  9.609131e-01  9.481557e-01\n",
-       " [156]  9.336537e-01  9.174336e-01  8.995253e-01  8.799617e-01  8.587789e-01\n",
-       " [161]  8.360159e-01  8.117145e-01  7.859194e-01  7.586781e-01  7.300408e-01\n",
-       " [166]  7.000601e-01  6.687912e-01  6.362916e-01  6.026212e-01  5.678419e-01\n",
-       " [171]  5.320176e-01  4.952144e-01  4.575000e-01  4.189436e-01  3.796164e-01\n",
-       " [176]  3.395906e-01  2.989400e-01  2.577392e-01  2.160642e-01  1.739916e-01\n",
-       " [181]  1.315988e-01  8.896386e-02  4.616522e-02  3.281628e-03 -3.960800e-02\n",
-       " [186] -8.242475e-02 -1.250898e-01 -1.675247e-01 -2.096513e-01 -2.513922e-01\n",
-       " [191] -2.926704e-01 -3.334101e-01 -3.735363e-01 -4.129751e-01 -4.516540e-01\n",
-       " [196] -4.895018e-01 -5.264489e-01 -5.624272e-01 -5.973706e-01 -6.312147e-01\n",
-       " [201] -6.638973e-01 -6.953583e-01 -7.255397e-01 -7.543861e-01 -7.818442e-01\n",
-       " [206] -8.078637e-01 -8.323966e-01 -8.553978e-01 -8.768250e-01 -8.966386e-01\n",
-       " [211] -9.148024e-01 -9.312828e-01 -9.460495e-01 -9.590753e-01 -9.703364e-01\n",
-       " [216] -9.798119e-01 -9.874844e-01 -9.933398e-01 -9.973674e-01 -9.995596e-01\n",
-       " [221] -9.999126e-01 -9.984256e-01 -9.951013e-01 -9.899460e-01 -9.829690e-01\n",
-       " [226] -9.741832e-01 -9.636048e-01 -9.512532e-01 -9.371513e-01 -9.213248e-01\n",
-       " [231] -9.038030e-01 -8.846180e-01 -8.638053e-01 -8.414031e-01 -8.174525e-01\n",
-       " [236] -7.919978e-01 -7.650856e-01 -7.367656e-01 -7.070899e-01 -6.761130e-01\n",
-       " [241] -6.438920e-01 -6.104862e-01 -5.759570e-01 -5.403679e-01 -5.037845e-01\n",
-       " [246] -4.662741e-01 -4.279056e-01 -3.887498e-01 -3.488786e-01 -3.083655e-01\n",
-       " [251] -2.672849e-01 -2.257124e-01 -1.837247e-01 -1.413988e-01 -9.881278e-02\n",
-       " [256] -5.604491e-02 -1.317391e-02  2.972133e-02  7.256189e-02  1.152689e-01\n",
-       " [261]  1.577638e-01  1.999684e-01  2.418051e-01  2.831968e-01  3.240674e-01\n",
-       " [266]  3.643416e-01  4.039454e-01  4.428059e-01  4.808516e-01  5.180125e-01\n",
-       " [271]  5.542201e-01  5.894079e-01  6.235111e-01  6.564670e-01  6.882149e-01\n",
-       " [276]  7.186964e-01  7.478554e-01  7.756383e-01  8.019939e-01  8.268737e-01\n",
-       " [281]  8.502319e-01  8.720256e-01  8.922147e-01  9.107620e-01  9.276334e-01\n",
-       " [286]  9.427978e-01  9.562273e-01  9.678973e-01  9.777862e-01  9.858759e-01\n",
-       " [291]  9.921514e-01  9.966012e-01  9.992172e-01  9.999945e-01  9.989316e-01\n",
-       " [296]  9.960306e-01  9.912968e-01  9.847388e-01  9.763688e-01  9.662022e-01\n",
-       " [301]  9.542576e-01  9.405571e-01  9.251259e-01  9.079922e-01  8.891878e-01\n",
-       " [306]  8.687471e-01  8.467079e-01  8.231106e-01  7.979986e-01  7.714182e-01\n",
-       " [311]  7.434184e-01  7.140505e-01  6.833687e-01  6.514294e-01  6.182914e-01\n",
-       " [316]  5.840157e-01  5.486653e-01  5.123053e-01  4.750026e-01  4.368258e-01\n",
-       " [321]  3.978452e-01  3.581325e-01  3.177608e-01  2.768044e-01  2.353386e-01\n",
-       " [326]  1.934398e-01  1.511850e-01  1.086520e-01  6.591911e-02  2.306490e-02\n",
-       " [331] -1.983176e-02 -6.269192e-02 -1.054367e-01 -1.479875e-01 -1.902660e-01\n",
-       " [336] -2.321943e-01 -2.736954e-01 -3.146929e-01 -3.551112e-01 -3.948762e-01\n",
-       " [341] -4.339145e-01 -4.721543e-01 -5.095253e-01 -5.459588e-01 -5.813876e-01\n",
-       " [346] -6.157465e-01 -6.489724e-01 -6.810042e-01 -7.117828e-01 -7.412516e-01\n",
-       " [351] -7.693564e-01 -7.960455e-01 -8.212698e-01 -8.449828e-01 -8.671410e-01\n",
-       " [356] -8.877035e-01 -9.066325e-01 -9.238932e-01 -9.394539e-01 -9.532858e-01\n",
-       " [361] -9.653635e-01 -9.756649e-01 -9.841709e-01 -9.908659e-01 -9.957375e-01\n",
-       " [366] -9.987769e-01 -9.999785e-01 -9.993399e-01 -9.968624e-01 -9.925506e-01\n",
-       " [371] -9.864123e-01 -9.784589e-01 -9.687051e-01 -9.571687e-01 -9.438709e-01\n",
-       " [376] -9.288364e-01 -9.120926e-01 -8.936705e-01 -8.736039e-01 -8.519298e-01\n",
-       " [381] -8.286880e-01 -8.039214e-01 -7.776754e-01 -7.499984e-01 -7.209413e-01\n",
-       " [386] -6.905575e-01 -6.589031e-01 -6.260362e-01 -5.920173e-01 -5.569090e-01\n",
-       " [391] -5.207759e-01 -4.836846e-01 -4.457032e-01 -4.069016e-01 -3.673513e-01\n",
-       " [396] -3.271250e-01 -2.862968e-01 -2.449417e-01 -2.031360e-01 -1.609564e-01\n",
-       " [401] -1.184806e-01 -7.578686e-02 -3.295363e-02  9.940242e-03  5.281582e-02\n",
-       " [406]  9.559421e-02  1.381967e-01  1.805449e-01  2.225608e-01  2.641673e-01\n",
-       " [411]  3.052876e-01  3.458461e-01  3.857683e-01  4.249806e-01  4.634108e-01\n",
-       " [416]  5.009884e-01  5.376440e-01  5.733103e-01  6.079217e-01  6.414144e-01\n",
-       " [421]  6.737268e-01  7.047995e-01  7.345752e-01  7.629992e-01  7.900193e-01\n",
-       " [426]  8.155855e-01  8.396510e-01  8.621715e-01  8.831054e-01  9.024143e-01\n",
-       " [431]  9.200627e-01  9.360180e-01  9.502509e-01  9.627352e-01  9.734480e-01\n",
-       " [436]  9.823695e-01  9.894834e-01  9.947764e-01  9.982390e-01  9.998646e-01\n",
-       " [441]  9.996504e-01  9.975967e-01  9.937072e-01  9.879893e-01  9.804533e-01\n",
-       " [446]  9.711131e-01  9.599860e-01  9.470924e-01  9.324560e-01  9.161038e-01\n",
-       " [451]  8.980658e-01  8.783752e-01  8.570684e-01  8.341844e-01  8.097654e-01\n",
-       " [456]  7.838564e-01  7.565049e-01  7.277614e-01  6.976787e-01  6.663122e-01\n",
-       " [461]  6.337196e-01  5.999609e-01  5.650982e-01  5.291956e-01  4.923192e-01\n",
-       " [466]  4.545369e-01  4.159182e-01  3.765342e-01  3.364572e-01  2.957612e-01\n",
-       " [471]  2.545209e-01  2.128123e-01  1.707120e-01  1.282976e-01  8.564719e-02\n",
-       " [476]  4.283913e-02 -4.775167e-05 -4.293455e-02 -8.574234e-02 -1.283924e-01\n",
-       " [481] -1.708061e-01 -2.129056e-01 -2.546133e-01 -2.958524e-01 -3.365472e-01\n",
-       " [486] -3.766226e-01 -4.160051e-01 -4.546220e-01 -4.924023e-01 -5.292766e-01\n",
-       " [491] -5.651770e-01 -6.000373e-01 -6.337935e-01 -6.663835e-01 -6.977472e-01\n",
-       " [496] -7.278269e-01 -7.565674e-01 -7.839157e-01 -8.098215e-01 -8.342371e-01\n",
-       " [501] -8.571176e-01 -8.784209e-01 -8.981078e-01 -9.161420e-01 -9.324905e-01\n",
-       " [506] -9.471230e-01 -9.600127e-01 -9.711359e-01 -9.804721e-01 -9.880040e-01\n",
-       " [511] -9.937179e-01 -9.976033e-01 -9.996529e-01 -9.998630e-01 -9.982333e-01\n",
-       " [516] -9.947667e-01 -9.894695e-01 -9.823517e-01 -9.734262e-01 -9.627094e-01\n",
-       " [521] -9.502211e-01 -9.359844e-01 -9.200252e-01 -9.023732e-01 -8.830606e-01\n",
-       " [526] -8.621231e-01 -8.395992e-01 -8.155303e-01 -7.899607e-01 -7.629375e-01\n",
-       " [531] -7.345104e-01 -7.047317e-01 -6.736562e-01 -6.413411e-01 -6.078458e-01\n",
-       " [536] -5.732321e-01 -5.375635e-01 -5.009057e-01 -4.633262e-01 -4.248941e-01\n",
-       " [541] -3.856802e-01 -3.457565e-01 -3.051966e-01 -2.640751e-01 -2.224677e-01\n",
-       " [546] -1.804509e-01 -1.381021e-01 -9.549914e-02 -5.272045e-02 -9.844743e-03\n",
-       " [551]  3.304908e-02  7.588209e-02  1.185755e-01  1.610506e-01  2.032295e-01\n",
-       " [556]  2.450343e-01  2.863883e-01  3.272153e-01  3.674401e-01  4.069888e-01\n",
-       " [561]  4.457886e-01  4.837681e-01  5.208574e-01  5.569883e-01  5.920942e-01\n",
-       " [566]  6.261106e-01  6.589749e-01  6.906266e-01  7.210074e-01  7.500615e-01\n",
-       " [571]  7.777354e-01  8.039782e-01  8.287415e-01  8.519798e-01  8.736504e-01\n",
-       " [576]  8.937134e-01  9.121318e-01  9.288718e-01  9.439025e-01  9.571963e-01\n",
-       " [581]  9.687288e-01  9.784787e-01  9.864280e-01  9.925622e-01  9.968700e-01\n",
-       " [586]  9.993434e-01  9.999778e-01  9.987722e-01  9.957287e-01  9.908530e-01\n",
-       " [591]  9.841539e-01  9.756439e-01  9.653386e-01  9.532569e-01  9.394211e-01\n",
-       " [596]  9.238567e-01  9.065922e-01  8.876595e-01  8.670934e-01  8.449318e-01\n",
-       " [601]  8.212153e-01  7.959877e-01  7.692954e-01  7.411875e-01  7.117157e-01\n",
-       " [606]  6.809342e-01  6.488998e-01  6.156713e-01  5.813099e-01  5.458788e-01\n",
-       " [611]  5.094432e-01  4.720701e-01  4.338284e-01  3.947884e-01  3.550220e-01\n",
-       " [616]  3.146022e-01  2.736036e-01  2.321014e-01  1.901722e-01  1.478931e-01\n",
-       " [621]  1.053417e-01  6.259660e-02  1.973627e-02 -2.316037e-02 -6.601440e-02\n",
-       " [626] -1.087470e-01 -1.512794e-01 -1.935335e-01 -2.354314e-01 -2.768961e-01\n",
-       " [631] -3.178513e-01 -3.582217e-01 -3.979328e-01 -4.369117e-01 -4.750866e-01\n",
-       " [636] -5.123873e-01 -5.487451e-01 -5.840932e-01 -6.183665e-01 -6.515019e-01\n",
-       " [641] -6.834384e-01 -7.141174e-01 -7.434822e-01 -7.714790e-01 -7.980562e-01\n",
-       " [646] -8.231648e-01 -8.467587e-01 -8.687944e-01 -8.892315e-01 -9.080322e-01\n",
-       " [651] -9.251621e-01 -9.405896e-01 -9.542862e-01 -9.662268e-01 -9.763895e-01\n",
-       " [656] -9.847554e-01 -9.913093e-01 -9.960391e-01 -9.989360e-01 -9.999948e-01\n",
-       " [661] -9.992134e-01 -9.965934e-01 -9.921394e-01 -9.858599e-01 -9.777662e-01\n",
-       " [666] -9.678733e-01 -9.561994e-01 -9.427660e-01 -9.275977e-01 -9.107226e-01\n",
-       " [671] -8.921716e-01 -8.719789e-01 -8.501816e-01 -8.268200e-01 -8.019368e-01\n",
-       " [676] -7.755780e-01 -7.477920e-01 -7.186300e-01 -6.881456e-01 -6.563950e-01\n",
-       " [681] -6.234365e-01 -5.893308e-01 -5.541406e-01 -5.179308e-01 -4.807679e-01\n",
-       " [686] -4.427203e-01 -4.038580e-01 -3.642527e-01 -3.239770e-01 -2.831052e-01\n",
-       " [691] -2.417124e-01 -1.998749e-01 -1.576695e-01 -1.151740e-01 -7.246663e-02\n",
-       " [696] -2.962587e-02  1.326940e-02  5.614026e-02  9.890781e-02  1.414934e-01\n",
-       " [701]  1.838185e-01  2.258055e-01  2.673769e-01  3.084563e-01  3.489681e-01\n",
-       " [706]  3.888378e-01  4.279920e-01  4.663586e-01  5.038670e-01  5.404483e-01\n",
-       " [711]  5.760350e-01  6.105618e-01  6.439651e-01  6.761834e-01  7.071574e-01\n",
-       " [716]  7.368302e-01  7.651471e-01  7.920561e-01  8.175075e-01  8.414547e-01\n",
-       " [721]  8.638534e-01  8.846626e-01  9.038438e-01  9.213619e-01  9.371846e-01\n",
-       " [726]  9.512827e-01  9.636303e-01  9.742047e-01  9.829865e-01  9.899595e-01\n",
-       " [731]  9.951108e-01  9.984309e-01  9.999138e-01  9.995568e-01  9.973604e-01\n",
-       " [736]  9.933288e-01  9.874693e-01  9.797928e-01  9.703133e-01  9.590483e-01\n",
-       " [741]  9.460185e-01  9.312480e-01  9.147638e-01  8.965963e-01  8.767790e-01\n",
-       " [746]  8.553483e-01  8.323437e-01  8.078074e-01  7.817847e-01  7.543234e-01\n",
-       " [751]  7.254740e-01  6.952897e-01  6.638259e-01  6.311406e-01  5.972940e-01\n",
-       " [756]  5.623482e-01  5.263677e-01  4.894185e-01  4.515688e-01  4.128882e-01\n",
-       " [761]  3.734477e-01  3.333201e-01  2.925791e-01  2.512997e-01  2.095580e-01\n",
-       " [766]  1.674306e-01  1.249951e-01  8.232957e-02  3.951257e-02 -3.377131e-03\n",
-       " [771] -4.626062e-02 -8.905899e-02 -1.316935e-01 -1.740856e-01 -2.161574e-01\n",
-       " [776] -2.578315e-01 -2.990311e-01 -3.396805e-01 -3.797048e-01 -4.190304e-01\n",
-       " [781] -4.575849e-01 -4.952974e-01 -5.320985e-01 -5.679205e-01 -6.026974e-01\n",
-       " [786] -6.363653e-01 -6.688622e-01 -7.001283e-01 -7.301061e-01 -7.587403e-01\n",
-       " [791] -7.859784e-01 -8.117703e-01 -8.360683e-01 -8.588279e-01 -8.800071e-01\n",
-       " [796] -8.995670e-01 -9.174716e-01 -9.336879e-01 -9.481861e-01 -9.609395e-01\n",
-       " [801] -9.719247e-01 -9.811214e-01 -9.885127e-01 -9.940850e-01 -9.978281e-01\n",
-       " [806] -9.997351e-01 -9.998024e-01 -9.980299e-01 -9.944210e-01 -9.889822e-01\n",
-       " [811] -9.817235e-01 -9.726583e-01 -9.618033e-01 -9.491785e-01 -9.348071e-01\n",
-       " [816] -9.187155e-01 -9.009333e-01 -8.814934e-01 -8.604313e-01 -8.377860e-01\n",
-       " [821] -8.135990e-01 -7.879149e-01 -7.607809e-01 -7.322470e-01 -7.023657e-01\n",
-       " [826] -6.711919e-01 -6.387831e-01 -6.051988e-01 -5.705008e-01 -5.347531e-01\n",
-       " [831] -4.980213e-01 -4.603732e-01 -4.218779e-01 -3.826062e-01 -3.426306e-01\n",
-       " [836] -3.020244e-01 -2.608625e-01 -2.192206e-01 -1.771752e-01 -1.348039e-01\n",
-       " [841] -9.218445e-02 -4.939541e-02 -6.515470e-03  3.637646e-02  7.920145e-02\n",
-       " [846]  1.218807e-01  1.643357e-01  2.064882e-01  2.482608e-01  2.895766e-01\n",
-       " [851]  3.303595e-01  3.705346e-01  4.100277e-01  4.487664e-01  4.866793e-01\n",
-       " [856]  5.236967e-01  5.597503e-01  5.947740e-01  6.287032e-01  6.614755e-01\n",
-       " [861]  6.930306e-01  7.233105e-01  7.522593e-01  7.798239e-01  8.059535e-01\n",
-       " [866]  8.306001e-01  8.537183e-01  8.752655e-01  8.952021e-01  9.134914e-01\n",
-       " [871]  9.300998e-01  9.449967e-01  9.581547e-01  9.695495e-01  9.791602e-01\n",
-       " [876]  9.869692e-01  9.929620e-01  9.971277e-01  9.994585e-01  9.999501e-01\n",
-       " [881]  9.986017e-01  9.954158e-01  9.903982e-01  9.835581e-01  9.749082e-01\n",
-       " [886]  9.644643e-01  9.522456e-01  9.382747e-01  9.225773e-01  9.051822e-01\n",
-       " [891]  8.861214e-01  8.654301e-01  8.431463e-01  8.193109e-01  7.939680e-01\n",
-       " [896]  7.671640e-01  7.389484e-01  7.093730e-01  6.784922e-01  6.463630e-01\n",
-       " [901]  6.130443e-01  5.785976e-01  5.430862e-01  5.065754e-01  4.691325e-01\n",
-       " [906]  4.308263e-01  3.917273e-01  3.519075e-01  3.114401e-01  2.703997e-01\n",
-       " [911]  2.288617e-01  1.869025e-01  1.445995e-01  1.020303e-01  5.927341e-02\n",
-       " [916]  1.640743e-02 -2.648873e-02 -6.933615e-02 -1.120560e-01 -1.545696e-01\n",
-       " [921] -1.967988e-01 -2.386659e-01 -2.800938e-01 -3.210063e-01 -3.613281e-01\n",
-       " [926] -4.009850e-01 -4.399041e-01 -4.780136e-01 -5.152436e-01 -5.515254e-01\n",
-       " [931] -5.867924e-01 -6.209796e-01 -6.540241e-01 -6.858651e-01 -7.164441e-01\n",
-       " [936] -7.457047e-01 -7.735931e-01 -8.000580e-01 -8.250506e-01 -8.485251e-01\n",
-       " [941] -8.704382e-01 -8.907496e-01 -9.094219e-01 -9.264207e-01 -9.417148e-01\n",
-       " [946] -9.552760e-01 -9.670794e-01 -9.771033e-01 -9.853291e-01 -9.917418e-01\n",
-       " [951] -9.963296e-01 -9.990840e-01 -1.000000e+00 -9.990758e-01 -9.963132e-01\n",
-       " [956] -9.917173e-01 -9.852965e-01 -9.770626e-01 -9.670308e-01 -9.552195e-01\n",
-       " [961] -9.416505e-01 -9.263488e-01 -9.093424e-01 -8.906628e-01 -8.703442e-01\n",
-       " [966] -8.484240e-01 -8.249427e-01 -7.999434e-01 -7.734720e-01 -7.455774e-01\n",
-       " [971] -7.163108e-01 -6.857261e-01 -6.538796e-01 -6.208299e-01 -5.866377e-01\n",
-       " [976] -5.513661e-01 -5.150799e-01 -4.778458e-01 -4.397325e-01 -4.008100e-01\n",
-       " [981] -3.611500e-01 -3.208254e-01 -2.799104e-01 -2.384804e-01 -1.966116e-01\n",
-       " [986] -1.543809e-01 -1.118662e-01 -6.914561e-02 -2.629779e-02  1.659841e-02\n",
-       " [991]  5.946408e-02  1.022203e-01  1.447885e-01  1.870902e-01  2.290476e-01\n",
-       " [996]  2.705836e-01  3.116216e-01  3.520863e-01  3.919030e-01  4.309986e-01\n",
-       "[1001]  4.693011e-01"
+       "     [,1]          [,2]         \n",
+       "[1,]  5.000274e-01 -4.656294e-05\n",
+       "[2,] -4.656294e-05  4.999726e-01"
       ]
      },
      "metadata": {},
@@ -3112,234 +2199,1026 @@
     }
    ],
    "source": [
-    "cos(omega1*times)"
+    "Qmat"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 38,
-   "id": "579c47bd-3334-4836-bd1d-f232c572b20a",
+   "execution_count": 305,
+   "id": "d35c9e03-8c82-4304-90cf-0648900e2f0c",
    "metadata": {},
    "outputs": [
     {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "   [1] 0.000000e+00 1.969972e-05 7.879812e-05 1.772929e-04 3.151801e-04\n",
-      "   [6] 4.924543e-04 7.091086e-04 9.651344e-04 1.260522e-03 1.595259e-03\n",
-      "  [11] 1.969332e-03 2.382728e-03 2.835429e-03 3.327418e-03 3.858675e-03\n",
-      "  [16] 4.429179e-03 5.038909e-03 5.687839e-03 6.375945e-03 7.103199e-03\n",
-      "  [21] 7.869572e-03 8.675035e-03 9.519556e-03 1.040310e-02 1.132564e-02\n",
-      "  [26] 1.228712e-02 1.328753e-02 1.432681e-02 1.540492e-02 1.652183e-02\n",
-      "  [31] 1.767748e-02 1.887184e-02 2.010485e-02 2.137647e-02 2.268665e-02\n",
-      "  [36] 2.403534e-02 2.542247e-02 2.684801e-02 2.831188e-02 2.981404e-02\n",
-      "  [41] 3.135443e-02 3.293298e-02 3.454963e-02 3.620432e-02 3.789698e-02\n",
-      "  [46] 3.962755e-02 4.139596e-02 4.320213e-02 4.504600e-02 4.692750e-02\n",
-      "  [51] 4.884655e-02 5.080307e-02 5.279699e-02 5.482823e-02 5.689671e-02\n",
-      "  [56] 5.900234e-02 6.114506e-02 6.332476e-02 6.554136e-02 6.779479e-02\n",
-      "  [61] 7.008494e-02 7.241173e-02 7.477507e-02 7.717485e-02 7.961100e-02\n",
-      "  [66] 8.208341e-02 8.459199e-02 8.713663e-02 8.971724e-02 9.233372e-02\n",
-      "  [71] 9.498595e-02 9.767385e-02 1.003973e-01 1.031562e-01 1.059504e-01\n",
-      "  [76] 1.087799e-01 1.116444e-01 1.145440e-01 1.174784e-01 1.204476e-01\n",
-      "  [81] 1.234515e-01 1.264899e-01 1.295628e-01 1.326699e-01 1.358112e-01\n",
-      "  [86] 1.389865e-01 1.421958e-01 1.454388e-01 1.487156e-01 1.520258e-01\n",
-      "  [91] 1.553695e-01 1.587465e-01 1.621566e-01 1.655997e-01 1.690757e-01\n",
-      "  [96] 1.725844e-01 1.761257e-01 1.796995e-01 1.833056e-01 1.869439e-01\n",
-      " [101] 1.906142e-01 1.943164e-01 1.980504e-01 2.018159e-01 2.056129e-01\n",
-      " [106] 2.094412e-01 2.133006e-01 2.171911e-01 2.211124e-01 2.250643e-01\n",
-      " [111] 2.290468e-01 2.330597e-01 2.371028e-01 2.411759e-01 2.452790e-01\n",
-      " [116] 2.494118e-01 2.535741e-01 2.577659e-01 2.619869e-01 2.662370e-01\n",
-      " [121] 2.705160e-01 2.748237e-01 2.791600e-01 2.835247e-01 2.879176e-01\n",
-      " [126] 2.923386e-01 2.967875e-01 3.012641e-01 3.057682e-01 3.102997e-01\n",
-      " [131] 3.148583e-01 3.194439e-01 3.240564e-01 3.286954e-01 3.333610e-01\n",
-      " [136] 3.380527e-01 3.427706e-01 3.475144e-01 3.522838e-01 3.570788e-01\n",
-      " [141] 3.618992e-01 3.667446e-01 3.716150e-01 3.765102e-01 3.814299e-01\n",
-      " [146] 3.863740e-01 3.913423e-01 3.963346e-01 4.013506e-01 4.063903e-01\n",
-      " [151] 4.114533e-01 4.165395e-01 4.216487e-01 4.267807e-01 4.319353e-01\n",
-      " [156] 4.371122e-01 4.423113e-01 4.475324e-01 4.527753e-01 4.580397e-01\n",
-      " [161] 4.633255e-01 4.686324e-01 4.739603e-01 4.793089e-01 4.846780e-01\n",
-      " [166] 4.900674e-01 4.954769e-01 5.009063e-01 5.063553e-01 5.118238e-01\n",
-      " [171] 5.173115e-01 5.228183e-01 5.283438e-01 5.338879e-01 5.394504e-01\n",
-      " [176] 5.450310e-01 5.506296e-01 5.562459e-01 5.618796e-01 5.675306e-01\n",
-      " [181] 5.731987e-01 5.788835e-01 5.845850e-01 5.903028e-01 5.960368e-01\n",
-      " [186] 6.017867e-01 6.075522e-01 6.133333e-01 6.191295e-01 6.249408e-01\n",
-      " [191] 6.307668e-01 6.366074e-01 6.424624e-01 6.483314e-01 6.542142e-01\n",
-      " [196] 6.601107e-01 6.660206e-01 6.719436e-01 6.778796e-01 6.838282e-01\n",
-      " [201] 6.897893e-01 6.957626e-01 7.017480e-01 7.077450e-01 7.137536e-01\n",
-      " [206] 7.197735e-01 7.258043e-01 7.318461e-01 7.378983e-01 7.439609e-01\n",
-      " [211] 7.500336e-01 7.561161e-01 7.622083e-01 7.683098e-01 7.744204e-01\n",
-      " [216] 7.805399e-01 7.866681e-01 7.928047e-01 7.989494e-01 8.051021e-01\n",
-      " [221] 8.112624e-01 8.174302e-01 8.236051e-01 8.297871e-01 8.359757e-01\n",
-      " [226] 8.421708e-01 8.483721e-01 8.545794e-01 8.607924e-01 8.670109e-01\n",
-      " [231] 8.732346e-01 8.794633e-01 8.856968e-01 8.919348e-01 8.981770e-01\n",
-      " [236] 9.044233e-01 9.106733e-01 9.169268e-01 9.231836e-01 9.294435e-01\n",
-      " [241] 9.357061e-01 9.419712e-01 9.482386e-01 9.545081e-01 9.607794e-01\n",
-      " [246] 9.670522e-01 9.733263e-01 9.796015e-01 9.858774e-01 9.921539e-01\n",
-      " [251] 9.984308e-01 1.004708e+00 1.010984e+00 1.017261e+00 1.023536e+00\n",
-      " [256] 1.029811e+00 1.036084e+00 1.042356e+00 1.048627e+00 1.054895e+00\n",
-      " [261] 1.061162e+00 1.067426e+00 1.073687e+00 1.079945e+00 1.086200e+00\n",
-      " [266] 1.092452e+00 1.098700e+00 1.104945e+00 1.111185e+00 1.117421e+00\n",
-      " [271] 1.123652e+00 1.129878e+00 1.136099e+00 1.142315e+00 1.148525e+00\n",
-      " [276] 1.154729e+00 1.160928e+00 1.167119e+00 1.173305e+00 1.179483e+00\n",
-      " [281] 1.185655e+00 1.191819e+00 1.197975e+00 1.204124e+00 1.210265e+00\n",
-      " [286] 1.216397e+00 1.222521e+00 1.228636e+00 1.234742e+00 1.240839e+00\n",
-      " [291] 1.246926e+00 1.253004e+00 1.259072e+00 1.265129e+00 1.271176e+00\n",
-      " [296] 1.277212e+00 1.283238e+00 1.289252e+00 1.295255e+00 1.301246e+00\n",
-      " [301] 1.307226e+00 1.313193e+00 1.319148e+00 1.325090e+00 1.331020e+00\n",
-      " [306] 1.336936e+00 1.342839e+00 1.348729e+00 1.354605e+00 1.360467e+00\n",
-      " [311] 1.366315e+00 1.372148e+00 1.377967e+00 1.383770e+00 1.389559e+00\n",
-      " [316] 1.395333e+00 1.401090e+00 1.406832e+00 1.412558e+00 1.418268e+00\n",
-      " [321] 1.423961e+00 1.429637e+00 1.435297e+00 1.440939e+00 1.446564e+00\n",
-      " [326] 1.452172e+00 1.457762e+00 1.463333e+00 1.468886e+00 1.474421e+00\n",
-      " [331] 1.479937e+00 1.485435e+00 1.490913e+00 1.496372e+00 1.501811e+00\n",
-      " [336] 1.507230e+00 1.512630e+00 1.518009e+00 1.523368e+00 1.528706e+00\n",
-      " [341] 1.534024e+00 1.539320e+00 1.544595e+00 1.549849e+00 1.555081e+00\n",
-      " [346] 1.560291e+00 1.565479e+00 1.570645e+00 1.575788e+00 1.580909e+00\n",
-      " [351] 1.586006e+00 1.591081e+00 1.596132e+00 1.601160e+00 1.606165e+00\n",
-      " [356] 1.611145e+00 1.616101e+00 1.621033e+00 1.625940e+00 1.630823e+00\n",
-      " [361] 1.635681e+00 1.640514e+00 1.645322e+00 1.650104e+00 1.654861e+00\n",
-      " [366] 1.659592e+00 1.664296e+00 1.668975e+00 1.673627e+00 1.678253e+00\n",
-      " [371] 1.682852e+00 1.687424e+00 1.691969e+00 1.696487e+00 1.700978e+00\n",
-      " [376] 1.705440e+00 1.709875e+00 1.714282e+00 1.718661e+00 1.723012e+00\n",
-      " [381] 1.727334e+00 1.731627e+00 1.735892e+00 1.740127e+00 1.744334e+00\n",
-      " [386] 1.748511e+00 1.752658e+00 1.756776e+00 1.760864e+00 1.764923e+00\n",
-      " [391] 1.768951e+00 1.772948e+00 1.776915e+00 1.780852e+00 1.784758e+00\n",
-      " [396] 1.788633e+00 1.792477e+00 1.796290e+00 1.800071e+00 1.803821e+00\n",
-      " [401] 1.807539e+00 1.811225e+00 1.814879e+00 1.818501e+00 1.822091e+00\n",
-      " [406] 1.825649e+00 1.829174e+00 1.832666e+00 1.836126e+00 1.839553e+00\n",
-      " [411] 1.842946e+00 1.846306e+00 1.849633e+00 1.852927e+00 1.856187e+00\n",
-      " [416] 1.859413e+00 1.862605e+00 1.865764e+00 1.868888e+00 1.871978e+00\n",
-      " [421] 1.875034e+00 1.878055e+00 1.881041e+00 1.883993e+00 1.886910e+00\n",
-      " [426] 1.889792e+00 1.892639e+00 1.895451e+00 1.898228e+00 1.900969e+00\n",
-      " [431] 1.903675e+00 1.906345e+00 1.908979e+00 1.911578e+00 1.914140e+00\n",
-      " [436] 1.916667e+00 1.919157e+00 1.921612e+00 1.924030e+00 1.926411e+00\n",
-      " [441] 1.928756e+00 1.931065e+00 1.933337e+00 1.935572e+00 1.937770e+00\n",
-      " [446] 1.939931e+00 1.942055e+00 1.944142e+00 1.946192e+00 1.948205e+00\n",
-      " [451] 1.950180e+00 1.952118e+00 1.954018e+00 1.955881e+00 1.957706e+00\n",
-      " [456] 1.959493e+00 1.961242e+00 1.962954e+00 1.964628e+00 1.966263e+00\n",
-      " [461] 1.967861e+00 1.969421e+00 1.970942e+00 1.972425e+00 1.973870e+00\n",
-      " [466] 1.975276e+00 1.976644e+00 1.977973e+00 1.979264e+00 1.980516e+00\n",
-      " [471] 1.981730e+00 1.982905e+00 1.984041e+00 1.985139e+00 1.986198e+00\n",
-      " [476] 1.987218e+00 1.988198e+00 1.989141e+00 1.990044e+00 1.990908e+00\n",
-      " [481] 1.991733e+00 1.992519e+00 1.993265e+00 1.993973e+00 1.994642e+00\n",
-      " [486] 1.995271e+00 1.995861e+00 1.996412e+00 1.996923e+00 1.997396e+00\n",
-      " [491] 1.997829e+00 1.998223e+00 1.998577e+00 1.998892e+00 1.999168e+00\n",
-      " [496] 1.999404e+00 1.999601e+00 1.999759e+00 1.999877e+00 1.999956e+00\n",
-      " [501] 1.999995e+00 1.999995e+00 1.999956e+00 1.999877e+00 1.999759e+00\n",
-      " [506] 1.999601e+00 1.999404e+00 1.999168e+00 1.998892e+00 1.998577e+00\n",
-      " [511] 1.998223e+00 1.997829e+00 1.997396e+00 1.996923e+00 1.996412e+00\n",
-      " [516] 1.995861e+00 1.995271e+00 1.994642e+00 1.993973e+00 1.993265e+00\n",
-      " [521] 1.992519e+00 1.991733e+00 1.990908e+00 1.990044e+00 1.989141e+00\n",
-      " [526] 1.988198e+00 1.987218e+00 1.986198e+00 1.985139e+00 1.984041e+00\n",
-      " [531] 1.982905e+00 1.981730e+00 1.980516e+00 1.979264e+00 1.977973e+00\n",
-      " [536] 1.976644e+00 1.975276e+00 1.973870e+00 1.972425e+00 1.970942e+00\n",
-      " [541] 1.969421e+00 1.967861e+00 1.966263e+00 1.964628e+00 1.962954e+00\n",
-      " [546] 1.961242e+00 1.959493e+00 1.957706e+00 1.955881e+00 1.954018e+00\n",
-      " [551] 1.952118e+00 1.950180e+00 1.948205e+00 1.946192e+00 1.944142e+00\n",
-      " [556] 1.942055e+00 1.939931e+00 1.937770e+00 1.935572e+00 1.933337e+00\n",
-      " [561] 1.931065e+00 1.928756e+00 1.926411e+00 1.924030e+00 1.921612e+00\n",
-      " [566] 1.919157e+00 1.916667e+00 1.914140e+00 1.911578e+00 1.908979e+00\n",
-      " [571] 1.906345e+00 1.903675e+00 1.900969e+00 1.898228e+00 1.895451e+00\n",
-      " [576] 1.892639e+00 1.889792e+00 1.886910e+00 1.883993e+00 1.881041e+00\n",
-      " [581] 1.878055e+00 1.875034e+00 1.871978e+00 1.868888e+00 1.865764e+00\n",
-      " [586] 1.862605e+00 1.859413e+00 1.856187e+00 1.852927e+00 1.849633e+00\n",
-      " [591] 1.846306e+00 1.842946e+00 1.839553e+00 1.836126e+00 1.832666e+00\n",
-      " [596] 1.829174e+00 1.825649e+00 1.822091e+00 1.818501e+00 1.814879e+00\n",
-      " [601] 1.811225e+00 1.807539e+00 1.803821e+00 1.800071e+00 1.796290e+00\n",
-      " [606] 1.792477e+00 1.788633e+00 1.784758e+00 1.780852e+00 1.776915e+00\n",
-      " [611] 1.772948e+00 1.768951e+00 1.764923e+00 1.760864e+00 1.756776e+00\n",
-      " [616] 1.752658e+00 1.748511e+00 1.744334e+00 1.740127e+00 1.735892e+00\n",
-      " [621] 1.731627e+00 1.727334e+00 1.723012e+00 1.718661e+00 1.714282e+00\n",
-      " [626] 1.709875e+00 1.705440e+00 1.700978e+00 1.696487e+00 1.691969e+00\n",
-      " [631] 1.687424e+00 1.682852e+00 1.678253e+00 1.673627e+00 1.668975e+00\n",
-      " [636] 1.664296e+00 1.659592e+00 1.654861e+00 1.650104e+00 1.645322e+00\n",
-      " [641] 1.640514e+00 1.635681e+00 1.630823e+00 1.625940e+00 1.621033e+00\n",
-      " [646] 1.616101e+00 1.611145e+00 1.606165e+00 1.601160e+00 1.596132e+00\n",
-      " [651] 1.591081e+00 1.586006e+00 1.580909e+00 1.575788e+00 1.570645e+00\n",
-      " [656] 1.565479e+00 1.560291e+00 1.555081e+00 1.549849e+00 1.544595e+00\n",
-      " [661] 1.539320e+00 1.534024e+00 1.528706e+00 1.523368e+00 1.518009e+00\n",
-      " [666] 1.512630e+00 1.507230e+00 1.501811e+00 1.496372e+00 1.490913e+00\n",
-      " [671] 1.485435e+00 1.479937e+00 1.474421e+00 1.468886e+00 1.463333e+00\n",
-      " [676] 1.457762e+00 1.452172e+00 1.446564e+00 1.440939e+00 1.435297e+00\n",
-      " [681] 1.429637e+00 1.423961e+00 1.418268e+00 1.412558e+00 1.406832e+00\n",
-      " [686] 1.401090e+00 1.395333e+00 1.389559e+00 1.383770e+00 1.377967e+00\n",
-      " [691] 1.372148e+00 1.366315e+00 1.360467e+00 1.354605e+00 1.348729e+00\n",
-      " [696] 1.342839e+00 1.336936e+00 1.331020e+00 1.325090e+00 1.319148e+00\n",
-      " [701] 1.313193e+00 1.307226e+00 1.301246e+00 1.295255e+00 1.289252e+00\n",
-      " [706] 1.283238e+00 1.277212e+00 1.271176e+00 1.265129e+00 1.259072e+00\n",
-      " [711] 1.253004e+00 1.246926e+00 1.240839e+00 1.234742e+00 1.228636e+00\n",
-      " [716] 1.222521e+00 1.216397e+00 1.210265e+00 1.204124e+00 1.197975e+00\n",
-      " [721] 1.191819e+00 1.185655e+00 1.179483e+00 1.173305e+00 1.167119e+00\n",
-      " [726] 1.160928e+00 1.154729e+00 1.148525e+00 1.142315e+00 1.136099e+00\n",
-      " [731] 1.129878e+00 1.123652e+00 1.117421e+00 1.111185e+00 1.104945e+00\n",
-      " [736] 1.098700e+00 1.092452e+00 1.086200e+00 1.079945e+00 1.073687e+00\n",
-      " [741] 1.067426e+00 1.061162e+00 1.054895e+00 1.048627e+00 1.042356e+00\n",
-      " [746] 1.036084e+00 1.029811e+00 1.023536e+00 1.017261e+00 1.010984e+00\n",
-      " [751] 1.004708e+00 9.984308e-01 9.921539e-01 9.858774e-01 9.796015e-01\n",
-      " [756] 9.733263e-01 9.670522e-01 9.607794e-01 9.545081e-01 9.482386e-01\n",
-      " [761] 9.419712e-01 9.357061e-01 9.294435e-01 9.231836e-01 9.169268e-01\n",
-      " [766] 9.106733e-01 9.044233e-01 8.981770e-01 8.919348e-01 8.856968e-01\n",
-      " [771] 8.794633e-01 8.732346e-01 8.670109e-01 8.607924e-01 8.545794e-01\n",
-      " [776] 8.483721e-01 8.421708e-01 8.359757e-01 8.297871e-01 8.236051e-01\n",
-      " [781] 8.174302e-01 8.112624e-01 8.051021e-01 7.989494e-01 7.928047e-01\n",
-      " [786] 7.866681e-01 7.805399e-01 7.744204e-01 7.683098e-01 7.622083e-01\n",
-      " [791] 7.561161e-01 7.500336e-01 7.439609e-01 7.378983e-01 7.318461e-01\n",
-      " [796] 7.258043e-01 7.197735e-01 7.137536e-01 7.077450e-01 7.017480e-01\n",
-      " [801] 6.957626e-01 6.897893e-01 6.838282e-01 6.778796e-01 6.719436e-01\n",
-      " [806] 6.660206e-01 6.601107e-01 6.542142e-01 6.483314e-01 6.424624e-01\n",
-      " [811] 6.366074e-01 6.307668e-01 6.249408e-01 6.191295e-01 6.133333e-01\n",
-      " [816] 6.075522e-01 6.017867e-01 5.960368e-01 5.903028e-01 5.845850e-01\n",
-      " [821] 5.788835e-01 5.731987e-01 5.675306e-01 5.618796e-01 5.562459e-01\n",
-      " [826] 5.506296e-01 5.450310e-01 5.394504e-01 5.338879e-01 5.283438e-01\n",
-      " [831] 5.228183e-01 5.173115e-01 5.118238e-01 5.063553e-01 5.009063e-01\n",
-      " [836] 4.954769e-01 4.900674e-01 4.846780e-01 4.793089e-01 4.739603e-01\n",
-      " [841] 4.686324e-01 4.633255e-01 4.580397e-01 4.527753e-01 4.475324e-01\n",
-      " [846] 4.423113e-01 4.371122e-01 4.319353e-01 4.267807e-01 4.216487e-01\n",
-      " [851] 4.165395e-01 4.114533e-01 4.063903e-01 4.013506e-01 3.963346e-01\n",
-      " [856] 3.913423e-01 3.863740e-01 3.814299e-01 3.765102e-01 3.716150e-01\n",
-      " [861] 3.667446e-01 3.618992e-01 3.570788e-01 3.522838e-01 3.475144e-01\n",
-      " [866] 3.427706e-01 3.380527e-01 3.333610e-01 3.286954e-01 3.240564e-01\n",
-      " [871] 3.194439e-01 3.148583e-01 3.102997e-01 3.057682e-01 3.012641e-01\n",
-      " [876] 2.967875e-01 2.923386e-01 2.879176e-01 2.835247e-01 2.791600e-01\n",
-      " [881] 2.748237e-01 2.705160e-01 2.662370e-01 2.619869e-01 2.577659e-01\n",
-      " [886] 2.535741e-01 2.494118e-01 2.452790e-01 2.411759e-01 2.371028e-01\n",
-      " [891] 2.330597e-01 2.290468e-01 2.250643e-01 2.211124e-01 2.171911e-01\n",
-      " [896] 2.133006e-01 2.094412e-01 2.056129e-01 2.018159e-01 1.980504e-01\n",
-      " [901] 1.943164e-01 1.906142e-01 1.869439e-01 1.833056e-01 1.796995e-01\n",
-      " [906] 1.761257e-01 1.725844e-01 1.690757e-01 1.655997e-01 1.621566e-01\n",
-      " [911] 1.587465e-01 1.553695e-01 1.520258e-01 1.487156e-01 1.454388e-01\n",
-      " [916] 1.421958e-01 1.389865e-01 1.358112e-01 1.326699e-01 1.295628e-01\n",
-      " [921] 1.264899e-01 1.234515e-01 1.204476e-01 1.174784e-01 1.145440e-01\n",
-      " [926] 1.116444e-01 1.087799e-01 1.059504e-01 1.031562e-01 1.003973e-01\n",
-      " [931] 9.767385e-02 9.498595e-02 9.233372e-02 8.971724e-02 8.713663e-02\n",
-      " [936] 8.459199e-02 8.208341e-02 7.961100e-02 7.717485e-02 7.477507e-02\n",
-      " [941] 7.241173e-02 7.008494e-02 6.779479e-02 6.554136e-02 6.332476e-02\n",
-      " [946] 6.114506e-02 5.900234e-02 5.689671e-02 5.482823e-02 5.279699e-02\n",
-      " [951] 5.080307e-02 4.884655e-02 4.692750e-02 4.504600e-02 4.320213e-02\n",
-      " [956] 4.139596e-02 3.962755e-02 3.789698e-02 3.620432e-02 3.454963e-02\n",
-      " [961] 3.293298e-02 3.135443e-02 2.981404e-02 2.831188e-02 2.684801e-02\n",
-      " [966] 2.542247e-02 2.403534e-02 2.268665e-02 2.137647e-02 2.010485e-02\n",
-      " [971] 1.887184e-02 1.767748e-02 1.652183e-02 1.540492e-02 1.432681e-02\n",
-      " [976] 1.328753e-02 1.228712e-02 1.132564e-02 1.040310e-02 9.519556e-03\n",
-      " [981] 8.675035e-03 7.869572e-03 7.103199e-03 6.375945e-03 5.687839e-03\n",
-      " [986] 5.038909e-03 4.429179e-03 3.858675e-03 3.327418e-03 2.835429e-03\n",
-      " [991] 2.382728e-03 1.969332e-03 1.595259e-03 1.260522e-03 9.651344e-04\n",
-      " [996] 7.091086e-04 4.924543e-04 3.151801e-04 1.772929e-04 7.879812e-05\n",
-      "[1001] 1.969972e-05\n"
-     ]
+     "data": {
+      "text/html": [
+       "6.15074657872583e-12"
+      ],
+      "text/latex": [
+       "6.15074657872583e-12"
+      ],
+      "text/markdown": [
+       "6.15074657872583e-12"
+      ],
+      "text/plain": [
+       "[1] 6.150747e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-1.04640939129256e-11"
+      ],
+      "text/latex": [
+       "-1.04640939129256e-11"
+      ],
+      "text/markdown": [
+       "-1.04640939129256e-11"
+      ],
+      "text/plain": [
+       "[1] -1.046409e-11"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-1.04640939129256e-11"
+      ],
+      "text/latex": [
+       "-1.04640939129256e-11"
+      ],
+      "text/markdown": [
+       "-1.04640939129256e-11"
+      ],
+      "text/plain": [
+       "[1] -1.046409e-11"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-6.15080208987706e-12"
+      ],
+      "text/latex": [
+       "-6.15080208987706e-12"
+      ],
+      "text/markdown": [
+       "-6.15080208987706e-12"
+      ],
+      "text/plain": [
+       "[1] -6.150802e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
     }
    ],
    "source": [
-    "print(haan(times, T))"
+    "Qmat[1,1] - hprod(cos(omega1*times), cos(omega1*times), times)\n",
+    "Qmat[1,2] - hprod(cos(omega1*times), sin(omega1*times), times)\n",
+    "Qmat[2,1] - hprod(sin(omega1*times), cos(omega1*times), times)\n",
+    "Qmat[2,2] - hprod(sin(omega1*times), sin(omega1*times), times)\n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
-   "id": "563ee16f-8066-41b2-b678-52d366b56d51",
+   "execution_count": 306,
+   "id": "b9d5a7b0-66d5-4103-975d-62258b17ae10",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<table class=\"dataframe\">\n",
+       "<caption>A matrix: 2 × 2 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td> 0.0011444968</td><td>0.0003944598</td></tr>\n",
+       "\t<tr><td>-0.0005148489</td><td>0.0009811628</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n"
+      ],
+      "text/latex": [
+       "A matrix: 2 × 2 of type dbl\n",
+       "\\begin{tabular}{ll}\n",
+       "\t  0.0011444968 & 0.0003944598\\\\\n",
+       "\t -0.0005148489 & 0.0009811628\\\\\n",
+       "\\end{tabular}\n"
+      ],
+      "text/markdown": [
+       "\n",
+       "A matrix: 2 × 2 of type dbl\n",
+       "\n",
+       "|  0.0011444968 | 0.0003944598 |\n",
+       "| -0.0005148489 | 0.0009811628 |\n",
+       "\n"
+      ],
+      "text/plain": [
+       "     [,1]          [,2]        \n",
+       "[1,]  0.0011444968 0.0003944598\n",
+       "[2,] -0.0005148489 0.0009811628"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "6.25971973908235e-12"
+      ],
+      "text/latex": [
+       "6.25971973908235e-12"
+      ],
+      "text/markdown": [
+       "6.25971973908235e-12"
+      ],
+      "text/plain": [
+       "[1] 6.25972e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-2.93520443410758e-12"
+      ],
+      "text/latex": [
+       "-2.93520443410758e-12"
+      ],
+      "text/markdown": [
+       "-2.93520443410758e-12"
+      ],
+      "text/plain": [
+       "[1] -2.935204e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-4.16815030841039e-12"
+      ],
+      "text/latex": [
+       "-4.16815030841039e-12"
+      ],
+      "text/markdown": [
+       "-4.16815030841039e-12"
+      ],
+      "text/plain": [
+       "[1] -4.16815e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-3.37742876201086e-12"
+      ],
+      "text/latex": [
+       "-3.37742876201086e-12"
+      ],
+      "text/markdown": [
+       "-3.37742876201086e-12"
+      ],
+      "text/plain": [
+       "[1] -3.377429e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "Qmat_test <- quarto(omega1,omega2)\n",
+    "Qmat_test\n",
+    "Qmat_test[1,1] - hprod(cos(omega1*times), cos(omega2*times), times)\n",
+    "Qmat_test[1,2] - hprod(cos(omega1*times), sin(omega2*times), times)\n",
+    "Qmat_test[2,1] - hprod(sin(omega1*times), cos(omega2*times), times)\n",
+    "Qmat_test[2,2] - hprod(sin(omega1*times), sin(omega2*times), times)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 307,
+   "id": "3217984c-e212-4837-8111-84c61ebd1a70",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "sol <- solve(Qmat, c(cosbit, sinbit))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 308,
+   "id": "d506983e-5e41-48d0-a3a9-f87ca1031959",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1] 0.4000256\n",
+      "[1] 0.4\n"
+     ]
+    },
+    {
+     "data": {
+      "text/html": [
+       "0.999999999976419"
+      ],
+      "text/latex": [
+       "0.999999999976419"
+      ],
+      "text/markdown": [
+       "0.999999999976419"
+      ],
+      "text/plain": [
+       "[1] 1"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "phase_rough <- atan(sinbit / -cosbit)\n",
+    "phase_corrected <- atan(sol[2] / -sol[1])\n",
+    "print(phase_rough)\n",
+    "print(phase_corrected)\n",
+    "sqrt ( (sol[1]^2 + sol[2]^2) ) "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "db79227d-8b1e-4565-ac59-6b7d81401ff7",
+   "metadata": {},
+   "source": [
+    "So as we see it we recover almost perfectly the signal phase if we account for the cross product between sin and cos. This was expected but there is a tiny bias on the amplitude. Maybe that's the thing to worry about."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 309,
+   "id": "77c32f36-c186-4cd3-9795-1aa9c22da24a",
+   "metadata": {},
+   "outputs": [],
+   "source": [
+    "sinbit <- hprod(signal, sin(omega1*times), times)\n",
+    "cosbit <- hprod(signal, cos(omega1*times), times)\n",
+    "Qmat <- quarto(omega1,omega1)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 310,
+   "id": "47635f3f-8d00-4ede-a7f1-1137834e53e6",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1] 0.4003161\n"
+     ]
+    }
+   ],
+   "source": [
+    "sol <- solve(Qmat, c(cosbit, sinbit))\n",
+    "print ( atan(sol[2] / -sol[1])) "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2826b791-760e-4d84-91c5-e78b9d151602",
+   "metadata": {},
+   "source": [
+    "So this time I have a slight phase shift becaeuse I have not orthoganalised with respect to the omega2 part of the signal. But we could to this:"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 340,
+   "id": "1203347d-221a-4b7b-a6f3-603617fb5e56",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<style>\n",
+       ".list-inline {list-style: none; margin:0; padding: 0}\n",
+       ".list-inline>li {display: inline-block}\n",
+       ".list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n",
+       "</style>\n",
+       "<ol class=list-inline><li>0.4616610795258</li><li>-0.195373102615154</li><li>0.497631690310978</li><li>-0.0615816292261174</li></ol>\n"
+      ],
+      "text/latex": [
+       "\\begin{enumerate*}\n",
+       "\\item 0.4616610795258\n",
+       "\\item -0.195373102615154\n",
+       "\\item 0.497631690310978\n",
+       "\\item -0.0615816292261174\n",
+       "\\end{enumerate*}\n"
+      ],
+      "text/markdown": [
+       "1. 0.4616610795258\n",
+       "2. -0.195373102615154\n",
+       "3. 0.497631690310978\n",
+       "4. -0.0615816292261174\n",
+       "\n",
+       "\n"
+      ],
+      "text/plain": [
+       "[1]  0.46166108 -0.19537310  0.49763169 -0.06158163"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "<style>\n",
+       ".list-inline {list-style: none; margin:0; padding: 0}\n",
+       ".list-inline>li {display: inline-block}\n",
+       ".list-inline>li:not(:last-child)::after {content: \"\\00b7\"; padding: 0 .5ex}\n",
+       "</style>\n",
+       "<ol class=list-inline><li>0.9210609939703</li><li>-0.389418342286748</li><li>0.99239587668744</li><li>-0.123087058208318</li></ol>\n"
+      ],
+      "text/latex": [
+       "\\begin{enumerate*}\n",
+       "\\item 0.9210609939703\n",
+       "\\item -0.389418342286748\n",
+       "\\item 0.99239587668744\n",
+       "\\item -0.123087058208318\n",
+       "\\end{enumerate*}\n"
+      ],
+      "text/markdown": [
+       "1. 0.9210609939703\n",
+       "2. -0.389418342286748\n",
+       "3. 0.99239587668744\n",
+       "4. -0.123087058208318\n",
+       "\n",
+       "\n"
+      ],
+      "text/plain": [
+       "[1]  0.9210610 -0.3894183  0.9923959 -0.1230871"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "sinbit2 <- hprod(signal, sin(omega2*times), times)\n",
+    "cosbit2 <- hprod(signal, cos(omega2*times), times)\n",
+    "Qmat <- matrix (NA, 4,4)\n",
+    "Qmat[1:2,1:2] <- quarto(omega1, omega1)\n",
+    "Qmat[3:4,1:2] <- quarto(omega2, omega1)\n",
+    "Qmat[1:2,3:4] <- quarto(omega1, omega2)\n",
+    "Qmat[3:4,3:4] <- quarto(omega2, omega2)\n",
+    "S <- c(cosbit, sinbit, cosbit2, sinbit2)\n",
+    "S\n",
+    "sol <- solve(Qmat, S)\n",
+    "sol"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 312,
+   "id": "eaa53773-27f8-4acd-90ac-1dfb8683f641",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1] 0.4\n"
+     ]
+    }
+   ],
+   "source": [
+    "print ( atan(sol[2] / -sol[1]))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 313,
+   "id": "b9721036-bc47-4ec5-bafa-72adeaf4a198",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1] 0.1234\n"
+     ]
+    }
+   ],
+   "source": [
+    "print ( atan(sol[4] / -sol[3]))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 314,
+   "id": "ed292840-4353-4dd1-a592-b6b98da792aa",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "0.1234"
+      ],
+      "text/latex": [
+       "0.1234"
+      ],
+      "text/markdown": [
+       "0.1234"
+      ],
+      "text/plain": [
+       "[1] 0.1234"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "phi2"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 315,
+   "id": "9aa9a028-ed42-4989-8c32-13416f3d4822",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<table class=\"dataframe\">\n",
+       "<caption>A matrix: 4 × 4 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td> 5.000274e-01</td><td>-4.656294e-05</td><td> 1.144497e-03</td><td> 3.944598e-04</td></tr>\n",
+       "\t<tr><td>-4.656294e-05</td><td> 4.999726e-01</td><td>-5.148489e-04</td><td> 9.811628e-04</td></tr>\n",
+       "\t<tr><td> 1.144497e-03</td><td>-5.148489e-04</td><td> 5.001754e-01</td><td>-4.123781e-05</td></tr>\n",
+       "\t<tr><td> 3.944598e-04</td><td> 9.811628e-04</td><td>-4.123781e-05</td><td> 4.998246e-01</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n"
+      ],
+      "text/latex": [
+       "A matrix: 4 × 4 of type dbl\n",
+       "\\begin{tabular}{llll}\n",
+       "\t  5.000274e-01 & -4.656294e-05 &  1.144497e-03 &  3.944598e-04\\\\\n",
+       "\t -4.656294e-05 &  4.999726e-01 & -5.148489e-04 &  9.811628e-04\\\\\n",
+       "\t  1.144497e-03 & -5.148489e-04 &  5.001754e-01 & -4.123781e-05\\\\\n",
+       "\t  3.944598e-04 &  9.811628e-04 & -4.123781e-05 &  4.998246e-01\\\\\n",
+       "\\end{tabular}\n"
+      ],
+      "text/markdown": [
+       "\n",
+       "A matrix: 4 × 4 of type dbl\n",
+       "\n",
+       "|  5.000274e-01 | -4.656294e-05 |  1.144497e-03 |  3.944598e-04 |\n",
+       "| -4.656294e-05 |  4.999726e-01 | -5.148489e-04 |  9.811628e-04 |\n",
+       "|  1.144497e-03 | -5.148489e-04 |  5.001754e-01 | -4.123781e-05 |\n",
+       "|  3.944598e-04 |  9.811628e-04 | -4.123781e-05 |  4.998246e-01 |\n",
+       "\n"
+      ],
+      "text/plain": [
+       "     [,1]          [,2]          [,3]          [,4]         \n",
+       "[1,]  5.000274e-01 -4.656294e-05  1.144497e-03  3.944598e-04\n",
+       "[2,] -4.656294e-05  4.999726e-01 -5.148489e-04  9.811628e-04\n",
+       "[3,]  1.144497e-03 -5.148489e-04  5.001754e-01 -4.123781e-05\n",
+       "[4,]  3.944598e-04  9.811628e-04 -4.123781e-05  4.998246e-01"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "Qmat"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 316,
+   "id": "2c0af5bc-abf1-45c0-8e7a-cfb8c179cadb",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "3.37742876201086e-12"
+      ],
+      "text/latex": [
+       "3.37742876201086e-12"
+      ],
+      "text/markdown": [
+       "3.37742876201086e-12"
+      ],
+      "text/plain": [
+       "[1] 3.377429e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "[1]  0.9210610 -0.3894183  0.9923959 -0.1230871\n",
+      "[1]  0.9210610 -0.3894183  0.9923959 -0.1230871\n"
+     ]
+    }
+   ],
+   "source": [
+    "hprod(sin(omega1*times), sin(omega2*times), times) - Qmat[2,4]\n",
+    "\n",
+    "print(sol)\n",
+    "print(c(a1,a2,a3,a4))"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 317,
+   "id": "4ecbfdc6-3a58-4b58-83f7-a4c74878f706",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "100.1"
+      ],
+      "text/latex": [
+       "100.1"
+      ],
+      "text/markdown": [
+       "100.1"
+      ],
+      "text/plain": [
+       "[1] 100.1"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "N"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 324,
+   "id": "78f3e607-8967-4841-a67e-62cb9403d5cf",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "0.4616610795258"
+      ],
+      "text/latex": [
+       "0.4616610795258"
+      ],
+      "text/markdown": [
+       "0.4616610795258"
+      ],
+      "text/plain": [
+       "[1] 0.4616611"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "0.460573783396488"
+      ],
+      "text/latex": [
+       "0.460573783396488"
+      ],
+      "text/markdown": [
+       "0.460573783396488"
+      ],
+      "text/plain": [
+       "[1] 0.4605738"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "0.4616610795258"
+      ],
+      "text/latex": [
+       "0.4616610795258"
+      ],
+      "text/markdown": [
+       "0.4616610795258"
+      ],
+      "text/plain": [
+       "[1] 0.4616611"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "6.15074657872583e-12"
+      ],
+      "text/latex": [
+       "6.15074657872583e-12"
+      ],
+      "text/markdown": [
+       "6.15074657872583e-12"
+      ],
+      "text/plain": [
+       "[1] 6.150747e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-1.04640939129256e-11"
+      ],
+      "text/latex": [
+       "-1.04640939129256e-11"
+      ],
+      "text/markdown": [
+       "-1.04640939129256e-11"
+      ],
+      "text/plain": [
+       "[1] -1.046409e-11"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "6.25971973908235e-12"
+      ],
+      "text/latex": [
+       "6.25971973908235e-12"
+      ],
+      "text/markdown": [
+       "6.25971973908235e-12"
+      ],
+      "text/plain": [
+       "[1] 6.25972e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-4.16815030841039e-12"
+      ],
+      "text/latex": [
+       "-4.16815030841039e-12"
+      ],
+      "text/markdown": [
+       "-4.16815030841039e-12"
+      ],
+      "text/plain": [
+       "[1] -4.16815e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-3.19687642514905e-13"
+      ],
+      "text/latex": [
+       "-3.19687642514905e-13"
+      ],
+      "text/markdown": [
+       "-3.19687642514905e-13"
+      ],
+      "text/plain": [
+       "[1] -3.196876e-13"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "-2.93520443410758e-12"
+      ],
+      "text/latex": [
+       "-2.93520443410758e-12"
+      ],
+      "text/markdown": [
+       "-2.93520443410758e-12"
+      ],
+      "text/plain": [
+       "[1] -2.935204e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "hprod(signal,v1,times)\n",
+    "a1*Qmat[1,1] + a2*Qmat[1,2] + a3 * Qmat[1,3] * a4 * Qmat[1,4]\n",
+    "a1*hprod(v1, v1, times) + a2 * hprod(v1,v2,times) + a3*hprod(v1,v3,times) + a4*hprod(v1,v4,times)\n",
+    "\n",
+    "\n",
+    "Qmat[1,1] - hprod(v1,v1,times)\n",
+    "Qmat[1,2] - hprod(v1,v2,times)\n",
+    "Qmat[1,3] - hprod(v1,v3,times)\n",
+    "Qmat[2,3] - hprod(v2,v3,times)\n",
+    "\n",
+    "Qmat[3,4] - hprod(v3,v4,times)\n",
+    "Qmat[1,4] -  hprod(v1,v4,times)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 329,
+   "id": "3371254a-6c0f-4cfa-a53b-152a1e5d81c8",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "-9.73994026911055e-12"
+      ],
+      "text/latex": [
+       "-9.73994026911055e-12"
+      ],
+      "text/markdown": [
+       "-9.73994026911055e-12"
+      ],
+      "text/plain": [
+       "[1] -9.73994e-12"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "hprod(signal_single, v1, times) - a1 * Qmat[1,1] - a2 * Qmat[2,1]"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 331,
+   "id": "996af80c-8ff7-4d47-a5e2-ef8dfd7977dc",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<table class=\"dataframe\">\n",
+       "<caption>A matrix: 4 × 4 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td> 5.000274e-01</td><td>-4.656294e-05</td><td> 1.144497e-03</td><td> 3.944598e-04</td></tr>\n",
+       "\t<tr><td>-4.656294e-05</td><td> 4.999726e-01</td><td>-5.148489e-04</td><td> 9.811628e-04</td></tr>\n",
+       "\t<tr><td> 1.144497e-03</td><td>-5.148489e-04</td><td> 5.001754e-01</td><td>-4.123781e-05</td></tr>\n",
+       "\t<tr><td> 3.944598e-04</td><td> 9.811628e-04</td><td>-4.123781e-05</td><td> 4.998246e-01</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n"
+      ],
+      "text/latex": [
+       "A matrix: 4 × 4 of type dbl\n",
+       "\\begin{tabular}{llll}\n",
+       "\t  5.000274e-01 & -4.656294e-05 &  1.144497e-03 &  3.944598e-04\\\\\n",
+       "\t -4.656294e-05 &  4.999726e-01 & -5.148489e-04 &  9.811628e-04\\\\\n",
+       "\t  1.144497e-03 & -5.148489e-04 &  5.001754e-01 & -4.123781e-05\\\\\n",
+       "\t  3.944598e-04 &  9.811628e-04 & -4.123781e-05 &  4.998246e-01\\\\\n",
+       "\\end{tabular}\n"
+      ],
+      "text/markdown": [
+       "\n",
+       "A matrix: 4 × 4 of type dbl\n",
+       "\n",
+       "|  5.000274e-01 | -4.656294e-05 |  1.144497e-03 |  3.944598e-04 |\n",
+       "| -4.656294e-05 |  4.999726e-01 | -5.148489e-04 |  9.811628e-04 |\n",
+       "|  1.144497e-03 | -5.148489e-04 |  5.001754e-01 | -4.123781e-05 |\n",
+       "|  3.944598e-04 |  9.811628e-04 | -4.123781e-05 |  4.998246e-01 |\n",
+       "\n"
+      ],
+      "text/plain": [
+       "     [,1]          [,2]          [,3]          [,4]         \n",
+       "[1,]  5.000274e-01 -4.656294e-05  1.144497e-03  3.944598e-04\n",
+       "[2,] -4.656294e-05  4.999726e-01 -5.148489e-04  9.811628e-04\n",
+       "[3,]  1.144497e-03 -5.148489e-04  5.001754e-01 -4.123781e-05\n",
+       "[4,]  3.944598e-04  9.811628e-04 -4.123781e-05  4.998246e-01"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "Qmat"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 341,
+   "id": "5414caa5-f263-4860-89a5-f1468bac7ec1",
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "Loading required package: pracma\n",
+      "\n"
+     ]
+    }
+   ],
+   "source": [
+    "require(pracma)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 342,
+   "id": "1b34c634-3a2c-4818-a549-61bb30e0c9ec",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "<dl>\n",
+       "\t<dt>$Q</dt>\n",
+       "\t\t<dd><table class=\"dataframe\">\n",
+       "<caption>A matrix: 4 × 4 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td> 9.999971e-01</td><td> 9.392831e-05</td><td>-2.288700e-03</td><td>-7.892456e-04</td></tr>\n",
+       "\t<tr><td>-9.312051e-05</td><td> 9.999975e-01</td><td> 1.029699e-03</td><td>-1.962417e-03</td></tr>\n",
+       "\t<tr><td> 2.288862e-03</td><td>-1.029324e-03</td><td> 9.999968e-01</td><td> 8.223247e-05</td></tr>\n",
+       "\t<tr><td> 7.888741e-04</td><td> 1.962576e-03</td><td>-8.201804e-05</td><td> 9.999978e-01</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n",
+       "</dd>\n",
+       "\t<dt>$R</dt>\n",
+       "\t\t<dd><table class=\"dataframe\">\n",
+       "<caption>A matrix: 4 × 4 of type dbl</caption>\n",
+       "<tbody>\n",
+       "\t<tr><td>0.5000288</td><td>-9.352492e-05</td><td> 0.002289341</td><td> 7.885716e-04</td></tr>\n",
+       "\t<tr><td>0.0000000</td><td> 4.999739e-01</td><td>-0.001029663</td><td> 1.962184e-03</td></tr>\n",
+       "\t<tr><td>0.0000000</td><td> 0.000000e+00</td><td> 0.500170644</td><td>-8.212482e-05</td></tr>\n",
+       "\t<tr><td>0.0000000</td><td> 0.000000e+00</td><td> 0.000000000</td><td> 4.998213e-01</td></tr>\n",
+       "</tbody>\n",
+       "</table>\n",
+       "</dd>\n",
+       "</dl>\n"
+      ],
+      "text/latex": [
+       "\\begin{description}\n",
+       "\\item[\\$Q] A matrix: 4 × 4 of type dbl\n",
+       "\\begin{tabular}{llll}\n",
+       "\t  9.999971e-01 &  9.392831e-05 & -2.288700e-03 & -7.892456e-04\\\\\n",
+       "\t -9.312051e-05 &  9.999975e-01 &  1.029699e-03 & -1.962417e-03\\\\\n",
+       "\t  2.288862e-03 & -1.029324e-03 &  9.999968e-01 &  8.223247e-05\\\\\n",
+       "\t  7.888741e-04 &  1.962576e-03 & -8.201804e-05 &  9.999978e-01\\\\\n",
+       "\\end{tabular}\n",
+       "\n",
+       "\\item[\\$R] A matrix: 4 × 4 of type dbl\n",
+       "\\begin{tabular}{llll}\n",
+       "\t 0.5000288 & -9.352492e-05 &  0.002289341 &  7.885716e-04\\\\\n",
+       "\t 0.0000000 &  4.999739e-01 & -0.001029663 &  1.962184e-03\\\\\n",
+       "\t 0.0000000 &  0.000000e+00 &  0.500170644 & -8.212482e-05\\\\\n",
+       "\t 0.0000000 &  0.000000e+00 &  0.000000000 &  4.998213e-01\\\\\n",
+       "\\end{tabular}\n",
+       "\n",
+       "\\end{description}\n"
+      ],
+      "text/markdown": [
+       "$Q\n",
+       ":   \n",
+       "A matrix: 4 × 4 of type dbl\n",
+       "\n",
+       "|  9.999971e-01 |  9.392831e-05 | -2.288700e-03 | -7.892456e-04 |\n",
+       "| -9.312051e-05 |  9.999975e-01 |  1.029699e-03 | -1.962417e-03 |\n",
+       "|  2.288862e-03 | -1.029324e-03 |  9.999968e-01 |  8.223247e-05 |\n",
+       "|  7.888741e-04 |  1.962576e-03 | -8.201804e-05 |  9.999978e-01 |\n",
+       "\n",
+       "\n",
+       "$R\n",
+       ":   \n",
+       "A matrix: 4 × 4 of type dbl\n",
+       "\n",
+       "| 0.5000288 | -9.352492e-05 |  0.002289341 |  7.885716e-04 |\n",
+       "| 0.0000000 |  4.999739e-01 | -0.001029663 |  1.962184e-03 |\n",
+       "| 0.0000000 |  0.000000e+00 |  0.500170644 | -8.212482e-05 |\n",
+       "| 0.0000000 |  0.000000e+00 |  0.000000000 |  4.998213e-01 |\n",
+       "\n",
+       "\n",
+       "\n",
+       "\n"
+      ],
+      "text/plain": [
+       "$Q\n",
+       "              [,1]          [,2]          [,3]          [,4]\n",
+       "[1,]  9.999971e-01  9.392831e-05 -2.288700e-03 -7.892456e-04\n",
+       "[2,] -9.312051e-05  9.999975e-01  1.029699e-03 -1.962417e-03\n",
+       "[3,]  2.288862e-03 -1.029324e-03  9.999968e-01  8.223247e-05\n",
+       "[4,]  7.888741e-04  1.962576e-03 -8.201804e-05  9.999978e-01\n",
+       "\n",
+       "$R\n",
+       "          [,1]          [,2]         [,3]          [,4]\n",
+       "[1,] 0.5000288 -9.352492e-05  0.002289341  7.885716e-04\n",
+       "[2,] 0.0000000  4.999739e-01 -0.001029663  1.962184e-03\n",
+       "[3,] 0.0000000  0.000000e+00  0.500170644 -8.212482e-05\n",
+       "[4,] 0.0000000  0.000000e+00  0.000000000  4.998213e-01\n"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "gramSchmidt(Qmat)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 343,
+   "id": "b388c8ee-721d-41de-ac4f-3cf6b0643c16",
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/html": [
+       "0.4"
+      ],
+      "text/latex": [
+       "0.4"
+      ],
+      "text/markdown": [
+       "0.4"
+      ],
+      "text/plain": [
+       "[1] 0.4"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    },
+    {
+     "data": {
+      "text/html": [
+       "0.1234"
+      ],
+      "text/latex": [
+       "0.1234"
+      ],
+      "text/markdown": [
+       "0.1234"
+      ],
+      "text/plain": [
+       "[1] 0.1234"
+      ]
+     },
+     "metadata": {},
+     "output_type": "display_data"
+    }
+   ],
+   "source": [
+    "phi1\n",
+    "phi2"
+   ]
   }
  ],
  "metadata": {
-- 
GitLab