Macaulay2 Engine
Loading...
Searching...
No Matches
aring-CCi.hpp File Reference

M2::ARingCCi — certified complex intervals as Cartesian rectangles of MPFI intervals. More...

#include <iostream>
#include <mpfi.h>
#include "interface/random.h"
#include "interface/gmp-util.h"
#include "aring.hpp"
#include "buffer.hpp"
#include "ringelem.hpp"
#include "ringmap.hpp"
#include "aring-RRR.hpp"
#include "aring-RRi.hpp"
#include "aring-CCC.hpp"

Go to the source code of this file.

Classes

class  M2::ARingCCi
 aring-style adapter for arbitrary-precision complex intervals, stored as (MPFI, MPFI) pairs. More...

Namespaces

namespace  M2

Detailed Description

M2::ARingCCi — certified complex intervals as Cartesian rectangles of MPFI intervals.

Note
AI-generated documentation. Verify against the source before relying on it.

ARingCCi represents a complex value as a pair of real intervals (re_interval, im_interval) — i.e. a Cartesian rectangle in the complex plane. Endpoints have arbitrary MPFR precision (mPrecision is the class's sole stored state); the underlying interval arithmetic is MPFI. Addition is componentwise; multiplication uses the standard (ac - bd) + (ad + bc) i formula on the sub-intervals with MPFI's outward rounding, so the result is a certified enclosure of the true product. The rectangle representation is simple but yields overly wide enclosures under rotation; for tighter bounds the disk form would be preferable, but this file does not implement it.

The class pulls in aring-RRR.hpp, aring-RRi.hpp, and aring-CCC.hpp to interoperate with their element types: is_member overloads accept ARingRRR, ARingRRi, and ARingCCC elements; realPartReference / imaginaryPartReference / set_real_part / set_imaginary_part exchange the rectangle components with ARingRRi values; and midpoint(ARingCCC::ElementType&, ...) collapses an interval to its MPFR-complex midpoint. IM2_Ring_CCi(prec) in interface/ring.cpp is the M2-side factory — there is no machine-precision shortcut for the interval variant.

See also
aring-RRi.hpp
aring-RRR.hpp
aring-CCC.hpp
aring.hpp

Definition in file aring-CCi.hpp.