08.02.2015 Views

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

Sage Reference Manual: Matrices and Spaces of Matrices - Mirrors

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Sage</strong> <strong>Reference</strong> <strong>Manual</strong>: <strong>Matrices</strong> <strong>and</strong> <strong>Spaces</strong> <strong>of</strong> <strong>Matrices</strong>, Release 6.1.1<br />

[3, -3, -15, 30, -30]<br />

sage: A.is_positive_definite()<br />

False<br />

A matrix over CDF that is not positive definite.<br />

sage: B = matrix(CDF, [[ 2, 4 - 2*I, 2 + 2*I],<br />

... [4 + 2*I, 8, 10*I],<br />

... [2 - 2*I, -10*I, -3]])<br />

sage: B.is_hermitian()<br />

True<br />

sage: [ev.real() for ev in B.eigenvalues()]<br />

[15.88..., 0.08..., -8.97...]<br />

sage: [round(B[:i,:i].determinant().real()) for i in range(1, B.nrows()+1)]<br />

[2, -4, -12]<br />

sage: B.is_positive_definite()<br />

False<br />

A large r<strong>and</strong>om matrix that is guaranteed by theory to be positive definite.<br />

sage: R = r<strong>and</strong>om_matrix(CDF, 200)<br />

sage: H = R.conjugate_transpose()*R<br />

sage: H.is_positive_definite()<br />

True<br />

TESTS:<br />

A trivially small case.<br />

sage: S = matrix(CDF, [])<br />

sage: S.nrows(), S.ncols()<br />

(0, 0)<br />

sage: S.is_positive_definite()<br />

True<br />

A rectangular matrix will never be positive definite.<br />

sage: R = matrix(RDF, 2, 3, range(6))<br />

sage: R.is_positive_definite()<br />

False<br />

A non-Hermitian matrix will never be positive definite.<br />

sage: T = matrix(CDF, 8, 8, range(64))<br />

sage: T.is_positive_definite()<br />

False<br />

AUTHOR:<br />

•Rob Beezer (2012-05-28)<br />

is_symmetric(tol=1e-12)<br />

Return whether this matrix is symmetric, to the given tolerance.<br />

EXAMPLES:<br />

sage: m = matrix(RDF,2,2,range(4)); m<br />

[0.0 1.0]<br />

[2.0 3.0]<br />

sage: m.is_symmetric()<br />

False<br />

sage: m[1,0] = 1.1; m<br />

373

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!