Compartilhar via


<complex>

Define a classe do modelo do contêiner complexa e os modelos de suporte.

#include <complex>

Comentários

Um número complexo é um par ordenado de números reais. Em termos puramente geométricos, o plano complexo é o plano real, bidimensional. As qualidades especiais de plano complexo que distinguem do plano real é devido ao seu ter uma estrutura algébrica adicional. Essa estrutura algébrica tem duas operações fundamentais:

  • Adição definida como (a, b) + (c, d) = (a + c, b + d)

  • Multiplicação definida como (a, b) * (c, d) = (ac - bd, ad + bc)

O conjunto de números complexos com operações de adição complexa e multiplicação complexa é um campo no sentido algébrico padrão:

  • As operações de adição e de multiplicação são comutativas e associativo e multiplicação distribui sobre a adição exatamente como faz com adição e multiplicação reais no campo de números reais.

  • O número complexo (0, 0) é a identidade aditiva e (1, 0) é a identidade multiplicativa.

  • O inverso de suplementares para um número complexo (a, b) é (-a, -b), e o inverso multiplicativa para todos esses números complexos exceto (0, 0) é

    (a/(a2 + b2), -b/(a2 + b2)

Representando um número complexo z = (a, b) no formulário z = + ao BI, onde i2 = -1, as regras da álgebra do conjunto de números reais pode ser aplicado ao conjunto de números complexos e seus componentes. Por exemplo:

(1 + 2i) * (2 + 3i)    = 1*(2 + 3i) + 2i*(2 + 3i) = (2 + 3i) + (4i + 6i2)

            = (2 – 6) + (3 + 4)i = -4 + 7i

O sistema de números complexos é um campo, mas não é um campo ordenado. Não há nenhuma ordem dos números complexos como há para o campo ou números reais e os subconjuntos, de modo que as desigualdades não podem ser aplicadas aos números à medida que são complexos em números reais que é um campo ordenado.

Há três formas comuns de representar um número complexo z:

  • Cartesiano: z = + ao BI

  • Polar: z = r (cos + isin)

  • Exponencial: z = r * exp()

Os termos usados nessas representações padrão de um número complexo são referenciados como segue:

  • O componente cartesiano real ou a parte real A.

  • O componente cartesiano fictício ou a parte b ficcional .

  • O módulo ou o valor absoluto de um número complexo Ρ.

  • O ângulo do argumento ou de fase.

Salvo indicação em contrário, as funções que podem retornar vários valores são necessárias para retornar um valor principal para seus argumentos – pi maior que e menor ou igual a +pi para mantê-los único valor. Toda a necessidade de ângulos de ser expresso em radianos, em que há 2 radianos de pi 360 graus () em um círculo.

Funções

Abs

Calcula o módulo de um número complexo.

arg

Extrai o argumento de um número complexo.

conj

Retorna o conjugado complexo de um número complexo.

cos

Retorna o cosseno de um número complexo.

moca

Retorna o cosseno hiperbólica de um número complexo.

EXP

Retorna a função exponencial de um número complexo.

imag

Extrai o componente fictício de um número complexo.

log

Retorna o logaritmo natural de um número complexo.

log10

Retorna o logaritmo de base 10 de um número complexo.

norm

Extrai a norma de um número complexo.

polar

Retorna o número complexo, que corresponde a um módulo e um argumento especificados, no formato cartesiano.

prisioneiro de guerra

Avalia o número complexo obtido gerando uma base que é um número complexo à potência de outro número complexo.

real

Extrai o componente real de um número complexo.

sin

Retorna o seno de um número complexo.

sinh

Retorna o seno hiperbólica de um número complexo.

SQRT

Retorna a raiz quadrada de um número complexo.

tan

Retorna a tangente de um número complexo.

tanh

Retorna a tangente hiperbólica de um número complexo.

Operadores

operador !=

Testa a desigualdade entre dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operator*

Multiplica dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operator+

Adiciona dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operator-

Subtrai dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operador

Divide dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operador<<

Uma função do modelo que insere um número complexo no fluxo de saída.

operador==

Testa a igualdade entre dois números complexos, um ou ambos pode pertencer ao subconjunto de tipo para as partes e reais imaginárias.

operador>>

Uma função do modelo que extrai um valor complexo de fluxo de entrada.

Classes

complexdouble<>

A classe explicitamente especializada do modelo descreve um objeto que armazena um par ordenado de objetos do tipo double, primeiro representando a parte real de um número complexo e do segundo que representa a parte fictícia.

complexfloat<>

A classe explicitamente especializada do modelo descreve um objeto que armazena um par ordenado de objetos do tipo float, primeiro representando a parte real de um número complexo e do segundo que representa a parte fictícia.

double<de complexlong>

A classe explicitamente especializada do modelo descreve um objeto que armazena um par ordenado de objetos do tipo long double, primeiro representando a parte real de um número complexo e do segundo que representa a parte fictícia.

complexo

A classe do modelo descreve um objeto usado para representar o sistema de número complexo e executar operações aritméticas complexas.

Consulte também

Referência

Segurança de threads na Biblioteca Padrão C++

Outros recursos

<complex> Membros

Arquivos de cabeçalho da Biblioteca Padrão C++