Esempio n. 1
0
        public static (matrix, vector) Eigens(MatrixExpression a)
        {
            var v = a.Evaluate();

            if (v.Rows != v.Cols)
            {
                ThrowHelper.ThrowIncorrectDimensionsForOperation();
            }
            if (a is MatrixInput)
            {
                v = Copy(v);
            }
            var w = new vector(v.Rows);

            ThrowHelper.Check(Lapack.syev(Layout.ColMajor, 'V', UpLoChar.Lower, v.Rows, v.Array, v.Rows, w.Array));
            return(v, w);
        }