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
|
<!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/BVInsertConstraints.html" />
<META NAME="GENERATOR" CONTENT="DOCTEXT">
<link rel="stylesheet" href="/slepc.css" type="text/css">
<TITLE>BVInsertConstraints</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/BVInsertConstraints.html "><small>Report Typos and Errors</small></a></div>
<H1>BVInsertConstraints</H1>
Insert a set of vectors as constraints.
<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/BVInsertConstraints.html#BVInsertConstraints">BVInsertConstraints</A>(<A HREF="../BV/BV.html#BV">BV</A> V,<A HREF="https://petsc.org/release/manualpages/Sys/PetscInt.html#PetscInt">PetscInt</A> *nc,<A HREF="https://petsc.org/release/manualpages/Vec/Vec.html#Vec">Vec</A> *C)
</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
</TD></TR>
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>C </B></TD><TD> - set of vectors to be inserted as constraints
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#883300">Input/Output Parameter</FONT></H3>
<TABLE border="0" cellpadding="0" cellspacing="0">
<TR><TD WIDTH=40></TD><TD ALIGN=LEFT VALIGN=TOP><B>nc </B></TD><TD> - number of input vectors, on output the number of linearly independent
vectors
</TD></TR></TABLE>
<P>
<H3><FONT COLOR="#883300">Notes</FONT></H3>
The constraints are relevant only during orthogonalization. Constraint
vectors span a subspace that is deflated in every orthogonalization
operation, so they are intended for removing those directions from the
orthogonal basis computed in regular <A HREF="../BV/BV.html#BV">BV</A> columns.
<P>
Constraints are not stored in regular <A HREF="../BV/BV.html#BV">BV</A> columns, but in a special part of
the storage. They can be accessed with negative indices in <A HREF="../BV/BVGetColumn.html#BVGetColumn">BVGetColumn</A>().
<P>
This operation is DESTRUCTIVE, meaning that all data contained in the
columns of V is lost. This is typically invoked just after creating the <A HREF="../BV/BV.html#BV">BV</A>.
Once a set of constraints has been set, it is not allowed to call this
function again.
<P>
The vectors are copied one by one and then orthogonalized against the
previous ones. If any of them is linearly dependent then it is discarded
and the value of nc is decreased. The behaviour is similar to <A HREF="../BV/BVInsertVecs.html#BVInsertVecs">BVInsertVecs</A>().
<P>
<P>
<H3><FONT COLOR="#883300">See Also</FONT></H3>
<A HREF="../BV/BVInsertVecs.html#BVInsertVecs">BVInsertVecs</A>(), <A HREF="../BV/BVOrthogonalizeColumn.html#BVOrthogonalizeColumn">BVOrthogonalizeColumn</A>(), <A HREF="../BV/BVGetColumn.html#BVGetColumn">BVGetColumn</A>(), <A HREF="../BV/BVGetNumConstraints.html#BVGetNumConstraints">BVGetNumConstraints</A>()
<BR><P><B></B><H3><FONT COLOR="#883300">Level</FONT></H3>advanced<BR>
<H3><FONT COLOR="#883300">Location</FONT></H3>
</B><A HREF="../../../src/sys/classes/bv/interface/bvfunc.c.html#BVInsertConstraints">src/sys/classes/bv/interface/bvfunc.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>
|