org.ojalgo.matrix.decomposition

## Interface Bidiagonal<N extends Number>

• All Superinterfaces:
MatrixDecomposition<N>, MatrixDecomposition.EconomySize<N>, Structure1D, Structure2D

```public interface Bidiagonal<N extends Number>
extends MatrixDecomposition<N>, MatrixDecomposition.EconomySize<N>```
A general matrix [A] can be factorized by similarity transformations into the form [A]=[Q1][D][Q2] -1 where:
• [A] (m-by-n) is any, real or complex, matrix
• [D] (r-by-r) or (m-by-n) is, upper or lower, bidiagonal
• [Q1] (m-by-r) or (m-by-m) is orthogonal
• [Q2] (n-by-r) or (n-by-n) is orthogonal
• r = min(m,n)
Author:
apete
• ### Nested Class Summary

Nested Classes
Modifier and Type Interface and Description
`static interface ` `Bidiagonal.Factory<N extends Number>`
• ### Nested classes/interfaces inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition

`MatrixDecomposition.Determinant<N extends Number>, MatrixDecomposition.EconomySize<N extends Number>, MatrixDecomposition.Hermitian<N extends Number>, MatrixDecomposition.Ordered<N extends Number>, MatrixDecomposition.Pivoting<N extends Number>, MatrixDecomposition.RankRevealing<N extends Number>, MatrixDecomposition.Solver<N extends Number>, MatrixDecomposition.Values<N extends Number>`
• ### Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure2D

`Structure2D.IntRowColumn, Structure2D.Logical<S extends Structure2D,B extends Structure2D.Logical<S,?>>, Structure2D.LongRowColumn, Structure2D.ReducibleTo1D<R extends Structure1D>, Structure2D.RowColumnCallback, Structure2D.RowColumnKey<R,C>, Structure2D.RowColumnMapper<R,C>`
• ### Nested classes/interfaces inherited from interface org.ojalgo.structure.Structure1D

`Structure1D.BasicMapper<T>, Structure1D.IndexCallback, Structure1D.IndexMapper<T>, Structure1D.IntIndex, Structure1D.LongIndex, Structure1D.LoopCallback`
• ### Field Summary

Fields
Modifier and Type Field and Description
`static Bidiagonal.Factory<ComplexNumber>` `COMPLEX`
`static Bidiagonal.Factory<Double>` `PRIMITIVE`
`static Bidiagonal.Factory<Quaternion>` `QUATERNION`
`static Bidiagonal.Factory<RationalNumber>` `RATIONAL`
• ### Fields inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition

`TYPICAL`
• ### Method Summary

All Methods
Modifier and Type Method and Description
`static <N extends Number>boolean` ```equals(MatrixStore<N> matrix, Bidiagonal<N> decomposition, NumberContext context)```
`MatrixStore<N>` `getD()`
`MatrixStore<N>` `getQ1()`
`MatrixStore<N>` `getQ2()`
`boolean` `isUpper()`
`static <N extends Number>Bidiagonal<N>` `make(Access2D<N> typical)`
`default MatrixStore<N>` `reconstruct()`
`static <N extends Number>MatrixStore<N>` `reconstruct(Bidiagonal<N> decomposition)`
Deprecated.
• ### Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition.EconomySize

`isFullSize`
• ### Methods inherited from interface org.ojalgo.matrix.decomposition.MatrixDecomposition

`decompose, isComputed, reset`
• ### Methods inherited from interface org.ojalgo.structure.Structure2D

`column, column, column, column, column, count, count, countColumns, countRows, index, index, isEmpty, isFat, isScalar, isSquare, isTall, isVector, loopAll, loopColumn, loopColumn, loopDiagonal, loopMatching, loopRow, loopRow, mapperOf, row, row, row, row, row`
• ### Methods inherited from interface org.ojalgo.structure.Structure1D

`index, loopAll, loopMatching, loopRange, mapper, size`
• ### Field Detail

• #### COMPLEX

`static final Bidiagonal.Factory<ComplexNumber> COMPLEX`
• #### PRIMITIVE

`static final Bidiagonal.Factory<Double> PRIMITIVE`
• #### QUATERNION

`static final Bidiagonal.Factory<Quaternion> QUATERNION`
• #### RATIONAL

`static final Bidiagonal.Factory<RationalNumber> RATIONAL`
• ### Method Detail

• #### equals

```static <N extends Number> boolean equals(MatrixStore<N> matrix,
Bidiagonal<N> decomposition,
NumberContext context)```
• #### make

`static <N extends Number> Bidiagonal<N> make(Access2D<N> typical)`
• #### reconstruct

```@Deprecated
static <N extends Number> MatrixStore<N> reconstruct(Bidiagonal<N> decomposition)```
Deprecated. v48 Use `reconstruct()` instead
• #### getD

`MatrixStore<N> getD()`
• #### getQ1

`MatrixStore<N> getQ1()`
• #### getQ2

`MatrixStore<N> getQ2()`
• #### isUpper

`boolean isUpper()`
• #### reconstruct

`default MatrixStore<N> reconstruct()`
Specified by:
`reconstruct` in interface `MatrixDecomposition<N extends Number>`