pub struct Polynomial<T> { /* private fields */ }
Expand description
多项式
Implementations§
Source§impl<T: Clone> Polynomial<T>
impl<T: Clone> Polynomial<T>
pub fn new(coe: &Vec<T>) -> Self
pub fn get_coe(&self) -> &Vec<T>
pub fn get_coe_mut(&mut self) -> &mut Vec<T>
Sourcepub fn multiply_by<U, V>(&self, num: U, degree: usize) -> Polynomial<V>
pub fn multiply_by<U, V>(&self, num: U, degree: usize) -> Polynomial<V>
(ax^2+bx-c).multiply_by(d, e) => adx^(2+e)+bdx^(1+e)-cdx^e
Sourcepub fn multiply_left_by<U, V>(&self, num: U, degree: usize) -> Polynomial<V>
pub fn multiply_left_by<U, V>(&self, num: U, degree: usize) -> Polynomial<V>
(ax^2+bx-c).multiply_left_by(d, e) => dax^(2+e)+dbx^(1+e)-dcx^e
Sourcepub fn divide_by<U, V>(&self, num: U) -> Polynomial<V>
pub fn divide_by<U, V>(&self, num: U) -> Polynomial<V>
(ax^2+bx-c).divide_by(d) => a/dx^2+b/dx-c/d
Sourcepub fn divide_left_by<U, V>(&self, num: U) -> Polynomial<V>
pub fn divide_left_by<U, V>(&self, num: U) -> Polynomial<V>
(ax^2+bx-c).divide_left_by(d) => a\dx^2+b\dx-c\d
Source§impl<T: Clone + Zero> Polynomial<T>
impl<T: Clone + Zero> Polynomial<T>
Sourcepub fn similar_adjust(&self, precision: f64) -> Self
pub fn similar_adjust(&self, precision: f64) -> Self
((3e-8)x^3+(1e-3)x^2-(2e-8)x+3).similar_adjust(1e-6) = (1e-3)x^2-(2e-8)x+3
Source§impl<T> Polynomial<T>
impl<T> Polynomial<T>
pub fn gcd(&self, other: &Self) -> Self
Sourcepub fn gcde(&self, other: &Self) -> (Self, Self, Self)
pub fn gcde(&self, other: &Self) -> (Self, Self, Self)
返回(gcd, x, y)使得 self * x + other * y = self.gcd(other)
pub fn similar_gcd(&self, other: &Self, precision: f64) -> Self
pub fn similar_gcde(&self, other: &Self, precision: f64) -> (Self, Self, Self)
Source§impl Polynomial<Fraction>
impl Polynomial<Fraction>
Sourcepub fn primitive(&self) -> Polynomial<i128>
pub fn primitive(&self) -> Polynomial<i128>
有理数多项式的本原化
Source§impl Polynomial<i8>
impl Polynomial<i8>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<i16>
impl Polynomial<i16>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<i32>
impl Polynomial<i32>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<i64>
impl Polynomial<i64>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<i128>
impl Polynomial<i128>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<isize>
impl Polynomial<isize>
Sourcepub fn rational_roots(&self) -> Vec<Fraction>
pub fn rational_roots(&self) -> Vec<Fraction>
求所有有理根
Source§impl Polynomial<f64>
impl Polynomial<f64>
Sourcepub fn derived(&self) -> Polynomial<f64>
pub fn derived(&self) -> Polynomial<f64>
求导
Sourcepub fn integral(&self) -> Polynomial<f64>
pub fn integral(&self) -> Polynomial<f64>
积分
Trait Implementations§
Source§impl<T, U, V> Add<Polynomial<U>> for Polynomial<T>
impl<T, U, V> Add<Polynomial<U>> for Polynomial<T>
Source§type Output = Polynomial<V>
type Output = Polynomial<V>
The resulting type after applying the
+
operator.Source§impl<T: Clone> Clone for Polynomial<T>
impl<T: Clone> Clone for Polynomial<T>
Source§fn clone(&self) -> Polynomial<T>
fn clone(&self) -> Polynomial<T>
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T: Con> Con for Polynomial<T>
impl<T: Con> Con for Polynomial<T>
Source§impl<T: Debug> Debug for Polynomial<T>
impl<T: Debug> Debug for Polynomial<T>
Source§impl<T: Display> Display for Polynomial<T>
impl<T: Display> Display for Polynomial<T>
Source§impl<T, U, V> Div<Polynomial<U>> for Polynomial<T>
impl<T, U, V> Div<Polynomial<U>> for Polynomial<T>
Source§type Output = (Polynomial<V>, Polynomial<T>)
type Output = (Polynomial<V>, Polynomial<T>)
The resulting type after applying the
/
operator.Source§impl<T, U, V> DivLeft<Polynomial<U>> for Polynomial<T>
impl<T, U, V> DivLeft<Polynomial<U>> for Polynomial<T>
type Output = (Polynomial<V>, Polynomial<T>)
fn div_left(&self, other: &Polynomial<U>) -> Self::Output
Source§impl<T, U, V> Mul<Polynomial<U>> for Polynomial<T>
impl<T, U, V> Mul<Polynomial<U>> for Polynomial<T>
Source§type Output = Polynomial<V>
type Output = Polynomial<V>
The resulting type after applying the
*
operator.Source§impl<T: Neg> Neg for Polynomial<T>
impl<T: Neg> Neg for Polynomial<T>
Source§impl<T: PartialEq> PartialEq for Polynomial<T>
impl<T: PartialEq> PartialEq for Polynomial<T>
Source§impl<T: Clone + Mul<Output = T> + Add<Output = T> + One + Zero + PartialEq> Pow for Polynomial<T>
impl<T: Clone + Mul<Output = T> + Add<Output = T> + One + Zero + PartialEq> Pow for Polynomial<T>
Source§impl<T, U, V> Rem<Polynomial<U>> for Polynomial<T>
impl<T, U, V> Rem<Polynomial<U>> for Polynomial<T>
Source§type Output = Polynomial<T>
type Output = Polynomial<T>
The resulting type after applying the
%
operator.Source§impl<T: Similar> Similar for Polynomial<T>
impl<T: Similar> Similar for Polynomial<T>
Source§impl<T, U, V> Sub<Polynomial<U>> for Polynomial<T>
impl<T, U, V> Sub<Polynomial<U>> for Polynomial<T>
Source§type Output = Polynomial<V>
type Output = Polynomial<V>
The resulting type after applying the
-
operator.impl<T: Eq> Eq for Polynomial<T>
Auto Trait Implementations§
impl<T> Freeze for Polynomial<T>
impl<T> RefUnwindSafe for Polynomial<T>where
T: RefUnwindSafe,
impl<T> Send for Polynomial<T>where
T: Send,
impl<T> Sync for Polynomial<T>where
T: Sync,
impl<T> Unpin for Polynomial<T>where
T: Unpin,
impl<T> UnwindSafe for Polynomial<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more