Quadratic extensions of cyclotomic numbers by absolute values of elements Summary
I was wondering whether there is an explicit description of the extension $\mathbb{Q}(\zeta_n, |z|)/\mathbb{Q}$ obtained from a cyclotomic field $\mathbb{Q}(\zeta_n)$ by adjoining any finite number of absolute values $|z| := \sqrt{z\overline{z}} \in \mathbb{R}^+$ of elements $z \in \mathbb{Q}(\zeta_n)$. I am of course interested in the cases where the absolute value $|z|$ is not itself a cyclotomic number, i.e. where $\mathbb{Q}(\zeta_n, |z|)/\mathbb{Q}$ is not an abelian extension, but see below for an additional desideratum.
Example of non-cyclotomic absolute value
As an example of an absolute value of interest, consider $z:=1+(2+\sqrt{2})i \in \mathbb{Q}(\zeta_8)$:
$$
|z| = \sqrt{x\overline{x}} = \sqrt{7+4\sqrt{2}}
$$
The minimal polynomial for $|z|$ is:
$$
p(X) := X^4-14X^2+17
$$
Using the characterisation of Galois groups for biquadratic quartics (e.g. see  Galois group of a biquadratic quartic), it is easy to check that the Galois group for $p(X)$ is $D_8$, so that $\mathbb{Q}(\zeta_n, |z|)/\mathbb{Q}$ is not abelian.
Questions

*

*I would like an algorithmic way to construct and work with a basis (over $\mathbb{Q}$) for the extension $\mathbb{Q}(\zeta_n, |z|)/\mathbb{Q}$, where $z$ is a given cyclotomic number.

*If a description of the basis above is made easier by assuming a that $|z|$ is not itself a cyclotomic number, then I would like to have an algorithmic way of determining when $|z|$ is a cyclotomic number for a given cyclotomic number $z$.

*I would like an algorithmic way to construct and work with a basis (over $\mathbb{Q}$) for the extension $\mathbb{Q}(\zeta_n, |z_1|, ..., |z_n|)/\mathbb{Q}$, where $z_1, ..., z_n$ are given cyclotomic numbers (possibly under the additional assumption that none of $|z_1|, ..., |z_n|$ is cyclotomic, see Q2).

If at all possible, I would like the basis for the extension to extend the basis described in [Breuer 1997] for the cyclotomic fields, or equivalently the one described in [Zumbroich 1989].
References
[Breuer 1997] T. Breuer. Integral Bases for Subfields of Cyclotomic Fields. 1997.
[Zumbroich 1989] M. Zumbroich. Grundlagen einer Arithmetik in Kreisteilungskörpern und ihre Implementation in CAS. 1989.
 A: Here is one possible way:
We have that the $\zeta_k$ corresponds to some matrices
$$
\mu({\zeta_k}) = \mathbf{Diag}\left[e^{k\frac{2 \pi i }{n}},.... \right]
$$
so that $\mu$ is a representation of $\mathbb{Q} (\zeta_n)$ as a group algebra of matrices $\mathbb{Q}[\mathbb{Z}/n\mathbb{Z}]$. In particular,
for any $\mathbb{Q} (\zeta_n)$ we have that
$$
\mu(x )= x_1 \mu({\zeta_1} )+ ... +x_n \mu({\zeta_n } ) = \sum_{k} x_k\mu({\zeta_k})
$$
where $x = x_1 \zeta_1 + ... +x_n \zeta_n  $.
Notice that
$$
\mu({\overline{\zeta_k})} = \mathbf{Diag}\left[\overline{e^{k\frac{2 \pi i }{n}}},.... \right]
$$
just permutes around the indices of the coefficients $x_i$ by some permutation $\pi$ so that
$$
\mu({\overline{x}}) = \sum_{k} x_{\pi(k)}\mu({\zeta_{\pi(k)}})
$$
and thus the problem is reduced to finding the square root, $y$, of the matrix
$$
y^2 =  \mu(x ) \mu({\overline{x}}) =\left(\sum_{j} x_{j}\mu({\zeta_{j}})\right) \left(\sum_{k} x_{\pi(k)}\mu({\zeta_{\pi(k)}})\right) = \sum_{j,k} x_j x_{\pi(k)} \mu({\zeta_{j+\pi(k)}}).
$$
There are closed-form solutions (symbolic algorithms) for the square root of a matrix (see https://en.wikipedia.org/wiki/Square_root_of_a_matrix#Solutions_in_closed_form) and you may check whether the system of equations
$$
\sum_{j,k} y_j y_{k} \mu({\zeta_{j+k}}) = \sum_{j,k} x_j x_{\pi(k)} \mu({\zeta_{j+\pi(k)}})
$$
has solutions for rational $y_i \in \mathbb{Q}$. If it does have a solution then your
$$
y = |x \overline {x}|
$$
is already in the cyclotomic field and no work needs to be done, otherwise, $y$ gives you a new basis element and you then use the minimal polynomial of $y$ to get the extra basis elements needed.
Edit:
Things can be simplified further:
The system of equations
$$
\sum_{j,k} y_j y_{k} \mu({\zeta_{j+k}}) = \sum_{j,k} x_j x_{\pi(k)} \mu({\zeta_{j+\pi(k)}})
$$
is actually a linear system; if you notice that once we use a symbolic method to solve for the square root of $\mu(x ) \mu({\overline{x}})$,
we actually only need to solve a linear system
$$
\sum_{i}y_i \left[\mu(\zeta_i)\right]^{j}_{j}=   \left[\sqrt{\mu(x ) \mu({\overline{x}})}\right]^j_j
$$
where $\left[ m \right]^i_j$ is the $(i,j)^\mathrm{th}$ coefficient of the matrix $m$.
