BRIDGES
  • Articles
  • BRIDGES
Search Results for

    Show / Hide Table of Contents
    • Settings
    • LinearAlgebra
      • Vectors
        • DenseVector
        • SparseVector
        • Vector
      • Factorisation
        • SparseQR
      • Matrices
        • DenseMatrix
        • Matrix
        • SparseMatrix
        • Sparse
          • CompressedColumn
          • CompressedRow
        • Storage
          • DictionaryOfKeys
    • Algebra
      • Measure
        • IDotProduct<TSelf, TValue>
        • IMetric<TSelf>
        • INorm<TSelf>
      • Sets
        • IGroupAction<TSelf, TValue>
      • Fundamentals
        • IAddable<T>
    • Solvers
      • GuidedProjection
        • Energy
        • GuidedProjectionAlgorithm
        • LinearisedConstraint
        • QuadraticConstraint
        • VariableSet
        • EnergyTypes
          • SegmentOrthogonality
          • SegmentParallelity
        • Interfaces
          • IEnergyType
          • ILinearisedConstraintType
          • IQuadraticConstraintType
        • QuadraticConstraintTypes
          • CoherentLength
          • LowerBound
          • UpperBound
          • VectorLength
    • Arithmetic
      • Polynomials
        • Multivariate
          • Monomial
          • Polynomial
        • Univariate
          • Polynomial
          • Specials
            • Bernstein
            • BSpline
      • Numbers
        • Complex
        • Quaternion
        • Real
    • Geometry
      • Euclidean3D
        • Basis
        • BSplineCurve
        • BSplineSurface
        • Circle
        • Frame
        • Line
        • NurbsCurve
        • NurbsSurface
        • Plane
        • Point
        • Polyline
        • Ray
        • Segment
        • Sphere
        • Vector
      • Kernel
        • BSplineCurve<TPoint>
        • BSplineSurface<TPoint>
        • CurveParameterFormat
        • IGeometricallyEquatable<T>
      • Projective3D
        • Point
    • DataStructures
      • PolyhedralMeshes
        • IEdge<TPosition>
        • IFace<TPosition>
        • IMesh<TPosition>
        • IVertex<TPosition>
        • FaceVertexMesh
          • Edge<TPosition>
          • Face<TPosition>
          • Mesh<TPosition>
          • Vertex<TPosition>
        • Abstract
          • Edge<TPosition, TVertex, TEdge, TFace>
          • Face<TPosition, TVertex, TEdge, TFace>
          • Mesh<TPosition, TVertex, TEdge, TFace>
          • Vertex<TPosition, TVertex, TEdge, TFace>
        • HalfedgeMesh
          • Edge<TPosition>
          • Face<TPosition>
          • Halfedge<TPosition>
          • Mesh<TPosition>
          • Vertex<TPosition>

    Struct Complex

    Structure defining a complex number.

    Implements
    IEquatable<Complex>
    IDotProduct<Complex, Complex>
    INorm<Complex>
    IMetric<Complex>
    IGroupAction<Complex, Double>
    IGroupAction<Complex, Real>
    Namespace: BRIDGES.Arithmetic.Numbers
    Assembly: BRIDGES.dll
    Syntax
    public struct Complex : IDotProduct<Complex, Complex>, INorm<Complex>, IMetric<Complex>, IGroupAction<Complex, double>, IGroupAction<Complex, Real>

    Constructors

    | Improve this Doc View Source

    Complex(Complex)

    Initialises a new instance of Complex structure from another Complex numbers.

    Declaration
    public Complex(Complex complex)
    Parameters
    Type Name Description
    Complex complex

    Complex number to deep copy.

    | Improve this Doc View Source

    Complex(Double, Double)

    Initialises a new instance of Complex structure by defining it real and imaginary parts.

    Declaration
    public Complex(double real, double imaginary)
    Parameters
    Type Name Description
    Double real

    Value of the real part.

    Double imaginary

    Value of the imaginary part.

    Properties

    | Improve this Doc View Source

    Argument

    Gets the argument of this Complex number.

    Declaration
    public readonly double Argument { get; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    ImaginaryOne

    Gets a new instance of the Complex structure equal to the unit imaginary element : (0.0, 1.0).

    Declaration
    public static readonly Complex ImaginaryOne { get; }
    Property Value
    Type Description
    Complex

    The new Complex number equal to imaginary one.

    | Improve this Doc View Source

    ImaginaryPart

    Gets or sets the imaginary component of this Complex number.

    Declaration
    public double ImaginaryPart { get; set; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    Modulus

    Gets the modulus of this Complex number.

    Declaration
    public readonly double Modulus { get; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    One

    Gets a new instance of the Complex structure equal to the multiplicative neutral element : (0.0, 1.0).

    Declaration
    public static readonly Complex One { get; }
    Property Value
    Type Description
    Complex

    The new Complex number equal to one.

    | Improve this Doc View Source

    RealPart

    Gets or sets the real component of this Complex number.

    Declaration
    public double RealPart { get; set; }
    Property Value
    Type Description
    Double
    | Improve this Doc View Source

    Zero

    Gets a new instance of the Complex structure equal to the additive neutral element : (0.0, 1.0).

    Declaration
    public static readonly Complex Zero { get; }
    Property Value
    Type Description
    Complex

    The new Complex number equal to zero.

    Methods

    | Improve this Doc View Source

    Add(Complex, Complex)

    Computes the addition of two Complex numbers.

    Declaration
    public static Complex Add(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the addition.

    Complex right

    Complex number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Add(Complex, Real)

    Computes the right addition of a Complex number with a Real number.

    Declaration
    public static Complex Add(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the addition.

    Real right

    Real number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Add(Real, Complex)

    Computes the left addition of a Complex number with a Real number.

    Declaration
    public static Complex Add(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number for the addition.

    Complex right

    Complex number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Conjugate(Complex)

    Gets the conjugate value of a Complex number.

    Declaration
    public static Complex Conjugate(Complex complex)
    Parameters
    Type Name Description
    Complex complex

    Complex number from which the conjugate is computed.

    Returns
    Type Description
    Complex

    The new Complex number, conjugate of the initial one.

    | Improve this Doc View Source

    DistanceTo(Complex)

    Computes the distance of this element to another element.

    Declaration
    public double DistanceTo(Complex other)
    Parameters
    Type Name Description
    Complex other
    Returns
    Type Description
    Double

    The value of the distance between the two elements.

    | Improve this Doc View Source

    Divide(Complex, Complex)

    Computes the division of two Complex numbers.

    Declaration
    public static Complex Divide(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number to divide.

    Complex right

    Complex number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Divide(Complex, Real)

    Computes the division of a Complex number with a Real number.

    Declaration
    public static Complex Divide(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number to divide.

    Real right

    Real number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Divide(Complex, Double)

    Computes the scalar division of a Complex number with a number.

    Declaration
    public static Complex Divide(Complex operand, double divisor)
    Parameters
    Type Name Description
    Complex operand

    Complex number to divide.

    Double divisor

    number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the scalar division.

    | Improve this Doc View Source

    Divide(Real, Complex)

    Computes the division of a Real number with a Complex number.

    Declaration
    public static Complex Divide(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number to divide.

    Complex right

    Complex number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    DotProduct(Complex)

    Computes the hermitian dot product of this Complex number with another Complex number.

    Declaration
    public Complex DotProduct(Complex other)
    Parameters
    Type Name Description
    Complex other

    Right Complex for number the dot product.

    Returns
    Type Description
    Complex

    The value of the dot product of the two elements.

    | Improve this Doc View Source

    Equals(Complex)

    Structure defining a complex number.

    Declaration
    public bool Equals(Complex other)
    Parameters
    Type Name Description
    Complex other
    Returns
    Type Description
    Boolean
    | Improve this Doc View Source

    Equals(Object)

    Structure defining a complex number.

    Declaration
    public override bool Equals(object obj)
    Parameters
    Type Name Description
    Object obj
    Returns
    Type Description
    Boolean
    | Improve this Doc View Source

    FromPolarCoordinates(Double, Double)

    Gets a new Complex number by defining its polar coordinates.

    Declaration
    public static Complex FromPolarCoordinates(double modulus, double argument)
    Parameters
    Type Name Description
    Double modulus

    Value of the modulus.

    Double argument

    Value of the argument (in radians).

    Returns
    Type Description
    Complex

    The new Complex number.

    | Improve this Doc View Source

    GetHashCode()

    Structure defining a complex number.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32
    | Improve this Doc View Source

    Inverse(Complex)

    Computes the inverse of the given Complex number.

    Declaration
    public static Complex Inverse(Complex operand)
    Parameters
    Type Name Description
    Complex operand

    Complex from which the inverse is computed.

    Returns
    Type Description
    Complex

    The new Complex number, inverse of the initial one.

    | Improve this Doc View Source

    Multiply(Complex, Complex)

    Computes the multiplication of two Complex numbers.

    Declaration
    public static Complex Multiply(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the multiplication.

    Complex right

    Complex number for the multiplication.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Complex, Real)

    Computes the right multiplication of a Complex number with a Real number.

    Declaration
    public static Complex Multiply(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the multiplicaion.

    Real right

    Real number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Complex, Double)

    Computes the right scalar multiplication of a Complex number with a number.

    Declaration
    public static Complex Multiply(Complex operand, double factor)
    Parameters
    Type Name Description
    Complex operand

    Complex number to multiply.

    Double factor

    number.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the right scalar multiplication.

    | Improve this Doc View Source

    Multiply(Real, Complex)

    Computes the left multiplication of a Complex number with a Real number.

    Declaration
    public static Complex Multiply(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number for the multiplicaion.

    Complex right

    Complex number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Double, Complex)

    Computes the left scalar multiplication of a Complex number with a number.

    Declaration
    public static Complex Multiply(double factor, Complex operand)
    Parameters
    Type Name Description
    Double factor

    number.

    Complex operand

    Complex number to multiply.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the left scalar multiplication.

    | Improve this Doc View Source

    Norm()

    Computes the norm of this element.

    Declaration
    public double Norm()
    Returns
    Type Description
    Double

    The value of the norm.

    | Improve this Doc View Source

    Opposite(Complex)

    Computes the opposite of the given Complex number.

    Declaration
    public static Complex Opposite(Complex operand)
    Parameters
    Type Name Description
    Complex operand

    Complex number from which the opposite is computed.

    Returns
    Type Description
    Complex

    The new Complex number, opposite of the initial one.

    | Improve this Doc View Source

    Subtract(Complex, Complex)

    Computes the subtraction of two Complex numbers.

    Declaration
    public static Complex Subtract(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number to subtract.

    Complex right

    Complex number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtract(Complex, Real)

    Computes the subtraction of a Complex number with a Real number.

    Declaration
    public static Complex Subtract(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number to subtract.

    Real right

    Real number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtract(Real, Complex)

    Computes the subtraction of a Real number with a Complex number.

    Declaration
    public static Complex Subtract(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number to subtract.

    Complex right

    Complex number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    ToString()

    Structure defining a complex number.

    Declaration
    public override string ToString()
    Returns
    Type Description
    String

    Operators

    | Improve this Doc View Source

    Addition(Complex, Complex)

    Computes the addition of two Complex numbers.

    Declaration
    public static Complex operator +(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the addition.

    Complex right

    Complex number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Addition(Complex, Real)

    Computes the right addition of a Complex number with a Real number.

    Declaration
    public static Complex operator +(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the addition.

    Real right

    Real number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Addition(Complex, Double)

    Computes the right addition of a Complex number with a number.

    Declaration
    public static Complex operator +(Complex left, double right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the addition.

    Double right

    number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Addition(Real, Complex)

    Computes the left addition of a Complex number with a Real number.

    Declaration
    public static Complex operator +(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number for the addition.

    Complex right

    Complex number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Addition(Double, Complex)

    Computes the left addition of a Complex number with a number.

    Declaration
    public static Complex operator +(double left, Complex right)
    Parameters
    Type Name Description
    Double left

    number for the addition.

    Complex right

    Complex number for the addition.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the addition.

    | Improve this Doc View Source

    Division(Complex, Complex)

    Computes the division of two Complex numbers.

    Declaration
    public static Complex operator /(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number to divide.

    Complex right

    Complex number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Division(Complex, Real)

    Computes the division of a Complex number with a Real number.

    Declaration
    public static Complex operator /(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number to divide.

    Real right

    Real number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Division(Complex, Double)

    Computes the division of a Complex number with a number.

    Declaration
    public static Complex operator /(Complex left, double right)
    Parameters
    Type Name Description
    Complex left

    Complex number to divide.

    Double right

    number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Division(Real, Complex)

    Computes the division of a Real number with a Complex number.

    Declaration
    public static Complex operator /(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number to divide.

    Complex right

    Complex number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Division(Double, Complex)

    Computes the division of a number with a Complex number.

    Declaration
    public static Complex operator /(double left, Complex right)
    Parameters
    Type Name Description
    Double left

    number to divide.

    Complex right

    Complex number to divide with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the division.

    | Improve this Doc View Source

    Explicit(Real to Complex)

    Converts a Real number into a Complex number.

    Declaration
    public static explicit operator Complex(Real real)
    Parameters
    Type Name Description
    Real real

    Real number to convert.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the conversion.

    | Improve this Doc View Source

    Explicit(Double to Complex)

    Converts a -precision real number into a Complex number.

    Declaration
    public static explicit operator Complex(double number)
    Parameters
    Type Name Description
    Double number

    -precision real number to convert.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the conversion.

    | Improve this Doc View Source

    Explicit(ValueTuple<Double, Double> to Complex)

    Converts a into a Complex number.

    Declaration
    public static explicit operator Complex(ValueTuple<double, double> pair)
    Parameters
    Type Name Description
    ValueTuple<Double, Double> pair

    to convert.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the conversion.

    | Improve this Doc View Source

    Multiply(Complex, Complex)

    Computes the multiplication of two Complex numbers.

    Declaration
    public static Complex operator *(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the multiplication.

    Complex right

    Complex number for the multiplication.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Complex, Real)

    Computes the right multiplication of a Complex number with a Real number.

    Declaration
    public static Complex operator *(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the multiplicaion.

    Real right

    Real number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Complex, Double)

    Computes the right multiplication of a Complex number with a -precision real number.

    Declaration
    public static Complex operator *(Complex left, double right)
    Parameters
    Type Name Description
    Complex left

    Complex number for the multiplicaion.

    Double right

    number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Real, Complex)

    Computes the left multiplication of a Complex number with a Real number.

    Declaration
    public static Complex operator *(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number for the multiplicaion.

    Complex right

    Complex number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Multiply(Double, Complex)

    Computes the left multiplication of a number with a Complex number.

    Declaration
    public static Complex operator *(double left, Complex right)
    Parameters
    Type Name Description
    Double left

    number for the multiplicaion.

    Complex right

    Complex number for the multiplicaion.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the multiplication.

    | Improve this Doc View Source

    Subtraction(Complex, Complex)

    Computes the subtraction of two Complex numbers.

    Declaration
    public static Complex operator -(Complex left, Complex right)
    Parameters
    Type Name Description
    Complex left

    Complex number to subtract.

    Complex right

    Complex number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtraction(Complex, Real)

    Computes the subtraction of a Complex number with a Real number.

    Declaration
    public static Complex operator -(Complex left, Real right)
    Parameters
    Type Name Description
    Complex left

    Complex number to subtract.

    Real right

    Real number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtraction(Complex, Double)

    Computes the subtraction of a Complex number with a number.

    Declaration
    public static Complex operator -(Complex left, double right)
    Parameters
    Type Name Description
    Complex left

    Complex number to subtract.

    Double right

    number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtraction(Real, Complex)

    Computes the subtraction of a Real number with a Complex number.

    Declaration
    public static Complex operator -(Real left, Complex right)
    Parameters
    Type Name Description
    Real left

    Real number to subtract.

    Complex right

    Complex number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    Subtraction(Double, Complex)

    Computes the subtraction of a number with a Complex number.

    Declaration
    public static Complex operator -(double left, Complex right)
    Parameters
    Type Name Description
    Double left

    number to subtract.

    Complex right

    Complex number to subtract with.

    Returns
    Type Description
    Complex

    The new Complex number resulting from the subtraction.

    | Improve this Doc View Source

    UnaryNegation(Complex)

    Computes the opposite of the given Complex number.

    Declaration
    public static Complex operator -(Complex operand)
    Parameters
    Type Name Description
    Complex operand

    Complex number from which the opposite is computed.

    Returns
    Type Description
    Complex

    The new Complex number, opposite of the initial one.

    Explicit Interface Implementations

    | Improve this Doc View Source

    IGroupAction<Complex, Real>.Divide(Real)

    Computes the right scalar division of the current element.

    Declaration
    Complex IGroupAction<Complex, Real>.Divide(Real divisor)
    Parameters
    Type Name Description
    Real divisor
    Returns
    Type Description
    Complex

    The new element resulting from the scalar dividion.

    | Improve this Doc View Source

    IGroupAction<Complex, Real>.Multiply(Real)

    Computes the right scalar multiplication of the current element.

    Declaration
    Complex IGroupAction<Complex, Real>.Multiply(Real factor)
    Parameters
    Type Name Description
    Real factor
    Returns
    Type Description
    Complex

    The new element resulting from the scalar multiplication.

    | Improve this Doc View Source

    IGroupAction<Complex, Double>.Divide(Double)

    Computes the right scalar division of the current element.

    Declaration
    Complex IGroupAction<Complex, double>.Divide(double divisor)
    Parameters
    Type Name Description
    Double divisor
    Returns
    Type Description
    Complex

    The new element resulting from the scalar dividion.

    | Improve this Doc View Source

    IGroupAction<Complex, Double>.Multiply(Double)

    Computes the right scalar multiplication of the current element.

    Declaration
    Complex IGroupAction<Complex, double>.Multiply(double factor)
    Parameters
    Type Name Description
    Double factor
    Returns
    Type Description
    Complex

    The new element resulting from the scalar multiplication.

    Implements

    IEquatable<>
    IDotProduct<TSelf, TValue>
    INorm<TSelf>
    IMetric<TSelf>
    IGroupAction<TSelf, TValue>
    IGroupAction<TSelf, TValue>
    • Improve this Doc
    • View Source
    In This Article
    Back to top By ENPC and the Build'In Platform