Hirdetés

2024. június 24., hétfő

Gyorskeresés

Hozzászólások

(#8554) dqdb válasza bandi0000 (#8538) üzenetére


dqdb
nagyúr

(a + bi)(c + di) = ac + adi + bci + bdi² = ac + (ad + bc)i + bdi²

Mivel i = √-1, ezért i² = -1, azaz

ac + (ad + bc)i + bdi² = ac + (ad + bc)i + bd × (-1) = (ac - bd) + (ad + bc)i

Vagyis:

(a + bi)*(c + di) = (ac - bd) + (ad + bc)i

Ha megnézed ennek a .NET Core-ban található implementációját, akkor ott pontosan ez szerepel:

public static Complex Multiply(Complex left, Complex right)
{
return left * right;
}

public static Complex operator *(Complex left, Complex right)
{
// Multiplication: (a + bi)(c + di) = (ac -bd) + (bc + ad)i
double result_realpart = (left.m_real * right.m_real) - (left.m_imaginary * right.m_imaginary);
double result_imaginarypart = (left.m_imaginary * right.m_real) + (left.m_real * right.m_imaginary);
return new Complex(result_realpart, result_imaginarypart);
}

Vagyis akárhogyan nézem, jól szoroz össze két komplex számot az ajánlott osztály (csúnya is lenne, ha nem).

tAm6DAHNIbRMzSEARWxtZW50ZW0gdmFka5RydIJ6bmkuDQoNClOBc4Ek

Copyright © 2000-2024 PROHARDVER Informatikai Kft.