/// <summary> /// <para>�w�肳�ꂽ1�����z���C�w�肳�ꂽ�s��`���ŃR�s�[����D</para> /// <para>�z��̃T�C�Y�ƁurowSize * columnSize�v�͈�v���Ȃ���Ȃ�Ȃ��D</para> /// </summary> /// <param name="body">�R�s�[�����z��</param> /// <param name="rowSize">�s��</param> /// <param name="columnSize">��</param> /// <returns>�R�s�[��̎��g�ւ̎Q��</returns> internal virtual MyDoubleMatrix CopyFrom(Double[] body, int rowSize, int columnSize) { // ���͂̌��� System.Diagnostics.Debug.Assert(body.Length == rowSize * columnSize); if (body.Length != rowSize * columnSize) { return this; } // �o�b�t�@�m�� if (this._rsize == rowSize && this._csize == columnSize) { // ������Ȃ� } else if (this._body != null && this._body.Length == rowSize * columnSize) { this._rsize = rowSize; this._csize = columnSize; } else { Resize(rowSize, columnSize); } // �R�s�[ body.CopyTo(this._body, 0); return this; }
//вычисляет производную private Double dF(Double[] mX, int i) { Double[] newX = new Double[mX.Length]; mX.CopyTo(newX, 0); newX[i] = newX[i] + eps / 10000; return (F(newX) - F(mX)) / (eps / 10000); }