Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Commons math. Linear Algebra + Complex


Автор: eonqee 10.12.2013, 21:51
Вопрос от новичка в java. Нужно чтобы можно было использовать http://commons.apache.org/proper/commons-math/userguide/complex.html в http://commons.apache.org/proper/commons-math/userguide/linear.html#a3.2_Real_matrices. Вроде в http://commons.apache.org/proper/commons-math/userguide/linear.html#a3.6_Non-real_fields_complex_fractions_... (пункт 3.6 Non-real fields) написано, что можно использовать Complex, но как не пойму.

Автор: Stolzen 11.12.2013, 09:24
Вам нужен интерфейс FieldMatrix<Complex> (имплементации находятся в Array2DRowFieldMatrix<Complex> и в
BlockFieldMatrix<Complex>)

Автор: eonqee 11.12.2013, 19:30
Stolzen, можно немного подробней о том что нужно сделать? не знакомы слова "интерфейс" и "имплементация"

Автор: Pawl 11.12.2013, 20:01
Код

package com.company;

import org.apache.commons.math3.complex.Complex;
import org.apache.commons.math3.linear.Array2DRowFieldMatrix;

public class Main {

    public static void main(String[] args) {
        Complex[][] matrixData = {{new Complex(1d), new Complex(2d),
                new Complex(3d)}, {new Complex(2d), new Complex(5d),
                new Complex(3d)}};
        Array2DRowFieldMatrix<Complex> cMatr =
                new Array2DRowFieldMatrix<>(matrixData);
        for (int i = 0; i < matrixData.length; i++) {
            for (int j = 0; j < matrixData[0].length; j++) {
                System.out.print(cMatr.getEntry(i, j) + " ");
            }
            System.out.println();
        }
    }
}

Автор: eonqee 11.12.2013, 20:52
Pawl, работает, спасибо)
и наверно последний вопрос: как сделать чтобы http://commons.apache.org/proper/commons-math/userguide/linear.html#a3.4_Solving_linear_systems тоже умел работать с Complex?

Добавлено через 12 минут и 36 секунд
правильно ли я понимаю, что https://issues.apache.org/jira/browse/MATH-882?

Автор: Pawl 11.12.2013, 21:32
Цитата(eonqee @  11.12.2013,  20:52 Найти цитируемый пост)
правильно ли я понимаю, что нельзя?

Похоже, что так - судя по сигнатурам методов
RealMatrix solve(RealMatrix b)  и
RealVector solve(RealVector b).
RealMatrix и RealVector работают только с вещественными числами.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)