1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML3.2 EN">
<HTML>
<HEAD> <link rel="canonical" href="https://slepc.upv.es/documentation/current//Users/jroman/tmp/slepc-3.23.1/docs/manualpages/BV/BVOrthogonalize.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<link rel="stylesheet" href="/slepc.css" type="text/css">
<TITLE>BVOrthogonalize</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<div id="version" align=right><b>slepc-3.23.1 2025-05-01</b></div>
<div id="bugreport" align=right><a href="mailto:slepc-maint@upv.es?subject=Typo or Error in Documentation &body=Please describe the typo or error in the documentation: slepc-3.23.1 v3.23.1 /Users/jroman/tmp/slepc-3.23.1/docs/manualpages/BV/BVOrthogonalize.html "><small>Report Typos and Errors</small></a></div>
<H1>BVOrthogonalize</H1>
Orthogonalize all columns (starting from the leading ones), that is, compute the QR decomposition.
<H3><FONT COLOR="#883300">Synopsis</FONT></H3>
<PRE>
#include "slepcbv.h"
<A HREF="https://petsc.org/release/manualpages/Sys/PetscErrorCode.html#PetscErrorCode">PetscErrorCode</A> <A HREF="../BV/BVOrthogonalize.html#BVOrthogonalize">BVOrthogonalize</A>(<A HREF="../BV/BV.html#BV">BV</A> V,<A HREF="https://petsc.org/release/manualpages/Mat/Mat.html#Mat">Mat</A> R)
</PRE>
Collective
<P>
<H3><FONT COLOR="#883300">Input Parameters</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>V </B></TD><TD> - basis vectors to be orthogonalized (or B-orthogonalized), modified on output
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>R </B></TD><TD> - a sequential dense matrix (or NULL), on output the triangular factor of
the QR decomposition
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#883300">Notes</FONT></H3>
On input, matrix R must be a square sequential dense <A HREF="https://petsc.org/release/manualpages/Mat/Mat.html#Mat">Mat</A>, with at least as many
rows and columns as the number of active columns of V. The output satisfies
V0 = V*R (where V0 represent the input V) and V'*V = I (or V'*B*V = I if an
inner product matrix B has been specified with <A HREF="../BV/BVSetMatrix.html#BVSetMatrix">BVSetMatrix</A>()).
<P>
If V has leading columns, then they are not modified (are assumed to be already
orthonormal) and the leading columns of R are not referenced. Let the
decomposition be
<PRE>
[ V01 V02 ] = [ V1 V2 ] [ R11 R12 ]
[ 0 R22 ]
</PRE>
then V1 is left unchanged (equal to V01) as well as R11 (it should satisfy
V01 = V1*R11).
<P>
Can pass NULL if R is not required.
<P>
The method to be used for block orthogonalization can be set with
<A HREF="../BV/BVSetOrthogonalization.html#BVSetOrthogonalization">BVSetOrthogonalization</A>(). If set to GS, the computation is done column by
column with successive calls to <A HREF="../BV/BVOrthogonalizeColumn.html#BVOrthogonalizeColumn">BVOrthogonalizeColumn</A>(). Note that in the
SVQB method the R factor is not upper triangular.
<P>
If V is rank-deficient or very ill-conditioned, that is, one or more columns are
(almost) linearly dependent with respect to the rest, then the algorithm may
break down or result in larger numerical error. Linearly dependent columns are
essentially replaced by random directions, and the corresponding diagonal entry
in R is set to (nearly) zero.
<P>
<P>
<H3><FONT COLOR="#883300">See Also</FONT></H3>
<A HREF="../BV/BVOrthogonalizeColumn.html#BVOrthogonalizeColumn">BVOrthogonalizeColumn</A>(), <A HREF="../BV/BVOrthogonalizeVec.html#BVOrthogonalizeVec">BVOrthogonalizeVec</A>(), <A HREF="../BV/BVSetMatrix.html#BVSetMatrix">BVSetMatrix</A>(), <A HREF="../BV/BVSetActiveColumns.html#BVSetActiveColumns">BVSetActiveColumns</A>(), <A HREF="../BV/BVSetOrthogonalization.html#BVSetOrthogonalization">BVSetOrthogonalization</A>(), <A HREF="../BV/BVOrthogBlockType.html#BVOrthogBlockType">BVOrthogBlockType</A>
<BR><P><B></B><H3><FONT COLOR="#883300">Level</FONT></H3>intermediate<BR>
<H3><FONT COLOR="#883300">Location</FONT></H3>
</B><A HREF="../../../src/sys/classes/bv/interface/bvorthog.c.html#BVOrthogonalize">src/sys/classes/bv/interface/bvorthog.c</A>
<BR><BR><A HREF="./index.html">Index of all BV routines</A>
<BR><A HREF="../../../docs/manual.html">Table of Contents for all manual pages</A>
<BR><A HREF="../singleindex.html">Index of all manual pages</A>
</BODY></HTML>
|